Commit Graph

249 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
coco875 32358c30fd
Change a variety of constants to defines (#257)
* Change a variety of constants to defines

* Add notes regarding menu columns

* Change unknown type to known types
2022-09-18 21:54:14 -06: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
Tyler McGavran 7d23fcc063
Fix some of the memory allocation in framebuffers (#182)
* Fix some of the memory allocation in framebuffers

Also includes a the questionable change of undoing a previously
 made match for func_80027A20. The changes made here remove an
 AVOID_UB usage and (I would argue) is therefore more "correct",
 but undoing a byte-for-byte match is admittedly bad.

Also adds in some header files and updates some not-quite-right
 decomps to be slighly more accurate.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-08-14 22:47:11 -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
MegaMech cc03ab5e7e
Revert "Update README.md (#232)" (#233)
This reverts commit 95a6923c54.
2022-06-26 15:32:29 -07:00
MegaMech 95a6923c54
Update README.md (#232) 2022-06-26 15:31:43 -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
MegaMech fd3e8e0e15
fix submodules (#225) 2022-06-15 20:38:49 -07:00
tehzz 0f0ff04779
Add building on macOS (#224)
* build OK macOS

* add macOS building instructions

* change return type of func_8000546C

* prevent gitattributes from removing CRLF from ido binaries
2022-06-15 17:26:03 -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
Tyler McGavran 84cb46c0e5
Update and add some header files (#205)
* Update header files for main, memory and math_util

* Required updating func_802A82E4 to keep the match

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-20 18:51:56 -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