#pragma once

#include "global.h"
#include "types.h"

typedef u32 SfxId;
enum SfxId_ {
    SfxId_None = 0x0,

    SfxId_Music_StoryIntro         = 0x2,
    SfxId_Music_StoryOutsetIsland  = 0x3,
    SfxId_Music_StoryZeldasLullaby = 0x4,
    SfxId_Music_DarkKingGanon      = 0x5,
    SfxId_Music_TheHeroOfTheWinds  = 0x6,
    SfxId_Music_OffToTheSeas       = 0x7,
    SfxId_Music_ThePirateShip_1    = 0x8,
    SfxId_Music_TheKingOfTheOceans = 0x9,
    SfxId_Music_InTheDarkDungeon_1 = 0xa,
    SfxId_Music_LinebecksTheme     = 0xb,
    SfxId_Fanfare_KeyDizzy         = 0xc,
    SfxId_Music_MagicInTheAir_1    = 0xd,
    SfxId_Music_TheSandsOfTime_1   = 0xe,
    SfxId_Fanfare_Discovery_1      = 0xf,
    SfxId_Music_MagicInTheAir_2    = 0x10,
    SfxId_Music_TheSandsOfTime_2   = 0x11,
    SfxId_Fanfare_Discovery_2      = 0x12,
    SfxId_Music_MagicInTheAir_3    = 0x13,

    SfxId_Music_MagicInTheAir_4 = 0x15,
    SfxId_Music_Credits         = 0x16,

    SfxId_Music_DarkMemories     = 0x18,
    SfxId_Music_TheSandsOfTime_3 = 0x19,
    SfxId_Fanfare_Discovery_3    = 0x1a,

    SfxId_Fanfare_Nothing_1      = 0x1c,
    SfxId_Music_TheSandsOfTime_4 = 0x1d,
    SfxId_Music_ZeldasLullaby    = 0x1e,

    SfxId_Music_BellumLoop = 0x21,

    SfxId_Music_ThePirateShip_2 = 0x25,

    SfxId_Music_FairyFountain    = 0x27,
    SfxId_Fanfare_Treasure       = 0x28,
    SfxId_Fanfare_Rupee          = 0x29,
    SfxId_Fanfare_GoldRupee      = 0x2a,
    SfxId_Fanfare_Rupoor         = 0x2b,
    SfxId_Fanfare_Nothing_2      = 0x2c,
    SfxId_Fanfare_HeartContainer = 0x2d,
    SfxId_Fanfare_Gem            = 0x2e,
    SfxId_Fanfare_Discovery_4    = 0x2f,
    SfxId_Music_Indoors_1        = 0x30,
    SfxId_Music_Indoors_2        = 0x31,
    SfxId_Music_Lithoroves       = 0x32,
    SfxId_Music_Indoors_3        = 0x33,
    SfxId_Music_AstridsTheme     = 0x34,

    SfxId_Music_Indoors_4 = 0x38,
    SfxId_Music_Indoors_5 = 0x39,
    SfxId_Music_Indoors_6 = 0x3a,
    SfxId_Music_Indoors_7 = 0x3b,
    SfxId_Music_Indoors_8 = 0x3c,

    SfxId_Music_ThePirateShip_3   = 0x3e,
    SfxId_Music_BeedlesShopShip_1 = 0x3f,
    SfxId_Music_BeedlesShopShip_2 = 0x40,

