Commit Graph

370 Commits

Author SHA1 Message Date
Tyler McGavran 5cd2115c2e Some matches for code_800431B0 (#259)
* Required making an adjustment to the object struct, which was required to fix some other files.

* Decompiled some gfx

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-09-20 18:55:59 -07:00
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