Commit Graph

80 Commits

Author SHA1 Message Date
coco875 02ad54ca72 Refactor yaml and remove segment (#531)
* move yaml (still need to fix header path)

* fix header

* change kart to karts and add migration

* fix include

* Update migration.py

* fix common_texture_debug_font extraction

* Update torch

* update torch and header

* unduplicate texture for tumble

* Update torch

* Update migration.py

* put the sort by default

* fix replace_segmented_textures_with_o2r_textures

* Update torch

* fix yamls

* add manual_segments in data of course

* comment out replace_segmented_textures_with_o2r_textures and segment 3

* remove segment 5

* (wip) remove segment 6

still plenty of thing to do

* more vtx

* more change

* Update torch

* small fix

* Update BansheeBoardwalk.cpp

* fix blockFort

* Delete test.yaml

* fix bowser castle and simplify track sections

* fix choco mountain

* clean banshee

* fix dk jungle

* fix double deck

* fix macos

* fix error

* fix macos ci

* Update torch

* Update torch

* fix frappe snowland

* fix kalimari desert

* fix koopa troopa beach

* fix luigi raceway

* fix mario raceway and simplify thing

* fix moo moo farm

* fix rainbow road

* Update torch

* Update torch

* hopefully fix windows error

* fix a small error

* fix royal raceway (and podium in theory)

* fix sherbet_land

* fix skyscraper

* fix toads turnpike

* fix wario stadium

* fix yoshi valley

* update torch

* more clang tidy rules

* REMOVE totally SEGMENT (sorry for the PR)

* remove unused field in course and props and unused packed asset

* fix kart texture

* fix particle

* fix track section and transparency

* try fix mode extra

* fix macos build and render

* fix collision in extra

* small change and try fix windows error

* a little of clean

* more cleanup

* forget header and more clean up

* Update Makefile

* fix credits

* fix kart texture offset

* remove LoadTextures and add Unload

* fix definitevely mirror mode

* add unload but it's not perfect

* revert a bad fix

* clean no longer used python script

* fix crash with player

* being able to load the same course twice

* add a comment on DrawWater

* fix render of transparent object

* better hack

* add a proper migration instruction

* fix number

* add basic modsmanager

* add meta/mods.toml

* Update EditorMath.h

* Update ModsManager.cpp

* basic modManager (maybe I should rename it ModLoader)

* use range on dependencies

* add information about mods.toml

* fix coment

* some rename around

* Delete beta-to-v1.md

* Update migrations.md

* Update textures-pack.md

* Update modding.md

* Update modding.md

* clean yamls_old

* move to mods in engine

* rename ModsManger to  ModManager

* move init and unload at the top

* rename ModsMetadata to ModMetadata

* fix header

* Update ModManager.cpp

* put core mods at top
2025-12-07 07:34:53 -07:00
MegaMech 5f60e30b59 Fix Moles and some UI Interpolation bugs (#565)
* Update render_objects.c

* Update FrameInterpolation.h

* Update render_objects.c

* Fix mac compile probably

* Fix Mole Dirt Particles

* Fix Mole Duplication Bug, probably

* Fix drawing using wrong camera bug
2025-11-22 18:13:33 -07:00
MegaMech 575d860e5d Combine Matrix Stacks & use std::deque Instead of std::vector to Prevent Dangling Pointers (#525)
* Update Matrix.cpp

* Update World.h

* Stak

* Hopefully done with matrix

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-08-07 19:27:14 +02:00
KiritoDv 212436726f Patched hud textures to draw on point mode 2025-07-28 21:55:46 -06:00
coco875 8eecad6bc4 fix bombkart and speedometer (#496)
* fix bombkart and speedometer

* make number more clear

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-21 12:43:15 -06:00
coco875 5277fced87 make replace neon texture (#435)
* make replace neon texture

* cmake are dumb

* fix neon render

* Update render_objects.c

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-09 16:36:39 -06:00
MegaMech 98d660b825 Update render_objects.c (#432) 2025-07-06 19:54:32 -06:00
MegaMech ffbb9d5438 [Enhancement] Implement Digital Speedometer (#431)
* Fix crash

* Poorly document camera

* Fix harder cpu items

* Fix item

* Prevent Rare Infinite Loop

* Impl Digital Speedometer

* Update PortMenu.cpp

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-07-06 18:06:24 -06:00
coco875 23b6478ce6 Fix small mistake (#409)
* Update other_textures.yml

* Update menu_items.c

* remove mkload

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-03 06:38:28 -06:00
coco875 7937896598 make some texture more flexible and editable + port documentation from the decomp + fix some bug (#309)
* support a more flexible background

* remove useless function

* rename of some font

* experimental png

* migrate to the new initdata

* fix skybox and adjust minimap

* format in audio

* simplify player render

* simplify shell render and support custom texture of shell

* clean redshell texture

* format and multiple fix

* some update of name

* allow change icon of character

* more rename

* continue rename

* more documentation and simplification

* change lus and continue rename

* continue rename

* few fix for asan

* fix ghost

* Update menu_items.c

* fix mac error

* some test of tweak for texture

* some tweak

* some button constant

* finish fix ghost

* Update menu_items.c

* Update render_objects.c

* Update menu_items.c

* Update libultraship

* Update libultraship

* Delete valgrind.report

* Update libultraship

* callgrind benchmark

* Update valgrind_callgrind.sh

* fix animation

* some rename

* remove useless submodule

* Update libultraship

* fix assets

* fix mistake

* fix more mistake

* Update menu_items.c

* sync more rename with the decom + fix review

* fix a mistake

* fix more mistake

* re add the limit of fps

* fix some hd texture and minimap

* fix a name

* Update menu_items.c

* fix a regression

* fix some segment 5 texture (not all)

* Update camera.c

* improve performance of custom sprite

* fix flatten bug and add documentation on player vertex

* Update render_player.c

* fix data menu

* fix trophy for 50 and 150

* Update memory.c

* Update code_80057C60.c

* fix ghost

* fix boo tlut

* fix a mistake in yaml

* fix yaml

* Update common_data.yml

* add comment for segment 3

* allow even more change in texture

* Update common_data.yml

* Update update.inc.c

* Update camera.c

* Update some_data.c

* wip changes

* Update other_textures.yml

* More changes

* Update update_objects.c

* Fix compile

* Update memory.c

* Update memory.c

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-01 17:42:14 -06:00
coco875 bc7d2cd1bb fix hud occluded (#379) 2025-06-26 11:40:05 -06:00
coco875 a529b7f181 Update render_objects.c (#376)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-25 20:55:50 -06:00
sitton76 65620eb797 Stop frame record on some stuff. (#225)
* Disabled recording frame interpolation on result print text.

* Added check_if_recording() function to prevent cases of it recording while at 30FPS

* Seemingly disabled kart minimap icons for frame interpolation.

* Attempt to mitigate rare crash with printing text(unverified if this actually helps)

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-19 16:37:30 -06:00
coco875 5d7cf20c83 pr Code 80005fd0 (#181)
* fix error

* a lot of change

* basic rename of local variable

* continue rename and improve Enhancements

* re-apply change

* revert the remove of dma_texture and fix mtxf_multiplication

* more documentation port

* some fix

* more fix

* fix arround

* Update torch

* fix spelling

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-19 16:26:04 -06:00
MegaMech 9fe391a2a4 Fix More Interpolation (#220)
* Fix SetTextMatrix Interpolation (flashing text)

* Interpolate pause menu item box

* Interp mtxf_translation_x_y_rotate_z_scale_x_y

* Fix billboarding for freecam

* Fix menus battle mode back to grand prix bug

* Fix snow interp

* interp star clouds
2025-06-15 22:17:24 -06:00
MegaMech 44db9bab77 Add Interpolation (#204)
* initial work

* more work

* progress

* Fixed slow fps

* Add Lywx changes

* Interp Works

* Test default tick/logic update

* Added missing include (#202)

* Added missing include

* More missing includes

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* test

* Revert "test"

This reverts commit 1a810d74cc.

* Interp Item box

* Actually interpolate item box

* fix clouds

* interp player?

* Test 2

* Fix mistake

* tag and fix item boxes

* tag fake item box and whatever func_800696CC is

* these aren't needed

* tag karts

* Slightly better falling rocks(still needs work)

* Tag Smoke and Dust

* Removed unneeded code from falling_rock

* tag whatever func_80051ABC is

* add missing rotate x coord

* GrandPrixBallon/kart shadow

* Green shells tag, and added comments I neglected to add before.

* doesn't compile on win

* Fixes

* Disabled camera interpolation

* Balloons fixes

* progress

* set_transform_matrix compiles

* Compile setTransformMatrix

* More transforms interp

* Add more interps

* matrix

* Matrix multi interp

* Fix interpolation camera bug

* Missing includes needed for Linux.

* Excluded access to HM64 Labs on Switch.

* interpolation tags for various objects

* Bowser castle statue flame interpolated.

* tag hedgehogs

* cloud interpolation

* Interpolated smoke particles from shells

* cloud interpolation refactor

* Interpolated snowflakes

* Interpolated penguins, also added comment tags to places I missed.

* tag Snowman interpolation

* Interpolated player reflection(sherbet land)

* Forgot to uncomment stuff while testing

* better tag

* tag leaves

* Set the default FPS to 30

* tag hud

* Fixed "Match Refresh Rate" option

* adjust draw distance

* remove innecessary rock tag

* rag rocks

* better tag

* Tagged player rank placement in HUD

* Tagged Bat, Boos, and TrashBin(Banshee Boardwalk objects)

* Refactor render_screens and fix editor raycast

* better object interpolation

* shift is not needed here

* fix tag

* fix tags

* mole comments

* comment

* Changed how shell flames are interpolated.

* interpolated ended scene fireworks.

* Tagged star particles in the ending scene

* Shell flames handled better.

* this isn't needed

* Fix multiplayer cameras

* Fixed loading battle maps.

* Tagged battle balloons

* Some fixes for battle mode

* No longer needed changes toAFinishline with the changes mega made.

* Tag finishline

* fix to make it compile with cmake 3.31

* changed mtxf_multiplication() to fix vert explosion in Desert & DK parkway.(provided by Coco.)

* fix memory leaks, avoid invalidate texture (#207)

* Fixed macos

* More stupid fixes

* update with main and update torch and lus and enable action on this branch

* Update FrameInterpolation.h

* Update FrameInterpolation.cpp

* fix some memory leak

* Update torch

* Update torch

* update torch and lus

* reduce texture import

* don't use fork of torch and lus

* Update torch

* Update torch

---------

Co-authored-by: Lywx <kiritodev01@gmail.com>

* Refactor World::Courses to unique_ptr (#211)

* wip course unique ptr

* Track unique_ptr : This probably compiles

* Finish impl Courses as unique_ptr

* Fix error

* Fixes

* More fixes

* Cleanup

* Remove old vars

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>

* particle boat and train

* fix player particle interpolation

* add modify interpolation target fps in menu

* fix windows

* Update libultraship

* Fix logo interp

* Interp SetTextMatrix

* Fix freecam camera

* Clarify comment

* Clarify func

* fix linux compilation

* Update Thwomp.cpp

* Update Thwomp.h

* Update render.inc.c

* Update render.inc.c

* Update gbiMacro.c

* interp falling rock shadow

* Revert change that has no explanation

* Update code_80057C60.c

* Update code_80057C60.c

* Update GrandPrixBalloons.cpp

* Update Lakitu.cpp

* Update framebuffer_effects.c

* Update render_courses.c

---------

Co-authored-by: Sonic Dreamcaster <alejandro.asenjo88@gmail.com>
Co-authored-by: KiritoDv <kiritodev01@gmail.com>
Co-authored-by: sitton76 <58642183+sitton76@users.noreply.github.com>
Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Co-authored-by: coco875 <59367621+coco875@users.noreply.github.com>
Co-authored-by: coco875 <pereira.jannin@gmail.com>
2025-06-07 21:38:12 -06:00
MegaMech 32632cacdb Impl new intro (#193)
* Update menus

* Update CMakeLists.txt

* Add Ship

* Impl hm ship actors

* Update HM course

* Impl new intro

* Finish intro scene

* Rename

* Start Editor Work

* raycast works

* Fix ScreenRayTrace in widescreen

* Basic Actor Picking

* wip

* Editor use vtx collision

* gizmo work

* otr works for object picking

* Impl objects for editor

* actor init

* Update

* Add all axis move (freemove)

* Docking Windows works here

* Setup imgui layout for editor

* Editor Snap to Ground works

* Basic Scene Explorer Works

* Editor get actor names

* Impl editor object names

* impl Editor Play and Pause buttons

* Editor translate works while paused

* Fix freecam lighting

* Added adjustable track properties to editor

* Editor matrix, icons, rotation, impl light

* Setup Track Properties 1

* Editor tooling wip

* Load modded o2rs

* Don't enable hud if editor is enabled

* Updates

* SceneManager nearly working

* Fix mario kart 64 intro logo sizing

* Fix Rotator

* Finish new matrix translation code

* Cleanup headers

* Cleanup

* Cleanup 2

* Cleanup 3

* Prevent divize by zero crash

* Add visible circle for translate in all axis

* Editor scaling/rot works properly now

* Scale All_Axis evenly

* Fixes to includes to work on Linux.

* Removed overfilled arguments in gfx_create_framebuffer()

* Added missing function definitions to Game.h

* Editor sun face the camera

* Add rotation model to gizmo

* Add new handles

* Failed attempt at transforming collision

* Impl water volume

* Import fast64 paths

* water surface

* Scene Setup 1

* Custom Track O2R almost working needs testing

* Custom Track Load path O2r

* Render custom track. Wip collision

* Add missing function

* Debug Spawning Custom O2R Track

* Import courses working now

* Fix memory leak

* Remove New Track Button

* Engine.cpp more consistent with sf64

* Fix Editor Enable Button

* Editor Accurate mouse click drag objects

* Editor selects closest object and cleanup

* Gizmo rot and scale collision working

* Remove constexpr from IRotator

* Impl properties for location/rot/scale

* Better Properties display, swap rot handles

* Fix content browser dock and editor now disabled by default

* Remove GameInfoWindow, Multiplayer Button, and FPS Slider

* Disable Editor when its disabled

* Add new logo to hm intro

* Fix pause menu item box cursor

* Remove minimap from Course::from_json and to_json

* Impl Import Minimap

* Fix custom minimap rendering

* minimap uses extension .png

* Refactor minimap

* Freecam only for player 1

* GrandPrix Balloons work in custom track

* Track Id is now std::string and outside of Props

* Moved editor assets to be included in ship.o2r

* Fixed GenerateO2R to package the correct folder and save to the correct filename

* Linux specific changes.

* Added "#include <stdio.h>" that required them
* Changed how the "ship.o2r" file is loaded to allow it to load the file from within appimages.
* Changed the Linuxdeploy version to avoid errors later when the Github Actions creates appimages(same fix applied to other ports.)

* Revert "Moved editor assets to be included in ship.o2r"

This reverts commit 05704c01f7.

* Added back files(this time without LUS changes)

* Changed workflow file to use correct filename for assets file.

* Missed a few spots in the workflow file.

* Added .desktop file and made corrections to the main workflow.

* Added the rest of upstream CMakeLists.txt

* disabled USE_NETWORKING

* New InverseMatrix

* Renamed both .o2r files to be more accurate to its contents.

* Reverted CmakeList.txt

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Co-authored-by: sitton76 <58642183+sitton76@users.noreply.github.com>
2025-05-14 18:30:32 -06:00
MegaMech fc1e1a9782 Reimpl star emitter (#180)
* Reimpl star emitter

* Remove OObject Lists

* wip mole reimpl

* nearly fix moles

* Cleanup

* Update reimpl seagull

* Rework finishline to auto spawn and not to run in credits

* Fix train crossing direction in extra mode

* Clarification

* micro optimization

* update mole

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-02-07 14:36:55 -07:00
MegaMech ce9b4f25be Fix Remaining Widescreen Issues and Fix Audio Sizes (#174)
* Fix some boxes that shouldn't be wide

* forgot fix

* Fix widescreen for sliding lap texture

* Fix lakitu towing fade in out

* Add DOUBLE_SIZE_ON_64_BIT and ssize_t
2025-01-25 19:36:44 -07:00
MegaMech 1f189dfa80 Game.cpp and World.cpp Cleanup (#159)
* Remove CProperties and delete dup Properties from World.h

* Improvement

* Fix compile

* Cleanup

* Document gRaceState

* wip cleanup

* compile

* Impl PlayerBombKart

* Rename CourseManager_ to CM_

* Finish renames m_ to CM_

* cleanup

* Remove extra printf

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-01-23 11:22:07 -07:00
briaguya 24ecfc3db4 fix toads turnpike minimap (#164) 2025-01-20 17:38:20 -07:00
MegaMech 8c46368d5d Fix data, option menus, impl boos, fix demo camera (#156)
* Fix data and option menus

* safer code

* wip boos impl

* finish impl boos

* Fix demo camera

* slightly better match
2025-01-18 08:58:12 -07:00
MegaMech 04d56d6ba0 Fixes as per Sonic (#154)
* Fix imGUI game reset button

* Fix course select cursor sound oob

* Fix cloud rendering

* Fix centering of tt race data cannot be saved by ghost

* Impl chain chomp & bats

* Fix retry crash

* DebugMode On Skips intro logo menu

* rename
2025-01-13 21:15:16 -07:00
Sonic Dreamcaster 810aec9df1 readability 2025-01-12 15:03:14 -03:00
MegaMech d4162154f6 Fix minimap widescreen in extra mode (#152)
* Fix extra mode minimap widescreen
2025-01-10 14:20:33 -07:00
coco875 46ef6a4054 fix texture with three point filter 2025-01-06 22:04:32 +01:00
coco875 177cefe79f fix compilation issue 2025-01-05 23:46:04 +01:00
MegaMech a24ae0e548 rename as per review 2025-01-05 12:37:56 -07:00
MegaMech e993944089 Finishwide screen. Impl IVector2D MinimapDimensions 2025-01-05 12:26:27 -07:00
MegaMech 5ee24ab2aa Nearly fix finishline on 3P 2025-01-04 20:53:13 -07:00
MegaMech adaa16b84b cleanup 2025-01-04 20:30:25 -07:00
MegaMech 528871010a Fix minimap karts 2025-01-04 20:30:09 -07:00
MegaMech dc04c834bd Fix portrait numbers 2025-01-04 18:00:18 -07:00
MegaMech 8746a4337e Wide screen progress 2025-01-04 17:31:32 -07:00
MegaMech 6a00e58893 Finish doc 2025-01-03 17:41:12 -07:00
MegaMech f9c661c590 continued 2024-12-31 18:04:45 -07:00
MegaMech 3cdffe421b Big 19750 renames 2024-12-31 13:04:39 -07:00
MegaMech 64b9dcbb30 impl hot air balloon 2024-12-29 20:19:59 -07:00
MegaMech e4737ce2f5 Impl Hedgehog and Flagpole 2024-12-29 16:52:26 -07:00
MegaMech 9c4b35206a Fix podium ceremony. Wip particle emitters 2024-12-28 20:30:18 -07:00
MegaMech 8309225412 Reimpl Lakitu 2024-12-28 00:25:41 -07:00
MegaMech 135b51ea71 Impl snowmen and trashbin 2024-12-17 17:12:12 -07:00
MegaMech 60014ec466 More changes 2024-12-16 16:42:17 -07:00
MegaMech 95b8cca500 Reimplementing objects 2024-12-11 20:58:18 -07:00
MegaMech bcf4a7f384 Put all thwomp code in thomp class 2024-12-06 21:50:01 -07:00
MegaMech e0e1d60181 Fix minimap on custom courses 2024-12-06 07:18:21 -07:00
MegaMech 7628e98e37 loadtile fix 2024-12-04 15:03:59 -07:00
MegaMech b0d7f98ff4 Reimplement penguins 2024-12-04 11:18:57 -07:00
MegaMech cae7cc7f6f Finish implementing Thwomp 2024-11-24 11:29:46 -07:00
MegaMech 93973e08c3 First batch of widescreen fixes 2024-11-20 12:30:04 -07:00