Commit Graph

152 Commits

Author SHA1 Message Date
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
MegaMech bf106ede73
Decomp every func under 500 bytes (except audio) (#237) 2022-07-06 00:07:55 -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
MegaMech c8156e34f9
More matches for 800431B0.c (#236)
* Matched funcs in code_800431B0.c
2022-06-30 13:18:31 -07:00
MegaMech dcd24d2166
More 800431B0 decomp (#235)
* Matched funcs in code_800431B0.c
2022-06-29 04:30:14 -07:00
MegaMech a561011fa2
Matched funcs in code_800431B0.c (#231)
* Matched funcs in code_800431B0.c
2022-06-27 21:42:42 -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 9ac748b0d0
Match func in staff_ghosts.c and name menus file (#227)
* name some code files

* staff ghost func match

* Update README.md
2022-06-18 02:49:53 -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 491f37be4d
Match code_8003DC40 (#223)
Matched its rodata too

Required making a minor adjustment to the Player struct, which
 required updating a couple of other files

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-06-14 22:28:10 -07:00
MegaMech 7d11a134cc
wip decomp of 80040E50, documentation of dma code, and other (#215)
* Math decomp and more.
2022-06-14 20:36:00 -07:00
MegaMech 242aa9ffc5
decomp render funcs and some memory (#222) 2022-06-14 16:25:20 -07:00
MegaMech d9bd7bfbc0
crash_screen decomp and misc (#221)
* crash_screen decomp and misc
2022-06-14 01:37:54 -07:00
Tyler McGavran ed3dad7e1a
Match code_80040E50 (#220)
This required making some minor adjustments to a struct in
 common_structs.h, which further required a couple tiny updates to
 some functions in a couple other files. Nothing too crazy.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-06-13 17:07:06 -07:00
Tyler McGavran ad46b8544e
Match some functions in code_80281FA0 (#219)
Renamed a couple functions as well

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-06-12 12:34:13 -07:00
Tyler McGavran 744a4a1133
Match some code_actors functions (#218)
Require splitting out some unused functions

Also took some time to update some m2c output

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-06-11 22:30:31 -07:00
Tyler McGavran 0923e94420
Match all but one function in code_802B0210.c (#217)
Required getting the .rodata for that file correct too.

Matched a couple other funtions here and there as well.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-06-11 14:55:45 -07:00
Tyler McGavran 56120481f9
Match several functions in code_802B0210 (#216)
Several other functions are as matched as the can be, needing only
 the addition of some RODATA to fully match.

Others are in a mostly-matched state, but have some incorrect
 register allocation. More investigation/work is needed to
 figure that out.

Most of those leftover have had their m2c output regenerated.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-06-01 23:48:44 -07:00
Tyler McGavran c82a7438fb
Match some audio functions (#213)
Thank you Mech for figuring out what the stack management stuff was
 about.

And yes, apparently the best way to match those functions is to have
 an `if` statement that uses an unset local variable as its condition

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-26 16:56:52 -07:00
MegaMech 43fd723266
Match dma funcs in 80027040.c (#209)
* Match dma funcs

* Decrement file count decomped by one in readme
2022-05-24 03:04:28 -07:00
Tyler McGavran 45f6233b95
Match 2 functions and refresh a couple m2c outputs (#208)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-24 02:55:00 -07:00
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
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 73662905b4
Delete func_80027A20.s (#177) 2022-04-16 23:23:03 -07:00
MegaMech e4e5f91be5
audio load.c decomp (#176) 2022-04-16 23:11:40 -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 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 345cbd4f19 Fix remaining pointers for shifting 2022-03-04 23:10:21 -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