277 Commits

Author SHA1 Message Date
Ryan Myers
aacc45612e Splat upgrade (#705)
* Upgrade to splat 0.35.1 and spimdisasm 1.36.0

* Upgrade to splat 0.35.2 and spimdisasm 1.36.1 and do the submodule updates required for that as well.
2025-09-09 11:31:59 -04:00
Ryan Myers
1d089fad9f Update libultra asm (#701)
* Update func_8008FF1C to a closer match

* Update formatting

* single reg diff

* Generate end labels for all ucodes, rename the boot to rspboot, and have them all get generated together into the same object file, and standardize how they're defined in the headers.

* Use glabel, dlabel, and jlabel for different purposes in asm

* Working compile with ido for asm files.

* Fix other versions bss declaration

* Update exceptasm to show other build versions

* Fix NON_MATCHING build ld script

* Remove a change to libultra that we don't need anymore.

* Get it building with GCC, but it doesn't seem to boot...

* Slightly cleaned up the GCC builds by still ignoring warnings in libultra, and adding some extra assembly line breaks and flags.
2025-09-02 12:57:23 -04:00
Ryan Myers
055f9db867 Update gbi.h to use one found in libultra E version (#699)
* Fix some asm size stuff, really only impacts the elf binary.

* Change the gbi.h to one found in libultra version E, and run formatter

* Update m2c submodule
2025-08-14 09:29:46 -04:00
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
Fazana
6b704ab45a Slight organisation (#667)
* trole

* name particle dummy asset

* spatial audio debug strings

* home some strings and fix warns

* Update collision.c
2025-07-08 00:33:14 +01: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
Ryan Myers
55293e4f6e Clean up math_util.s (#649)
* Update some submodules, and tweak some printf code to more closely match the exact names and style of the official glibc version

* Update some offsets

* Clean up math_util.s, and figure out how to fix the sins functions just being labels. Now the elf file properly shows up as a function with the correct offset.

* Fix tables, and clean up some float values
2025-06-26 07:32:25 -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
Fazana
4c4309665a 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
2025-06-01 19:33:07 +01:00
Dominik Peters
71027c48cb feat: allow score script to generate treemap file for decomp progress (#598) 2025-06-01 16:15:57 +02:00
Fazana
dd0fffb030 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
2025-05-27 22:20:50 +01:00
David Benepe
ff76af0c79 DKR Assets Tool v0.5.1, finished up .obj model support (#584)
* Assets Revision 0.5.1, finish up OBJ support

* Made wrap the default texture wrap mode. Clamping can be done through a .json file

* fixed out_of_range issue with getting multiple textures.

* Fixed issue with thwomp test model.

* Removed unused problematic code from fileHelper

* Why did I add an error here? That was dumb.

* Updated json lib to latest version to fix issue on mac.
2025-05-22 10:59:51 -04:00
David Benepe
c8a755a5c9 DKR Assets Tool v0.5 (#577)
* Saving files before attempting to integrate custom crash screen

* Put code under DkrAssetsTool namespace

* More progress

* Lots of work done.

* Forgot to revert back to v77 in the makefile

* Included cstdint in bytes_view.hpp

* Hopefully fixed issue with CEnum::tostring(), removed asset_enums from tracking, and modified gitignore to allow obj files from the mods folder

* .mtl file and the textures should now check if the path is absolute or relative.

* Fixed compile_all.sh

* Doing a thing that is technically not valid.

* Removed 'make assets', now assets are built in the normal 'make' setting.
2025-05-16 17:51:40 -04:00
Ryan Myers
c136b34b61 Match func_800BA8E4 (#528)
* First pass at func_800BA8E4

* Merge D_800E3078 into D_800E3070 and do func_800BA8E4 a better deal

* Update D_800E3070 to be like D_800E3080

* Match func_800BA4B8

* Update score

* Minor documenting changes

* func_8002CC30 minimum compilable code.

* func_800BA8E4 NON_MATCHING

* Match func_800BA8E4

* Update score

* Format
2025-04-23 15:24:11 -04: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
David Benepe
94e2b41a54 Fixed building on raspberry pi 2025-04-03 19:07:38 -04:00