* Linkage for the ceremony_data file
Cleaned up all but 1 undefined symbol from the 0x0B range. The one
leftover may be something from texture_tkmk00. Or atleast, that's
what I think. Can't say for certain
* Startup logo linkage
Cleaned up a bunch of unused items from assets.json too
Signed-off-by: Taggerung <tyler.taggerung@email.com>
They match when placed there, although its not immediately clear
that they truly belong there. But a match is a match.
Also cleaned up a bunch of .h files that had references to the
newly matched variables.
Signed-off-by: Taggerung <tyler.taggerung@email.com>
Required fixing a problem relating to rodata. There was a missing
balign directive causing some issues when trying to match
func_800A9A98
Signed-off-by: Taggerung <tyler.taggerung@email.com>
Also got rid of a couple asm files for functions that were matched
a long, long time ago (thank you ItzSwirlz for finding them)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Migrated data and rodata for code_80091750
And it even matches when built!
Minor annoyances:
There are some EUC-JP strings in `func_800A6E94` and `func_800A69C8`
that are currently in byte form. The asm files don't get put
through `icnov` so we can't have them as strings until they're
parent functions are matched.
`func_8009F5E0` has the symbol `D_800E7594` replaced with the
actual number `0x800e7594`. The symbol in question is almost
certainly fake, but I can't figure out what its meant to be.
So I've hardcoded it for the time being to make the migration
possible.
* Fully match all the NEEDS_RODATA functions
Signed-off-by: Taggerung <tyler.taggerung@email.com>
I have historically made prototypes for argument-less functions
with just plain `()` for the argument list. This has caused some
minor pains when using `m2c` and is, pendatically, incorrect.
So I have changed all argument-less function protoypes to instead
have `(void)` as the argument list. This required a couple small
fixes here and there.
* change return type of func_8000546C
* try to fix submodules
* update asm_processor for new ASM directives
* split code_800AF8B0 into 3 files; move rodata into files/asm
* move rodata into code_800AF9B0 asm funcs
* decomp func_800AF9E4
* match 800AFF58
* merge in master (renamed code_800AF9B0.c to menus.c)
* revert menus.c back to code_800AF9B0.c
* add bss to code_800AF9B0
* rename code_800B0350.c to menus.c
* remove unused ALIGN macros
Required getting the .rodata for that file correct too.
Matched a couple other funtions here and there as well.
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
There's a function that appears to use continued fractions
to approximate the value of tanh(x/2), which is super weird.
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Name functions that search for 8018D9E0 entries
The one with "_dupe" in its name is the one that has the potential hard lock
laying around
* Add comment for bug in find_8018D9E0_entry_dupe
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
There's no reason to have our own special type when it exactly matches a GBI type.
This required updating some inc.c data as the old mk_Vtx_Flag type had the 'flag'
member in the incorrect location.
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Match 3 functions
* Refresh a ton mips_2_c outputs
* Add a header file for data_segment2
Update a couple mips_2_c outputs based on the contents of the new header file
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Break out some credit text stuff into a C file
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Add some comments for better clarity
Also delete the asm file for a function that was matched in the
previous commit
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Move texture data from asm to C
Required dropping a couple typedefs since they no longer had a purpose
Regenerated a couple mips_to_c outputs based on the updated types
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Match func_800AB290 and func_800AC978
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Match func_800A15EC
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Match func_800A1A20
* Get func_800A1F30 to NON_MATCHING
* Match func_800A3C84
mips_to_c does not currently support labels being in delay slots, although
practice that is fine. To get around this I put a nop in the delay slot
instead. No permanent change is being made to the target assembly.
* Update the mips_to_c output for a couple functions
Split asm file containing unused funcs and added mips_to_c output for them.
* Remove extraneous data file
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Match func_800A4B38
* Match func_800A6034
* Change type of "blue" argument
This allows the function's type signature to look the same as the other
box drawing function.
* Match func_800AC300
* Matched func_800AAEF4
* Matched func_800AAF30 and func_800AAF70
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Update the GfxPool struct and match some functions
Also reordered variables.h a bit
* Match 2 more functions
* Replace reaming ->buffer references with ->mtxPool
Update the mips_to_c output of a couple functions based on new GfxPool
definition
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Name variables related to selecting a game from the main menu
* Match a couple functions requiring jumptable
* Match func_800B4728
* Match func_800B536C, func_800B5888, func_800B5AAC, and func_800B5AD8
* Name functions related to loading and validating SaveData
* Match func_800B4CB4
* Update selected player defines
* Match func_800B5404
* Match func_800B6088