Commit Graph

141 Commits

Author SHA1 Message Date
MegaMech 489e897147 Update gitignore & match more actor funcs (#206)
* 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-19 13:20:39 -07:00
MegaMech bcf65f3883 import random_u16 to sm64, match random_s32, and match actor func (#203)
* import random_u16 and atans from sm64

* rand math decomp

* Match func_80298AC0
2022-05-19 01:39:18 -07:00
Tyler McGavran 63c4f48340 Match func_802B0570 and fix BananaActor (#204)
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-18 01:45:46 -06:00
Tyler McGavran b1c0c05bd3 Identify some Actor count variables (#202)
* 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-16 19:46:07 -06:00
Tyler McGavran 55a30f5c8c Give a name to the list of actors (#200)
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-14 20:03:42 -06:00
MegaMech 418d7d95c6 Memory and Actor decomp (#201)
* Decomp more actors

* Added editor config to prevent clrf

* Memory and actor decomp

* Update code_80296A50.c

* Update code_80296A50.c
2022-05-14 15:12:32 -07:00
Tyler McGavran bbfdb9338c Give names to a couple vec3*_set functions (#197)
* Give names to a couple vec3*_set functions

Change vec3f_set to sm64_vec3f_set

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-13 22:31:54 -07:00
MegaMech 98dc90cdd5 Decomp more actors (#198) 2022-05-13 03:42:30 -07:00
MegaMech e4a176d8f5 Match common_textures.inc.c, memory & actor decomp (#188)
* 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-12 15:57:56 -07:00
Tyler McGavran 49845b1fe9 Added more actor types and some defines (#194)
* 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-11 20:07:18 -07:00
Tyler McGavran 92ad254c24 Match 3 functions in code_8001F980 (#193)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-07 23:43:06 -07:00
Tyler McGavran 67331d5dda Match a few functions in code_800431B0 (#192)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-06 21:59:17 -07:00
Tyler McGavran ecb085b291 Add some more actor types, match a function (#191)
* 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-06 21:56:43 -07:00
Tyler McGavran d4a0f7ab8f Add types for shell and triple shell parent (#190)
Match a function and refresh m2c output for functions that handle
 (triple) shells

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-04 21:49:11 -07:00
Tyler McGavran 6ed26d9786 Match a couple functions in code_80281FA0 (#189)
* Match a couple functions in code_80281FA0  and add a header file

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-01 03:53:47 -07:00
MegaMech c29ae8d069 More actor decomp (#184)
* More actor decomp
2022-04-26 22:16:52 -07:00
MegaMech 2f8a1bfcb6 Actor decomp (#183)
* Actor decomp
2022-04-26 15:48:36 -07:00
MegaMech 626513f90a Update framebuffers.h (#181) 2022-04-21 02:30:43 -07:00
Tyler McGavran 581977a010 Match func_8002AB70 (#180)
* Match func_8002AB70

* Added a header for another file, which required adjusting
 a couple other files

* Matched a couple more functions

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-04-20 21:38:44 -07:00
Tyler McGavran 044e056fbe Match assorted functions in code_80027D00 (#179)
Also refresh a couple mips_to_c outputs

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-04-19 13:31:08 -06: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
MegaMech e4e5f91be5 audio load.c decomp (#176) 2022-04-16 23:11:40 -07:00
Tyler McGavran 13a11f0ffa Match dma_copy functions (#175)
* Match dma funcs in code_80091750.c

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-04-16 16:31:44 -07:00
Tyler McGavran fe810f8d1f Match 3 functions in code_80027D00 (#172)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-04-16 16:13:09 -07:00
Tyler McGavran 2dd77a35a0 Update header for code_8008C1D0 (#173)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-04-16 15:51:59 -07:00
Tyler McGavran ac39d14729 Match func_80032D94 (#171)
* Match func_80032D94

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-04-15 01:17:16 -07:00
Tyler McGavran 8d9ad9e098 Match func_80030FC8 (#170)
* Match func_80030FC8

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-04-14 20:05:09 -07:00
CoderStig afaa857c9c Merge branch 'audiofix' of https://github.com/MegaMech/mk64 into audiofix 2022-03-04 23:13:47 -07:00
CoderStig 345cbd4f19 Fix remaining pointers for shifting 2022-03-04 23:10:21 -07:00
MegaMech d25926eae4 Update code_8028DF00.c 2022-03-03 19:26:16 -07:00
CoderStig c1114ebb6b fix audio pointers allowing rom shifts again 2022-03-03 18:51:25 -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 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