    SfxId_Music_Indoors_9                 = 0x42,
    SfxId_Music_Indoors_10                = 0x43,
    SfxId_Music_Indoors_11                = 0x44,
    SfxId_Music_Indoors_12                = 0x45,
    SfxId_Music_Indoors_13                = 0x46,
    SfxId_Music_DangerInTheGreatBlueSea_1 = 0x47,
    SfxId_Music_DangerInTheGreatBlueSea_2 = 0x48,
    SfxId_Music_TheDarkCaves_1            = 0x49,
    SfxId_Fanfare_OhNo                    = 0x4a,
    SfxId_Music_GameOver                  = 0x4b,
    SfxId_Fanfare_TempleOfTheOceanKing    = 0x4c,
    SfxId_Music_EnemyBattle_1             = 0x4d,
    SfxId_Music_MercayIsland_1            = 0x4e,
    SfxId_Music_UnchartedTerritory_1      = 0x4f,
    SfxId_Music_MercayIsland_2            = 0x50,
    SfxId_Music_UnchartedTerritory_2      = 0x51,
    SfxId_Music_MercayIsland_3            = 0x52,
    SfxId_Music_UnchartedTerritory_3      = 0x53,
    SfxId_Music_UnchartedTerritory_4      = 0x54,
    SfxId_Music_UnchartedTerritory_5      = 0x55,
    SfxId_Music_MercayIsland_4            = 0x56,
    SfxId_Music_UnchartedTerritory_6      = 0x57,
    SfxId_Music_TheGorons                 = 0x58,
    SfxId_Music_UnchartedTerritory_7      = 0x59,
    SfxId_Music_UnchartedTerritory_8      = 0x5a,
    SfxId_Music_UnchartedTerritory_9      = 0x5b,
    SfxId_Music_UnchartedTerritory_10     = 0x5c,
    SfxId_Music_MercayIsland_5            = 0x5d,
    SfxId_Music_UnchartedTerritory_11     = 0x5e,
    SfxId_Music_UnchartedTerritory_12     = 0x5f,

    SfxId_Music_MercayIsland_6        = 0x61,
    SfxId_Music_MercayIsland_7        = 0x62,
    SfxId_Music_MercayIsland_8        = 0x63,
    SfxId_Music_UnchartedTerritory_13 = 0x64,

    SfxId_Music_GhostShip           = 0x66,
    SfxId_Music_ChasingTheGhostShip = 0x67,
    SfxId_Music_EnemyBattle_2       = 0x68,
    SfxId_Music_JoleneAppears       = 0x69,
    SfxId_Music_JoleneAppearsLoop   = 0x6a,
    SfxId_Music_JoleneVsLink_1      = 0x6b,
    SfxId_Music_JoleneVsLink_2      = 0x6c,
    SfxId_Music_JoleneVsLinkEnd     = 0x6d,
    SfxId_Music_InTheDarkDungeon_2  = 0x6e,
    SfxId_Music_InTheDarkDungeon_3  = 0x6f,

    SfxId_Music_InTheDarkDungeon_4 = 0x72,

    SfxId_Music_InTheDarkDungeon_5 = 0x75,

    SfxId_Music_InTheDarkDungeon_6 = 0x78,
    SfxId_Music_InTheDarkDungeon_7 = 0x79,
    SfxId_Music_InTheDarkDungeon_8 = 0x7a,
    SfxId_Music_InTheDarkDungeon_9 = 0x7b,
    SfxId_Music_TheDarkCaves_2     = 0x7c,

    SfxId_Music_InTheDarkDungeon_10 = 0x7f,
    SfxId_Music_TheDarkCaves_3      = 0x80,

    SfxId_Music_InTheDarkDungeon_11 = 0x83,
    SfxId_Music_TheDarkCaves_4      = 0x84,

    SfxId_Music_InTheDarkDungeon_12 = 0x87,
    SfxId_Music_TheDarkCaves_5      = 0x88,
    SfxId_Music_InTheDarkDungeon_13 = 0x89,
    SfxId_Music_InTheDarkDungeon_14 = 0x8b,
    SfxId_Music_InTheDarkDungeon_15 = 0x8c,
    SfxId_Music_InTheDarkDungeon_16 = 0x8d,
    SfxId_Music_InTheDarkDungeon_17 = 0x8e,
    SfxId_Music_InTheDarkDungeon_18 = 0x8f,
    SfxId_Music_InTheDarkDungeon_19 = 0x90,
    SfxId_Music_InTheDarkDungeon_20 = 0x91,
    SfxId_Music_InTheDarkDungeon_21 = 0x92,
    SfxId_Music_InTheDarkDungeon_22 = 0x93,
    SfxId_Music_InTheDarkDungeon_23 = 0x94,
    SfxId_Music_InTheDarkDungeon_24 = 0x95,
    SfxId_Music_InTheDarkDungeon_25 = 0x96,
    SfxId_Music_TheDarkCaves_6      = 0x97,
    SfxId_Music_TheDarkCaves_7      = 0x98,
    SfxId_Music_TheDarkCaves_8      = 0x99,
    SfxId_Music_TheDarkCaves_9      = 0x9a,
    SfxId_Music_TheDarkCaves_10     = 0x9b,

