Commit Graph

89 Commits

Author SHA1 Message Date
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
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
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
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
Tyler McGavran 33cb23c483
Name arrays of character animations (#168)
* Character animation naming

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-02-22 17:29:29 -07:00
Tyler McGavran 64e8934b30
Break out some credit text stuff into a C file (#157)
* Break out some credit text stuff into a C file

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

* Add some comments for better clarity

Also delete the asm file for a function that was matched in the
 previous commit

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-02-03 21:06:30 -07:00
Tyler McGavran 2f6c87f14f
Identify a credits related struct (#156)
Move some structs around, place them in more meaningful headers

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-02-02 13:19:51 -07:00
Tyler McGavran 04052ba259
Fix the match for guPerspectiveF (#155)
Most of the work had been done long ago, only had to fix some rodata
 issues

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-28 23:35:24 -07:00
Tyler McGavran dac4698b5c
Move texture data from asm to C (#142)
* Move texture data from asm to C

Required dropping a couple typedefs since they no longer had a purpose

Regenerated a couple mips_to_c outputs based on the updated types

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-18 00:44:11 -07:00
ChiefFruitcake 7acd1cbc20
More matching in code_800AF9B0 (#131)
* Name variables related to selecting a game from the main menu

* Match a couple functions requiring jumptable

* Match func_800B4728

* Match func_800B536C, func_800B5888, func_800B5AAC, and func_800B5AD8

* Name functions related to loading and validating SaveData

* Match func_800B4CB4

* Update selected player defines

* Match func_800B5404

* Match func_800B6088
2022-01-06 20:32:57 -07:00
Maciek Baron 20d9e8afba
Relabel/identify more variables and functions based on current knowledge (#127)
* Update labels and names based on current knowledge

* Create gChatacterSelections/gCharacterGridSelections distinction
2022-01-02 17:30:23 -07:00
Maciek Baron 7df6d01ef3
Add player and controller labels, rename function (#123)
* Add player labels, rename function

* Relabel controller vars to improve readability
2022-01-01 13:06:21 -07:00
Tyler McGavran ae7451596a
Texture related structs and some controller pak menu stuff (#116)
Some of this is identifying some functions and structs related to the Controller
 pak menu

Some of it is related to structs concerning textures and "animations" and their
 associated functions

* Match draw_box, func_80098C18, func_80098FC8

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2021-12-26 16:10:11 -07:00
MegaMech dd0b6e2ff2
decomp more 80057C60.c to reach 20 percent (#118) 2021-12-26 00:14:52 -07:00
MegaMech f069034c37
Merge branch 'decomp' into master 2021-12-25 18:19:53 -07:00