Commit Graph

96 Commits

Author SHA1 Message Date
Tyler McGavran aa47c86fe5 Mips2c refresh (#159)
* 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>
2022-02-07 22:39:14 -07:00
Tyler McGavran 64e8934b30 Break out some credit text stuff into a C file (#157)
* 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>
2022-02-03 21:06:30 -07:00
MegaMech 42fa90ff7a Match OS funcs (#152)
* Matched osSyncPrintf.c

* Matched contramread.c

* Matched contramwrite.c

* Matched osPfsInit and osPfsGetStatus
2022-01-30 23:31:43 -07:00
Tyler McGavran 04052ba259 Fix the match for guPerspectiveF (#155)
Most of the work had been done long ago, only had to fix some rodata
 issues

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-28 23:35:24 -07:00
Tyler McGavran b28dd3898d Named "*_step_*_towards" functions (#154)
Also redefined a Lights1 variable in terms of GBI macros.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-28 21:27:32 -07:00
ChiefFruitcake 226a557d8c Match functions in code_80071F00 related to D_80165C18 (#151)
* 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-27 01:21:04 -07:00
MegaMech 5fd2a88a3f decomped some of 800431B0.c (#148)
* Decomped some funcs in code_800431B0.c

* Split a few ununused funcs
2022-01-25 02:56:31 -07:00
ChiefFruitcake f0e40cb746 More function matching in code_80057C60 (#149) 2022-01-24 20:22:43 -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
ChiefFruitcake a8713d2078 code_80057C60 (#146)
* Match func_8006E058. Fix compiler warnings in code_80057C60.c

* Match functions in code_80057C60

* Undo comments in Camera struct
2022-01-21 20:23:34 -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
Maciek Baron dc805bf64c Match func_800215DC and func_80021DA8 (#139)
* Match func_800215DC and func_80021DA8

* Remove repeated extern
2022-01-15 21:11:30 -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
Maciek Baron 8a56620205 Match functions related to balloon status (#137)
* Match function related to balloon status

* Match func_8006B87C

* Match func_8006BA94
2022-01-14 14:17:09 -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
Maciek Baron 29f9f8890a Match several functions, add item values (#130)
* Match func_80021C78

* Match func_8006E8C4

* Match func_80295BF8

* Match func_8001F980 (already matching)

* Match func_800219BC

* Match func_80022A98

* Add item defines
2022-01-12 21:19:22 -07:00
ChiefFruitcake 162b4c256d code_8008C1D0 - player struct functions (#135)
* Match functions in code_8008C1D0
2022-01-11 05:47:57 -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
ChiefFruitcake bc99dedb8b code_800AF9B0 - ghost data (#133)
* Match functions related to struct at D_8018EE10

* Remove asm for matched functions

* Match func_800B64EC, func_800B6708, and func_800B6798

* Match func_80091EE4. Fix unused variable warnings in code_80091750.c

* Name some of the fields in struct_8018EE10_entry
2022-01-09 19:24:30 -07:00
ChiefFruitcake 7acd1cbc20 More matching in code_800AF9B0 (#131)
* Name variables related to selecting a game from the main menu

* Match a couple functions requiring jumptable

* Match func_800B4728

* Match func_800B536C, func_800B5888, func_800B5AAC, and func_800B5AD8

* Name functions related to loading and validating SaveData

* Match func_800B4CB4

* Update selected player defines

* Match func_800B5404

* Match func_800B6088
2022-01-06 20:32:57 -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
Tyler McGavran 72cf6c86a9 Rename a function related to D_8018D9E0 and regenerate its mips_to_c disassembly (#128)
* Rename a function

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

* Update the mips_to_c code

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-01 22:30:23 -07:00
Tyler McGavran c669d792a2 Match the other move_towards functions (#125)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-01 18:22:31 -07:00
ChiefFruitcake c4048a1e1c Code 80281FA0 decomp (#126)
* Match a few functions in code_80281FA0.c

* Match func_80282200
2022-01-01 18:11:03 -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
ChiefFruitcake f250fb6e45 First decompile attempt. code_800AF9B0 (#121)
* Decompile a couple code_800AF9B0 functions

* Match func_800B34E8, func_800B44AC, and func_800B45E0

* Use sizeof in func_800B45E0 instead of hard-coded numbers

* Match func_800B4520. Separate unused function func_800B4560 into new asm file

* Match func_800B5B2C and func_800B6A68. Create new unused func_800B6AF8

* Match func_800B4874 and func_800B4A10

* Improve matched functions reading time trial records

* Match func_800B13B0. Name variables related to data menu

* Match func_800B3B58. Remove warnings due to pointer type in osEepromLongWrite calls

* Rename gStartMenuCounterForDemos to gMenuTimingCounter

* Match func_800B5F30
2021-12-31 16:06:28 -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 2263234e58 Match function related to the podium scene text (#120)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-27 16:36:27 -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
MegaMech dd0b6e2ff2 decomp more 80057C60.c to reach 20 percent (#118) 2021-12-26 00:14:52 -07:00
MegaMech f069034c37 Merge branch 'decomp' into master 2021-12-25 18:19:53 -07:00
CoderStig d6e9866399 Decomped some of 80057C60 & 800431B0 2021-12-25 18:12:52 -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
MegaMech b7f8765d72 Decomped more crash_screen, code_80280650, fixed import shortcut (#115)
* Decomped more crash_screen, code_80280650, fixed import shortcut
2021-12-24 20:31:54 -07:00
CoderStig 5a151c1457 Decomped more crash_screen, code_80280650, fixed import shortcut 2021-12-24 20:19:58 -07:00
Tyler McGavran 7b7725b62a Match swap_values (#111)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-20 23:07:18 -07:00
Tyler McGavran 8aca5f519e Match exp_by_squaring function (#110)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-20 22:56:24 -07:00
Tyler McGavran cdb3ca63aa Change some "char" terminology to "glyph" (#107)
This matches more closely with similar functions in SM64

Identified a LUT for the segmented address of each glyph's texture

CharWidthMap is more accurately called GlyphDisplayWidthMap. The values in
 the map don't exactly match the texture width for the given glyph. They
 likely have more to do with how the glyph is drawn on screen rather than
 being a measure of its true width.

There are other LUT-like entries in data_0DD0A0_2 that clearly contain
 glyph textures, but it's not clear how they differ from the "main"
 LUT.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-20 14:49:37 -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 66d9a4fe88 Identify a couple debug related variables and match a couple debug related functions (#94)
* Identified some debug mode specific variables

* Matched a couple debug related functions

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-13 22:13:28 -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 7648ec12a7 Match functions for Grand Prix save data access (#88)
* Match grand prix save data funcs

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-11 00:34:07 -07:00