865 Commits

Author SHA1 Message Date
MegaMech a33c66ee31 Frame Interp changes (#654) 2026-02-24 16:23:17 -07:00
MegaMech 548ccf0063 Impl Sky and SkyActors (#630)
* Create Cloud.cpp

* Create Cloud.h

* Fix the cloud

* Cleanup

* More cleanup

* Update Track.h

* Refactor SkyboxCloud position calculations

* Update SkyboxStar.cpp

* Update SkyboxStar.cpp

* Refactor SkyboxStar.cpp by removing redundant code

* Update SkyboxCloud.cpp

* Refactor SkyboxSnow.cpp by reordering includes

* Update SkyboxCloud.h

* Refactor SkyboxStar.h for improved formatting

* Impl skyboxcloud

* Update comment

* update comment

* Work now

* Fully impl Sky

* Fix define

* Fix args
2026-02-24 14:51:25 -07:00
MegaMech 321d440089 Update Thwomp.cpp (#645) 2026-02-20 14:45:41 -07:00
MegaMech 3aa2c9662a Attempt At Fixing Clang (#647)
* Update Game.h

* Update Game.h

* Update macros.h
2026-02-08 13:50:22 -07:00
MegaMech f3d6612b20 Update CustomTrack.cpp (#646) 2026-02-08 01:48:27 -07:00
MegaMech 4cc2fb5d13 More Interp Fixes... Probably (#644)
* Update BombKart.cpp

* Update BombKart.h

* Update PlayerBombKart.cpp

* Update Text.cpp
2026-02-06 23:53:33 -07:00
MegaMech 26b2ce90e7 More Interp and Draw Visibility Options (#643)
* Update render.inc.c

* FI improvements

* Rename

* Update PortMenu.cpp
2026-02-06 22:05:41 -06:00
tortugaveloz d7413601a6 Surround support (#642)
* Added surround option.

* Added surround effect.

* Remove printf.

* fix.

---------

Co-authored-by: Lywx <kiritodev01@gmail.com>
2026-02-06 00:28:54 -06:00
MegaMech c902e200ab Fix Interp Issues (#641)
* Update Seagull.cpp

* Update Seagull.h

* Update Thwomp.cpp

* Update Thwomp.h

* Update Crab.cpp

* Update render.inc.c

* Update Mole.cpp

* Update Mole.h

* Update Mole.cpp

* Update Thwomp.cpp

* Update Thwomp.cpp

* Update Thwomp.cpp

* Update HotAirBalloon.cpp

* Update HotAirBalloon.cpp

* Update ChainChomp.cpp

* Update Hedgehog.h

* Update Hedgehog.cpp

* Update Snowman.cpp

* Update Flagpole.h

* Update Flagpole.cpp

* Update Flagpole.cpp
2026-02-05 12:44:26 -07:00
MegaMech 816c03c88b Update Game.cpp (#640) 2026-02-04 22:45:18 -07:00
MegaMech cefae44db1 FrameInterpolation For Kart (#639)
* Update BombKart.cpp

* Update BombKart.h

* Update PlayerBombKart.cpp

* Update PlayerBombKart.cpp

* Update PlayerBombKart.h

* Update PlayerBombKart.h

* Update PlayerBombKart.cpp

* Update PlayerBombKart.cpp

* Update PlayerBombKart.h

* Update PlayerBombKart.h

* Update PlayerBombKart.cpp

* Update PlayerBombKart.cpp
2026-02-04 21:28:22 -07:00
MegaMech 2b9d689b2f [Enhancement] Allow Non-unique Character Selections (#638)
* Update PortMenu.cpp

* Update menus.c
2026-02-04 17:19:05 -07:00
MegaMech ddd47126ec Maybe fix some interpolation (#637)
* Update render_player.c

* Refactor FrameInterpolation_RecordOpenChild calls

* Update GrandPrixBalloons.cpp

* Modify func_80053D74 to include an additional parameter
2026-02-04 17:18:33 -07:00
MegaMech a59dcc1e75 Fix itemwindow interp for 3/4p mode (#634) 2026-02-04 17:17:38 -07:00
coco875 9ac20da227 fix errror of compilation (and clean header) 2026-01-19 13:41:44 -06:00
MegaMech a2036f5ce7 Fix screen blanking (#627)
* Update main.c

* Update skybox_and_splitscreen.c

* Adjust framebuffer handling in race_logic_loop

Reorder framebuffer clearing and creation for proper rendering.
2026-01-17 22:35:21 -07:00
Fabien Romano aaae77f3bc Fix NON_PORTABLE build. Ship::Context needs to be initialized first. (#618)
* Fix NON_PORTABLE build. Ship::Context needs to be initialized before resolving files. Move offending calls inside functions where they are used. Those will always be called after GameEngine() which runs Ship::Context::CreateUninitializedInstance() early.

* Replace hardcoded string mk64.o2r and spaghetti.o2r with variables game_asset_file and engine_asset_file.
2026-01-09 11:13:37 -07:00
MegaMech e71c422afb Update collision.c (#624) 2026-01-03 14:22:16 -07:00
Fabien Romano a4c01b784b fix build on OpenBSD (#621)
* fix build on OpenBSD

* Update src/port/Game.cpp

* Update ceremony_and_credits.c
2026-01-01 13:06:40 -07:00
MegaMech 81d200e74b Refactor Track to CustomTrack Class, impl render layers (#606)
* impl Custom track transparency and clip

* Rename DrawWater to DrawTransparency

* Impl z-sorting for transparent mesh

* Interp work

* rename track function

* cleanup

* Revert texture interp

* Further revert

* Update Harbour

* Impl custom track path select

* Add check

* Fix compile

* Fix function extern

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-12-29 15:51:12 -07:00
coco875 5fc7aebf87 fix item in multiplayer (#612) 2025-12-24 16:44:45 +01:00
coco875 b0582b5c32 invert condition in menu and some adjustement in interpolation (#611)
* use more unique ptr and fix a shell crash

* remove useless mods folder

* add even more unique_ptr

* Update KoopaTroopaBeach.cpp

* restore a throw

* Update Game.cpp

* automatically create mods folder

* fix oob in external by assuming that all 8 player can make sound

* better texture loading

* add destructor for gameobject

* avoid out of bound in audio sample

* Update FrameInterpolation.cpp

* Update torch

* invert condition

* adjust interpolation
2025-12-23 14:27:27 +01:00
coco875 ce92773a60 Clean ptr and fix (#610)
* use more unique ptr and fix a shell crash

* remove useless mods folder

* add even more unique_ptr

* Update KoopaTroopaBeach.cpp

* restore a throw

* Update Game.cpp

* automatically create mods folder

* fix oob in external by assuming that all 8 player can make sound

* better texture loading

* add destructor for gameobject

* avoid out of bound in audio sample

* Update FrameInterpolation.cpp

* Update torch
2025-12-22 14:48:07 -07:00
coco875 31c2063a61 fix podium ceremony (#608)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-12-20 11:44:13 -07:00
coco875 586db3dcda fix hedgehog custom texture (#607) 2025-12-20 06:52:36 -07:00
coco875 5d54756d2d fix again spining will but avoid invalid texture at all (#605) 2025-12-19 17:16:29 -07:00
coco875 a925d0fa2f make id of cup more robust and fix a mistake (#604)
* fix id koopa troopa beach

* make id of cup more robust
2025-12-19 16:14:29 -07:00
coco875 67536f525a Update render_player.c (#603) 2025-12-19 11:06:19 -07:00
MegaMech 3bbfa13cf7 Fix Lakitu Crash (#602)
* Update Lakitu.cpp

* Update Lakitu.h

* Update code_8006E9C0.c

* Update Lakitu.cpp

* Add mCameraId member to Lakitu class

* Update code_8006E9C0.c
2025-12-19 10:57:37 -07:00
MegaMech 7d64601d85 Fix Camera nullptr (#599)
* Update spawn_players.c

* Update spawn_players.c

* Update code_80280000.c

* Update Game.cpp

* Add CM_ThrowRuntimeError function declaration

* Update spawn_players.c

* Modify CM_ThrowRuntimeError for improved error handling

Increased the buffer size for error messages and added a crash description.

* Update Game.cpp

* Update Game.cpp

* Update Game.h

* Update Game.h

* Update Game.h
2025-12-18 19:03:43 -07:00
MegaMech 509a8f4259 Fix Bugs in Collision Code to Allow Big Triangles (#600)
* Update collision.c

* Update collision.c

* Update collision.c

* Update collision.c

* Update spawn_players.c

* Fix return value in collision detection function

Corrected return value for point inside triangle check.

* Update collision.c

* Update spawn_players.c
2025-12-18 11:25:26 -07:00
MegaMech f0c2cea0ee Impl RandomItemTable class (#598)
* Impl RandomItem class

* Refactor func

* Impl RandomItemTable

* Revert probability inaccuracy

* Remove unnecessary comment

* Fix compile, probably

* As per review 1

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-12-18 11:24:38 -07:00
MegaMech 99b5630055 Impl Triple Shells, fix CPU items (#597)
* Impl triple shell

* CPUs can throw greenshells backwards
---------

Authored-by: Luiz Henrique <luizlink64@gmail.com>
2025-12-16 15:45:10 -07:00
coco875 1a5c79b641 Player bitflag attributes (pr 750 from the decomp) (#592)
* Player bitflag attributes (pr 750 from the decomp)

Co-Authored-By: Jed Grabman <JedGrabman@users.noreply.github.com>

* remove WATER_NO_INTERACTION

---------

Co-authored-by: Jed Grabman <JedGrabman@users.noreply.github.com>
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-12-16 09:55:37 -07:00
coco875 6b8be33a5b fix Ressource name (#596)
* fix Ressource name

* add a fallback

* use the correct name for dk jungle

* use the correct name for macos intel CI

* add print
2025-12-16 09:46:06 -07:00
MegaMech 8250ea5764 Update Track.cpp (#595) 2025-12-15 12:38:10 -07:00
MegaMech eb11374093 Edit TrackInfo Properties (#594)
* Fix finishline for toads turnpike in extra

* Fixed trash bin in extra

* Refactor fov

* Update scene.json

* Allow setting fog

* impl fog save & load

* Fix modifying resourceName and rename editor namespace to trackeditor

* small change
2025-12-15 12:29:58 -07:00
MegaMech 2995361eb1 Fix new track bug (#593) 2025-12-14 21:37:03 -07:00
MegaMech 7bc8d6f4be Refactor Field-of-view into the Camera Struct (#590)
* Fix finishline for toads turnpike in extra

* Fixed trash bin in extra

* Refactor fov

* Update scene.json

* Allow setting fog

* impl fog save & load
2025-12-13 17:28:44 -07:00
coco875 4e51b7d5b6 Document sound effects (pr 735 from the decomp) (#589)
Co-authored-by: Jed Grabman <JedGrabman@users.noreply.github.com>
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-12-13 12:08:59 -07:00
MegaMech b934e98fc3 Refactor Track Class To Instantiate On Track Load (#587)
* Initial Commit

* First compilation of Registry template

* Further changes

* wip changes

* Impl TrackBrowser and Registry Info

* Remove const from TInfo

* Prep GetWorld

* Name refactor

* Refactor gWorldInstance to GetWorld()

* wip

* Should work now

* Data menu work again

* Fix editor staying open after program close

* Rename LoadLevel to LoadTrackDataFromJson

* More changes

* Add statue

* Add search to content browser using tags

* Fix statue pos and register tags

* Fix actor loading

* Fix delete all bug which deleted cameras

* reduce some boiler plate in actor and object

* Remove unused rulesets

* Search bar for all tabs

* fix data screen

* fix actor spawning

* temp editor fix

* Clean up

* improve extra mode transformation

* fix podium crash

* Fix editor clicking

* Fix editor clicking 2

* fix extra in custom track

* Fix FI for three actors

* Fix divide by zero error

* Ids managed by Registry

* Add scary comment

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Co-authored-by: coco875 <pereira.jannin@gmail.com>
2025-12-13 11:50:28 -07:00
coco875 e6acb59ef4 Fix generation appimage (#588)
* Update main.yml

* Update main.yml

* Update linux-compile.yml

* Update linux-compile.yml

* fix an error
2025-12-09 17:41:11 -07:00
coco875 5b79a1c910 Improve cmake, make release need less dependancy and clean up some file (#584)
* Update CMakeLists.txt

* try something to use less dependancy

* improve script

* Delete addr_to_sym.py

* restore dockerfile

* move the docker for release and a script to execute it to script

* Delete build.sh

* move more script to script folder

* add the new docker in the CI

* Update vcpkg.json

* fix windows and macos in theory
2025-12-08 08:49:21 -07:00
coco875 b2479390ba more clang tidy (#586)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-12-08 08:46:29 -07:00
coco875 f022183d6f Update lus (#580)
* fix include

* Update libultraship

* fix Engine.cpp

* fix error

* Update TrackSections.h
2025-12-08 08:25:10 -07:00
MegaMech dbae0c3aca Name ScreenContext, Refactor Course class to Track (#583)
* Rename Screen Contexts

* typedef ScreenContext struct

* Fix Compile

* Rename Course.cpp to Track.cpp

* Refactor Course to Track

* A few renames

* General Cleanup

* More Rename

* More names

* Move TrackSections struct to Track.h

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-12-07 21:00:06 -07:00
coco875 04ca19a975 multiple fix (#585)
* multiple fix

* Update skybox_and_splitscreen.c

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-12-07 20:22:50 -07:00
MegaMech 1e0de1057f Update spawn_players.c (#582) 2025-12-07 13:52:02 -07:00
MegaMech 6585333092 Camera Refactor --> Adds Track Tour Camera (#568)
* Impl SpawnParams

* Added json submodule

* Update json

* Update

* Works

* Remove comment

* Works refactor

* Snowman and thwomp working

* Impl hot air balloon

* More progress

* All OObjects are done

* cleanup

* Refactor 2Dpath to normal path

* Update nlohmann json & fix compile

* Rest of actors

* MORE CHANGES

* Finish actors

* Done PR, some fix to collision viewer

* Impl falling rocks

* Add const

* wip editor refactor

* Property work

* continue

* Overridable editor properties

* Actor saving/loading works now

* Fix light alignment

* Clarification

* Impl penguin

* params impl signs

* properties impl falling rock

* More property impls

* impl air balloon

* Add spawnParams to OObject Translate

* Snowman translate better

* impl hedgehog properly

* properties impl trophy

* thwomp progress

* Finish impl properties

* Fix compile

* Fix cursor collisions

* Move registered actors

* Rename pathPoint XYZ to xyz

* Fix editor pause bug

* Clean up

* Review comments

* Remove SpawnParams struct from actor classes

* Rename

* Player Label First Iteration

* Work now

* Working 3d text

* Fix boo bug

* Finish AText actor

* Fix spawnparams compile

* Register AText

* Finish Text Actor

* Fix thwomp interpolation

* Fix compile

* Fix crab and hedgehog

* Fix loading flagpole

* Fix Hot Air Balloon

* Turn zbuffer on for AText

* Update

* Camera Refactor

* Camera Refactor Complete

* Place Lookbehind behind a CVar

* Make Tour CVar

* Fix Tour Camera Billboarding

* micro optimization

* Impl tour cam in imgui editor and add to scenefile

* As per review

* Revert cleanWorld change as per review

* Cleanup SceneManager

* Func rename

* Proper enabling of freecam and wip zoom fix

* Couple fix

* Fix credits

* Fix podium ceremony

* Stop music on reset & label new play sequence func

* Rename func_800C8EF8 to play_sequence2

* Rename func_800CA414 to play_sequences

* Fix compile

* Label play_sequences

* Clean up

* Verify lakitu access

* Renames

* Fix tour enable logic

* Add Audio

* tour camera impl ending transition

* As per review

* Fix linux compile, probably

* Update TourCamera.cpp

* Update TourCamera.cpp

* Update TrackProperties.cpp

* Update TrackProperties.cpp

* Update Game.cpp

* Update SceneManager.cpp

* Update camera.c

* Update render_objects.h

* Update render_objects.h

* Update code_80057C60.h

* fixing compile

* addition

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-12-07 13:14:45 -07:00
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