summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/data_089FC6C4.s3
-rw-r--r--include/gba/m4a.h121
-rw-r--r--linker.ld3
-rw-r--r--src/audio.c1172
-rw-r--r--src/gba/m4a.c142
5 files changed, 759 insertions, 682 deletions
diff --git a/data/data_089FC6C4.s b/data/data_089FC6C4.s
index 343eb824..4ffd1f6c 100644
--- a/data/data_089FC6C4.s
+++ b/data/data_089FC6C4.s
@@ -1611,6 +1611,3 @@ gUnk_08A11C0C:: @ 08A11C0C
gUnk_08A11C1C:: @ 08A11C1C
.incbin "baserom.gba", 0xA11C1C, 0x0000020
-
-gMPlayTable:: @ 08A11C3C
- .incbin "baserom.gba", 0xA11C3C, 0x0000180
diff --git a/include/gba/m4a.h b/include/gba/m4a.h
index 15e1a972..0dcbd822 100644
--- a/include/gba/m4a.h
+++ b/include/gba/m4a.h
@@ -46,18 +46,131 @@ typedef struct SongHeader {
typedef struct Song {
const SongHeader* header;
- u16 ms;
+ u16 musicPlayerIndex;
u16 me;
} Song;
+typedef struct SoundChannel {
+ u8 statusFlags;
+ u8 type;
+ u8 rightVolume;
+ u8 leftVolume;
+ u8 attack;
+ u8 decay;
+ u8 sustain;
+ u8 release;
+ u8 key;
+ u8 envelopeVolume;
+ u8 envelopeVolumeRight;
+ u8 envelopeVolumeLeft;
+ u8 echoVolume;
+ u8 echoLength;
+ u8 unk0;
+ u8 unk1;
+ u8 gateTime;
+ u8 midiKey;
+ u8 velocity;
+ u8 priority;
+ u8 rhythmPan;
+ u8 unk2[3];
+ u32 count;
+ u32 fw;
+ u32 frequency;
+ WaveData* wav;
+ u32 currentPointer;
+ MusicPlayerTrack* track;
+ u32 prev;
+ u32 next;
+ u32 unk3;
+ u16 xpi;
+ u16 xpc;
+} SoundChannel;
+
+typedef void (*MPlayMainFunc)(MusicPlayerInfo*);
+
+// typedef above
+struct MusicPlayerInfo {
+ const SongHeader* songHeader;
+ u32 status;
+ u8 trackCount;
+ u8 priority;
+ u8 cmd;
+ u8 unk_B;
+ u32 clock;
+ u8 gap[8];
+ u8* memAccArea;
+ u16 tempoD;
+ u16 tempoU;
+ u16 tempoI;
+ u16 tempoC;
+ u16 fadeOI;
+ u16 fadeOC;
+ u16 fadeOV;
+ MusicPlayerTrack* tracks;
+ ToneData* tone;
+ u32 ident;
+ MPlayMainFunc func;
+ u32* intp;
+};
+
+#define MPT_FLG_VOLSET 0x01
+#define MPT_FLG_VOLCHG 0x03
+#define MPT_FLG_PITSET 0x04
+#define MPT_FLG_PITCHG 0x0C
+#define MPT_FLG_START 0x40
+#define MPT_FLG_EXIST 0x80
+
+// typedef above
+struct MusicPlayerTrack {
+ u8 flags;
+ u8 wait;
+ u8 patternLevel;
+ u8 repN;
+ u8 gateTime;
+ u8 key;
+ u8 velocity;
+ u8 runningStatus;
+ u8 keyM;
+ u8 pitM;
+ s8 keyShift;
+ s8 keyShiftX;
+ s8 tune;
+ u8 pitX;
+ s8 bend;
+ u8 bendRange;
+ u8 volMR;
+ u8 volML;
+ u8 vol;
+ u8 volX;
+ s8 pan;
+ s8 panX;
+ s8 modM;
+ u8 mod;
+ u8 modT;
+ u8 lfoSpeed;
+ u8 lfoSpeedC;
+ u8 lfoDelay;
+ u8 lfoDelayC;
+ u8 priority;
+ u8 echoVolume;
+ u8 echoLength;
+ SoundChannel* chan;
+ ToneData tone;
+ u8 gap[10];
+ u16 unk_3A;
+ u32 unk_3C;
+ u8* cmdPtr;
+ u8* patternStack[3];
+};
+
typedef struct MusicPlayer {
MusicPlayerInfo* info;
- MusicPlayerTrack* track;
- u8 unk_8;
+ MusicPlayerTrack* tracks;
+ u8 nTracks;
u16 unk_A;
} MusicPlayer;
-extern const MusicPlayer gMPlayTable[];
+extern const MusicPlayer gMusicPlayers[];
extern const Song gSongTable[];
void m4aSoundInit(void);
diff --git a/linker.ld b/linker.ld
index 171afd37..534d32e7 100644
--- a/linker.ld
+++ b/linker.ld
@@ -155,6 +155,7 @@ SECTIONS {
. = 0x00036A58; gUnk_02036A58 = .;
. = 0x00036AD8; gUnk_02036AD8 = .;
. = 0x00036BB8; gUnk_02036BB8 = .;
+ . = 0x00036BC0; gMPlayTracks = .;
. = 0x00038560; gUnk_02038560 = .;
. = 0x00040000;
} >ewram
@@ -223,7 +224,9 @@ SECTIONS {
. = 0x00004DD8; gUnk_03004DD8 = .;
. = 0x00004DDC; gUnk_03004DDC = .;
. = 0x00004DE0; gCgbChans = .;
+ . = 0x00004EE0; gMPlayInfos = .;
. = 0x000055E0; gMPlayMemAccArea = .;
+ . = 0x000055F0; gMPlayInfos2 = .;
. = 0x000056F0; gUnk_030056F0 = .;
. = 0x000056F1; gUnk_030056F1 = .;
. = 0x00005740; gUnk_03005740 = .;
diff --git a/src/audio.c b/src/audio.c
index e43a1c21..fec07156 100644
--- a/src/audio.c
+++ b/src/audio.c
@@ -83,7 +83,7 @@ void SoundReq(Sound sound) {
PlayFadeIn(song);
return;
case SONG_PLAY_TEMPO_CONTROL:
- m4aMPlayTempoControl(gMPlayTable[gSongTable[ptr->currentBgm].ms].info, song);
+ m4aMPlayTempoControl(gMusicPlayers[gSongTable[ptr->currentBgm].musicPlayerIndex].info, song);
return;
case SONG_VSYNC_OFF:
m4aMPlayAllStop();
@@ -209,7 +209,7 @@ void doPlaySound(u32 sound) {
}
iVar2 = gSoundPlayingInfo.volumeMaster;
volume = iVar2 * volume / 0x100;
- musicPlayerInfo = gMPlayTable[gSongTable[sound].ms].info;
+ musicPlayerInfo = gMusicPlayers[gSongTable[sound].musicPlayerIndex].info;
m4aMPlayImmInit(musicPlayerInfo);
m4aMPlayVolumeControl(musicPlayerInfo, 0xffff, volume);
}
@@ -742,551 +742,627 @@ extern const SongHeader sfx21F;
extern const SongHeader sfx220;
extern const SongHeader sfx221;
+extern MusicPlayerTrack gMPlayTracks[];
+
+extern MusicPlayerInfo gMPlayInfos[0x1C];
+extern u8 gMPlayMemAccArea[0x10];
+extern MusicPlayerInfo gMPlayInfos2[0x4];
+
+typedef enum {
+ MUSIC_PLAYER_00,
+ MUSIC_PLAYER_PLY_VO,
+ MUSIC_PLAYER_02,
+ MUSIC_PLAYER_03,
+ MUSIC_PLAYER_04,
+ MUSIC_PLAYER_05,
+ MUSIC_PLAYER_06,
+ MUSIC_PLAYER_07,
+ MUSIC_PLAYER_08,
+ MUSIC_PLAYER_09,
+ MUSIC_PLAYER_0A,
+ MUSIC_PLAYER_0B,
+ MUSIC_PLAYER_0C,
+ MUSIC_PLAYER_0D,
+ MUSIC_PLAYER_0E,
+ MUSIC_PLAYER_0F,
+ MUSIC_PLAYER_10,
+ MUSIC_PLAYER_11,
+ MUSIC_PLAYER_12,
+ MUSIC_PLAYER_13,
+ MUSIC_PLAYER_14,
+ MUSIC_PLAYER_15,
+ MUSIC_PLAYER_16,
+ MUSIC_PLAYER_17,
+ MUSIC_PLAYER_18,
+ MUSIC_PLAYER_19,
+ MUSIC_PLAYER_1A,
+ MUSIC_PLAYER_1B,
+ MUSIC_PLAYER_1C,
+ MUSIC_PLAYER_1D,
+ MUSIC_PLAYER_1E,
+ MUSIC_PLAYER_BGM,
+} MusicPlayerE;
+
+const MusicPlayer gMusicPlayers[] = {
+ [MUSIC_PLAYER_00] = { &gMPlayInfos[0x08], &gMPlayTracks[0x00], 2, 1 },
+ [MUSIC_PLAYER_PLY_VO] = { &gMPlayInfos[0x12], &gMPlayTracks[0x02], 1, 1 },
+ [MUSIC_PLAYER_02] = { &gMPlayInfos[0x13], &gMPlayTracks[0x03], 1, 1 },
+ [MUSIC_PLAYER_03] = { &gMPlayInfos2[0x2], &gMPlayTracks[0x04], 2, 1 },
+ [MUSIC_PLAYER_04] = { &gMPlayInfos[0x1B], &gMPlayTracks[0x06], 2, 1 },
+ [MUSIC_PLAYER_05] = { &gMPlayInfos[0x03], &gMPlayTracks[0x08], 2, 1 },
+ [MUSIC_PLAYER_06] = { &gMPlayInfos[0x07], &gMPlayTracks[0x0A], 2, 1 },
+ [MUSIC_PLAYER_07] = { &gMPlayInfos[0x11], &gMPlayTracks[0x0C], 2, 1 },
+ [MUSIC_PLAYER_08] = { &gMPlayInfos2[0x1], &gMPlayTracks[0x0E], 2, 1 },
+ [MUSIC_PLAYER_09] = { &gMPlayInfos[0x06], &gMPlayTracks[0x10], 2, 1 },
+ [MUSIC_PLAYER_0A] = { &gMPlayInfos[0x14], &gMPlayTracks[0x12], 2, 1 },
+ [MUSIC_PLAYER_0B] = { &gMPlayInfos2[0x3], &gMPlayTracks[0x14], 2, 1 },
+ [MUSIC_PLAYER_0C] = { &gMPlayInfos[0x19], &gMPlayTracks[0x16], 2, 1 },
+ [MUSIC_PLAYER_0D] = { &gMPlayInfos[0x02], &gMPlayTracks[0x18], 2, 1 },
+ [MUSIC_PLAYER_0E] = { &gMPlayInfos[0x0E], &gMPlayTracks[0x1A], 2, 1 },
+ [MUSIC_PLAYER_0F] = { &gMPlayInfos[0x18], &gMPlayTracks[0x1C], 2, 1 },
+ [MUSIC_PLAYER_10] = { &gMPlayInfos[0x05], &gMPlayTracks[0x1E], 2, 1 },
+ [MUSIC_PLAYER_11] = { &gMPlayInfos[0x1A], &gMPlayTracks[0x20], 2, 1 },
+ [MUSIC_PLAYER_12] = { &gMPlayInfos[0x0D], &gMPlayTracks[0x22], 2, 1 },
+ [MUSIC_PLAYER_13] = { &gMPlayInfos[0x00], &gMPlayTracks[0x24], 2, 1 },
+ [MUSIC_PLAYER_14] = { &gMPlayInfos[0x0A], &gMPlayTracks[0x26], 2, 1 },
+ [MUSIC_PLAYER_15] = { &gMPlayInfos[0x0C], &gMPlayTracks[0x28], 2, 1 },
+ [MUSIC_PLAYER_16] = { &gMPlayInfos[0x17], &gMPlayTracks[0x2A], 2, 1 },
+ [MUSIC_PLAYER_17] = { &gMPlayInfos[0x01], &gMPlayTracks[0x2C], 2, 1 },
+ [MUSIC_PLAYER_18] = { &gMPlayInfos[0x0B], &gMPlayTracks[0x2E], 2, 1 },
+ [MUSIC_PLAYER_19] = { &gMPlayInfos[0x15], &gMPlayTracks[0x30], 2, 1 },
+ [MUSIC_PLAYER_1A] = { &gMPlayInfos[0x09], &gMPlayTracks[0x32], 2, 1 },
+ [MUSIC_PLAYER_1B] = { &gMPlayInfos2[0x0], &gMPlayTracks[0x34], 2, 1 },
+ [MUSIC_PLAYER_1C] = { &gMPlayInfos[0x0F], &gMPlayTracks[0x36], 2, 1 },
+ [MUSIC_PLAYER_1D] = { &gMPlayInfos[0x16], &gMPlayTracks[0x38], 2, 1 },
+ [MUSIC_PLAYER_1E] = { &gMPlayInfos[0x04], &gMPlayTracks[0x3A], 0xc, 0 },
+ [MUSIC_PLAYER_BGM] = { &gMPlayInfos[0x10], &gMPlayTracks[0x46], 0xc, 0 },
+};
+
const Song gSongTable[] = {
- { &sfxNone, 0x001f, 0x001f },
- { &bgmCastleTournament, 0x001f, 0x001f },
- { &bgmVaatiMotif, 0x001f, 0x001f },
- { &bgmTitleScreen, 0x001f, 0x001f },
- { &bgmCastleMotif, 0x001f, 0x001f },
- { &bgmElementGet, 0x001f, 0x001f },
- { &bgmFairyFountain, 0x001f, 0x001f },
- { &bgmFileSelect, 0x001f, 0x001f },
- { &bgmIntorCutscene, 0x001f, 0x001f },
- { &bgmCredits, 0x001f, 0x001f },
- { &bgmGameover, 0x001f, 0x001f },
- { &bgmSavingZelda, 0x001f, 0x001f },
- { &bgmLttpTitle, 0x001f, 0x001f },
- { &bgmVaatiTheme, 0x001f, 0x001f },
- { &bgmEzloTheme, 0x001f, 0x001f },
- { &bgmStory, 0x001f, 0x001f },
- { &bgmFestivalApproach, 0x001f, 0x001f },
- { &bgmBeatVaati, 0x001f, 0x001f },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmBeanstalk, 0x001f, 0x001f },
- { &bgmHouse, 0x001f, 0x001f },
- { &bgmCuccoMinigame, 0x001f, 0x001f },
- { &bgmSyrupTheme, 0x001f, 0x001f },
- { &bgmDungeon, 0x001f, 0x001f },
- { &bgmElementTheme, 0x001f, 0x001f },
- { &bgmHyruleField, 0x001f, 0x001f },
- { &bgmHyruleCastle, 0x001f, 0x001f },
- { &bgmHyruleCastleNointro, 0x001f, 0x001f },
- { &bgmMinishVillage, 0x001f, 0x001f },
- { &bgmMinishWoods, 0x001f, 0x001f },
- { &bgmCrenelStorm, 0x001f, 0x001f },
- { &bgmCastorWilds, 0x001f, 0x001f },
- { &bgmHyruleTown, 0x001f, 0x001f },
- { &bgmRoyalValley, 0x001f, 0x001f },
- { &bgmCloudTops, 0x001f, 0x001f },
- { &bgmDarkHyruleCastle, 0x001f, 0x001f },
- { &bgmSecretCastleEntrance, 0x001f, 0x001f },
- { &bmgDeepwoodShrine, 0x001f, 0x001f },
- { &bgmCaveOfFlames, 0x001f, 0x001f },
- { &bgmFortressOfWinds, 0x001f, 0x001f },
- { &bgmTempleOfDroplets, 0x001f, 0x001f },
- { &bgmPalaceOfWinds, 0x001f, 0x001f },
- { &bgmEzloStory, 0x001f, 0x001f },
- { &bgmRoyalCrypt, 0x001f, 0x001f },
- { &bgmElementalSanctuary, 0x001f, 0x001f },
- { &bgmFightTheme, 0x001f, 0x001f },
- { &bgmBossTheme, 0x001f, 0x001f },
- { &bgmVaatiReborn, 0x001f, 0x001f },
- { &bgmVaatiTransfigured, 0x001f, 0x001f },
- { &bgmCastleCollapse, 0x001f, 0x001f },
- { &bgmVaatiWrath, 0x001f, 0x001f },
- { &bgmFightTheme2, 0x001f, 0x001f },
- { &bgmDiggingCave, 0x001f, 0x001f },
- { &bgmSwiftbladeDojo, 0x001f, 0x001f },
- { &bgmMinishCap, 0x001f, 0x001f },
- { &bgmMtCrenel, 0x001f, 0x001f },
- { &bgmPicoriFestival, 0x001f, 0x001f },
- { &bgmLostWoods, 0x001f, 0x001f },
- { &bgmFairyFountain2, 0x001f, 0x001f },
- { &bgmWindRuins, 0x001f, 0x001f },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmLearnScroll, 0x001f, 0x001f },
- { &bgmEzloGet, 0x001f, 0x001f },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &bgmUnused, 0x0000, 0x0000 },
- { &sfxBeep, 0x0000, 0x0000 },
- { &sfxTextboxOpen, 0x001d, 0x001d },
- { &sfxTextboxClose, 0x001c, 0x001c },
- { &sfxTextboxNext, 0x001b, 0x001b },
- { &sfxTextboxSwap, 0x001a, 0x001a },
- { &sfxTextboxChoice, 0x0019, 0x0019 },
- { &sfxTextboxSelect, 0x0018, 0x0018 },
- { &sfx6B, 0x0017, 0x0017 },
- { &sfxMenuCancel, 0x0016, 0x0016 },
- { &sfxMenuError, 0x0015, 0x0015 },
- { &sfxRupeeBounce, 0x0014, 0x0014 },
- { &sfxRupeeGet, 0x0000, 0x0000 },
- { &sfxHeartBounce, 0x0012, 0x0012 },
- { &sfxHeartGet, 0x0000, 0x0000 },
- { &sfxSecret, 0x0003, 0x0003 },
- { &sfxSecretBig, 0x0003, 0x0003 },
- { &sfxMetalClink, 0x000e, 0x000e },
- { &sfxPlyVo1, 0x0001, 0x0001 },
- { &sfxPlyVo2, 0x0001, 0x0001 },
- { &sfxPlyVo3, 0x0001, 0x0001 },
- { &sfxPlyVo4, 0x0001, 0x0001 },
- { &sfxPlyVo5, 0x0001, 0x0001 },
- { &sfxPlyVo6, 0x0001, 0x0001 },
- { &sfxPlyVo7, 0x0001, 0x0001 },
- { &sfxPlyJump, 0x000d, 0x000d },
- { &sfxPlyLand, 0x000c, 0x000c },
- { &sfx7E, 0x000b, 0x000b },
- { &sfxPlyLift, 0x000a, 0x000a },
- { &sfx80, 0x0009, 0x0009 },
- { &sfx81, 0x0008, 0x0008 },
- { &sfx82, 0x0007, 0x0007 },
- { &sfxWaterWalk, 0x0006, 0x0006 },
- { &sfxWaterSplash, 0x0005, 0x0005 },
- { &sfxFallHole, 0x0004, 0x0004 },
- { &sfx86, 0x000f, 0x000f },
- { &sfxPlyDie, 0x001d, 0x001d },
- { &sfx88, 0x001c, 0x001c },
- { &sfxBarrelRelease, 0x001b, 0x001b },
- { &sfxBarrelEnter, 0x001a, 0x001a },
- { &sfxBarrelRoll, 0x0019, 0x0019 },
- { &sfxBarrelRollStop, 0x0018, 0x0018 },
- { &sfxVoEzlo1, 0x0002, 0x0002 },
- { &sfxVoEzlo2, 0x0002, 0x0002 },
- { &sfxVoEzlo3, 0x0002, 0x0002 },
- { &sfxVoEzlo4, 0x0002, 0x0002 },
- { &sfxVoEzlo5, 0x0002, 0x0002 },
- { &sfxVoEzlo6, 0x0002, 0x0002 },
- { &sfxVoEzlo7, 0x0002, 0x0002 },
- { &sfxVoZelda1, 0x0003, 0x0003 },
- { &sfxVoZelda2, 0x0003, 0x0003 },
- { &sfxVoZelda3, 0x0003, 0x0003 },
- { &sfxVoZelda4, 0x0003, 0x0003 },
- { &sfxVoZelda5, 0x0003, 0x0003 },
- { &sfxVoZelda6, 0x0003, 0x0003 },
- { &sfxVoZelda7, 0x0003, 0x0003 },
- { &sfx9B, 0x0004, 0x0004 },
- { &sfx9C, 0x0004, 0x0004 },
- { &sfx9D, 0x0004, 0x0004 },
- { &sfx9E, 0x0004, 0x0004 },
- { &sfx9F, 0x0004, 0x0004 },
- { &sfxA0, 0x0004, 0x0004 },
- { &sfxVoTingle1, 0x0005, 0x0005 },
- { &sfxVoTingle2, 0x0005, 0x0005 },
- { &sfxVoKing1, 0x0006, 0x0006 },
- { &sfxVoKing2, 0x0006, 0x0006 },
- { &sfxVoKing3, 0x0006, 0x0006 },
- { &sfxVoKing4, 0x0007, 0x0007 },
- { &sfxVoKing5, 0x0007, 0x0007 },
- { &sfxA8, 0x0007, 0x0007 },
- { &sfxA9, 0x0008, 0x0008 },
- { &sfxAA, 0x000a, 0x000a },
- { &sfxSpiritsRelease, 0x0009, 0x0009 },
- { &sfxAC, 0x000b, 0x000b },
- { &sfxVoBeedle, 0x000c, 0x000c },
- { &sfxAE, 0x000d, 0x000d },
- { &sfxAF, 0x000e, 0x000e },
- { &sfxB0, 0x000f, 0x000f },
- { &sfxMinish1, 0x0010, 0x0010 },
- { &sfxMinish2, 0x0011, 0x0011 },
- { &sfxMinish3, 0x0012, 0x0012 },
- { &sfxMinish4, 0x0013, 0x0013 },
- { &sfxB5, 0x0014, 0x0014 },
- { &sfxB6, 0x0015, 0x0015 },
- { &sfxB7, 0x0016, 0x0016 },
- { &sfxB8, 0x0017, 0x0017 },
- { &sfxB9, 0x0018, 0x0018 },
- { &sfxBA, 0x0019, 0x0019 },
- { &sfxBB, 0x001a, 0x001a },
- { &sfxBC, 0x001b, 0x001b },
- { &sfxBD, 0x001c, 0x001c },
- { &sfxBE, 0x001c, 0x001c },
- { &sfxBF, 0x0003, 0x0003 },
- { &sfxC0, 0x0004, 0x0004 },
- { &sfxC1, 0x0005, 0x0005 },
- { &sfxC2, 0x0006, 0x0006 },
- { &sfxC3, 0x0007, 0x0007 },
- { &sfxC4, 0x0008, 0x0008 },
- { &sfxC5, 0x0009, 0x0009 },
- { &sfxC6, 0x000a, 0x000a },
- { &sfxC7, 0x000b, 0x000b },
- { &sfxC8, 0x000c, 0x000c },
- { &sfxC9, 0x000d, 0x000d },
- { &sfxCA, 0x000e, 0x000e },
- { &sfxCB, 0x000f, 0x000f },
- { &sfxRemSleep, 0x0010, 0x0010 },
- { &sfxTaskComplete, 0x0003, 0x0003 },
- { &sfxKeyAppear, 0x0016, 0x0016 },
- { &sfxCF, 0x0011, 0x0011 },
- { &sfxD0, 0x0012, 0x0012 },
- { &sfxVoDog, 0x0013, 0x0013 },
- { &sfxVoCat, 0x0014, 0x0014 },
- { &sfxVoEpona, 0x0015, 0x0015 },
- { &sfxVoCow, 0x0016, 0x0016 },
- { &sfxVoCuccoCall, 0x0017, 0x0017 },
- { &sfxVoCheep, 0x0018, 0x0018 },
- { &sfxItemSwordCharge, 0x0015, 0x0015 },
- { &sfxItemSwordChargeFinish, 0x0014, 0x0014 },
- { &sfxD9, 0x0019, 0x0019 },
- { &sfxDA, 0x001a, 0x001a },
- { &sfxVoSturgeon, 0x001b, 0x001b },
- { &sfxHammer1, 0x0013, 0x0013 },
- { &sfxHammer2, 0x0012, 0x0012 },
- { &sfxHammer3, 0x0011, 0x0011 },
- { &sfxHammer4, 0x0010, 0x0010 },
- { &sfxHammer5, 0x000f, 0x000f },
- { &sfxHammer6, 0x000e, 0x000e },
- { &sfxCuccoMinigameBell, 0x000d, 0x000d },
- { &sfxE3, 0x000c, 0x000c },
- { &sfxE4, 0x000b, 0x000b },
- { &sfxButtonDepress, 0x000a, 0x000a },
- { &sfxThudHeavy, 0x0009, 0x0009 },
- { &sfxWind1, 0x0008, 0x0008 },
- { &sfxWind2, 0x0008, 0x0008 },
- { &sfxWind3, 0x0008, 0x0008 },
- { &sfxEA, 0x0008, 0x0008 },
- { &sfxEB, 0x0008, 0x0008 },
- { &sfxEC, 0x0008, 0x0008 },
- { &sfxED, 0x0008, 0x0008 },
- { &sfxEE, 0x0008, 0x0008 },
- { &sfxEF, 0x0007, 0x0007 },
- { &sfxF0, 0x0006, 0x0006 },
- { &sfxF1, 0x0005, 0x0005 },
- { &sfxF2, 0x0004, 0x0004 },
- { &sfxF3, 0x0003, 0x0003 },
- { &sfxSummon, 0x001d, 0x001d },
- { &sfxF5, 0x001c, 0x001c },
- { &sfxEvaporate, 0x001b, 0x001b },
- { &sfxApparate, 0x001a, 0x001a },
- { &sfxF8, 0x0019, 0x0019 },
- { &sfxTeleporter, 0x0018, 0x0018 },
- { &sfxFA, 0x0017, 0x0017 },
- { &sfxFB, 0x0016, 0x0016 },
- { &sfxFC, 0x0015, 0x0015 },
- { &sfxItemBombExplode, 0x0014, 0x0014 },
- { &sfxHit, 0x0013, 0x0013 },
- { &sfxFF, 0x0012, 0x0012 },
- { &sfx100, 0x0011, 0x0011 },
- { &sfx101, 0x0010, 0x0010 },
- { &sfx102, 0x000f, 0x000f },
- { &sfx103, 0x0000, 0x0000 },
- { &sfx104, 0x000d, 0x000d },
- { &sfx105, 0x001e, 0x001e },
- { &sfx106, 0x000b, 0x000b },
- { &sfx107, 0x000a, 0x000a },
- { &sfx108, 0x0009, 0x0009 },
- { &sfx109, 0x001e, 0x001e },
- { &sfx10A, 0x0008, 0x0008 },
- { &sfx10B, 0x0007, 0x0007 },
- { &sfx10C, 0x0006, 0x0006 },
- { &sfx10D, 0x0005, 0x0005 },
- { &sfx10E, 0x0004, 0x0004 },
- { &sfx10F, 0x0003, 0x0003 },
- { &sfx110, 0x001d, 0x001d },
- { &sfx111, 0x001c, 0x001c },
- { &sfx112, 0x001b, 0x001b },
- { &sfx113, 0x001a, 0x001a },
- { &sfx114, 0x0019, 0x0019 },
- { &sfx115, 0x0018, 0x0018 },
- { &sfx116, 0x0004, 0x0004 },
- { &sfx117, 0x0016, 0x0016 },
- { &sfxItemShieldBounce, 0x0007, 0x0007 },
- { &sfxItemGlovesKnockback, 0x0014, 0x0014 },
- { &sfxEmArmosOn, 0x0013, 0x0013 },
- { &sfx11B, 0x0012, 0x0012 },
- { &sfx11C, 0x0011, 0x0011 },
- { &sfx11D, 0x0010, 0x0010 },
- { &sfxEmMoblinSpear, 0x000f, 0x000f },
- { &sfxLowHealth, 0x000e, 0x000e },
- { &sfxChargingUp, 0x000d, 0x000d },
- { &sfxStairs, 0x000c, 0x000c },
- { &sfx122, 0x000b, 0x000b },
- { &sfx123, 0x0017, 0x0017 },
- { &sfx124, 0x0009, 0x0009 },
- { &sfx125, 0x0008, 0x0008 },
- { &sfx126, 0x0007, 0x0007 },
- { &sfxBossHit, 0x0006, 0x0006 },
- { &sfxBossDie, 0x0005, 0x0005 },
- { &sfxBossExplode, 0x0004, 0x0004 },
- { &sfx12A, 0x0003, 0x0003 },
- { &sfx12B, 0x001d, 0x001d },
- { &sfx12C, 0x001c, 0x001c },
- { &sfx12D, 0x001b, 0x001b },
- { &sfx12E, 0x001a, 0x001a },
- { &sfx12F, 0x0019, 0x0019 },
- { &sfx130, 0x0018, 0x0018 },
- { &sfx131, 0x0017, 0x0017 },
- { &sfx132, 0x0016, 0x0016 },
- { &sfx133, 0x0015, 0x0015 },
- { &sfx134, 0x0015, 0x0015 },
- { &sfx135, 0x0013, 0x0013 },
- { &sfx136, 0x0012, 0x0012 },
- { &sfx137, 0x0011, 0x0011 },
- { &sfx138, 0x0010, 0x0010 },
- { &sfx139, 0x000f, 0x000f },
- { &sfx13A, 0x000e, 0x000e },
- { &sfx13B, 0x000d, 0x000d },
- { &sfx13C, 0x000c, 0x000c },
- { &sfxItemLanternOn, 0x000b, 0x000b },
- { &sfxItemLanternOff, 0x000a, 0x000a },
- { &sfxItemSwordBeam, 0x0009, 0x0009 },
- { &sfx140, 0x0008, 0x0008 },
- { &sfxHeartContainerSpawn, 0x0007, 0x0007 },
- { &sfxSparkles, 0x0006, 0x0006 },
- { &sfx143, 0x0006, 0x0006 },
- { &sfx144, 0x0005, 0x0005 },
- { &sfx145, 0x0004, 0x0004 },
- { &sfx146, 0x0003, 0x0003 },
- { &sfx147, 0x001d, 0x001d },
- { &sfx148, 0x001c, 0x001c },
- { &sfx149, 0x001b, 0x001b },
- { &sfx14A, 0x001a, 0x001a },
- { &sfx14B, 0x0019, 0x0019 },
- { &sfx14C, 0x0012, 0x0012 },
- { &sfx14D, 0x0017, 0x0017 },
- { &sfx14E, 0x0016, 0x0016 },
- { &sfx14F, 0x0015, 0x0015 },
- { &sfx150, 0x0014, 0x0014 },
- { &sfx151, 0x0013, 0x0013 },
- { &sfx152, 0x0018, 0x0018 },
- { &sfx153, 0x0011, 0x0011 },
- { &sfx154, 0x0010, 0x0010 },
- { &sfx155, 0x000f, 0x000f },
- { &sfx156, 0x000e, 0x000e },
- { &sfx157, 0x000d, 0x000d },
- { &sfx158, 0x000c, 0x000c },
- { &sfx159, 0x000b, 0x000b },
- { &sfx15A, 0x000a, 0x000a },
- { &sfx15B, 0x0009, 0x0009 },
- { &sfx15C, 0x0008, 0x0008 },
- { &sfx15D, 0x0015, 0x0015 },
- { &sfx15E, 0x0006, 0x0006 },
- { &sfx15F, 0x0005, 0x0005 },
- { &sfx160, 0x0004, 0x0004 },
- { &sfx161, 0x001d, 0x001d },
- { &sfx162, 0x001c, 0x001c },
- { &sfx163, 0x001b, 0x001b },
- { &sfx164, 0x001a, 0x001a },
- { &sfx165, 0x0019, 0x0019 },
- { &sfx166, 0x0018, 0x0018 },
- { &sfx167, 0x0017, 0x0017 },
- { &sfx168, 0x0016, 0x0016 },
- { &sfx169, 0x0015, 0x0015 },
- { &sfx16A, 0x0014, 0x0014 },
- { &sfx16B, 0x0013, 0x0013 },
- { &sfx16C, 0x0003, 0x0003 },
- { &sfx16D, 0x0012, 0x0012 },
- { &sfx16E, 0x0011, 0x0011 },
- { &sfxPlyShrinking, 0x0010, 0x0010 },
- { &sfxPlyGrow, 0x000f, 0x000f },
- { &sfx171, 0x000e, 0x000e },
- { &sfx172, 0x000d, 0x000d },
- { &sfxEzloUi, 0x000c, 0x000c },
- { &sfx174, 0x000b, 0x000b },
- { &sfx175, 0x000a, 0x000a },
- { &sfx176, 0x0009, 0x0009 },
- { &sfx177, 0x0009, 0x0009 },
- { &sfx178, 0x0008, 0x0008 },
- { &sfx179, 0x0007, 0x0007 },
- { &sfx17A, 0x0006, 0x0006 },
- { &sfxLavaTitleStep, 0x001d, 0x001d },
- { &sfxLavaTitleWobble, 0x001c, 0x001c },
- { &sfxLavaTitleSink, 0x001b, 0x001b },
- { &sfxLavaTitleFlip, 0x001a, 0x001a },
- { &sfxLavaTitleLand, 0x0019, 0x0019 },
- { &sfx180, 0x0005, 0x0005 },
- { &sfx181, 0x0004, 0x0004 },
- { &sfx182, 0x0003, 0x0003 },
- { &sfx183, 0x0018, 0x0018 },
- { &sfx184, 0x0017, 0x0017 },
- { &sfx185, 0x0016, 0x0016 },
- { &sfx186, 0x0015, 0x0015 },
- { &sfxStairsAscend, 0x0014, 0x0014 },
- { &sfxStairsDescend, 0x0013, 0x0013 },
- { &sfx189, 0x0012, 0x0012 },
- { &sfx18A, 0x0011, 0x0011 },
- { &sfx18B, 0x0010, 0x0010 },
- { &sfx18C, 0x000f, 0x000f },
- { &sfx18D, 0x000e, 0x000e },
- { &sfx18E, 0x000d, 0x000d },
- { &sfx18F, 0x000c, 0x000c },
- { &sfx190, 0x000b, 0x000b },
- { &sfx191, 0x000a, 0x000a },
- { &sfx192, 0x0009, 0x0009 },
- { &sfx193, 0x0008, 0x0008 },
- { &sfx194, 0x0007, 0x0007 },
- { &sfx195, 0x0006, 0x0006 },
- { &sfx196, 0x0005, 0x0005 },
- { &sfx197, 0x0004, 0x0004 },
- { &sfx198, 0x0003, 0x0003 },
- { &sfx199, 0x001d, 0x001d },
- { &sfx19A, 0x001c, 0x001c },
- { &sfx19B, 0x001b, 0x001b },
- { &sfx19C, 0x001a, 0x001a },
- { &sfx19D, 0x0019, 0x0019 },
- { &sfx19E, 0x0018, 0x0018 },
- { &sfx19F, 0x0017, 0x0017 },
- { &sfx1A0, 0x0016, 0x0016 },
- { &sfx1A1, 0x0015, 0x0015 },
- { &sfx1A2, 0x0014, 0x0014 },
- { &sfx1A3, 0x0013, 0x0013 },
- { &sfx1A4, 0x0012, 0x0012 },
- { &sfx1A5, 0x0011, 0x0011 },
- { &sfx1A6, 0x0010, 0x0010 },
- { &sfx1A7, 0x000f, 0x000f },
- { &sfx1A8, 0x000e, 0x000e },
- { &sfx1A9, 0x000d, 0x000d },
- { &sfx1AA, 0x000c, 0x000c },
- { &sfx1AB, 0x000c, 0x000c },
- { &sfx1AC, 0x000a, 0x000a },
- { &sfx1AD, 0x0009, 0x0009 },
- { &sfx1AE, 0x0008, 0x0008 },
- { &sfx1AF, 0x0007, 0x0007 },
- { &sfx1B0, 0x0006, 0x0006 },
- { &sfxIceBlockSlide, 0x001d, 0x001d },
- { &sfxIceBlockStop, 0x001c, 0x001c },
- { &sfxIceBlockMelt, 0x001b, 0x001b },
- { &sfx1B4, 0x001a, 0x001a },
- { &sfx1B5, 0x0019, 0x0019 },
- { &sfx1B6, 0x0018, 0x0018 },
- { &sfxVoGoron1, 0x000a, 0x000a },
- { &sfxVoGoron2, 0x000b, 0x000b },
- { &sfxVoGoron3, 0x000c, 0x000c },
- { &sfxVoGoron4, 0x000d, 0x000d },
- { &sfxEmDekuscrubHit, 0x000e, 0x000e },
- { &sfx1BC, 0x000f, 0x000f },
- { &sfx1BD, 0x0010, 0x0010 },
- { &sfx1BE, 0x0011, 0x0011 },
- { &sfx1BF, 0x0012, 0x0012 },
- { &sfx1C0, 0x0013, 0x0013 },
- { &sfx1C1, 0x0014, 0x0014 },
- { &sfx1C2, 0x0005, 0x0005 },
- { &sfx1C3, 0x0004, 0x0004 },
- { &sfx1C4, 0x0003, 0x0003 },
- { &sfx1C5, 0x001d, 0x001d },
- { &sfx1C6, 0x001c, 0x001c },
- { &sfx1C7, 0x0003, 0x0003 },
- { &sfx1C8, 0x0000, 0x0000 },
- { &sfx1C9, 0x001a, 0x001a },
- { &sfx1CA, 0x001a, 0x001a },
- { &sfx1CB, 0x0018, 0x0018 },
- { &sfx1CC, 0x0017, 0x0017 },
- { &sfxElementPlace, 0x0016, 0x0016 },
- { &sfxElementFloat, 0x0015, 0x0015 },
- { &sfxElementCharge, 0x0014, 0x0014 },
- { &sfx1D0, 0x0013, 0x0013 },
- { &sfxElementInfuse, 0x0012, 0x0012 },
- { &sfx1D2, 0x0011, 0x0011 },
- { &sfx1D3, 0x0010, 0x0010 },
- { &sfx1D4, 0x000f, 0x000f },
- { &sfx1D5, 0x000e, 0x000e },
- { &sfxVoCucco1, 0x000d, 0x000d },
- { &sfxVoCucco2, 0x000c, 0x000c },
- { &sfxVoCucco3, 0x000b, 0x000b },
- { &sfxVoCucco4, 0x000a, 0x000a },
- { &sfxVoCucco5, 0x0009, 0x0009 },
- { &sfx1DB, 0x0008, 0x0008 },
- { &sfx1DC, 0x0007, 0x0007 },
- { &sfx1DD, 0x0006, 0x0006 },
- { &sfx1DE, 0x0003, 0x0003 },
- { &sfx1DF, 0x0003, 0x0003 },
- { &sfx1E0, 0x0003, 0x0003 },
- { &sfx1E1, 0x0003, 0x0003 },
- { &sfx1E2, 0x0003, 0x0003 },
- { &sfx1E3, 0x0003, 0x0003 },
- { &sfx1E4, 0x0002, 0x0002 },
- { &sfx1E5, 0x0002, 0x0002 },
- { &sfx1E6, 0x0002, 0x0002 },
- { &sfx1E7, 0x0002, 0x0002 },
- { &sfx1E8, 0x0004, 0x0004 },
- { &sfx1E9, 0x0004, 0x0004 },
- { &sfx1EA, 0x0006, 0x0006 },
- { &sfx1EB, 0x0006, 0x0006 },
- { &sfx1EC, 0x0006, 0x0006 },
- { &sfx1ED, 0x0006, 0x0006 },
- { &sfx1EE, 0x0007, 0x0007 },
- { &sfx1EF, 0x0007, 0x0007 },
- { &sfx1F0, 0x0007, 0x0007 },
- { &sfx1F1, 0x0008, 0x0008 },
- { &sfx1F2, 0x0008, 0x0008 },
- { &sfx1F3, 0x0009, 0x0009 },
- { &sfx1F4, 0x000a, 0x000a },
- { &sfx1F5, 0x000b, 0x000b },
- { &sfx1F6, 0x000c, 0x000c },
- { &sfx1F7, 0x000d, 0x000d },
- { &sfx1F8, 0x000e, 0x000e },
- { &sfx1F9, 0x000f, 0x000f },
- { &sfx1FA, 0x0010, 0x0010 },
- { &sfx1FB, 0x0011, 0x0011 },
- { &sfx1FC, 0x0012, 0x0012 },
- { &sfx1FD, 0x0013, 0x0013 },
- { &sfx1FE, 0x0014, 0x0014 },
- { &sfx1FF, 0x0015, 0x0015 },
- { &sfx200, 0x0016, 0x0016 },
- { &sfx201, 0x0017, 0x0017 },
- { &sfx202, 0x0018, 0x0018 },
- { &sfx203, 0x0019, 0x0019 },
- { &sfx204, 0x001a, 0x001a },
- { &sfx205, 0x001b, 0x001b },
- { &sfx206, 0x001c, 0x001c },
- { &sfx207, 0x0011, 0x0011 },
- { &sfx208, 0x0004, 0x0004 },
- { &sfx209, 0x0005, 0x0005 },
- { &sfx20A, 0x0006, 0x0006 },
- { &sfx20B, 0x0007, 0x0007 },
- { &sfx20C, 0x0008, 0x0008 },
- { &sfx20D, 0x0009, 0x0009 },
- { &sfx20E, 0x000a, 0x000a },
- { &sfx20F, 0x000b, 0x000b },
- { &sfx210, 0x000c, 0x000c },
- { &sfx211, 0x000d, 0x000d },
- { &sfx212, 0x000e, 0x000e },
- { &sfx213, 0x000f, 0x000f },
- { &sfx214, 0x0010, 0x0010 },
- { &sfx215, 0x0005, 0x0005 },
- { &sfx216, 0x001e, 0x001e },
- { &sfx217, 0x001e, 0x001e },
- { &sfx218, 0x0004, 0x0004 },
- { &sfx219, 0x0003, 0x0003 },
- { &sfx21A, 0x000b, 0x000b },
- { &sfx21B, 0x001d, 0x001d },
- { &sfx21C, 0x001c, 0x001c },
- { &sfx21D, 0x001b, 0x001b },
- { &sfx21E, 0x001a, 0x001a },
- { &sfx21F, 0x0019, 0x0019 },
- { &sfx220, 0x0018, 0x0018 },
- { &sfx221, 0x0017, 0x0017 },
+ [SFX_NONE] = { &sfxNone, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_CASTLE_TOURNAMENT] = { &bgmCastleTournament, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_VAATI_MOTIF] = { &bgmVaatiMotif, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_TITLE_SCREEN] = { &bgmTitleScreen, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_CASTLE_MOTIF] = { &bgmCastleMotif, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_ELEMENT_GET] = { &bgmElementGet, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_FAIRY_FOUNTAIN] = { &bgmFairyFountain, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_FILE_SELECT] = { &bgmFileSelect, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_INTRO_CUTSCENE] = { &bgmIntorCutscene, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_CREDITS] = { &bgmCredits, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_GAMEOVER] = { &bgmGameover, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_SAVING_ZELDA] = { &bgmSavingZelda, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_LTTP_TITLE] = { &bgmLttpTitle, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_VAATI_THEME] = { &bgmVaatiTheme, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_EZLO_THEME] = { &bgmEzloTheme, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_STORY] = { &bgmStory, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_FESTIVAL_APPROACH] = { &bgmFestivalApproach, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_BEAT_VAATI] = { &bgmBeatVaati, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_UNUSED_12] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_BEANSTALK] = { &bgmBeanstalk, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_HOUSE] = { &bgmHouse, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_CUCCO_MINIGAME] = { &bgmCuccoMinigame, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_SYRUP_THEME] = { &bgmSyrupTheme, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_DUNGEON] = { &bgmDungeon, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_ELEMENT_THEME] = { &bgmElementTheme, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_HYRULE_FIELD] = { &bgmHyruleField, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_HYRULE_CASTLE] = { &bgmHyruleCastle, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_HYRULE_CASTLE_NOINTRO] = { &bgmHyruleCastleNointro, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_MINISH_VILLAGE] = { &bgmMinishVillage, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_MINISH_WOODS] = { &bgmMinishWoods, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_CRENEL_STORM] = { &bgmCrenelStorm, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_CASTOR_WILDS] = { &bgmCastorWilds, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_HYRULE_TOWN] = { &bgmHyruleTown, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_ROYAL_VALLEY] = { &bgmRoyalValley, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_CLOUD_TOPS] = { &bgmCloudTops, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_DARK_HYRULE_CASTLE] = { &bgmDarkHyruleCastle, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_SECRET_CASTLE_ENTRANCE] = { &bgmSecretCastleEntrance, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_DEEPWOOD_SHRINE] = { &bmgDeepwoodShrine, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_CAVE_OF_FLAMES] = { &bgmCaveOfFlames, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_FORTRESS_OF_WINDS] = { &bgmFortressOfWinds, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_TEMPLE_OF_DROPLETS] = { &bgmTempleOfDroplets, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_PALACE_OF_WINDS] = { &bgmPalaceOfWinds, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_EZLO_STORY] = { &bgmEzloStory, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_ROYAL_CRYPT] = { &bgmRoyalCrypt, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_ELEMENTAL_SANCTUARY] = { &bgmElementalSanctuary, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_FIGHT_THEME] = { &bgmFightTheme, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_BOSS_THEME] = { &bgmBossTheme, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_VAATI_REBORN] = { &bgmVaatiReborn, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_VAATI_TRANSFIGURED] = { &bgmVaatiTransfigured, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_CASTLE_COLLAPSE] = { &bgmCastleCollapse, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_VAATI_WRATH] = { &bgmVaatiWrath, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_FIGHT_THEME2] = { &bgmFightTheme2, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_DIGGING_CAVE] = { &bgmDiggingCave, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_SWIFTBLADE_DOJO] = { &bgmSwiftbladeDojo, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_MINISH_CAP] = { &bgmMinishCap, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_MT_CRENEL] = { &bgmMtCrenel, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_PICORI_FESTIVAL] = { &bgmPicoriFestival, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_LOST_WOODS] = { &bgmLostWoods, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_FAIRY_FOUNTAIN2] = { &bgmFairyFountain2, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_WIND_RUINS] = { &bgmWindRuins, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_UNUSED_3C] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_3D] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_3E] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_3F] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_40] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_41] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_42] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_43] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_44] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_45] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_46] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_47] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_48] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_49] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_4A] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_4B] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_4C] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_4D] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_4E] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_4F] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_50] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_51] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_52] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_53] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_54] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_55] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_56] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_57] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_58] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_59] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_5A] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_5B] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_5C] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_5D] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_LEARN_SCROLL] = { &bgmLearnScroll, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_EZLO_GET] = { &bgmEzloGet, MUSIC_PLAYER_BGM, MUSIC_PLAYER_BGM },
+ [BGM_UNUSED_60] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_61] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_62] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [BGM_UNUSED_63] = { &bgmUnused, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [SFX_BEEP] = { &sfxBeep, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [SFX_TEXTBOX_OPEN] = { &sfxTextboxOpen, MUSIC_PLAYER_1D, MUSIC_PLAYER_1D },
+ [SFX_TEXTBOX_CLOSE] = { &sfxTextboxClose, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_TEXTBOX_NEXT] = { &sfxTextboxNext, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_TEXTBOX_SWAP] = { &sfxTextboxSwap, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_TEXTBOX_CHOICE] = { &sfxTextboxChoice, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_TEXTBOX_SELECT] = { &sfxTextboxSelect, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_6B] = { &sfx6B, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
+ [SFX_MENU_CANCEL] = { &sfxMenuCancel, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_MENU_ERROR] = { &sfxMenuError, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_RUPEE_BOUNCE] = { &sfxRupeeBounce, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_RUPEE_GET] = { &sfxRupeeGet, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [SFX_HEART_BOUNCE] = { &sfxHeartBounce, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_HEART_GET] = { &sfxHeartGet, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [SFX_SECRET] = { &sfxSecret, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_SECRET_BIG] = { &sfxSecretBig, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_METAL_CLINK] = { &sfxMetalClink, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_PLY_VO1] = { &sfxPlyVo1, MUSIC_PLAYER_PLY_VO, MUSIC_PLAYER_PLY_VO },
+ [SFX_PLY_VO2] = { &sfxPlyVo2, MUSIC_PLAYER_PLY_VO, MUSIC_PLAYER_PLY_VO },
+ [SFX_PLY_VO3] = { &sfxPlyVo3, MUSIC_PLAYER_PLY_VO, MUSIC_PLAYER_PLY_VO },
+ [SFX_PLY_VO4] = { &sfxPlyVo4, MUSIC_PLAYER_PLY_VO, MUSIC_PLAYER_PLY_VO },
+ [SFX_PLY_VO5] = { &sfxPlyVo5, MUSIC_PLAYER_PLY_VO, MUSIC_PLAYER_PLY_VO },
+ [SFX_PLY_VO6] = { &sfxPlyVo6, MUSIC_PLAYER_PLY_VO, MUSIC_PLAYER_PLY_VO },
+ [SFX_PLY_VO7] = { &sfxPlyVo7, MUSIC_PLAYER_PLY_VO, MUSIC_PLAYER_PLY_VO },
+ [SFX_PLY_JUMP] = { &sfxPlyJump, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_PLY_LAND] = { &sfxPlyLand, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_7E] = { &sfx7E, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_PLY_LIFT] = { &sfxPlyLift, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_80] = { &sfx80, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_81] = { &sfx81, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_82] = { &sfx82, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_WATER_WALK] = { &sfxWaterWalk, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_WATER_SPLASH] = { &sfxWaterSplash, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_FALL_HOLE] = { &sfxFallHole, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_86] = { &sfx86, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_PLY_DIE] = { &sfxPlyDie, MUSIC_PLAYER_1D, MUSIC_PLAYER_1D },
+ [SFX_88] = { &sfx88, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_BARREL_RELEASE] = { &sfxBarrelRelease, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_BARREL_ENTER] = { &sfxBarrelEnter, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_BARREL_ROLL] = { &sfxBarrelRoll, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_BARREL_ROLL_STOP] = { &sfxBarrelRollStop, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_VO_EZLO1] = { &sfxVoEzlo1, MUSIC_PLAYER_02, MUSIC_PLAYER_02 },
+ [SFX_VO_EZLO2] = { &sfxVoEzlo2, MUSIC_PLAYER_02, MUSIC_PLAYER_02 },
+ [SFX_VO_EZLO3] = { &sfxVoEzlo3, MUSIC_PLAYER_02, MUSIC_PLAYER_02 },
+ [SFX_VO_EZLO4] = { &sfxVoEzlo4, MUSIC_PLAYER_02, MUSIC_PLAYER_02 },
+ [SFX_VO_EZLO5] = { &sfxVoEzlo5, MUSIC_PLAYER_02, MUSIC_PLAYER_02 },
+ [SFX_VO_EZLO6] = { &sfxVoEzlo6, MUSIC_PLAYER_02, MUSIC_PLAYER_02 },
+ [SFX_VO_EZLO7] = { &sfxVoEzlo7, MUSIC_PLAYER_02, MUSIC_PLAYER_02 },
+ [SFX_VO_ZELDA1] = { &sfxVoZelda1, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_VO_ZELDA2] = { &sfxVoZelda2, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_VO_ZELDA3] = { &sfxVoZelda3, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_VO_ZELDA4] = { &sfxVoZelda4, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_VO_ZELDA5] = { &sfxVoZelda5, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_VO_ZELDA6] = { &sfxVoZelda6, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_VO_ZELDA7] = { &sfxVoZelda7, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_9B] = { &sfx9B, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_9C] = { &sfx9C, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_9D] = { &sfx9D, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_9E] = { &sfx9E, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_9F] = { &sfx9F, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_A0] = { &sfxA0, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_VO_TINGLE1] = { &sfxVoTingle1, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_VO_TINGLE2] = { &sfxVoTingle2, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_VO_KING1] = { &sfxVoKing1, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_VO_KING2] = { &sfxVoKing2, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_VO_KING3] = { &sfxVoKing3, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_VO_KING4] = { &sfxVoKing4, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_VO_KING5] = { &sfxVoKing5, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_A8] = { &sfxA8, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_A9] = { &sfxA9, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_AA] = { &sfxAA, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_SPIRITS_RELEASE] = { &sfxSpiritsRelease, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_AC] = { &sfxAC, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_VO_BEEDLE] = { &sfxVoBeedle, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_AE] = { &sfxAE, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_AF] = { &sfxAF, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_B0] = { &sfxB0, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_VO_MINISH1] = { &sfxMinish1, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_VO_MINISH2] = { &sfxMinish2, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_VO_MINISH3] = { &sfxMinish3, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_VO_MINISH4] = { &sfxMinish4, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_B5] = { &sfxB5, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_B6] = { &sfxB6, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_B7] = { &sfxB7, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_B8] = { &sfxB8, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
+ [SFX_B9] = { &sfxB9, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_BA] = { &sfxBA, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_BB] = { &sfxBB, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_BC] = { &sfxBC, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_BD] = { &sfxBD, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_BE] = { &sfxBE, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_BF] = { &sfxBF, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_C0] = { &sfxC0, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_C1] = { &sfxC1, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_C2] = { &sfxC2, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_C3] = { &sfxC3, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_C4] = { &sfxC4, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_C5] = { &sfxC5, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_C6] = { &sfxC6, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_C7] = { &sfxC7, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_C8] = { &sfxC8, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_C9] = { &sfxC9, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_CA] = { &sfxCA, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_CB] = { &sfxCB, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_REM_SLEEP] = { &sfxRemSleep, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_TASK_COMPLETE] = { &sfxTaskComplete, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_KEY_APPEAR] = { &sfxKeyAppear, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_CF] = { &sfxCF, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_D0] = { &sfxD0, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_VO_DOG] = { &sfxVoDog, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_VO_CAT] = { &sfxVoCat, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_VO_EPONA] = { &sfxVoEpona, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_VO_COW] = { &sfxVoCow, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_VO_CUCCO_CALL] = { &sfxVoCuccoCall, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
+ [SFX_VO_CHEEP] = { &sfxVoCheep, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_ITEM_SWORD_CHARGE] = { &sfxItemSwordCharge, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_ITEM_SWORD_CHARGE_FINISH] = { &sfxItemSwordChargeFinish, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_D9] = { &sfxD9, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_DA] = { &sfxDA, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_VO_STURGEON] = { &sfxVoSturgeon, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_HAMMER1] = { &sfxHammer1, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_HAMMER2] = { &sfxHammer2, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_HAMMER3] = { &sfxHammer3, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_HAMMER4] = { &sfxHammer4, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_HAMMER5] = { &sfxHammer5, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_HAMMER6] = { &sfxHammer6, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_CUCCO_MINIGAME_BELL] = { &sfxCuccoMinigameBell, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_E3] = { &sfxE3, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_E4] = { &sfxE4, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_BUTTON_DEPRESS] = { &sfxButtonDepress, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_THUD_HEAVY] = { &sfxThudHeavy, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_WIND1] = { &sfxWind1, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_WIND2] = { &sfxWind2, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_WIND3] = { &sfxWind3, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_EA] = { &sfxEA, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_EB] = { &sfxEB, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_EC] = { &sfxEC, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_ED] = { &sfxED, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_EE] = { &sfxEE, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_EF] = { &sfxEF, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_F0] = { &sfxF0, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_F1] = { &sfxF1, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_F2] = { &sfxF2, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_F3] = { &sfxF3, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_SUMMON] = { &sfxSummon, MUSIC_PLAYER_1D, MUSIC_PLAYER_1D },
+ [SFX_F5] = { &sfxF5, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_EVAPORATE] = { &sfxEvaporate, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_APPARATE] = { &sfxApparate, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_F8] = { &sfxF8, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_TELEPORTER] = { &sfxTeleporter, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_FA] = { &sfxFA, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
+ [SFX_FB] = { &sfxFB, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_FC] = { &sfxFC, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_ITEM_BOMB_EXPLODE] = { &sfxItemBombExplode, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_HIT] = { &sfxHit, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_FF] = { &sfxFF, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_100] = { &sfx100, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_101] = { &sfx101, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_102] = { &sfx102, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_103] = { &sfx103, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [SFX_104] = { &sfx104, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_105] = { &sfx105, MUSIC_PLAYER_1E, MUSIC_PLAYER_1E },
+ [SFX_106] = { &sfx106, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_107] = { &sfx107, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_108] = { &sfx108, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_109] = { &sfx109, MUSIC_PLAYER_1E, MUSIC_PLAYER_1E },
+ [SFX_10A] = { &sfx10A, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_10B] = { &sfx10B, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_10C] = { &sfx10C, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_10D] = { &sfx10D, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_10E] = { &sfx10E, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_10F] = { &sfx10F, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_110] = { &sfx110, MUSIC_PLAYER_1D, MUSIC_PLAYER_1D },
+ [SFX_111] = { &sfx111, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_112] = { &sfx112, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_113] = { &sfx113, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_114] = { &sfx114, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_115] = { &sfx115, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_116] = { &sfx116, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_117] = { &sfx117, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_ITEM_SHIELD_BOUNCE] = { &sfxItemShieldBounce, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_ITEM_GLOVES_KNOCKBACK] = { &sfxItemGlovesKnockback, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_EM_ARMOS_ON] = { &sfxEmArmosOn, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_11B] = { &sfx11B, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_11C] = { &sfx11C, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_11D] = { &sfx11D, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_EM_MOBLIN_SPEAR] = { &sfxEmMoblinSpear, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_LOW_HEALTH] = { &sfxLowHealth, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_CHARGING_UP] = { &sfxChargingUp, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_STAIRS] = { &sfxStairs, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_122] = { &sfx122, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_123] = { &sfx123, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
+ [SFX_124] = { &sfx124, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_125] = { &sfx125, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_126] = { &sfx126, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_BOSS_HIT] = { &sfxBossHit, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_BOSS_DIE] = { &sfxBossDie, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_BOSS_EXPLODE] = { &sfxBossExplode, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_12A] = { &sfx12A, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_12B] = { &sfx12B, MUSIC_PLAYER_1D, MUSIC_PLAYER_1D },
+ [SFX_12C] = { &sfx12C, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_12D] = { &sfx12D, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_12E] = { &sfx12E, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_12F] = { &sfx12F, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_130] = { &sfx130, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_131] = { &sfx131, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
+ [SFX_132] = { &sfx132, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_133] = { &sfx133, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_134] = { &sfx134, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_135] = { &sfx135, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_136] = { &sfx136, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_137] = { &sfx137, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_138] = { &sfx138, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_139] = { &sfx139, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_13A] = { &sfx13A, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_13B] = { &sfx13B, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_13C] = { &sfx13C, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_ITEM_LANTERN_ON] = { &sfxItemLanternOn, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_ITEM_LANTERN_OFF] = { &sfxItemLanternOff, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_ITEM_SWORD_BEAM] = { &sfxItemSwordBeam, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_140] = { &sfx140, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_HEART_CONTAINER_SPAWN] = { &sfxHeartContainerSpawn, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_SPARKLES] = { &sfxSparkles, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_143] = { &sfx143, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_144] = { &sfx144, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_145] = { &sfx145, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_146] = { &sfx146, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_147] = { &sfx147, MUSIC_PLAYER_1D, MUSIC_PLAYER_1D },
+ [SFX_148] = { &sfx148, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_149] = { &sfx149, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_14A] = { &sfx14A, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_14B] = { &sfx14B, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_14C] = { &sfx14C, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_14D] = { &sfx14D, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
+ [SFX_14E] = { &sfx14E, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_14F] = { &sfx14F, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_150] = { &sfx150, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_151] = { &sfx151, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_152] = { &sfx152, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_153] = { &sfx153, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_154] = { &sfx154, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_155] = { &sfx155, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_156] = { &sfx156, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_157] = { &sfx157, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_158] = { &sfx158, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_159] = { &sfx159, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_15A] = { &sfx15A, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_15B] = { &sfx15B, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_15C] = { &sfx15C, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_15D] = { &sfx15D, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_15E] = { &sfx15E, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_15F] = { &sfx15F, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_160] = { &sfx160, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_161] = { &sfx161, MUSIC_PLAYER_1D, MUSIC_PLAYER_1D },
+ [SFX_162] = { &sfx162, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_163] = { &sfx163, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_164] = { &sfx164, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_165] = { &sfx165, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_166] = { &sfx166, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_167] = { &sfx167, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
+ [SFX_168] = { &sfx168, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_169] = { &sfx169, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_16A] = { &sfx16A, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_16B] = { &sfx16B, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_16C] = { &sfx16C, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_16D] = { &sfx16D, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_16E] = { &sfx16E, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_PLY_SHRINKING] = { &sfxPlyShrinking, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_PLY_GROW] = { &sfxPlyGrow, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_171] = { &sfx171, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_172] = { &sfx172, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_EZLO_UI] = { &sfxEzloUi, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_174] = { &sfx174, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_175] = { &sfx175, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_176] = { &sfx176, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_177] = { &sfx177, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_178] = { &sfx178, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_179] = { &sfx179, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_17A] = { &sfx17A, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_LAVA_TILE_STEP] = { &sfxLavaTitleStep, MUSIC_PLAYER_1D, MUSIC_PLAYER_1D },
+ [SFX_LAVA_TILE_WOBBLE] = { &sfxLavaTitleWobble, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_LAVA_TILE_SINK] = { &sfxLavaTitleSink, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_LAVA_TILE_FLIP] = { &sfxLavaTitleFlip, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_LAVA_TILE_LAND] = { &sfxLavaTitleLand, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_180] = { &sfx180, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_181] = { &sfx181, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_182] = { &sfx182, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_183] = { &sfx183, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_184] = { &sfx184, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
+ [SFX_185] = { &sfx185, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_186] = { &sfx186, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_STAIRS_ASCEND] = { &sfxStairsAscend, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_STAIRS_DESCEND] = { &sfxStairsDescend, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_189] = { &sfx189, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_18A] = { &sfx18A, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_18B] = { &sfx18B, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_18C] = { &sfx18C, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_18D] = { &sfx18D, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_18E] = { &sfx18E, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_18F] = { &sfx18F, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_190] = { &sfx190, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_191] = { &sfx191, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_192] = { &sfx192, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_193] = { &sfx193, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_194] = { &sfx194, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_195] = { &sfx195, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_196] = { &sfx196, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_197] = { &sfx197, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_198] = { &sfx198, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_199] = { &sfx199, MUSIC_PLAYER_1D, MUSIC_PLAYER_1D },
+ [SFX_19A] = { &sfx19A, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_19B] = { &sfx19B, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_19C] = { &sfx19C, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_19D] = { &sfx19D, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_19E] = { &sfx19E, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_19F] = { &sfx19F, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
+ [SFX_1A0] = { &sfx1A0, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_1A1] = { &sfx1A1, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_1A2] = { &sfx1A2, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_1A3] = { &sfx1A3, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_1A4] = { &sfx1A4, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_1A5] = { &sfx1A5, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_1A6] = { &sfx1A6, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_1A7] = { &sfx1A7, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_1A8] = { &sfx1A8, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_1A9] = { &sfx1A9, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_1AA] = { &sfx1AA, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_1AB] = { &sfx1AB, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_1AC] = { &sfx1AC, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_1AD] = { &sfx1AD, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_1AE] = { &sfx1AE, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_1AF] = { &sfx1AF, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_1B0] = { &sfx1B0, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_ICE_BLOCK_SLIDE] = { &sfxIceBlockSlide, MUSIC_PLAYER_1D, MUSIC_PLAYER_1D },
+ [SFX_ICE_BLOCK_STOP] = { &sfxIceBlockStop, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_ICE_BLOCK_MELT] = { &sfxIceBlockMelt, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_1B4] = { &sfx1B4, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_1B5] = { &sfx1B5, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_1B6] = { &sfx1B6, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_VO_GORON1] = { &sfxVoGoron1, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_VO_GORON2] = { &sfxVoGoron2, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_VO_GORON3] = { &sfxVoGoron3, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_VO_GORON4] = { &sfxVoGoron4, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_EM_DEKUSCRUB_HIT] = { &sfxEmDekuscrubHit, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_1BC] = { &sfx1BC, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_1BD] = { &sfx1BD, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_1BE] = { &sfx1BE, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_1BF] = { &sfx1BF, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_1C0] = { &sfx1C0, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_1C1] = { &sfx1C1, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_1C2] = { &sfx1C2, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_1C3] = { &sfx1C3, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_1C4] = { &sfx1C4, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_1C5] = { &sfx1C5, MUSIC_PLAYER_1D, MUSIC_PLAYER_1D },
+ [SFX_1C6] = { &sfx1C6, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_1C7] = { &sfx1C7, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_1C8] = { &sfx1C8, MUSIC_PLAYER_00, MUSIC_PLAYER_00 },
+ [SFX_1C9] = { &sfx1C9, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_1CA] = { &sfx1CA, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_1CB] = { &sfx1CB, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_1CC] = { &sfx1CC, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
+ [SFX_ELEMENT_PLACE] = { &sfxElementPlace, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_ELEMENT_FLOAT] = { &sfxElementFloat, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_ELEMENT_CHARGE] = { &sfxElementCharge, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_1D0] = { &sfx1D0, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_ELEMENT_INFUSE] = { &sfxElementInfuse, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_1D2] = { &sfx1D2, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_1D3] = { &sfx1D3, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_1D4] = { &sfx1D4, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_1D5] = { &sfx1D5, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_VO_CUCCO1] = { &sfxVoCucco1, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_VO_CUCCO2] = { &sfxVoCucco2, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_VO_CUCCO3] = { &sfxVoCucco3, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_VO_CUCCO4] = { &sfxVoCucco4, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_VO_CUCCO5] = { &sfxVoCucco5, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_1DB] = { &sfx1DB, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_1DC] = { &sfx1DC, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_1DD] = { &sfx1DD, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_1DE] = { &sfx1DE, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_1DF] = { &sfx1DF, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_1E0] = { &sfx1E0, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_1E1] = { &sfx1E1, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_1E2] = { &sfx1E2, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_1E3] = { &sfx1E3, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_1E4] = { &sfx1E4, MUSIC_PLAYER_02, MUSIC_PLAYER_02 },
+ [SFX_1E5] = { &sfx1E5, MUSIC_PLAYER_02, MUSIC_PLAYER_02 },
+ [SFX_1E6] = { &sfx1E6, MUSIC_PLAYER_02, MUSIC_PLAYER_02 },
+ [SFX_1E7] = { &sfx1E7, MUSIC_PLAYER_02, MUSIC_PLAYER_02 },
+ [SFX_1E8] = { &sfx1E8, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_1E9] = { &sfx1E9, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_1EA] = { &sfx1EA, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_1EB] = { &sfx1EB, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_1EC] = { &sfx1EC, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_1ED] = { &sfx1ED, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_1EE] = { &sfx1EE, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_1EF] = { &sfx1EF, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_1F0] = { &sfx1F0, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_1F1] = { &sfx1F1, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_1F2] = { &sfx1F2, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_1F3] = { &sfx1F3, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_1F4] = { &sfx1F4, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_1F5] = { &sfx1F5, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_1F6] = { &sfx1F6, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_1F7] = { &sfx1F7, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_1F8] = { &sfx1F8, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_1F9] = { &sfx1F9, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_1FA] = { &sfx1FA, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_1FB] = { &sfx1FB, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_1FC] = { &sfx1FC, MUSIC_PLAYER_12, MUSIC_PLAYER_12 },
+ [SFX_1FD] = { &sfx1FD, MUSIC_PLAYER_13, MUSIC_PLAYER_13 },
+ [SFX_1FE] = { &sfx1FE, MUSIC_PLAYER_14, MUSIC_PLAYER_14 },
+ [SFX_1FF] = { &sfx1FF, MUSIC_PLAYER_15, MUSIC_PLAYER_15 },
+ [SFX_200] = { &sfx200, MUSIC_PLAYER_16, MUSIC_PLAYER_16 },
+ [SFX_201] = { &sfx201, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
+ [SFX_202] = { &sfx202, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_203] = { &sfx203, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_204] = { &sfx204, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_205] = { &sfx205, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_206] = { &sfx206, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_207] = { &sfx207, MUSIC_PLAYER_11, MUSIC_PLAYER_11 },
+ [SFX_208] = { &sfx208, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_209] = { &sfx209, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_20A] = { &sfx20A, MUSIC_PLAYER_06, MUSIC_PLAYER_06 },
+ [SFX_20B] = { &sfx20B, MUSIC_PLAYER_07, MUSIC_PLAYER_07 },
+ [SFX_20C] = { &sfx20C, MUSIC_PLAYER_08, MUSIC_PLAYER_08 },
+ [SFX_20D] = { &sfx20D, MUSIC_PLAYER_09, MUSIC_PLAYER_09 },
+ [SFX_20E] = { &sfx20E, MUSIC_PLAYER_0A, MUSIC_PLAYER_0A },
+ [SFX_20F] = { &sfx20F, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_210] = { &sfx210, MUSIC_PLAYER_0C, MUSIC_PLAYER_0C },
+ [SFX_211] = { &sfx211, MUSIC_PLAYER_0D, MUSIC_PLAYER_0D },
+ [SFX_212] = { &sfx212, MUSIC_PLAYER_0E, MUSIC_PLAYER_0E },
+ [SFX_213] = { &sfx213, MUSIC_PLAYER_0F, MUSIC_PLAYER_0F },
+ [SFX_214] = { &sfx214, MUSIC_PLAYER_10, MUSIC_PLAYER_10 },
+ [SFX_215] = { &sfx215, MUSIC_PLAYER_05, MUSIC_PLAYER_05 },
+ [SFX_216] = { &sfx216, MUSIC_PLAYER_1E, MUSIC_PLAYER_1E },
+ [SFX_217] = { &sfx217, MUSIC_PLAYER_1E, MUSIC_PLAYER_1E },
+ [SFX_218] = { &sfx218, MUSIC_PLAYER_04, MUSIC_PLAYER_04 },
+ [SFX_219] = { &sfx219, MUSIC_PLAYER_03, MUSIC_PLAYER_03 },
+ [SFX_21A] = { &sfx21A, MUSIC_PLAYER_0B, MUSIC_PLAYER_0B },
+ [SFX_21B] = { &sfx21B, MUSIC_PLAYER_1D, MUSIC_PLAYER_1D },
+ [SFX_21C] = { &sfx21C, MUSIC_PLAYER_1C, MUSIC_PLAYER_1C },
+ [SFX_21D] = { &sfx21D, MUSIC_PLAYER_1B, MUSIC_PLAYER_1B },
+ [SFX_21E] = { &sfx21E, MUSIC_PLAYER_1A, MUSIC_PLAYER_1A },
+ [SFX_21F] = { &sfx21F, MUSIC_PLAYER_19, MUSIC_PLAYER_19 },
+ [SFX_220] = { &sfx220, MUSIC_PLAYER_18, MUSIC_PLAYER_18 },
+ [SFX_221] = { &sfx221, MUSIC_PLAYER_17, MUSIC_PLAYER_17 },
};
diff --git a/src/gba/m4a.c b/src/gba/m4a.c
index 79b7dc35..82dbb39e 100644
--- a/src/gba/m4a.c
+++ b/src/gba/m4a.c
@@ -42,7 +42,6 @@ typedef void (*CgbSoundFunc)(void);
typedef void (*CgbOscOffFunc)(u8);
typedef u32 (*MidiKeyToCgbFreqFunc)(u8, u8, u8);
typedef void (*ExtVolPitFunc)(void);
-typedef void (*MPlayMainFunc)(MusicPlayerInfo*);
typedef void (*XcmdFunc)(MusicPlayerInfo*, MusicPlayerTrack*);
typedef struct CgbChannel {
@@ -85,42 +84,6 @@ typedef struct CgbChannel {
u8 unk4[8];
} CgbChannel;
-typedef struct SoundChannel {
- u8 statusFlags;
- u8 type;
- u8 rightVolume;
- u8 leftVolume;
- u8 attack;
- u8 decay;
- u8 sustain;
- u8 release;
- u8 key;
- u8 envelopeVolume;
- u8 envelopeVolumeRight;
- u8 envelopeVolumeLeft;
- u8 echoVolume;
- u8 echoLength;
- u8 unk0;
- u8 unk1;
- u8 gateTime;
- u8 midiKey;
- u8 velocity;
- u8 priority;
- u8 rhythmPan;
- u8 unk2[3];
- u32 count;
- u32 fw;
- u32 frequency;
- WaveData* wav;
- u32 currentPointer;
- MusicPlayerTrack* track;
- u32 prev;
- u32 next;
- u32 unk3;
- u16 xpi;
- u16 xpc;
-} SoundChannel;
-
#define MAX_DIRECTSOUND_CHANNELS 12
#define PCM_DMA_BUF_SIZE 1584 // size of Direct Sound buffer
@@ -162,56 +125,6 @@ typedef struct SoundInfo {
s8 pcmBuffer[PCM_DMA_BUF_SIZE];
} SoundInfo;
-#define MPT_FLG_VOLSET 0x01
-#define MPT_FLG_VOLCHG 0x03
-#define MPT_FLG_PITSET 0x04
-#define MPT_FLG_PITCHG 0x0C
-#define MPT_FLG_START 0x40
-#define MPT_FLG_EXIST 0x80
-
-// typedef above
-struct MusicPlayerTrack {
- u8 flags;
- u8 wait;
- u8 patternLevel;
- u8 repN;
- u8 gateTime;
- u8 key;
- u8 velocity;
- u8 runningStatus;
- u8 keyM;
- u8 pitM;
- s8 keyShift;
- s8 keyShiftX;
- s8 tune;
- u8 pitX;
- s8 bend;
- u8 bendRange;
- u8 volMR;
- u8 volML;
- u8 vol;
- u8 volX;
- s8 pan;
- s8 panX;
- s8 modM;
- u8 mod;
- u8 modT;
- u8 lfoSpeed;
- u8 lfoSpeedC;
- u8 lfoDelay;
- u8 lfoDelayC;
- u8 priority;
- u8 echoVolume;
- u8 echoLength;
- SoundChannel* chan;
- ToneData tone;
- u8 gap[10];
- u16 unk_3A;
- u32 unk_3C;
- u8* cmdPtr;
- u8* patternStack[3];
-};
-
#define MUSICPLAYER_STATUS_TRACK 0x0000ffff
#define MUSICPLAYER_STATUS_PAUSE 0x80000000
@@ -222,31 +135,6 @@ struct MusicPlayerTrack {
#define FADE_VOL_MAX 64
#define FADE_VOL_SHIFT 2
-// typedef above
-struct MusicPlayerInfo {
- const SongHeader* songHeader;
- u32 status;
- u8 trackCount;
- u8 priority;
- u8 cmd;
- u8 unk_B;
- u32 clock;
- u8 gap[8];
- u8* memAccArea;
- u16 tempoD;
- u16 tempoU;
- u16 tempoI;
- u16 tempoC;
- u16 fadeOI;
- u16 fadeOC;
- u16 fadeOV;
- MusicPlayerTrack* tracks;
- ToneData* tone;
- u32 ident;
- MPlayMainFunc func;
- u32* intp;
-};
-
extern u8 gMPlayMemAccArea[];
extern char SoundMainRAM[];
@@ -471,9 +359,9 @@ void m4aSoundInit(void) {
(8 << SOUND_MODE_MAXCHN_SHIFT));
for (i = 0; i < NUM_MUSIC_PLAYERS; i++) {
- MusicPlayerInfo* mplayInfo = gMPlayTable[i].info;
- MPlayOpen(mplayInfo, gMPlayTable[i].track, gMPlayTable[i].unk_8);
- mplayInfo->unk_B = gMPlayTable[i].unk_A;
+ MusicPlayerInfo* mplayInfo = gMusicPlayers[i].info;
+ MPlayOpen(mplayInfo, gMusicPlayers[i].tracks, gMusicPlayers[i].nTracks);
+ mplayInfo->unk_B = gMusicPlayers[i].unk_A;
mplayInfo->memAccArea = gMPlayMemAccArea;
}
}
@@ -483,19 +371,19 @@ void m4aSoundMain(void) {
}
void m4aSongNumStart(u16 n) {
- const MusicPlayer* mplayTable = gMPlayTable;
+ const MusicPlayer* mplayTable = gMusicPlayers;
const Song* songTable = gSongTable;
const Song* song = &songTable[n];
- const MusicPlayer* mplay = &mplayTable[song->ms];
+ const MusicPlayer* mplay = &mplayTable[song->musicPlayerIndex];
MPlayStart(mplay->info, song->header);
}
void m4aSongNumStartOrChange(u16 n) {
- const MusicPlayer* mplayTable = gMPlayTable;
+ const MusicPlayer* mplayTable = gMusicPlayers;
const Song* songTable = gSongTable;
const Song* song = &songTable[n];
- const MusicPlayer* mplay = &mplayTable[song->ms];
+ const MusicPlayer* mplay = &mplayTable[song->musicPlayerIndex];
if (mplay->info->songHeader != song->header) {
MPlayStart(mplay->info, song->header);
@@ -507,10 +395,10 @@ void m4aSongNumStartOrChange(u16 n) {
}
void m4aSongNumStartOrContinue(u16 n) {
- const MusicPlayer* mplayTable = gMPlayTable;
+ const MusicPlayer* mplayTable = gMusicPlayers;
const Song* songTable = gSongTable;
const Song* song = &songTable[n];
- const MusicPlayer* mplay = &mplayTable[song->ms];
+ const MusicPlayer* mplay = &mplayTable[song->musicPlayerIndex];
if (mplay->info->songHeader != song->header)
MPlayStart(mplay->info, song->header);
@@ -521,20 +409,20 @@ void m4aSongNumStartOrContinue(u16 n) {
}
void m4aSongNumStop(u16 n) {
- const MusicPlayer* mplayTable = gMPlayTable;
+ const MusicPlayer* mplayTable = gMusicPlayers;
const Song* songTable = gSongTable;
const Song* song = &songTable[n];
- const MusicPlayer* mplay = &mplayTable[song->ms];
+ const MusicPlayer* mplay = &mplayTable[song->musicPlayerIndex];
if (mplay->info->songHeader == song->header)
MPlayStop(mplay->info);
}
void m4aSongNumContinue(u16 n) {
- const MusicPlayer* mplayTable = gMPlayTable;
+ const MusicPlayer* mplayTable = gMusicPlayers;
const Song* songTable = gSongTable;
const Song* song = &songTable[n];
- const MusicPlayer* mplay = &mplayTable[song->ms];
+ const MusicPlayer* mplay = &mplayTable[song->musicPlayerIndex];
if (mplay->info->songHeader == song->header)
MPlayContinue(mplay->info);
@@ -544,7 +432,7 @@ void m4aMPlayAllStop(void) {
s32 i;
for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
- MPlayStop(gMPlayTable[i].info);
+ MPlayStop(gMusicPlayers[i].info);
}
void m4aMPlayContinue(MusicPlayerInfo* mplayInfo) {
@@ -555,7 +443,7 @@ void m4aMPlayAllContinue(void) {
s32 i;
for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
- MPlayContinue(gMPlayTable[i].info);
+ MPlayContinue(gMusicPlayers[i].info);
}
void m4aMPlayFadeOut(MusicPlayerInfo* mplayInfo, u16 speed) {