Commit Graph

87 Commits

Author SHA1 Message Date
MegaMech 4ee09e005f Import bss for audio and elsewhere (#416) 2023-09-12 19:43:54 -06:00
MegaMech 70207db13b Various cleanup (#410) 2023-09-09 18:01:01 -06:00
MegaMech 208fecdd28 Match bss for code_800029B0 and clean headers (#406)
* Match bss for code_800029B0 and clean headers

* Fix dvdl and a warning
2023-09-08 13:39:13 -06:00
MegaMech bba223ffa4 Match bss in podium ceremony (#403) 2023-09-07 11:44:13 -06:00
MegaMech 19a056591a Match func in player_controller.c (#394)
* Match func

* Rename to player_controller.c
2023-08-31 21:55:01 -06:00
Tyler McGavran 1646344907 Move ro/data for code_80091750 into the appropriate c/asm files (#393)
* Migrated data and rodata for code_80091750

And it even matches when built!

Minor annoyances:

There are some EUC-JP strings in `func_800A6E94` and `func_800A69C8`
 that are currently in byte form. The asm files don't get put
 through `icnov` so we can't have them as strings until they're
 parent functions are matched.

`func_8009F5E0` has the symbol `D_800E7594` replaced with the
 actual number `0x800e7594`. The symbol in question is almost
 certainly fake, but I can't figure out what its meant to be.
 So I've hardcoded it for the time being to make the migration
 possible.

* Fully match all the NEEDS_RODATA functions

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-31 21:18:13 -06:00
MegaMech 6e3f6aee63 Matched some funcs (#378)
* Matched code
2023-08-22 19:12:51 -06:00
Tyler McGavran 2b0d20a84f Migrate audio/port_eu data (#370)
* All work done in audio

* Migrate audio/port_eu data

* Refereshed m2c

* Got the bss segment matching too

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-15 13:40:01 -06:00
MegaMech 569bafc48b Various cleanup and matching (#369)
* More podium_ceremony_actors documentation

* Updated progress script

* Various matches and cleanup
2023-08-12 15:19:57 -06:00
MegaMech baaa2f930d Match Segment 3 -> Matched code_80280650.c (#363)
* Match & doc code_80280650.c

* Update readme
2023-08-10 20:54:11 -06:00
MegaMech de5c688e42 Add crash screen enhancement (#360)
* Add crash screen enhancement
2023-08-09 18:51:37 -06:00
Tyler McGavran a240af0693 Run iconv as part of build (#354)
* Run iconv as part of build

That way files that need to be in EUC-JP encoding can still be
 worked on in UTF-8

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-08 11:54:57 -06:00
Tyler McGavran e7632b3227 Some mathes and some non-matchings in code_80057C60 (#352)
* Some matches and some non-matchings in code_80057C60

* Mirgrate code_80057C60 rw data


Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-06 11:07:09 -06:00
tomas 9d716d921a very cool debug display list (#348)
* added a very cool debug display list ^^ (prints variables to screen)

* Decompiled various functions
2023-08-04 13:04:49 -06:00
Tyler McGavran 2e5b2737f3 Rename some data files to indicate teh code file they belong to (#343)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-07-17 22:41:50 -04:00
Tyler McGavran 890aaee162 Move plan data for code_8008C1D0 into asm files (#340)
Had to create a new file in order to get stuff matching right,
 even though making a separate file for just 3 functions is
 incredibly silly.

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-07-11 12:54:39 -06:00
Tyler McGavran 04b9d5b4b8 Move some data into kart_dma.c (#338)
* Move texture data into kart_dma.c
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-07-11 12:42:33 -06:00
Tyler McGavran cf33e2ea5f Migrate rodata for code_80005FD0 into asm files (#332)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-07-11 11:58:02 -06:00
Tyler McGavran 1b67ee01df New asset extraction utility (#306)
* Add new asset extraction tool. Changes motivated by the quirks of how kart animation frames are stored
 in the ROM.

    each frame has a palette that is actually
    composed of 2 other, incomplete palettes. As such, the existent
    extract.py isn't really able to handle them.

* Move a variety of assets to new extract tool
---------

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-06-17 15:13:06 -06:00
MegaMech e371f88b2d UI and print debug matches (#310)
* various decomp
2023-05-22 13:05:54 -06:00
MegaMech fb7c3bce61 Various matches (#304) 2023-04-10 01:40:47 -06:00
Tyler McGavran 6b4d71e66c Match credits (#297)
* Match credits data and ro data

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-03-31 05:40:53 -06:00
Tyler McGavran 782ed71f61 Massive data relocation (#295)
Mostly relocating rodata from data/* files to the appropriate
 asm/nonmatching/* files, although there is some plain data
 relocating to be found in here too.

Big change to note is the addition of the code_802AAA70.c file,
 split from memory.c. Based on some padding in the ro/data for
 memory it seems clear that a split is needed, although it is
 not clear that exact spot chosen for the split is correct.
 Still, it gets the file padding for the ro/data and text segments
 correct so it can't be too wrong.

Also included is an update to the asm_processor tool to support
 the .hword directive. I made a PR to the main repo of that
 project with an identical change and it was accepted.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-03-29 18:52:15 -06:00
MegaMech 8d118db0b2 Labelling of some hard-coded addr to syms (#294)
* Updated final displaylist symbol

* Cleaned up loader script

* Random changes

* Various naming and decomp
2023-03-28 16:40:03 -06:00
Tyler McGavran 889520b045 Relocated rodata for code_800431B0 (#293)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-03-26 16:53:41 -06:00
Tyler McGavran bd82bf5f0c Relocate rodata for some OS related function (#292)
Required moving a struct def to another file, and I renamed a
 struct to something nicer

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-03-24 00:49:30 -06:00
Tyler McGavran 3b8e76054d Move all ro/data for code_8001F980 out of data/* (#291)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-03-21 22:27:54 -06:00
MegaMech db4e0a3727 Disassembled courses, added DLpacker, and disassembled packed DLs (#290)
* Disassembled all courses; packed DLs and course data.

* Added displaylist packer

* Minor documentation and naming
2023-03-07 19:48:17 -07:00
Tyler McGavran ee64dad403 Make the course models in a more Makefiley way (#287)
* Make the course models in a more Makefiley way

Required renaming one of the course directories to match the name
 used elsewhere in the project

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-01-24 21:53:43 -07:00
MegaMech 0c10beae0e Matches in 80281fa0, render_courses, and create defines for sound cues. (#276)
* Matches, add permute, and add notice to quick runners

* 80281fa0 matches, render_courses, and create defines for audio

* Renamed 80281fa0.h, func naming, and deleted data_121DA0

* Added clang format

* Matched load_surface_map

* Match func in memory.c
2022-11-21 04:06:12 -07:00
MegaMech 5f88765dd4 Matches for code_80281FA0.c (#272)
* Matches for code_80281FA0.c
2022-11-07 02:04:33 -07:00
VDavid003 6d03e5bf05 Fix matching under Arch again (#271)
Commit 5ca8e07a4d fixed the issue, then e9415164bb reverted the fix, so let's fix it again
2022-11-06 14:43:20 -07:00
Tyler McGavran e9415164bb Lots and lots of audio code copied from SM64 (#270)
* Lots of audio decomp

* effects and playback are 100% matched

* Took some notes from the SM64 Makefile to get the right compiler
 options for a couple files

* Added the audio files to rename_symbol utility

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-11-06 08:24:24 -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
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
MegaMech e9383d1b7a code_8001F980 decomp + profiler doc + more (#250) 2022-08-01 16:32:20 -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
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
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 242aa9ffc5 decomp render funcs and some memory (#222) 2022-06-14 16:25:20 -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
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
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
someone2639 5ca8e07a4d fix matching on Arch/maybe Fedora (#186)
authored-by: Faris Awan <farisawan.2000@gmail.com>
2022-04-27 12:08:35 -06:00
MegaMech 2f8a1bfcb6 Actor decomp (#183)
* Actor decomp
2022-04-26 15:48:36 -07:00
MegaMech e4e5f91be5 audio load.c decomp (#176) 2022-04-16 23:11:40 -07:00
CoderStig 345cbd4f19 Fix remaining pointers for shifting 2022-03-04 23:10:21 -07:00