Commit Graph
139 Commits
Author SHA1 Message Date
Ryan MyersandGitHub 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 MyersandGitHub 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
FazanaandGitHub fcb113ce7f Fix opt flags for GCC builds (#624)
* fix opt flags for GCC builds

* Update Makefile
2025-06-13 15:02:59 +01:00
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
David BenepeandGitHub 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 BenepeandGitHub 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
150a56cf01 Use different linker script for nonmatching builds (#505)
* got overzealous with the alignments

* small knowledge improvement on models

* true

* add enum size entries for easy ref

* bgload names I forgot to merge in

* transition memes

* absinthe

* brug

* anguish

* hell

* getting there

* misery

* Update README.md

* Update include/structs.h

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

* format moment

* Delete object_animate.s

* Update obj_animate.s

* remembered to rename this

* clear mem properly

* Update waves.c

* custom linker override for nonmatching builds

* fix warns

* format

* Update Makefile

* Update dkr.custom.ld

* Update Makefile

* Update waves.c

* Update audio_spatial.c

* Update dkr.custom.ld

* Update dkr.custom.ld

* Update Makefile

---------

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
2025-05-09 18:50:32 +01:00
FazanaandGitHub 934ef08ad8 Clean up game_ui.c and rework compiler flags + fix the warnings they caused. (#556)
* warns prelim

* Update Makefile

* catch a rain straggler

* wowie

* m

* game_ui.c moment

* Update game_ui.c

* patch

* format
2025-05-06 14:54:20 +01:00
Ryan MyersandGitHub afb264bc16 Match stack_pointer with C code (#530)
* Remove useless comment

* Small amounts of documenting, official names, and use some new knowledge to match what was previously thought to be only possible with hasm.

* Define the proper type for the stack_pointer function, and come up with a solution for GCC builds that should hopefully work.

* Partial revert to support getting the actual stack pointer for GCC builds

* Come up with a better GCC build option for getting the stack pointer

* Update the score
2025-04-25 15:40:33 -04:00
David Benepe 94e2b41a54 Fixed building on raspberry pi 2025-04-03 19:07:38 -04:00
79654e9e59 game_ui.c rework (#493)
* got overzealous with the alignments

* small knowledge improvement on models

* true

* add enum size entries for easy ref

* bgload names I forgot to merge in

* transition memes

* absinthe

* brug

* anguish

* hell

* getting there

* misery

* Update README.md

* Update include/structs.h

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

* format moment

* Delete object_animate.s

* Update obj_animate.s

* remembered to rename this

---------

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
2025-03-29 14:05:09 -04:00
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
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 MyersandGitHub 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
FazanaandGitHub 59f86699a1 gcc building (#487) 2025-03-20 21:40:03 +00:00
Ryan MyersandGitHub 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 MyersandGitHub 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
6c700e9726 Bunch of stuff I had forgotten I had (#458)
* fix warns

* memory

* hehe

* name

* name

* yes

* Surpress bloaty warnings on matching builds

* Update game_ui.c

* label unused vi offset

* fix doubleword memcpy

* segment momento

* swap prefix since it'll be a bit more prominent

* Update src/save_data.c

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

---------

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
2025-02-13 15:19:38 +00:00
FazanaandGitHub e73b533cbb Support for MacOS on ARM (#456)
* initial attempt

works on WSL, boutta test on macos

* attempt 2

* Update Makefile
2025-02-11 19:44:41 +00:00
8415bc71b1 Document almost all of menu.c (#447)
* strings

* fix ub

* first pass

* pass 2

* pass 3

* pass 4

* pass 5

* pass 6

* pass 7

* pass 8

* pass 9

* pass 10

* pass 11

* pass 11

* pass 12

* pass 13

* pass 13

* pass 14

* pass 15

* pass 16

* pass 17

* oh my giddy aunt I see the light

* h

* fix my life choices

* fix game breaking typo

* Update src/menu.c

Co-authored-by: David Benepe <benepe96@gmail.com>

* Update src/menu.c

Co-authored-by: David Benepe <benepe96@gmail.com>

* Update src/menu.c

Co-authored-by: David Benepe <benepe96@gmail.com>

---------

Co-authored-by: David Benepe <benepe96@gmail.com>
2024-05-25 20:29:41 +01:00
69fe4d3b3d More various labellings (#446)
* bumble

* rumble done basically

* printf is looking better now too

* racer stuff

* model offsets

* two wave things

* obj id

* fix object ids

* randomly remembered to fix alignment on these

* fix ids part 2

* format

* fix warning

* identify baseline table

* boss race IDs

* lots of hud

* last of the current feasible hud stuff

* Update README.md

* this name

* neat

* I randomly remembered why this exists

* anti tamper define

* object elevation

* ai nodes

* particle emitters

* objects

* spectate cams

* gost

* michael bay

* door

* okay thats enough

* gost

* fix build errors

* format

* Update include/level_object_entries.h

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

* Update src/objects.c

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

---------

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
2024-05-03 17:24:00 +01:00
FazanaandGitHub b92f46a46c Label rumble system, various missing bits of HUD, fix object ID references and label debug text (#445)
* bumble

* rumble done basically

* printf is looking better now too

* racer stuff

* model offsets

* two wave things

* obj id

* fix object ids

* randomly remembered to fix alignment on these

* fix ids part 2

* format

* fix warning

* identify baseline table

* boss race IDs

* lots of hud

* last of the current feasible hud stuff

* Update README.md

* this name
2024-04-29 23:15:00 +01:00
David ecfd38f686 Asset Revision 4 2024-04-10 15:02:22 -04:00
Ryan MyersandGitHub 1df542bb56 Couple matches, non matches, and non equivalents. (#437)
* Early WIP func_8002BAB0

* More func_8002BAB0 WIP: 12266

* func_8002BAB0 : 9332

* func_8002BAB0 : 425

* func_8002BAB0 : 55

* func_8002BAB0 NON_MATCHING

* Label magic code usages

* Hide warnings about switches not containing all possible enum values, and fix other warnings.

* WIP func_80074B34

* Half assed func_80074EB8 attempt. Utter failure.

* Identify some vars for the fish entry init, and fix it's prototype.

* Near match obj_init_fish

* Fix INCONSISTENT function signatures

* Update fish entry

* Match func_800AFC3C

* A little cleanup

* Match func_800B3E64

* Update README
2023-11-30 11:18:56 -05:00
76af1da31f Update makefile and README for macOS and depdencies (#436)
* Remove capstone from the requirements, and update the workflows to use the latest recomp binaries.

* Update makefile and README for macOS

- support make 4.4 syntax for C and asm file lists
- prefer clang for C preprocessing since gcc on macOS is a clang alias
- update macOS setup and build instructions

---------

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
2023-11-20 11:55:41 -05:00