* All work done in audio
* Migrate audio/port_eu data
* Refereshed m2c
* Got the bss segment matching too
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Lots of code_80071F00 matches
Also removed a bunch of fake variables related to the object list.
Also gave names to some of the members of the object list type
Signed-off-by: Taggerung <tyler.taggerung@email.com>
Had to create a new file in order to get stuff matching right,
even though making a separate file for just 3 functions is
incredibly silly.
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Make adjustments to the Mario Raceway course file
Added quotes in "*.mk" to the find command for finding the .mk files.
* Make adjustments to the Choco Mountain course file
* Make adjustments to the Frappe Snowland course file
* Make adjustments to the Toad's Turnpike course file
* Make adjustments to the Moo Moo Farm course file
* Make adjustments to the Luigi Raceway course file
* Make adjustments to the Koopa Troopa Beach course file
* Make adjustments to the Kalimari Desert course file
* Make adjustments to the Bowser's Castle course file
* Make adjustements to the Wario Stadium course file
* Make adjustments to the Sherbet Land course file
* Make adjustments to the Royal Raceway course file
* Make adjustments to the Banshee Boardwalk course file
* Make adjustments to the Yoshi Valley course file
* Make adjustments to the Rainbow Road course file
* Make adjustments to the Big Donut course file
* Make adjustments to the Block Fort course file
* Remove some unneeded lines from the Makefile
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Add new asset extraction tool. Changes motivated by the quirks of how kart animation frames are stored
in the ROM.
each frame has a palette that is actually
composed of 2 other, incomplete palettes. As such, the existent
extract.py isn't really able to handle them.
* Move a variety of assets to new extract tool
---------
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
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>
* Remove some bin2c calls from the Makefile
* Found a way to make n64graphics use shared tluts
* Added an option that makes n64graphics operate in a mode where it
takes an image and tlut (as pngs) and spits out the appropriate
CI8 indices inc.c form
* Turns out all the TLUTs for Lakitu are kept in one place, far away
from the textures that use them
* Names some textures and tluts
* Pretty helpful actually, helped identify where a few different
objects types are initialized. Should be a little useful to
whoever dives into the object stuff more deeply
* Minor cleanup in n64graphics
* Added some comments, gave more appropriate names to some
variables.
* Leaving the new mode argument as `-Z` for now
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Textures compile using makefile rules
* Patched n64 graphics memory leak and ci output
* Added memset16safe to initialize ci palettes to magic numbers (transparent pixels).
---------
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* Give names to some textures
* Match a couple functions
* Remove a use of bin2c from the makefile
* Its a little strange, but two of the portrait textures share
a TLUT. I believe this necessitates that the portraits be
part of the same PNG file.
* 2nd portrait referenced in undefined_syms.txt
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
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>
Introduce waypoint struct, which code_80005FD0 seems to be
involved with.
Updated several mips_to_c outputs as well.
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
Matched its rodata too
Required making a minor adjustment to the Player struct, which
required updating a couple of other files
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
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>
Add a define for the size of the actor list, and add a comment
cautioning people about how to appropriately interact with
the specialized types.
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* More actor decomp
* memory.c decomp plus bss import into actor code
* Match actors and segment D match
* Match common_textures.inc.c
* Add tool bin2c.py