Commit Graph

43 Commits

Author SHA1 Message Date
Tyler McGavran 533d035875
Some assorted matches (#289)
Also renamed a couple variables

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-01-31 07:02:40 -07:00
Tyler McGavran 7d23fcc063
Fix some of the memory allocation in framebuffers (#182)
* 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-14 22:47:11 -07:00
MegaMech e9383d1b7a
code_8001F980 decomp + profiler doc + more (#250) 2022-08-01 16:32:20 -07:00
MegaMech 7042a3eab5
Document game state related logic (#244)
* Document game state logic

* More namings
2022-07-15 00:44:33 -07:00
Tyler McGavran f2eef3b82e
Identify some stuff in the Camera struct (#238)
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-06 17:36:27 -07:00
tehzz 40bb0154a8
Decomp menus.c (#229)
* update m2ctx to make N64 sgi context

* finish decomping menus.c
2022-07-05 19:01:42 -07:00
Tyler McGavran a8e5c0f212
Match several functions in code_80005FD0 (#230)
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-07-01 13:14:20 -07:00
tehzz 132db50245
Split and Decompile Code_800AF9B0 (#228)
* 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-22 19:21:29 -07:00
MegaMech 22ca23f32c
Rename some files and Match spawn_players.c (#226)
* name some code files

* Match spawn_players func

* random decomp

* name more files
2022-06-17 03:05:27 -07:00
Tyler McGavran 45354a149b
Mostly match a few functions in memory.c (#178)
* Match a few functions in memory.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-04-18 08:04:46 -06:00
Tyler McGavran 2f6c87f14f
Identify a credits related struct (#156)
Move some structs around, place them in more meaningful headers

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-02-02 13:19:51 -07:00
Tyler McGavran a5e945b233
Add struct for D_8018CA70 (#153)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-27 17:29:33 -07:00
Tyler McGavran e371625acb
Add in a struct for surface map entires (#150)
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-24 21:22:05 -07:00
Tyler McGavran 78681aa5ba
Variety of changes (#147)
* 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-22 22:46:07 -07:00
Tyler McGavran 72553e5194
Fix a small discrepancy with kart_attributes (#145)
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-18 05:59:54 -07:00
Tyler McGavran e413e2ec00
Match 4 functions in math_util, do some tidying up of imports for math_util (#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-18 05:46:58 -07:00
ChiefFruitcake 5e577b8999
code_8008C1D0 part 3 (#143)
* More matches in code_8008C1D0

* Matching continued

* Create struct for Player struct 0x258 field
2022-01-18 01:22:35 -07:00
Maciek Baron 1bbc7674ff
Identify active screen mode, relabel accordingly (#141) 2022-01-17 06:44:14 -07:00
Tyler McGavran b56b43e721
Match a variety of functions, remove an extraneous data file (#140)
* Match func_800AB290 and func_800AC978

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Match func_800A15EC

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Match func_800A1A20

* Get func_800A1F30 to NON_MATCHING

* Match func_800A3C84

mips_to_c does not currently support labels being in delay slots, although
 practice that is fine. To get around this I put a nop in the delay slot
 instead. No permanent change is being made to the target assembly.

* Update the mips_to_c output for a couple functions

Split asm file containing unused funcs and added mips_to_c output for them.

* Remove extraneous data file

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-15 23:00:31 -07:00
ChiefFruitcake 04097806a5
code_8008C1D0 part 2 (#138)
* Matching more functions in code_8008C1D0

* More matches

* Incorporate review comments. Match a few more functions
2022-01-15 20:17:50 -07:00
Tyler McGavran 65e7fc87df
Match a variety functions (#136)
* Match func_800A4B38

* Match func_800A6034

* Change type of "blue" argument

This allows the function's type signature to look the same as the other
 box drawing function.

* Match func_800AC300

* Matched func_800AAEF4

* Matched func_800AAF30 and func_800AAF70

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-12 22:13:01 -07:00
Tyler McGavran dd05d49f5f
Update the GfxPool struct and match some functions (#134)
* 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>
2022-01-09 20:02:34 -07:00
Tyler McGavran d6cbf56537
Add a couple header files, add some mips_to_c of some previously un-decomped functions (#132)
* Add a couple header files

These files contain function prototypes for matches functions, NON_MATCHING functions,
 and functions used by matched functions.

At this point in time those headers may contain prototypes for functions defined in
 unrelated files, but fixing that will have take time

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-04 19:57:16 -07:00
Tyler McGavran c3def3e91f
Match a variety of functions, identify a struct type and some related variables, regenerated some mips_to_c code (#129)
* Meaningful commit message

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Identify another struct and array

Regenerated a lot of mips_to_c code based on these identifications

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-03 00:07:24 -07:00
Maciek Baron 20d9e8afba
Relabel/identify more variables and functions based on current knowledge (#127)
* Update labels and names based on current knowledge

* Create gChatacterSelections/gCharacterGridSelections distinction
2022-01-02 17:30:23 -07:00
Maciek Baron 7df6d01ef3
Add player and controller labels, rename function (#123)
* Add player labels, rename function

* Relabel controller vars to improve readability
2022-01-01 13:06:21 -07:00
ChiefFruitcake 4d9ca02750
Naming global variables related to menu navigation (#119)
* Naming of global variables related to the game menu and Controller Pak menu
2022-01-01 02:35:37 -07:00
Tyler McGavran 494c36bdb1
Match assorted functions and identify a variable (#122)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-31 13:30:55 -07:00
Tyler McGavran ae7451596a
Texture related structs and some controller pak menu stuff (#116)
Some of this is identifying some functions and structs related to the Controller
 pak menu

Some of it is related to structs concerning textures and "animations" and their
 associated functions

* Match draw_box, func_80098C18, func_80098FC8

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-26 16:10:11 -07:00
ChiefFruitcake 1b40669f0d
Menu selection global variable (#113)
* Rename D_800E86A0 to gMenuSelection. Add menu selection options to defines.h

* Other namings
2021-12-24 20:43:17 -07:00
Maciek Baron 7a0280f0e3
Add gPlayerIsAccelerating, gPlayerBalloonCount and update related code (#105)
* Add balloon count

* Add gPlayerIsThrottleActive
2021-12-20 04:22:04 -07:00
Tyler McGavran 37d249c681
Match a couple functions related to text color (#96)
* Match a couple functions related to text color

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-19 15:47:00 -07:00
Tyler McGavran d587580bd5
Rename a couple variables (#93)
* Rename a couple variables

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2021-12-14 20:40:38 -07:00
Tyler McGavran 12be6a8824
Identified variables related to title screen demos (#92)
gNextDemoId is a little weird. If a demo is currently running that variable is the ID
 of the demo that will run next. It's never "current", its always one step ahead

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-13 14:16:35 -07:00
Tyler McGavran d324dd7f3b
Identified some variables related to sound mode (#90)
* Identified some variables related to sound mode

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-11 23:14:25 -07:00
Tyler McGavran 6d70872c5b
Identification of some race related varaibles (#78)
* Renamed time/race related variables

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-04 00:04:07 -07:00
Tyler McGavran c55c360b71
Add a structure for accessing save data (#69)
* Added  save data struct

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-11-28 21:44:46 -08:00
Tyler McGavran 7387724509
Give names to some Grand Prix related variables (#67)
* 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>
2021-11-26 17:22:39 -07:00
CoderStig 70504fb93a
Decomped 8028DF00.c (#61) 2021-11-21 00:32:04 -07:00
Tyler McGavran f6a11c734a
Found the variable that tracks the CC type selected. (#57)
Added some comments for the possible values of Mode and CC
selection

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-11-16 12:37:58 -07:00
CoderStig f959f03184
Matched some memory.c and other (#55)
* Matched some memory.c

* And more
2021-11-16 02:39:33 -07:00
CoderStig f3788f7ac4
Decompiled staff_ghosts.c (Plus lots more) (#39)
* Decompiled staff_ghosts.c

* started on 80296A50.c

* Matched some of main.c

* Added framebuffers.c

* Added structs such as Camera
2021-10-26 11:55:42 -06:00
CoderStig 5ef48aa2eb Refresh 1 2021-03-02 01:48:17 -07:00