185 Commits

Author SHA1 Message Date
Jordan Longstaff
3534199c4c Slightly improve progress messages in score display (#687)
* Slightly improve progress messages in score display

* Add specific counts of undocumented functions

* Roll back redundant calculations

* More concise Trophy Race descriptions

* Fix score locally
2025-07-22 03:04:52 +02:00
Ryan Myers
278112886b Sort Includes Alphabetically (#666)
* Consistent tabs in makefile

* Update clang format to fix broken config settings

* Use new clang format settings to sort includes

* Minor python script warning fixes

* Fix a woopsy
2025-07-04 14:43:05 -04:00
Fazana
9fd0885200 More documenting and labelling things I've learned, suddenly and unsuddenly. (#645)
* ooh

* race

* Update menu.c

* fix more menu UB

* fix some warns

* fix symbols

* more model stuff

* confusion

* format le code

* Update racer.h

* Update src/objects.c

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>

* Update src/racer.c

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>

* improve vehicle anim func

* clean up another function

* Update tools/python/calc_func_checksums.py

Co-authored-by: Dominik Peters <github@d-peters.com>

* Update tools/python/calc_func_checksums.py

Co-authored-by: Dominik Peters <github@d-peters.com>

* oop

* Update object_functions.c

---------

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
Co-authored-by: Dominik Peters <github@d-peters.com>
2025-06-25 17:57:50 +01:00
Ryan Myers
37454869ed Fix the last two unmatched JPN functions that were matched in other versions (#633)
* Match results_render in JP

* It's actually one function left for JP

* Match menu_credits_loop

* Match the last JP unmatched in menu.c
2025-06-17 13:59:37 -04:00
Ryan Myers
e5157023eb Match savemenu_render_element for JP Region (#631)
* Last function that had no compilable code is now there.

* Hack up the score script to filter out functions that are matched in US 1.0 but not in JPN. This will finally show us the true functions remaining to be matched to finish US 1.0

* Update score

* Run formatter

* Match savemenu_render_element for JP Region

* Update the score
2025-06-17 10:26:16 -04:00
Dominik Peters
a56933bd8c match: update_camera_plane & func_8004CC20 (#622)
* match: update_camera_plane

* refac: use 1/180.0 instead

* match: func_8004CC20

* document: re-add function comment
2025-06-12 23:05:49 +02:00
David Benepe
e30f1c535a DKR Assets Tool v0.5.2 (Basic glTF support) (#610)
* Removed old unused files

* Added gltf support

* Reverted dkr_assets_tool_settings.json to previous

* Added animated model example

* document audio_vehicle.c (#588)

* wip

* wip

* wip

* wip

* document audio_vehicle.c

* update score once again

* unify function prefix

* small tweaks

* match func_80060910 and func_80060AC8 (#589)

* match func_80060AC8

* reworked func_80060C58

* match func_80060910

* non equivalent func_8006017C

* format

* match calc_env_mapping_for_object

* Homogenate batch flags and render flags and begin the painful task of documenting waves. (#590)

* part one of wave pain

* 2

* littel bit more

* m

* h

* l

* aagghh

* yeah

* :)

* bruh

* b

* m

* faith

* z

* b

* rename batch flags

* Update waves.c

* fix conflicts

* match func_8000B38C (#592)

* match func_8000B38C

* format code

* update score

* match calc_dynamic_lighting_for_object_1 (#594)

* match calc_dynamic_lighting_for_object_1

* format and score

* update score

* update score again

* Document some Boost data (#593)

* Run formatter

* Document some boost info

* decompile and document math_util.c (#595)

* Match func_8002F440 (#596)

* Add a WIP attempt of func_8004447C, and add some scratch links

* match func_8002F440 and run formatter

* Cleanup some comments

* Update score, fix warnings, and run formatter again

* Remove some bad comments

* match: func_8007FFEC (#599)

* feat: allow score script to generate treemap file for decomp progress (#598)

* Various touchups here and there, some renames in camera.c (#597)

* the beginning of the void

* update asset tool

* void :)

* there

* cam

* model

* more

* fix warns

* ok

* whoops missed a rename

* Add a few NON_EQUIVALENT functions from scratches to keep them up to date (#602)

* WIP func_800101AC

* WIP func_800452A0

* cleanup

* Formatter and func_8004CC20 near match

* func_8004CC20 better score and documentation

* func_80049794 WIP and compilable

* Major cleanup of func_80049794

* Formatter

* Update scratch

* Add func_80019808 from scratch

* Cleanup func_80019808

* func_80019808 score improvment

* Improve func_80049794 score (Thanks Dominik!)

* func_8001C6C4 WIP

* func_8001E93C WIP

* small documenting

* Eliminate a lot of Obj64 casts.

* fix: do not pass default to treemap arg (#604)

* Quick fix for score script (#606)

* WIP func_80060EA8

* Quick fix for score script

* name and document lights, CC modes and textures (#607)

* improve match for func_800BDC80 & match func_80060EA8, func_8002F2AC (#609)

* improve match for func_800BDC80 & match func_80060EA8

* match: func_8002F2AC

* match: func_800452A0 & func_80042D20 (#611)

* partial match: func_800452A0, improve from non equiv to non matching

* match: func_800452A0 & func_80042D20

* document: remaining funcs, add decomp.me links (#612)

* match func_8004447C (#615)

* Document camera and sprites (#614)

* Cleanup, and use constants where possible (#617)

* Update func_80060EA8 WIP

* formatter

* More func_80060EA8

* More func_80060EA8

* WIP func_80060EA8

* Minor cleanups and documenting

* minot cleanup

* Define some constant flags properly

* Misc documenting and cleanup

* formatter

* Fix the scratch link for vsprintf (It was DP's)

* Add the WIP version of vsprintf that's 95.82% matching.

* Fix score script (#619)

* Added gltf support

* Allow either commas or vertical pipes for splitting render flags

---------

Co-authored-by: Unnunu <serge_zorkin@mail.ru>
Co-authored-by: Fazana <52551480+FazanaJ@users.noreply.github.com>
Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
Co-authored-by: Dominik Peters <github@d-peters.com>
2025-06-12 10:29:08 -04:00
Ryan Myers
56ad99a65c Fix score script miscalculations, and add final NON_EQUIVALENT function to codebase. (#620)
* Last function that had no compilable code is now there.

* Hack up the score script to filter out functions that are matched in US 1.0 but not in JPN. This will finally show us the true functions remaining to be matched to finish US 1.0

* Update score

* Run formatter
2025-06-11 16:42:51 -04:00
Ryan Myers
9195ceed28 Fix score script (#619) 2025-06-11 10:44:40 -04:00
Dominik Peters
36e362212c fix: do not pass default to treemap arg (#604) 2025-06-04 15:31:54 -04:00
Dominik Peters
71027c48cb feat: allow score script to generate treemap file for decomp progress (#598) 2025-06-01 16:15:57 +02:00
Ryan Myers
dc28cc2d2b 100 funcs remaining! (#510)
* Run formatter

* Small documenting task

* Fix some formatting

* Fix size of sCorruptDataMenuText

* Update requirements and subrepos to make sure we stay up to date

* Do some JP font work

* Small naming of things for jp font stuff

* Small cleanup and documenting of debug_render_audio_effects

* Match audioline_reverb

* formatting

* 100 funcs remaining

* Match JP pakmenu_render
2025-04-14 21:13:21 -04:00
Dominik Peters
fa806d366f match: func_800B92F4 / func_800B97A8 (#501)
* match: func_800B92F4

* fix: score.py script crashing on invalid / empty address

* match: func_800B97A8
2025-04-05 21:06:23 -04:00
Ryan Myers
34508976cd Match audioline_init (#497)
* Fix some AVOID_UB stuff, and some small documenting.

* Fix m2ctx.py and add NON_EQUIV func_80045C48

* Minor issue cleanups

* Clean up audioline_ambient_create match

* Match func_80008040 as audioline_init, fix the generate ctx script, and some small warning stuff.

* Minor work on func_80008174 so it can be NON_EQUIVALENT again

* redefine asm abs

* Hackishly fix the ctx file when generated.

* Use some more constants and got rid of some start: auto stuff which is not recommended in splat anymore for BSS

* Do some documenting, and slightly better matches using JFG source.

* Formatting

* Clean up some more audio stuff

* Further cleanup and naming of things
2025-04-05 16:00:13 -04:00
Fazana
50ae503e3b Some attempt at making the save buffer human readable, and renamed joypad.c funcs (#490)
* First pass

* Fix n64crc and add submodules properly

* Fix other versions

* Match func_8005B818 for v80 code.

* Formatting

* Fix build for JPN in last commit. Still broken in post v77 roms though.

* Fix builds for other versions.

* Match load_menu_text for other versions.

* Fix progress script

* update m2c

* Modify asset tools to remove the LD script code.

* Fix asm file macro inclue

* Get a working splat version for us_1.0 to build from the assets tool.

* update asm differ

* Update tools again

* Fix the makefile to only compile assets when requested. This will build all versions successfully, and compile assets for us_1.0 when requested.

* First round of suggestions

* Small cleanup

* Fix the gcc_generate.py path.

* Make entrypointThreadStack

* Small addition to the last commit

* "Fix" score script. Still need to fix the score values themselves, but at least it runs and is kind of close.

* Much closer matching score script

* Fix the splat version due to a breaking change in 0.33.0 for this repo for now.

* Fix the main function name

* Add gitignore entries

* Fix the padding problem to be handled by objcopy instead of a binary pad from splat.

* Update the README and change dependencies to setup.

* Have a hasm header that can be tweaked.

* Still calculate the checksum on no_verify builds or they won't work.

* Add support for boot_custom.bin

* Fix custom boot ld code.

* Fix score script

* Fix gcc building.

* Update m2c

* Fix warning, stop ignoring mod assets, and add some handy make rules.

* Uggh, serves me right for not testing.

* First stab at modifiable entrypoint.

* Fix typo, and small README change

* Stop n64crd from defaulting to returning 6105, so we can properly fail if the CIC checksum fails. Also, fix the

* fix a whole heaping spaghetti pile of warnings

* stack sizes and header depdendancies

* more warns

* fix bug oops

* t

* Update Makefile

Create extract_boot.py

* Update extract_custom_boot.py

* somehow this blew up again in the merge

* Update Makefile

* fix these

* Delete extract_boot.py

* simplification

* Sage is stoopid

* Update controller.c

* permissions

* Update get-binutils.sh

* automatically determine the CIC type at build time

* input renames

* ok pretty happy with the save macros now

* Update save_data.c

* b

* d

* ah

* rename this macro

* yeah

* Update Makefile

---------

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
2025-03-26 14:52:23 +00:00
Fazana
3f48db7616 Fix warnings and polish build environment a little (#489)
* First pass

* Fix n64crc and add submodules properly

* Fix other versions

* Match func_8005B818 for v80 code.

* Formatting

* Fix build for JPN in last commit. Still broken in post v77 roms though.

* Fix builds for other versions.

* Match load_menu_text for other versions.

* Fix progress script

* update m2c

* Modify asset tools to remove the LD script code.

* Fix asm file macro inclue

* Get a working splat version for us_1.0 to build from the assets tool.

* update asm differ

* Update tools again

* Fix the makefile to only compile assets when requested. This will build all versions successfully, and compile assets for us_1.0 when requested.

* First round of suggestions

* Small cleanup

* Fix the gcc_generate.py path.

* Make entrypointThreadStack

* Small addition to the last commit

* "Fix" score script. Still need to fix the score values themselves, but at least it runs and is kind of close.

* Much closer matching score script

* Fix the splat version due to a breaking change in 0.33.0 for this repo for now.

* Fix the main function name

* Add gitignore entries

* Fix the padding problem to be handled by objcopy instead of a binary pad from splat.

* Update the README and change dependencies to setup.

* Have a hasm header that can be tweaked.

* Still calculate the checksum on no_verify builds or they won't work.

* Add support for boot_custom.bin

* Fix custom boot ld code.

* Fix score script

* Fix gcc building.

* Update m2c

* Fix warning, stop ignoring mod assets, and add some handy make rules.

* Uggh, serves me right for not testing.

* First stab at modifiable entrypoint.

* Fix typo, and small README change

* Stop n64crd from defaulting to returning 6105, so we can properly fail if the CIC checksum fails. Also, fix the

* fix a whole heaping spaghetti pile of warnings

* stack sizes and header depdendancies

* more warns

* fix bug oops

* t

* Update Makefile

Create extract_boot.py

* Update extract_custom_boot.py

* somehow this blew up again in the merge

* Update Makefile

* fix these

* Delete extract_boot.py

* simplification

* Sage is stoopid

* Update controller.c

* permissions

* Update get-binutils.sh

---------

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
2025-03-26 12:56:16 +00:00
Ryan Myers
6db9a8d6ea Splat merge (#470)
* First pass

* Fix n64crc and add submodules properly

* Fix other versions

* Match func_8005B818 for v80 code.

* Formatting

* Fix build for JPN in last commit. Still broken in post v77 roms though.

* Fix builds for other versions.

* Match load_menu_text for other versions.

* Fix progress script

* update m2c

* Modify asset tools to remove the LD script code.

* Fix asm file macro inclue

* Get a working splat version for us_1.0 to build from the assets tool.

* update asm differ

* Update tools again

* Fix the makefile to only compile assets when requested. This will build all versions successfully, and compile assets for us_1.0 when requested.

* First round of suggestions

* Small cleanup

* Fix the gcc_generate.py path.

* Make entrypointThreadStack

* Small addition to the last commit

* "Fix" score script. Still need to fix the score values themselves, but at least it runs and is kind of close.

* Much closer matching score script

* Fix the splat version due to a breaking change in 0.33.0 for this repo for now.

* Fix the main function name

* Add gitignore entries

* Fix the padding problem to be handled by objcopy instead of a binary pad from splat.

* Update the README and change dependencies to setup.

* Have a hasm header that can be tweaked.

* Still calculate the checksum on no_verify builds or they won't work.

* Add support for boot_custom.bin

* Fix custom boot ld code.

* Fix score script

* Fix gcc building.

* Update m2c

* Fix warning, stop ignoring mod assets, and add some handy make rules.

* Uggh, serves me right for not testing.

* First stab at modifiable entrypoint.

* Fix typo, and small README change

* Stop n64crd from defaulting to returning 6105, so we can properly fail if the CIC checksum fails. Also, fix the

* Extract custom boot script

* Update automated scripts.

* Woops, fixed the MAXCONTROLLERS thing now.

* Add the method for building binutils back. Sorry!

* Only use -m32 when the longbit says we're on a 64 bit platform.

* Woops....

* Hopefully fix arm detection for raspi ido downloads.
2025-03-25 09:07:00 -04:00
Fazana
59f86699a1 gcc building (#487) 2025-03-20 21:40:03 +00:00
David
ce4a092660 For real this time. 2025-03-14 16:32:59 -04:00
David
484d2bc100 Fixed m2ctx.py issues 2025-03-14 14:58:06 -04:00
Ryan Myers
31124801c0 Score update fixes (#467)
* Fixed a couple of issues for score calculations

* Update README
2025-02-27 14:27:28 -05:00
Ryan Myers
a005a4eb3d Match all libultra, and more closely match ultralib (#466)
* Massive libultra changes

* Fix the build!

* Remove crc comment that seemd to break the score script for some reason.

* Update README score.

* Apply some suggestions

* rename sins and coss funcs.
2025-02-24 11:45:02 -05:00
Ryan Myers
39c01d4f5e Splat changes (#462)
* Merge changes from splat where it makes sense at this stage.

* Update score, and script for what seems like new map file style.

* format

* Fix accidental inclusion of version specific details.

* Match camera_init

* Update Score

* Near match for func_80046524

* Format

* Woops, it's NON_MATCHING

* Missed button pressed value

* Work on documenting func_80046524

* MAtch func_80046524

* Match func_80046524

* Minor changes

* Fix warnings in func_80046524

* format.py

* Update README

* Match func_800230D0

* Fix UB in mode_init_taj_race
2025-02-21 09:23:36 -05:00
Bl00D4NGEL
681cc243f3 refac: split verification steps into separate GH jobs. Fix score.py script crashing because of missing key. Update README to include ROM hash 2025-01-02 21:09:53 +01:00
David
67830385a9 Updated score display to be clearer 2023-11-02 21:51:36 -05:00