Commit Graph

317 Commits

Author SHA1 Message Date
MegaMech fc4411edea
Update bss_8028DF00.s 2022-03-03 19:24:44 -07:00
CoderStig c1114ebb6b fix audio pointers allowing rom shifts again 2022-03-03 18:51:25 -07:00
MegaMech 2cc06e8a46
Update README.md (#165) 2022-02-22 17:29:58 -07:00
Tyler McGavran 33cb23c483
Name arrays of character animations (#168)
* Character animation naming

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-02-22 17:29:29 -07:00
Tyler McGavran a47e49249a
Match a few functions (#167)
They appear to be related to the textures used on the controller
 pak menu

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-02-22 16:33:01 -07:00
Tyler McGavran 4e4339126e
Match func_80091AC0 (#166)
* Match func_80091AC0

* Match func_8009A6D4

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-02-22 11:45:29 -07:00
Tyler McGavran a4e6192030
Match one function, update mips_to_c of 2 others (#164)
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>
2022-02-14 23:40:33 -07:00
Tyler McGavran 3403482de3
Match the other D_80189DE0 search functions (#163)
* Match the other D_80189DE0 search functions

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-02-13 22:04:03 -07:00
Tyler McGavran af8ca42a0c
Match several functions (#162)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-02-13 01:12:06 -07:00
Tyler McGavran 5205b09751
Name functions that search for 8018D9E0 entries (#161)
* 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>
2022-02-13 00:17:34 -07:00
Tyler McGavran 5badb9e49c
Replace mk_Vtx_Flag type with GBI provided Vtx (#160)
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-13 00:04:43 -07:00
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
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
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
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
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
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
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 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
Tyler McGavran dac4698b5c
Move texture data from asm to C (#142)
* Move texture data from asm to C

Required dropping a couple typedefs since they no longer had a purpose

Regenerated a couple mips_to_c outputs based on the updated types

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-18 00:44:11 -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 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
MegaMech 5fbfc21512
Update BUILD_WINDOWS.md (#124)
* Update BUILD_WINDOWS.md

* Update BUILD_WINDOWS.md

* Update BUILD_WINDOWS.md

* Update BUILD_WINDOWS.md
2022-01-02 17:30:56 -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