* 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>
* Match func_8002AB70
* Added a header for another file, which required adjusting
a couple other files
* Matched a couple more functions
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>
Some of the variables defined in kart_attributes.c had they're type wrong when
being used in other files.
This means that some previously defined variable no longer exist, however
that's fine as they were never directly referenced. Their existence was
almost certainly a decomp artifact.
For example, D_800E2404 was never "real". Instead it was likely a compiler
artifact caused by accessing D_800E2400 at the hard coded index of 1.
I've updated kart_attributes.h to reflect these changes
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* Match func_802B5450, func_802B5F00, func_802B71CC
* Match func_802B4FF8
Also do some import fixing
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>