Commit Graph

107 Commits

Author SHA1 Message Date
AloXado320 9f2330e259
Migrate some rodata files to C, for files in NEEDS_RODATA state (#427)
* Migrate some rodata files to C, for file on NEEDS_RODATA state

* clarify odd texture variable, split unused vertices

* Remove unused file
2023-09-20 11:24:43 -06:00
Tyler McGavran 8233fa2aab
More audio matches (#420)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-15 21:50:27 -06:00
Tyler McGavran 86c86c8bcd
Lots of matches in the audio code (#417)
* Lots of audio matches

Fully matched heap.c, lots of load.c and some stuff in seqplayer.c

Matched heap.c's BSS segement and moved some BSS stuff out of
 load.c into data.c, since that where it appears to belong
 according to SM64.

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-13 22:36:27 -06:00
Tyler McGavran ccfe604719
Assorted matches in audio/external (#413)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-09 23:50:03 -06:00
Tyler McGavran 7afffb63f5
Cleanup undefined_syms for all the course data (#407)
* Update building of packed_dl files

* Expose course_data symbols to linker.

* Remove undefined_syms for course data

* Update ctx_includes

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-08 22:56:49 -06:00
Tyler McGavran 9c661125be
Small matches, nothing super special (#400)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-05 15:49:55 -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
Tyler McGavran df3c435ac8
Versus mode Bomb Kart stuff (#375)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-20 22:23:57 -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 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 870c39ad77
Matched code_80091440.c and named gDemoMode variable (#358)
* matched code_80091440.c

* Named gDemoMode

* Remove asm for matching func

* Matched and namings for random_u16_credits func in code_80280650.c
2023-08-09 14:53:55 -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
Tyler McGavran 87297bc3b4
Lots of code_80071F00 matches (#347)
* Lots of code_80071F00 matches

Also removed a bunch of fake variables related to the object list.

Also gave names to some of the members of the object list type

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-04 15:05:13 -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 ce15ceac10
Assorted matches (#346)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-07-17 20:06:10 -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 a966aa1787
Add some more asset make and json files (#322)
Course outlines, course previews, unused traffic light, and
 character portraits

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-06-30 08:34:33 -06:00
Tyler McGavran 1b659170dc
Make adjustments to most course files (#318)
* Make adjustments to the Mario Raceway course file

Added quotes in "*.mk" to the find command for finding the .mk files.

* Make adjustments to the Choco Mountain course file

* Make adjustments to the Frappe Snowland course file

* Make adjustments to the Toad's Turnpike course file

* Make adjustments to the Moo Moo Farm course file

* Make adjustments to the Luigi Raceway course file

* Make adjustments to the Koopa Troopa Beach course file

* Make adjustments to the Kalimari Desert course file

* Make adjustments to the Bowser's Castle course file

* Make adjustements to the Wario Stadium course file

* Make adjustments to the Sherbet Land course file

* Make adjustments to the Royal Raceway course file

* Make adjustments to the Banshee Boardwalk course file

* Make adjustments to the Yoshi Valley course file

* Make adjustments to the Rainbow Road course file

* Make adjustments to the Big Donut course file

* Make adjustments to the Block Fort course file

* Remove some unneeded lines from the Makefile

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-06-28 14:20: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
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
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
Tyler McGavran 3a99685c2f
Clean up some more bin2c calls from the Makefile (#286)
* Remove some bin2c calls from the Makefile

* Found a way to make n64graphics use shared tluts

* Added an option that makes n64graphics operate in a mode where it
 takes an image and tlut (as pngs) and spits out the appropriate
 CI8 indices inc.c form

* Turns out all the TLUTs for Lakitu are kept in one place, far away
 from the textures that use them

* Names some textures and tluts

* Pretty helpful actually, helped identify where a few different
 objects types are initialized. Should be a little useful to
 whoever dives into the object stuff more deeply

* Minor cleanup in n64graphics

* Added some comments, gave more appropriate names to some
 variables.

* Leaving the new mode argument as `-Z` for now

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

* Textures compile using makefile rules

* Patched n64 graphics memory leak and ci output

* Added memset16safe to initialize ci palettes to magic numbers (transparent pixels).

---------

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2023-02-06 22:52:34 -07:00
Tyler McGavran 533d035875
Some assorted matches (#289)
Also renamed a couple variables

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-01-31 07:02:40 -07:00
Tyler McGavran e7ceabf94f
Couple matches and giving names to some textures (#285)
* Give names to some textures

* Match a couple functions

* Remove a use of bin2c from the makefile

* Its a little strange, but two of the portrait textures share
 a TLUT. I believe this necessitates that the portraits be
 part of the same PNG file.

* 2nd portrait referenced in undefined_syms.txt

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-01-03 20:43:30 -07:00
Tyler McGavran eeab33814d
Yet more assorted matches (#278)
* Yet more assorted matches

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-11-29 18:03:40 -07:00
Tyler McGavran a753895359
Assorted matches, mostly focussing on 80027D00 (#277)
* Assorted Matches

* Matches in code_80027D00

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-11-21 11:57:07 -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
Tyler McGavran a4faefbc20
Matches for audio/external (#273)
A lot of these matches come from observing the external audio
 stuff in SM64 and realizing that a bunch a couple of the structs
 in MK64 are just expanded version of their SM64 counterpart.

Presumably all the expansions are for handling the doppler effect,
 although I can't say that with certainty

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-11-15 23:32:09 -07:00
MegaMech 5f88765dd4
Matches for code_80281FA0.c (#272)
* Matches for code_80281FA0.c
2022-11-07 02:04:33 -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 4647cdcd7e
Assorted, unrelated matches (#267)
* Assorted matches

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-11-01 15:07:35 -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 e9383d1b7a
code_8001F980 decomp + profiler doc + more (#250) 2022-08-01 16:32:20 -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 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
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
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
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 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
MegaMech d9bd7bfbc0
crash_screen decomp and misc (#221)
* crash_screen decomp and misc
2022-06-14 01:37:54 -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