Commit Graph

59 Commits

Author SHA1 Message Date
Tyler McGavran 716b926260
Place variables from data_0DD0A0 to code_800029B0 (#477)
They match when placed there, although its not immediately clear
 that they truly belong there. But a match is a match.

Also cleaned up a bunch of .h files that had references to the
 newly matched variables.

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-10-27 20:00:52 -06:00
Tyler McGavran a870180a2c
Couple matches (#466)
Removed some things from variables.h and functions.h

Added headers for some src/data files
2023-10-18 23:19:07 -06:00
coco875 d8cfed9491
Various Naming (#445)
* Mass renames
2023-10-07 16:31:48 -06:00
coco875 2f583fdb42
cleaning camera, kart_dma, menu, math_util (#436)
* cleaning camera.h

* cleaning math_utils.h and remove space

* cleaning kart_dma

* cleaning menu.h
2023-09-22 22:00:30 -06:00
coco875 f4fc23bada
Header & General Cleanup (#431)
* Header cleanup
2023-09-20 11:59:55 -06:00
AloXado320 3f221d6f25
Label mtx variables in GfxPool (#424) 2023-09-17 16:39:25 -06:00
MegaMech 4ee09e005f
Import bss for audio and elsewhere (#416) 2023-09-12 19:43:54 -06:00
MegaMech 208fecdd28
Match bss for code_800029B0 and clean headers (#406)
* Match bss for code_800029B0 and clean headers

* Fix dvdl and a warning
2023-09-08 13:39:13 -06:00
MegaMech bba223ffa4
Match bss in podium ceremony (#403) 2023-09-07 11:44:13 -06:00
Tyler McGavran 8a2fdc21f5
Got a couple matches and a few non matchings (#397)
Also got rid of a couple asm files for functions that were matched
 a long, long time ago (thank you ItzSwirlz for finding them)

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-04 19:19:24 -06:00
Tyler McGavran 1646344907
Move ro/data for code_80091750 into the appropriate c/asm files (#393)
* Migrated data and rodata for code_80091750

And it even matches when built!

Minor annoyances:

There are some EUC-JP strings in `func_800A6E94` and `func_800A69C8`
 that are currently in byte form. The asm files don't get put
 through `icnov` so we can't have them as strings until they're
 parent functions are matched.

`func_8009F5E0` has the symbol `D_800E7594` replaced with the
 actual number `0x800e7594`. The symbol in question is almost
 certainly fake, but I can't figure out what its meant to be.
 So I've hardcoded it for the time being to make the migration
 possible.

* Fully match all the NEEDS_RODATA functions

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-31 21:18:13 -06:00
Tyler McGavran 0d9396b631
Make some adjustments to the SaveData struct (#381)
Also get rid of some fake variables from a bss file.

Matched a couple functions too.

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-25 18:02:37 -06:00
MegaMech 6e3f6aee63
Matched some funcs (#378)
* Matched code
2023-08-22 19:12:51 -06:00
MegaMech 870c39ad77
Matched code_80091440.c and named gDemoMode variable (#358)
* matched code_80091440.c

* Named gDemoMode

* Remove asm for matching func

* Matched and namings for random_u16_credits func in code_80280650.c
2023-08-09 14:53:55 -06:00
tomas 9d716d921a
very cool debug display list (#348)
* added a very cool debug display list ^^ (prints variables to screen)

* Decompiled various functions
2023-08-04 13:04:49 -06:00
tomas 84edd67231
controller pak stuff (#333)
- Named some variables
2023-07-11 12:14:23 -06:00
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