* Convert uncompress samples to .wav files, and introduce wav2agb with matching capabilities
Convert cries
Remove aif2pcm and cleanup wav2agb
* Add --no-pad option to support hq mixer
* Update wav2agb README
* Include the alignment padding in wav2agb
* cleanup
Added typedefs: mapsec_t, metloc_t, and variants for MAPSEC and METLOC values. There are some rough edges that could do with smoothing out, but for now, this gets us close to ideal with a ROM that compares equal.
Per feedback, all typedefs to mention the underlying type within the typedef name. The documentation comments reflect and explain the naming convention.
Updated comments to reflect the fact that we're no longer using SET8 for a Pokemon's met locations, in favor of a new macro (added by this PR) that adjusts to match the width of whatever is being set.
"SiiRtcSetAlarm" in siirtc.c, the "FormatHex" functions in rtc.c and "UnusedDummyFunc", m4aSongNumStartOrContinue", m4aSongNumContinue", "MusicPlayerJumpTableCopy" in m4a.c are all unused in vanilla so they've been changed to use the "UNUSED" attribute.
Key split tables have been given names based on usage (KeySplitTable1 -> keysplit_piano etc) and a new macro has been set up to better represent the individual bytes for key splits with it being more obvious to how said bytes are used for the respective voice in the voicegroup.
---------
Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
mid2agb has been modified to allow more than just numbers when naming voicegroups and voicegroups have been renamed to match. A "voice_group" macro has been set up with a optional parameter for the starting note will shift the offset by the specified amount * 0xC which is the length of 1 voice in a voicegroup. All drumset voicegroups have a "starting_note" of 36.
`RLUnComp`, like `LZ77UnComp`, expects the source data to be word-aligned.
So, to mirror how lz-compressed data is defined as `u32[]` to enforce
word-alignment, this changes rl-compressed data to be defined as `u32[]`
to enforce word-alignment.