#ifndef D_SND_EVENT_H #define D_SND_EVENT_H #include "common.h" typedef void (*SndEventCallback)(void); typedef void (*SndEventFinalizeCallback)(bool skipped); typedef void (*SndEventMsgWaitCallback)(u32 msgWaitSelectCounter); struct SndEventDef { /* 0x00 */ const char *eventName; /* 0x04 */ s32 eventId; /* 0x08 */ SndEventCallback initializeCb; /* 0x0C */ SndEventCallback executeCb; /* 0x10 */ SndEventFinalizeCallback finalizeCb; /* 0x14 */ SndEventMsgWaitCallback msgWaitStartCb; // always null /* 0x18 */ SndEventMsgWaitCallback msgWaitEndCb; // always null }; enum SndEvent_e { /* 0x00 */ SND_EVENT_DefaultStart = 0x00, /* 0x01 */ SND_EVENT_SkyDiveStart = 0x01, /* 0x02 */ SND_EVENT_ShortDiveStart = 0x02, /* 0x03 */ SND_EVENT_ParachuteStart = 0x03, /* 0x04 */ SND_EVENT_SirenBackStart = 0x04, /* 0x05 */ SND_EVENT_TimeDoorIn = 0x05, /* 0x06 */ SND_EVENT_TimeDoorOut = 0x06, /* 0x07 */ SND_EVENT_ReturnSkyloft = 0x07, /* 0x08 */ SND_EVENT_Shutter = 0x08, /* 0x09 */ SND_EVENT_DayTime = 0x09, /* 0x0A */ SND_EVENT_BedStart = 0x0A, /* 0x0B */ SND_EVENT_TboxShow = 0x0B, /* 0x0C */ SND_EVENT_TreasureBoxOpen = 0x0C, /* 0x0D */ SND_EVENT_TreasureBoxOpenBoss = 0x0D, /* 0x0E */ SND_EVENT_FaysSirenSong = 0x0E, /* 0x0F */ SND_EVENT_fays_song_fin_siren = 0x0F, /* 0x10 */ SND_EVENT_SDGateInOpen = 0x10, /* 0x11 */ SND_EVENT_SealedDoorOpen = 0x11, /* 0x12 */ SND_EVENT_SealedDoorClose = 0x12, /* 0x13 */ SND_EVENT_HeartContainer = 0x13, /* 0x14 */ SND_EVENT_ordinary_sword_sprit = 0x14, /* 0x15 */ SND_EVENT_fays_navigate = 0x15, /* 0x16 */ SND_EVENT_fays_allert = 0x16, /* 0x17 */ SND_EVENT_DefaultGetItem = 0x17, /* 0x18 */ SND_EVENT_ItemGetGorgeous = 0x18, /* 0x19 */ SND_EVENT_Save = 0x19, /* 0x1A */ SND_EVENT_SwordDraw = 0x1A, /* 0x1B */ SND_EVENT_SwordDrawDoorNew = 0x1B, /* 0x1C */ SND_EVENT_DoorBossGame = 0x1C, /* 0x1D */ SND_EVENT_FallRestart = 0x1D, /* 0x1E */ SND_EVENT_DeadMagma = 0x1E, /* 0x1F */ SND_EVENT_DeadSink = 0x1F, /* 0x20 */ SND_EVENT_Dead = 0x20, /* 0x21 */ SND_EVENT_DeadDive = 0x21, /* 0x22 */ SND_EVENT_SirenChaser2 = 0x22, /* 0x23 */ SND_EVENT_JMAP = 0x23, /* 0x24 */ SND_EVENT_JMAPAllMove = 0x24, /* 0x25 */ SND_EVENT_OracleInSiren = 0x25, /* 0x26 */ SND_EVENT_CeremonyByRescueTeam = 0x26, /* 0x27 */ SND_EVENT_BirdRaceStart = 0x27, /* 0x28 */ SND_EVENT_GoddessGateOpen = 0x28, /* 0x29 */ SND_EVENT_FaysPharosSong = 0x29, /* 0x2A */ SND_EVENT_fays_song_pharos = 0x2A, /* 0x2B */ SND_EVENT_fays_song_fin_pharos = 0x2B, /* 0x2D */ SND_EVENT_HarpPerformanceResult = 0x2D, /* 0x2E */ SND_EVENT_ItemGetBird = 0x2E, /* 0x2F */ SND_EVENT_DivingMGStart = 0x2F, /* 0x30 */ SND_EVENT_DiveGameResult = 0x30, /* 0x31 */ SND_EVENT_StartCarryPumpkin = 0x31, /* 0x32 */ SND_EVENT_CarryPumpkinResultsFailed = 0x32, /* 0x33 */ SND_EVENT_CarryPumpkinResultsSuccessful = 0x33, /* 0x34 */ SND_EVENT_NusiAppearDemo = 0x34, /* 0x35 */ SND_EVENT_NusiTHideAppearDemo = 0x35, /* 0x36 */ SND_EVENT_TenAppearDemo = 0x36, /* 0x37 */ SND_EVENT_NusiTDeathDemo = 0x37, /* 0x38 */ SND_EVENT_NusiDeathDemo = 0x38, /* 0x39 */ SND_EVENT_F100IntroByFay = 0x39, /* 0x3A */ SND_EVENT_BC_wakidasi = 0x3A, /* 0x3B */ SND_EVENT_Kyui3Fall = 0x3B, /* 0x3C */ SND_EVENT_F102Intro2 = 0x3C, /* 0x3D */ SND_EVENT_Uo = 0x3D, /* 0x3E */ SND_EVENT_WaterfallStop = 0x3E, /* 0x3F */ SND_EVENT_F103Intro2 = 0x3F, /* 0x40 */ SND_EVENT_Onp = 0x40, /* 0x41 */ SND_EVENT_F103_UoMS = 0x41, /* 0x42 */ SND_EVENT_F200IntroByFay = 0x42, /* 0x43 */ SND_EVENT_F202_R02Intro = 0x43, /* 0x44 */ SND_EVENT_SearchLightDemo = 0x44, /* 0x45 */ SND_EVENT_F300_1IntroByFay = 0x45, /* 0x46 */ SND_EVENT_FirstTimeSlip = 0x46, /* 0x47 */ SND_EVENT_F301IntroByFay = 0x47, /* 0x49 */ SND_EVENT_F302RevivalRairyu = 0x49, /* 0x4A */ SND_EVENT_F401IntroByFay = 0x4A, /* 0x4B */ SND_EVENT_BBossAppear = 0x4B, /* 0x4C */ SND_EVENT_BBFLYDEMO = 0x4C, /* 0x4D */ SND_EVENT_BBossEvac = 0x4D, /* 0x4E */ SND_EVENT_BBoss2Evac = 0x4E, /* 0x4F */ SND_EVENT_BBoss3Evac = 0x4F, /* 0x50 */ SND_EVENT_BBFuuin = 0x50, /* 0x51 */ SND_EVENT_BBHDTH = 0x51, /* 0x52 */ SND_EVENT_BBHDRC = 0x52, /* 0x53 */ SND_EVENT_BBFCL = 0x53, /* 0x54 */ SND_EVENT_BBTUTO = 0x54, /* 0x55 */ SND_EVENT_F402L3QuakeStart = 0x55, /* 0x56 */ SND_EVENT_Girahimu3SecondAppearDemo = 0x56, /* 0x57 */ SND_EVENT_SF_start = 0x57, /* 0x58 */ SND_EVENT_GirahimuSwordDemo = 0x58, /* 0x59 */ SND_EVENT_SF4_Op = 0x59, /* 0x5A */ SND_EVENT_SF4_End = 0x5A, /* 0x5C */ SND_EVENT_AsuraStart = 0x5C, /* 0x5D */ SND_EVENT_AsuraStartB = 0x5D, /* 0x5E */ SND_EVENT_ELizarufos_c_opening = 0x5E, /* 0x5F */ SND_EVENT_D200R04Rock = 0x5F, /* 0x60 */ SND_EVENT_RollRockLspJump = 0x60, /* 0x62 */ SND_EVENT_RollRockLspAppear = 0x62, /* 0x63 */ SND_EVENT_RollRockChangeVera = 0x63, /* 0x64 */ SND_EVENT_MoleInitFear = 0x64, /* 0x65 */ SND_EVENT_MolePushSwitch = 0x65, /* 0x66 */ SND_EVENT_MoleInitTalk = 0x66, /* 0x67 */ SND_EVENT_CatchMole = 0x67, /* 0x68 */ SND_EVENT_D201IronFence = 0x68, /* 0x69 */ SND_EVENT_MogMolShut = 0x69, /* 0x6A */ SND_EVENT_MogMolOpen = 0x6A, /* 0x6B */ SND_EVENT_LavaPlate = 0x6B, /* 0x6C */ SND_EVENT_ResqueMole = 0x6C, /* 0x6D */ SND_EVENT_MG_start = 0x6D, /* 0x6E */ SND_EVENT_ECaptain_c_Opening = 0x6E, /* 0x6F */ SND_EVENT_BKR_start = 0x6F, /* 0x70 */ SND_EVENT_BKR_end = 0x70, /* 0x71 */ SND_EVENT_BKR_armCaught = 0x71, /* 0x72 */ SND_EVENT_BLS_demo2 = 0x72, /* 0x73 */ SND_EVENT_BLS_end = 0x73, /* 0x74 */ SND_EVENT_D003Intro = 0x74, /* 0x75 */ SND_EVENT_ECaptain_c_OpeningType2 = 0x75, /* 0x76 */ SND_EVENT_NeedleUnderground = 0x76, /* 0x77 */ SND_EVENT_TriforceWarp = 0x77, /* 0x78 */ SND_EVENT_0x78 = 0x78, /* 0x79 */ SND_EVENT_Demo03_03 = 0x79, /* 0x7A */ SND_EVENT_Demo15_04 = 0x7A, /* 0x7B */ SND_EVENT_Demo08_01 = 0x7B, /* 0x7C */ SND_EVENT_Demo36_01 = 0x7C, /* 0x7D */ SND_EVENT_Demo41_01 = 0x7D, /* 0x7E */ SND_EVENT_Demo59_01 = 0x7E, /* 0x7F */ SND_EVENT_Demo62_01 = 0x7F, /* 0x80 */ SND_EVENT_Demo64_06 = 0x80, /* 0x81 */ SND_EVENT_Demo70_01 = 0x81, /* 0x82 */ SND_EVENT_Demo70_02 = 0x82, /* 0x83 */ SND_EVENT_Demo72_01 = 0x83, /* 0x84 */ SND_EVENT_Demo77_01 = 0x84, /* 0x85 */ SND_EVENT_Demo79_01 = 0x85, /* 0x86 */ SND_EVENT_0x86 = 0x86, /* 0x87 */ SND_EVENT_0x87 = 0x87, /* 0x88 */ SND_EVENT_0x88 = 0x88, /* 0x89 */ SND_EVENT_0x89 = 0x89, }; #endif