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>
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 and m2c refreshing for code_80057C60
* Convert some Vtx's into a Mtx
Based on the usage of D_0D008E98, it seems like it should be a
Mtx. So this commit changes some Vtx's into a Mtx
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>
* Match a lot of functions, add header for objects
* Refreshed a TON of functions and created/added to several
header files
* Add header for code_800431B0, address comments
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>
* Add some more actor types, match a function
* Identify the boundBox member of the Player struct
Note that while the `flag` members are signed, they should be understood as just a group of bits.
Based on some googling around (see https://stackoverflow.com/a/11644749) the operation `thing.flag |= 0x8000`
is NOT undefined behaviour, even though that is setting the sign bit.
The numerical interpretation of the result as a signed number is implementation defined, while the
actual operation acts on the bit representation of the number.
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>
* 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
* Give names to some Grand Prix related variables
Namely variables related to points and standings
Also added some observational comments to a function
or two
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
* Add defines for character IDs
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
Gave some Player struct members proper names, mostly related to kart hop physics.
Renamed a couple of tables in kart_attributes to make their purpose and nature more obvious
Matched func_8002AAC0 with its assembly representation
Matched func_800225CC with its assembly representation
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>