Commit Graph
135 Commits
Author SHA1 Message Date
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
Ryan MyersandGitHub 38a76249f9 We are collecting silver coins in Treasure Caves. (1/8 silver coins) (#422)
* 3 new matches

* Fix arrays

* Get llcvt compiling finally

* Finsh 2 more libultra files

* Match func_80022E18

* Match func_8001BF20

* func_8001CD28 NON_MATCHING

* Match func_80026C14

* Match func_8005FF40

* Match func_80061A00

* Match func_8005FCD0

* Update score

* Fix NON_EQUIVALENT builds
2023-10-16 08:12:02 -04:00
658ab3f5f0 Update makefile, and include many new matches (#421)
* Fix the sins of the past

* Fix makefile extra messages, and add a patching option

* Match func_8001955C

* Match func_80016500

* Match func_8000C8F8

* WIP func_8000CC7C

* Removed old competing misc asset enums, and migrated to the better standard.

* Fix last commit

* Minor documenting of an unused asset.

* Match func_8001B4FC

* Match func_8009963C

* Match render_enter_filename_ui

* Match randomise_ai_racer_slots

* Fix NON_EQUIVALENT builds

* Update README

* A little text documenting

* Update src/menu.c

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

* Remove already matched asm file

---------

Co-authored-by: David Benepe <benepe96@gmail.com>
2023-10-12 08:35:23 -04:00
David c643999c77 Added syntax to RAM_POS for conditionally including a source file 2023-06-17 16:43:20 -05:00
David f356eb04e1 Some minor fixes 2023-06-11 14:10:16 -05:00