Commit Graph

169 Commits

Author SHA1 Message Date
Tyler McGavran 3c048af3e6
Some matches for code_80091750 (#258)
Managed to get some arcane fake matches for some long standing
 non-matching functions

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-09-20 18:45:14 -07:00
Tyler McGavran 2c57c81f3a
Match the rest of actors.h (#254)
* Matched rest of actors and more

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-09-08 16:19:53 -07:00
MegaMech df9ad2d23b
Matched a few funcs and renamed seg to virt funcs (#253)
* Matched a few funcs and renamed seg to virt funcs
2022-09-07 22:41:04 -07:00
Tyler McGavran 1897d232a6
Add lots of headers (#252)
* Add a lot of header files

Did my best to move all relevant function prototypes and external
 variable declarations into the header files too.

Matched a few functions in the process

* Updated progress.py

Some of the listed files/folders have been deleted/renamed,
 so I reflected those changes in progress.py

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-08-25 17:57:58 -07:00
Tyler McGavran dfd54d9a10
Match a lot of functions, add header for objects (#251)
* Match a lot of functions, add header for objects

* Refreshed a TON of functions and created/added to several
 header files

* Add header for code_800431B0, address comments

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-08-23 09:33:00 -07:00
Maciek Baron 2fe6c6a2f9
Match a few small functions (#249)
* Match func_8000B820

* Match func_80011AB8

* Match a few small functions
2022-08-02 18:44:33 -07:00
MegaMech e9383d1b7a
code_8001F980 decomp + profiler doc + more (#250) 2022-08-01 16:32:20 -07:00
Tyler McGavran a536985a13
Add structs for "vehicle" types in 80005FD0 (#248)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-07-27 19:03:35 -07:00
MegaMech db95b4b9e8
8000FD0 decomp and various (#247)
* 80005FD0 decomp and various changes
2022-07-27 00:25:50 -07:00
Tyler McGavran fb010e4186
More miscellaneous matches (#246)
And more mips_to_c refreshes

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-07-18 20:40:17 -07:00
Tyler McGavran bf4ca94711
Match a variety of functions (#245)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-07-15 11:49:40 -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 7508cd2761
Matched a couple functions in code_80091750 (#243)
Refreshed a couple mips_to_c outputs as well

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

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2022-07-11 02:21:10 -07:00
MegaMech fd7941e841
Split out some unused asm and documented main.c (#242)
* Splitting out unused asm

* Documented main.c
2022-07-11 00:02:41 -07:00
MegaMech a8e984d2fd
Decomp 800 byte sized funcs and smaller (#241)
* Decomp 800 byte sized funcs and below
2022-07-09 04:05:11 -07:00
MegaMech 42b81c1979
Decomp various small funcs (#240) 2022-07-09 02:37:17 -07:00
tehzz 9ae471b033
Match a few functions in Code800B45E0 (#239)
* pass clang errors for anon union struct member

* match a few more funcs
2022-07-08 19:12:23 -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
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