Mostly relocating rodata from data/* files to the appropriate
asm/nonmatching/* files, although there is some plain data
relocating to be found in here too.
Big change to note is the addition of the code_802AAA70.c file,
split from memory.c. Based on some padding in the ro/data for
memory it seems clear that a split is needed, although it is
not clear that exact spot chosen for the split is correct.
Still, it gets the file padding for the ro/data and text segments
correct so it can't be too wrong.
Also included is an update to the asm_processor tool to support
the .hword directive. I made a PR to the main repo of that
project with an identical change and it was accepted.
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
Identified a couple more lists of object list indices, added some
comments indicating what they're used for. Those comments are
most likely non-exhaustive so there's still some investigation
to be done there.
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Matches, add permute, and add notice to quick runners
* 80281fa0 matches, render_courses, and create defines for audio
* Renamed 80281fa0.h, func naming, and deleted data_121DA0
* Added clang format
* Matched load_surface_map
* Match func in memory.c
* some matches in audio in port_eu, heap, and external.
* update port eu
* Add export lang=c to makefile
* near match for func_800CBB48
* Update src/audio/heap.c
A lot of these matches come from observing the external audio
stuff in SM64 and realizing that a bunch a couple of the structs
in MK64 are just expanded version of their SM64 counterpart.
Presumably all the expansions are for handling the doppler effect,
although I can't say that with certainty
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Lots of audio decomp
* effects and playback are 100% matched
* Took some notes from the SM64 Makefile to get the right compiler
options for a couple files
* Added the audio files to rename_symbol utility
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Updated the Makefile to make the VERSION_US file
get used when compiling stuff.
* Updated the abi.h file to match SM64, with some modifications to
support the currently targeted version (US).
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
Couple matches functions, an update to a struct, a bunch of header
files adjustments, and some mips_to_c regenerations
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Add a lot of header files
Did my best to move all relevant function prototypes and external
variable declarations into the header files too.
Matched a few functions in the process
* Updated progress.py
Some of the listed files/folders have been deleted/renamed,
so I reflected those changes in progress.py
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* 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
Thank you Mech for figuring out what the stack management stuff was
about.
And yes, apparently the best way to match those functions is to have
an `if` statement that uses an unset local variable as its condition
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* import random_u16 to sm64
* rand math decomp
* Match func_80298AC0
* Match some actor funcs
* Renames
* update gitignore for .bin textures
* update player struct member 34 to Vec3f
* Named and documented actor destroy funcs
* fixed float issue brought over from zeldaret
* Import trig_tables.inc.c
* Delete game_data_802BA370.s
* Import two funcs from sm64 into code_80004740.c