Commit Graph

1131 Commits

Author SHA1 Message Date
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
MegaMech eec7d65048
Auto-detect Game (#579)
* Update GameExtractor.cpp

* Update GameExtractor.h

* Update GameExtractor.cpp

* Update GameExtractor.cpp

* Update GameExtractor.cpp
2025-12-06 01:54:04 +01:00
coco875 92d2a2a7b9
Update main.yml (#574)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-11-28 19:18:21 +01:00
MegaMech d41ab5b3ab
Update README.md (#576) 2025-11-28 11:16:40 -07:00
MegaMech 96f02bd70f
Only Spawn Three ChainChomps for Rainbow Track (#569)
* Update RainbowRoad.cpp

* Update ChainChomp.cpp

* Decrement actor counters in destructor

* Update Finishline.cpp
2025-11-23 13:18:51 -07:00
MegaMech 52554e21cc
Fix Mole Spawns and Tick Rate (#566)
* Fix Mole Spawns and Tick Rate

* Fix Compile

* Actually Fix Compile
2025-11-22 22:07:30 -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 fffd3f7fe9
RaceManager class (#562)
* Create RaceManager.cpp

* Create RaceManager class for race lifecycle management

Added RaceManager class to manage race events lifecycle.

* Refactor World class and implement ClearWorld method

Refactor World class constructor and destructor. Implement ClearWorld method to delete all objects and reset state.

* Add RaceManager to World class

* Update ValidateString for editor mode checks

Refactor ValidateString to handle editor mode and empty strings.

* Update Text.cpp

* Add SetText method to Text class

* Document RunGarbageCollector function

Added documentation for the RunGarbageCollector function.

* Refactor Game.cpp by removing dead code

Removed unused ruleset handling and clean-up code.

* Update Game.h

* Remove CM_SpawnFromLevelProps call

* Update Text.cpp

* Update World.cpp

* Add Clean method to RaceManager class

* Update RaceManager.cpp

* Update World.cpp

* Update World.h

* Update World.cpp
2025-11-14 14:50:33 -07:00
coco875 c2755aee40
Fix appImage asset extraction (#563)
* Update vcpkg.json

* fix appimage
2025-11-14 13:37:04 -07:00
coco875 a9f69d86c8
Update vcpkg.json (#561) 2025-11-14 11:44:33 -07:00
MegaMech ad86063066
Update Collision.cpp (#559) 2025-11-12 16:11:28 -07:00
MegaMech fb7bd7ba11
Fix Sherbet (#558)
* Update Game.cpp

* Update Penguin.cpp
2025-11-09 20:40:09 -07:00
MegaMech de9c5d5101
Implement SpawnParams struct (#536)
* 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

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-11-09 19:07:44 -07:00
MegaMech 760fa3bf52
Update PortMenu.cpp (#552) 2025-09-27 08:09:25 -06:00
Varuuna 72b5773d4d
Replace FrameInterpolation Pop/Push with RecordOpen/CloseChild (#542)
* Replaced Pop/Push for Yoshi Egg and Mario Sign actors

* Removed comments

* applied suggestions

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-09-26 10:14:45 -06:00
Spodi dbcf1acd2f
Fix Multi-Window not checked by default (#548)
Last time i tested with a new config file this was actually on, despite it showing off. So now it shows ON by default :)

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-09-26 10:11:13 -06:00
coco875 6f133d2045
Fix ci (#549)
* try fix ci

* use fmt instead

* try another fix for fmt

* fix link and detect for c++ 20

* invert condition on format
2025-09-25 07:16:38 -06:00
Varuuna f70c9100b0
Added fades for 3P4P menuing (#543)
* Added default menu transition for 3P4P options

* Forgot to change the condition

* formatting

* Reverted change on single frame black

Added comments
2025-09-23 16:24:59 -06:00
AltoXorg db01cf3d6f
Fix non-portable (#532)
* Fix for non-portable builds

* submodule update Torch, [TEMP] libultraship

* submodule update libultraship

* place assets in exe's dir on post build
2025-08-09 11:25:46 -06:00
Daniel Worley 334fdeafd2
Scale menu at higher resolutions (#502)
* Scale menu at higher resolutions

* Options for menu extent/scaling

---------

Co-authored-by: coco875 <59367621+coco875@users.noreply.github.com>
2025-08-07 19:53:24 +02: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
V10lator 5e8ee8682d
Fix spaghetti version in Docker (#530) 2025-08-07 19:24:49 +02:00
V10lator 57dcefb206
Allow 400% internal resolution (#516)
Signed-off-by: Thomas Rohloff <v10lator@myway.de>
2025-08-01 12:53:30 -06:00
KiritoDv 1702f9029a Recoded pak to use file instead of fstream 2025-07-30 16:22:40 -06:00
JDJG cb172d1399
Adds information about what each sequence file does. (#500)
* Adds the sequence information i.e. what each file does.

* Removed not used mario circuit(accidently added from the wiki) - just generic name for every mario course.
Links to mario raceway :)

* update value to be more accurate.

* Update sequences-information.md

* updates seq_00 to be sound player.

* update references of seq_16 to make more sense.

* remove the note on it.

* Update the seq_16 to be the better name of it.

* Update sequences-information.md

* updates each section to have a name.

* Changes The name to make more sense gramatically.

* add new note

* Update sequences-information.md

* Update sequences-information.md

* Fixes the weird change to clrf. Replaces it to be lf instead.

* Update custom-audio.md

* Update TrackProperties.cpp

* Update TrackProperties.cpp

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-29 07:07:29 -06:00
coco875 2cc051fbe1
more precision on building instruction and fix switch (#507)
* more precision on building instruction

* Update main.yml

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-29 06:59:56 -06:00
Malkierian 4ecd8c8b75
Remove the Spacing() calls after MenuDrawItem and wrap the loop with ItemSpacing.y changes. (#515)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-29 06:59:01 -06:00
coco875 3431d1dce0
add more audio documentation (#505)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-29 06:55:10 -06:00
KiritoDv 212436726f Patched hud textures to draw on point mode 2025-07-28 21:55:46 -06:00
KiritoDv 7eb925d351 Fixed L button volume to match port's sliders 2025-07-28 21:19:53 -06:00
KiritoDv d45f201d44 Fixed audio yamls 2025-07-28 21:15:32 -06:00
KiritoDv 42a2fc2114 Fixed audio and sliders cc: @sonicdcer 2025-07-28 20:22:12 -06:00
KiritoDv c7ee0d8dd1 Fixed stupid crlf issues 2025-07-28 18:01:41 -06:00
coco875 c0523623ea
Merge pull request #514 from JDJG-s-Extra-Projects/main
update documentation title to make more sense and not too be too long.
2025-07-28 23:54:58 +00:00
JDJG 225095fc11
update documentation title to make more sense and not too be too long.
helps make it fit better.
2025-07-28 19:53:40 -04:00
coco875 a4d0ead4c3
Better controller pak (#504)
* try add a better save

use https://github.com/sonicdcer/N64ModernRuntime/blob/controllerpakimpl/librecomp/src/pak.cpp as a ref

Co-Authored-By: Alejandro Asenjo Nitti <96613413+sonicdcer@users.noreply.github.com>

* update pak

* Update save.c

* Better controller pak with File deletion menu

Co-authored-by: Dario <dariosamo@gmail.com>
Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>

* add gControllerPakScreen button

* change assert(false) in pak.cpp

---------

Co-authored-by: Alejandro Asenjo Nitti <96613413+sonicdcer@users.noreply.github.com>
Co-authored-by: Sonic Dreamcaster <alejandro.asenjo88@gmail.com>
Co-authored-by: Dario <dariosamo@gmail.com>
Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>
2025-07-28 17:48:21 -06:00
coco875 4df1da349a
Merge pull request #501 from JDJGInc/future-games
Adds a list of locations where courses appear in the future
2025-07-28 23:35:46 +00:00
coco875 9ca2d04604
duplicate sequence (#506)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-28 14:01:01 -06:00
coco875 7c229e3ed0
fix some compilation issue (#511)
* fix some compilation issue

* Update CMakeLists.txt

* remove lto for apple in debug, because apple
2025-07-26 09:17:57 -06:00