    SfxId_Music_InTheDarkDungeon_26 = 0x9e,
    SfxId_Music_InTheDarkDungeon_27 = 0x9f,
    SfxId_Music_InTheDarkDungeon_28 = 0xa0,
    SfxId_Music_TheDarkCaves_11     = 0xa1,
    SfxId_Music_TheDarkCaves_12     = 0xa2,
    SfxId_Music_InTheDarkDungeon_29 = 0xa3,
    SfxId_Music_TheDarkCaves_13     = 0xa4,
    SfxId_Music_TheDarkCaves_14     = 0xa5,

    SfxId_Music_PhantomChase_1     = 0xa7,
    SfxId_Music_FencingPractice_1  = 0xa8,
    SfxId_Music_FencingPractice_2  = 0xa9,
    SfxId_Music_FencingPractice_3  = 0xaa,
    SfxId_Music_FencingPractice_4  = 0xab,
    SfxId_Music_FencingPractice_5  = 0xac,
    SfxId_Music_FencingPractice_6  = 0xad,
    SfxId_Music_FencingPractice_7  = 0xae,
    SfxId_Music_FencingPractice_8  = 0xaf,
    SfxId_Music_FencingPractice_9  = 0xb0,
    SfxId_Music_FencingPractice_10 = 0xb1,
    SfxId_Music_FencingPractice_11 = 0xb2,
    SfxId_Music_FencingPractice_12 = 0xb3,
    SfxId_Mandolin_Chord_1         = 0xb4,
    SfxId_Mandolin_Chord_2         = 0xb5,
    SfxId_Mandolin_Chord_3         = 0xb6,
    SfxId_Mandolin_Chord_4         = 0xb7,
    SfxId_Mandolin_Chord_5         = 0xb8,
    SfxId_Mandolin_Chord_6         = 0xb9,
    SfxId_Mandolin_Chord_7         = 0xba,
    SfxId_Mandolin_Chord_8         = 0xbb,
    SfxId_Music_BeginContactMode   = 0xbc,
    SfxId_Fanfare_Checkpoint_1     = 0xbd,
    SfxId_Fanfare_Checkpoint_2     = 0xbe,
    SfxId_Fanfare_Checkpoint_3     = 0xbf,
    SfxId_Fanfare_Checkpoint_4     = 0xc0,
    SfxId_Fanfare_Checkpoint_5     = 0xc1,
    SfxId_Fanfare_Victory          = 0xc2,
    SfxId_Drumroll                 = 0xc3,
    SfxId_Fanfare_Stumble          = 0xc4,
    SfxId_Music_BossBattle_1       = 0xc5,
    SfxId_Music_BossBattle_2       = 0xc6,
    SfxId_Music_BossBattle_3       = 0xc7,
    SfxId_Music_BossBattle_4       = 0xc8,
    SfxId_Music_BossBattle_5       = 0xc9,
    SfxId_Music_BossBattle_6       = 0xca,
    SfxId_Music_BossBattle_7       = 0xcb,

    SfxId_Music_SpinSpinSpin_1 = 0xcf,

    SfxId_Music_SpinSpinSpin_2         = 0xd2,
    SfxId_Music_FencingPractice_13     = 0xd3,
    SfxId_Music_FencingPracticeStart   = 0xd4,
    SfxId_Music_BattleStageSelection_1 = 0xd5,
    SfxId_Music_FencingPractice_14     = 0xd6,
    SfxId_Music_FencingPractice_15     = 0xd7,
    SfxId_Music_FencingPractice_16     = 0xd8,
    SfxId_Music_FencingPractice_17     = 0xd9,
    SfxId_Music_IntoTheCrystalBall     = 0xe0,

    SfxId_Music_PhantomChase_2         = 0xe2,
    SfxId_Fanfare_GreatLoss            = 0xe3,
    SfxId_Fanfare_Incoming             = 0xe4,
    SfxId_Fanfare_GoalReached          = 0xe5,
    SfxId_Fanfare_LostGame_1           = 0xe6,
    SfxId_Fanfare_LostGame_2           = 0xe7,
    SfxId_Fanfare_BattleStart          = 0xe8,
    SfxId_Music_BattleEnd              = 0xe9,
    SfxId_Music_BattleStageSelection_2 = 0xea,
};
