* rename some texture
* ok document drifting effect and player particle
* continue rename
* push more rename
* more documentation
* minor rename test
* continue rename texture
* continue rename
* some rename
* more rename
* other fix
* fix comment
* fix a missing I
* fix a mistake
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* Labeling particle related code
* More labeling. Naming pass on what was labeled last commit
* Stick X clamped with deadzone
* Renaming TyreParticle to Particle
* Matching coco's names and renaming some already labeled to keep style consistent
* Minor extra particle labeling
* Small extra labeling. Restoring some removed newlines
* One last newline adjustment
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* Fix EU build and eu-final offsets
* Fix instrument align and bring EU matches
* Fix EU trig table segment
* Label audio_init
* Simplify float comments
* Proper EU name version defines
* Match the last 2 data files
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Update one of the file names based on comments
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Fix bad path in onomatopoeia asset file
Signed-off-by: Taggerung <tyler.taggerung@email.com>
---------
Signed-off-by: Taggerung <tyler.taggerung@email.com>
Co-authored-by: Taggerung <tyler.taggerung@email.com>
* Proper linkage for textures in course display lists
* Does not use new_extract_assets. This tool is small and easy to maintain on its own.
* Auto generate the linkonly files
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Match create_next_audio_frame_task
Required some variable renaming and other changes
* Match synthesis_execute
I'm not entirly sure about the way we have stuff ifdef'd in
PR/abi.h. I feel like we're doing something slightly wrong there
* Match synthesis_do_one_audio_update
There's something super fucked with the way our ifdef's work in
abi.h. It is going to demand a lot more attention sometime in the
future.
* Rename a couple functions
Also had to hack up the ABI file a bit. I'm convinced that we
don't need nor want to have the EU/Shindou/US split thing the
SM64 code does. There's probably just the 1 ABI version being
used and we need to figure out what it looks like
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Linkage for the ceremony_data file
Cleaned up all but 1 undefined symbol from the 0x0B range. The one
leftover may be something from texture_tkmk00. Or atleast, that's
what I think. Can't say for certain
* Startup logo linkage
Cleaned up a bunch of unused items from assets.json too
Signed-off-by: Taggerung <tyler.taggerung@email.com>
They match when placed there, although its not immediately clear
that they truly belong there. But a match is a match.
Also cleaned up a bunch of .h files that had references to the
newly matched variables.
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* Match audio/external.c BSS segment
Also fix a misnamed function found in audio/heap, used in
audio/load
* Match audio/seqplayer .data section
* Match func_800C76C0
That was the last function referencing some fake variables, so it
should be possible to match audio/external's .data section as
well
* Match audio/external's .data section
The only thing in src/audio left to be matched is audio/external's
.text section.
There's probably some beautifying that could be done to data/sound_data,
but that is a future problem
Signed-off-by: Taggerung <tyler.taggerung@email.com>
* 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>
* 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>
* 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>
* 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>
* 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>
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>
* 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>
* 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>
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>
* 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>
* 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>
* 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
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>
* 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>