Commit Graph
127 Commits
Author SHA1 Message Date
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
FazanaandGitHub 4d668a1ef4 Lots of Labelling (#394)
* Update Makefile

* rename object stack tracing

* no

* name the timer of pure unadulterated rage

* rename rendering

* So much

* Label boss racer anims

* organise boss racers

* remove some unused funcs from headers

* dialogue

* there we go

* Update vehicle_bluey.c

* Update README.md

* quick fixes

* quicker fixes
2023-05-20 23:03:06 +01:00
3c97d5ea99 Identify and label a bunch of game.c stuff (#385)
* Fix warnings

* Update src/thread0_epc.c

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

* identify some texture init stuff

* match _Litob

* match cosf

* match sinf

* formatting

* Update math.h

* Delete sinf.s

* quick fix

* Update unknown_078050.c

* identify some time trial stuff

* my honest reaction

* Add a define for F3DDKR_GBI

* Add GCC define for stubbed_printf

Fixes a bunch of warnings, because IDO is such a brilliant compiler with zero flaws that for some reasons decides "#define text(...)" is against federal law.

* Update racer speed errors

* identify some game.c stuff

* Rename

* Fix inaccurate names for the displaylist heap

* more.

* quick fixes

* Update src/racer.c

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

* Update src/objects.c

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

* Update src/objects.c

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

* quicker fixes

---------

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
Co-authored-by: David Benepe <benepe96@gmail.com>
2023-04-23 20:21:39 +01:00
FazanaandGitHub 78c99d27fa Fix warnings (#382)
* Fix warnings

* Update src/thread0_epc.c
2023-04-13 08:15:08 -04:00
6d99776962 Several matches, documentation, and tool updates (#377)
* WIP func_80068FA8

* WIP func_80069790

* Match func_80069790

* WIP func_80068FA8

* WIP func_80068FA8

* Near match func_80068FA8

* Regalloc diff with func_80068FA8

* Match func_80068FA8

* Cleanup casts we don't need, and get rid of unused symbols from undefined_syms.txt

* Increase score for func_80066CDC

* Increased score of render_fade_circle

* Get func_80031BB8 back to NON_MATCHING after one struct definition got updated

* Make asm_processor linked to the original repository as a submodule to keep it up to date

* Update recomp to latest

* Updated diff.py to the latest version. One of the recent tools updates gives me line diffs in diff.py finally!

* WIP func_80010994

* Update func_80010994 WIP

* D_8011AD21 is not an array

* Cleanup

* Match func_800155B8

* WIP func_80010994

* Get func_80010994 to NON_MATCHING status

* WIP render_3d_model

* Update render_3d_model WIP

* WIP render_3d_model

* Match unused func_8001E13C

* WIP func_80011264

* Match func_800113CC

* Udpate func_80011AD0 and then use that knowledge to add some details to a few objects

* Fix warnings

* Bring func_80011AD0 closer to matching

* Match func_80011AD0

* MAtch func_800138A8

* Cleanup

* Change variable type for D_8011AEDC to be an Object as it matches what it's used as in func_8001BDD4

* Match func_8001BDD4

* Match func_8001BC54 and document the camera obj list

* Accidentally deleted the generate_ctx.sh somehow. Adding it back in

* Match func_8002A31C

* Make D_800DC8AC an array of Vec3f instead

* Update src/object_functions.c

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

* Update src/object_functions.c

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

---------

Co-authored-by: David Benepe <benepe96@gmail.com>
2023-03-07 14:30:24 -05:00
David 4a6578fe17 Added support for subfolders in assets, and named object headers & models 2023-02-02 17:29:15 -06:00
c6351af6c3 lots of matching involving misc racers (#346)
* match func_8005E4C0

* label vehicle enums

* prelim

* match func_800B1130

* match func_8005F310

* prelim

* match func_8005C364

* rename and warning fix

* another wave of particle cleanup

* match func_8005E204

* fixed warnings

though it's just a plaster

* Update objects.c

* match func_8005D0D0

* macros

* some labels

* match func_8005D820

* reorganise boss headers

* stuff that I don't really feel like describing it's just lots of dumb stuff lol

* add collision.c

* one more

* some racer documentation

* fix blacklist bug in score.py

* more.

* nonequiv func_800314DC

* Update collision.c

* Update unknown_0255E0.h

* document two camera funcs

* Update racer.c

* quick fixes

* Update src/vehicle_tricky.c

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

* Update src/vehicle_smokey.c

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

* Update src/vehicle_misc.h

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

* Update src/particles.h

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

* Update src/vehicle_bluey.c

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

* requested changes

* Update vehicle_smokey.c

* oops missed one

* Update object_functions.c

* Update racer.c

Co-authored-by: David Benepe <benepe96@gmail.com>
2022-12-30 14:14:53 +00:00
FazanaandGitHub 1d53b19f36 add implicit declaration errors (#337)
* implicit errors

* good lord that was a lot

* Update csplayer.c
2022-12-10 23:34:00 +00:00
9a56ac59f1 Move math util functions to a c file + nonmatching (#312)
* math util in .c

* all donezo

* move

* Update Makefile

* Update src/math_util.c

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

Co-authored-by: David Benepe <benepe96@gmail.com>
2022-12-01 19:38:05 +00:00