summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2022-08-23Match a lot of functions, add header for objects (#251)Tyler McGavran
* 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>
2022-08-14Fix some of the memory allocation in framebuffers (#182)Tyler McGavran
* Fix some of the memory allocation in framebuffers Also includes a the questionable change of undoing a previously made match for func_80027A20. The changes made here remove an AVOID_UB usage and (I would argue) is therefore more "correct", but undoing a byte-for-byte match is admittedly bad. Also adds in some header files and updates some not-quite-right decomps to be slighly more accurate. Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-08-01code_8001F980 decomp + profiler doc + more (#250)MegaMech
2022-07-27Add structs for "vehicle" types in 80005FD0 (#248)Tyler McGavran
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-07-15Match a variety of functions (#245)Tyler McGavran
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-07-15Document game state related logic (#244)MegaMech
* Document game state logic * More namings
2022-07-11Split out some unused asm and documented main.c (#242)MegaMech
* Splitting out unused asm * Documented main.c
2022-07-09Decomp 800 byte sized funcs and smaller (#241)MegaMech
* Decomp 800 byte sized funcs and below
2022-07-09Decomp various small funcs (#240)MegaMech
2022-07-08Match a few functions in Code800B45E0 (#239)tehzz
* pass clang errors for anon union struct member * match a few more funcs
2022-07-06Identify some stuff in the Camera struct (#238)Tyler McGavran
Make a header file for all the camera stuff, refresh a lot of mips_to_c output Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-07-05Decomp menus.c (#229)tehzz
* update m2ctx to make N64 sgi context * finish decomping menus.c
2022-07-01Match several functions in code_80005FD0 (#230)Tyler McGavran
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>
2022-06-30More matches for 800431B0.c (#236)MegaMech
* Matched funcs in code_800431B0.c
2022-06-22Split and Decompile Code_800AF9B0 (#228)tehzz
* 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
2022-06-17Rename some files and Match spawn_players.c (#226)MegaMech
* name some code files * Match spawn_players func * random decomp * name more files
2022-06-14Match code_8003DC40 (#223)Tyler McGavran
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>
2022-06-14wip decomp of 80040E50, documentation of dma code, and other (#215)MegaMech
* Math decomp and more.
2022-06-14crash_screen decomp and misc (#221)MegaMech
* crash_screen decomp and misc
2022-06-13Match code_80040E50 (#220)Tyler McGavran
This required making some minor adjustments to a struct in common_structs.h, which further required a couple tiny updates to some functions in a couple other files. Nothing too crazy. Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-06-11Match all but one function in code_802B0210.c (#217)Tyler McGavran
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>
2022-05-24Match dma funcs in 80027040.c (#209)MegaMech
* Match dma funcs * Decrement file count decomped by one in readme
2022-05-20Update and add some header files (#205)Tyler McGavran
* Update header files for main, memory and math_util * Required updating func_802A82E4 to keep the match Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-19Update gitignore & match more actor funcs (#206)MegaMech
* 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
2022-05-19import random_u16 to sm64, match random_s32, and match actor func (#203)MegaMech
* import random_u16 and atans from sm64 * rand math decomp * Match func_80298AC0
2022-05-18Match func_802B0570 and fix BananaActor (#204)Tyler McGavran
I misunderstood how unions worked. In order to accomplish the original goal, the 3 named s16's need to be in a struct instead of just floating around. Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-16Identify some Actor count variables (#202)Tyler McGavran
* Identify some Actor count variables * Match place_all_item_boxes Also more accurately define the UknownRock struct. Some of the track specific data is spawning points for the "permanent" actors (stuff like falling rocks, shrubbery, item boxes, etc.) Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-14Give a name to the list of actors (#200)Tyler McGavran
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>
2022-05-14Memory and Actor decomp (#201)MegaMech
* Decomp more actors * Added editor config to prevent clrf * Memory and actor decomp * Update code_80296A50.c * Update code_80296A50.c
2022-05-13Decomp more actors (#198)MegaMech
2022-05-12Match common_textures.inc.c, memory & actor decomp (#188)MegaMech
* 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
2022-05-11Added more actor types and some defines (#194)Tyler McGavran
* Added more actor types and some defines Also adjusted the generic Actor struct to have some of its members have names that are generally reasonable for all types of actors Added a union to the BananActor struct, makes accessing the `rot` member and the overlapping id/index members more sensible Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-06Add some more actor types, match a function (#191)Tyler McGavran
* 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>
2022-05-04Add types for shell and triple shell parent (#190)Tyler McGavran
Match a function and refresh m2c output for functions that handle (triple) shells Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-04-26More actor decomp (#184)MegaMech
* More actor decomp
2022-04-26Actor decomp (#183)MegaMech
* Actor decomp
2022-04-18Mostly match a few functions in memory.c (#178)Tyler McGavran
* Match a few functions in memory.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-04-16audio load.c decomp (#176)MegaMech
2022-03-03fix audio pointers allowing rom shifts again (#169)MegaMech
* fix audio pointers allowing rom shifts again
2022-02-13Replace mk_Vtx_Flag type with GBI provided Vtx (#160)Tyler McGavran
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>
2022-02-02Identify a credits related struct (#156)Tyler McGavran
Move some structs around, place them in more meaningful headers Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-27Add struct for D_8018CA70 (#153)Tyler McGavran
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-27Match functions in code_80071F00 related to D_80165C18 (#151)ChiefFruitcake
* Match some functions in code_80071F00 * More matching in code_80071F00 * And more matches in code_80071F00 * Fix typos in struct_80165C18_entry
2022-01-24Add in a struct for surface map entires (#150)Tyler McGavran
Sourced from https://github.com/micro500/mariokart64/wiki/Surface-Map, only minor adjustments were made. Updated the bounding box corner struct a little based on information from the surface map struct. Refreshed several mips_to_c outputs Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-24More function matching in code_80057C60 (#149)ChiefFruitcake
2022-01-22Variety of changes (#147)Tyler McGavran
* Update player struct with lap count and rank Also rename some arrays to better reflect what they are tracking * Add bounding box corner struct and surface type enum * Create a .h file and move stuff into it See https://github.com/DeadHamster35/Tarmac64/wiki/Surface-Types and https://github.com/micro500/mariokart64/wiki/Surface-Map for reference Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-21code_80057C60 (#146)ChiefFruitcake
* Match func_8006E058. Fix compiler warnings in code_80057C60.c * Match functions in code_80057C60 * Undo comments in Camera struct
2022-01-18Fix a small discrepancy with kart_attributes (#145)Tyler McGavran
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>
2022-01-18Match 4 functions in math_util, do some tidying up of imports for math_util ↵Tyler McGavran
(#144) * Match func_802B5450, func_802B5F00, func_802B71CC * Match func_802B4FF8 Also do some import fixing Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-18code_8008C1D0 part 3 (#143)ChiefFruitcake
* More matches in code_8008C1D0 * Matching continued * Create struct for Player struct 0x258 field