From 7cbd63c33ddc7f3a22f38f8926a1d07c4cd00609 Mon Sep 17 00:00:00 2001 From: Tom Overton Date: Mon, 10 Jul 2023 15:30:21 -0700 Subject: [PATCH] Provide original sequence names for all BGM and rename some sequences (#1311) * Provide original sequence names for all BGM and rename some sequences * Include official soundtrack names, respond to reviews, rename some more sequences based on new evidence * Forgot to rename the shooting gallery sequence, oops * Rephrase the comment on NA_BGM_CLOCK_TOWN_MAIN_SEQUENCE --- include/sequence.h | 260 +++++++++++++++++++------------------- src/audio/code_8019AF00.c | 40 +++--- 2 files changed, 152 insertions(+), 148 deletions(-) diff --git a/include/sequence.h b/include/sequence.h index d8a9cd95a4..c9f1aa3f89 100644 --- a/include/sequence.h +++ b/include/sequence.h @@ -1,134 +1,138 @@ #ifndef SEQUENCE_H #define SEQUENCE_H -#define NA_BGM_GENERAL_SFX 0x00 // General Sound Effects -#define NA_BGM_AMBIENCE 0x01 // Ambient background noises -#define NA_BGM_TERMINA_FIELD 0x02 // Termina Field -#define NA_BGM_CHASE 0x03 // Forest Chase -#define NA_BGM_MAJORAS_THEME 0x04 // Majora's Theme "STALKID" -#define NA_BGM_CLOCK_TOWER 0x05 // The Clock Tower -#define NA_BGM_STONE_TOWER_TEMPLE 0x06 // Stone Tower Temple -#define NA_BGM_INV_STONE_TOWER_TEMPLE 0x07 // Stone Tower Temple Inverted -#define NA_BGM_FAILURE_0 0x08 // Missed Event 1 -#define NA_BGM_FAILURE_1 0x09 // Title -#define NA_BGM_HAPPY_MASK_SALESMAN 0x0A // Mask Salesman "OMENYA" -#define NA_BGM_SONG_OF_HEALING 0x0B // Song of Healing "DEMO_CURE" -#define NA_BGM_SWAMP_REGION 0x0C // Southern Swamp and Woodfall "DAMP_AREA" -#define NA_BGM_ALIEN_INVASION 0x0D // Ghost Attack "UFO" -#define NA_BGM_SWAMP_CRUISE 0x0E // Mini Game "JUNGLE_CREWS" -#define NA_BGM_SHARPS_CURSE 0x0F // Sharp's Curse -#define NA_BGM_GREAT_BAY_REGION 0x10 // Great Bay Coast "SEA_AREA" -#define NA_BGM_IKANA_REGION 0x11 // Ikana Valley -#define NA_BGM_DEKU_KING 0x12 // Court of the Deku King -#define NA_BGM_MOUNTAIN_REGION 0x13 // Mountain Village "SNOW_AREA" -#define NA_BGM_PIRATES_FORTRESS 0x14 // Pirates' Fortress "PIRATE_AREA" -#define NA_BGM_CLOCK_TOWN_DAY_1 0x15 // Clock Town Day 1 This song's filename is dummied out in MM3D "DUMMY_21" -#define NA_BGM_CLOCK_TOWN_DAY_2 0x16 // Clock Town Day 2 his song's filename is dummied out in MM3D "DUMMY_22" -#define NA_BGM_CLOCK_TOWN_DAY_3 0x17 // Clock Town Day 3 This song's filename is dummied out in MM3D "DUMMY_23" -#define NA_BGM_FILE_SELECT 0x18 // This song has no track name, as it's a duplicate of the Fairy's Fountain -#define NA_BGM_CLEAR_EVENT 0x19 // Event Clear -#define NA_BGM_ENEMY 0x1A // Battle -#define NA_BGM_BOSS 0x1B // Boss Battle -#define NA_BGM_WOODFALL_TEMPLE 0x1C // Woodfall Temple "JUNGLE_DUNGEON" -#define NA_BGM_MARKET 0x1D // Clock Town Day 1 Duplicate of #15. Interesting filename in MM3D. ✘ -#define NA_BGM_OPENING 0x1E // Forest Ambush -#define NA_BGM_INSIDE_A_HOUSE 0x1F // House "LINK_HOUSE" -#define NA_BGM_GAME_OVER 0x20 // Game Over -#define NA_BGM_CLEAR_BOSS 0x21 // Boss Clear -#define NA_BGM_GET_ITEM 0x22 // Item Catch -#define NA_BGM_GATE_OPEN 0x23 // Clock Town Day 2 Duplicate of #16. In MM3D, it shares its filename with the Door of Time song from OoT -#define NA_BGM_GET_HEART 0x24 // Complete a Heart Piece -#define NA_BGM_TIMED_MINI_GAME 0x25 // Playing a timed Minigame -#define NA_BGM_GORON_RACE 0x26 // Goron Race -#define NA_BGM_MUSIC_BOX_HOUSE 0x27 // Music Box House "ORGEL_HOUSE" -#define NA_BGM_FAIRY_FOUNTAIN 0x28 // Fairy's Fountain In MM3D, it shares its filename with the Door of Time song from OoT "GODESS" -#define NA_BGM_ZELDAS_LULLABY 0x29 // Zelda's Lullaby "HIME" -#define NA_BGM_ROSA_SISTERS 0x2A // Rosa Sisters' Dance "SISTER_DANCER" -#define NA_BGM_OPEN_CHEST 0x2B // Open Chest "OPEN_TRE_BOX" -#define NA_BGM_MARINE_RESEARCH_LAB 0x2C // Marine Research Laboratory "DRUGSTORE" -#define NA_BGM_GIANTS_THEME 0x2D // The Four Giants "KYOJIN_ROOM" -#define NA_BGM_SONG_OF_STORMS 0x2E // Guru-Guru's Song "FUSHA" -#define NA_BGM_ROMANI_RANCH 0x2F // Romani Ranch "RONRON" -#define NA_BGM_GORON_VILLAGE 0x30 // Goron Village -#define NA_BGM_MAYORS_OFFICE 0x31 // Mayor Dotour "MEETING" -#define NA_BGM_OCA_EPONA 0x32 // Ocarina Epona's Song -#define NA_BGM_OCA_SUNS 0x33 // Ocarina Sun's Song -#define NA_BGM_OCA_TIME 0x34 // Ocarina Song of Time "TIME_NORMAL" -#define NA_BGM_OCA_STORM 0x35 // Ocarina Song of Storms -#define NA_BGM_ZORA_HALL 0x36 // Zora Hall -#define NA_BGM_GET_NEW_MASK 0x37 // A New Mask -#define NA_BGM_MINI_BOSS 0x38 // Mini Boss "MIDDLE_BOSS" -#define NA_BGM_GET_SMALL_ITEM 0x39 // Small Item Catch "S_ITEM_GET" -#define NA_BGM_ASTRAL_OBSERVATORY 0x3A // Astral Observatory "TENMONDAI" -#define NA_BGM_CAVERN 0x3B // Clock Town Cavern "NORMAL_DUNGEON" -#define NA_BGM_MILK_BAR 0x3C // Milk Bar Latte -#define NA_BGM_ZELDA_APPEAR 0x3D // Meet Zelda (OoT) -#define NA_BGM_SARIAS_SONG 0x3E // Saria's Theme Song from OoT "MAYOIMORI" -#define NA_BGM_GORON_GOAL 0x3F // Goron Race Goal -#define NA_BGM_HORSE 0x40 // Gorman Race -#define NA_BGM_HORSE_GOAL 0x41 // Race Finish -#define NA_BGM_INGO 0x42 // Gorman Bros. "INGO" -#define NA_BGM_KOTAKE_POTION_SHOP 0x43 // Kotake's Potion Shop "KOTAKE_KOUME" -#define NA_BGM_SHOP 0x44 // Store -#define NA_BGM_OWL 0x45 // Gaebora's Theme -#define NA_BGM_MINI_GAME 0x46 // Target Practice -#define NA_BGM_OCA_SOARING 0x47 // Ocarina Song of Soaring "OCA_BIGWING" -#define NA_BGM_OCA_HEALING 0x48 // Ocarina Song of Healing "OCA_CURE" -#define NA_BGM_INVERTED_SONG_OF_TIME 0x49 // Inverted Song of Time "_SPEED" -#define NA_BGM_SONG_OF_DOUBLE_TIME 0x4A // Song of Double Time "TIME_JUMP" -#define NA_BGM_SONATA_OF_AWAKENING 0x4B // Sonata of Awakening "DEMO_AWAKING" -#define NA_BGM_GORON_LULLABY 0x4C // Goron Lullaby "DEMO_LULLABY" -#define NA_BGM_NEW_WAVE_BOSSA_NOVA 0x4D // New Wave Bossa Nova "DEMO_TIDE" -#define NA_BGM_ELEGY_OF_EMPTINESS 0x4E // Elegy of Emptiness "DEMO_SHELL" -#define NA_BGM_OATH_TO_ORDER 0x4F // Oath to Order "DEMO_PLEDGE" -#define NA_BGM_SWORD_TRAINING_HALL 0x50 // Sword Training "EXERCISE_HALL" -#define NA_BGM_GORON_LULLABY_INTRO 0x51 // Ocarina Goron Lullaby Intro "DEMO_LULLABY_HALF" -#define NA_BGM_OCA_FAIRY 0x52 // New Song "OCA_YOUSEI" -#define NA_BGM_BREMEN_MARCH 0x53 // Bremen March "FACEMASK" -#define NA_BGM_BALLAD_OF_THE_WIND_FISH 0x54 // Quartet performed in on the milk bar stage "QUARTET" -#define NA_BGM_SONG_OF_SOARING 0x55 // Song of Soaring "WING_WARP" -#define NA_BGM_MILK_BAR_DUPLICATE 0x56 // Milk Bar Latte Duplicate. "MILK_BAR_DUMMY" -#define NA_BGM_FINAL_HOURS 0x57 // Final Hours "TIME_LIMIT" -#define NA_BGM_MIKAU_RIFF 0x58 // Mikau's Tale "MIKAU_LIFF" -#define NA_BGM_MIKAU_FINALE 0x59 // A single guitar chord. "MIKAU_FIN" -#define NA_BGM_FROG_SONG 0x5A // Don Gero's Song -#define NA_BGM_OCA_SONATA 0x5B // Ocarina Sonata of Awakening "OCA_AWAKING" -#define NA_BGM_OCA_LULLABY 0x5C // Ocarina Goron Lullaby "OCA_LULLABY" -#define NA_BGM_OCA_NEW_WAVE 0x5D // Ocarina New Wave Bossa Nova "OCA_TIDE" -#define NA_BGM_OCA_ELEGY 0x5E // Ocarina Elegy of Emptiness "OCA_SHELL" -#define NA_BGM_OCA_OATH 0x5F // Ocarina Oath to Order "OCA_PLEDGE" -#define NA_BGM_MAJORAS_LAIR 0x60 // "LAST_DUNGEON" -#define NA_BGM_OCA_LULLABY_INTRO 0x61 // "OCA_LULLABY_HALF" -#define NA_BGM_OCA_GUITAR_BASS_SESSION 0x62 // Bass and Guitar Session "OCA_SESSION" -#define NA_BGM_PIANO_SESSION 0x63 // Piano Solo "DEMO_SESSION" -#define NA_BGM_INDIGO_GO_SESSION 0x64 // The Indigo-Go's Rehearsal "ALLPART_SESSION" -#define NA_BGM_SNOWHEAD_TEMPLE 0x65 // Snowhead Temple "SILVER_DUNGEON" -#define NA_BGM_GREAT_BAY_TEMPLE 0x66 // Great Bay Temple "DEEPBLUE_DUNGEON" -#define NA_BGM_NEW_WAVE_SAXOPHONE 0x67 // "DEMO_TIDE_SAX" -#define NA_BGM_NEW_WAVE_VOCAL 0x68 // "DEMO_TIDE_VOCAL" -#define NA_BGM_MAJORAS_WRATH 0x69 // Majora's Wrath "MUJURA_1" -#define NA_BGM_MAJORAS_INCARNATION 0x6A // Majora's Incarnation "MUJURA_2" -#define NA_BGM_MAJORAS_MASK 0x6B // Majora's Mask Battle "MUJURA_3" -#define NA_BGM_BASS_PLAY 0x6C // Bass Practice "BASS_PLAY" -#define NA_BGM_DRUMS_PLAY 0x6D // Drums Practice "DRUMS_PLAY" -#define NA_BGM_PIANO_PLAY 0x6E // Piano Practice "PIANO_PLAY" -#define NA_BGM_IKANA_CASTLE 0x6F // Ikana Castle -#define NA_BGM_GATHERING_GIANTS 0x70 // Calling the Four Giants -#define NA_BGM_KAMARO_DANCE 0x71 // Kamaro's Dance "CAMARO_DANCE" -#define NA_BGM_CREMIA_CARRIAGE 0x72 // Cremia's Carriage "DONKEY_CART" -#define NA_BGM_KEATON_QUIZ 0x73 // Keaton "QUIZ" -#define NA_BGM_END_CREDITS_1 0x74 // The End/Credits I "END_DEMO" -#define NA_BGM_OPENING_LOOP 0x75 // Forest Ambush (?) Duplicate. -#define NA_BGM_TITLE_THEME 0x76 // Title Screen -#define NA_BGM_DUNGEON_APPEAR 0x77 // Surfacing of Woodfall -#define NA_BGM_WOODFALL_CLEAR 0x78 // Woodfall Clear "PURIFICATION_0" -#define NA_BGM_SNOWHEAD_CLEAR 0x79 // Snowhead Clear "PURIFICATION_1" -#define NA_BGM_INTO_THE_MOON 0x7B // To the Moon -#define NA_BGM_GOODBYE_GIANT 0x7C // -#define NA_BGM_TATL_AND_TAEL 0x7D // Tatl and Tael "CHAT" -#define NA_BGM_MOONS_DESTRUCTION 0x7E // Moon's Destruction "MOON_VANISH" -#define NA_BGM_NO_MUSIC 0x7F // -#define NA_BGM_END_CREDITS_2 0x82 // The End/Credits II "STAFFROLL2" +// For the defines below, the names in quotes come from the official soundtrack, +// and the names in parentheses are internal names that come from MM3D. +#define NA_BGM_GENERAL_SFX 0x00 // General Sound Effects +#define NA_BGM_AMBIENCE 0x01 // Ambient background noises +#define NA_BGM_TERMINA_FIELD 0x02 // "Termina Field" (NA_BGM_FIELD) +#define NA_BGM_CHASE 0x03 // "Chase" (NA_BGM_CHASE) +#define NA_BGM_MAJORAS_THEME 0x04 // "Majora's Theme" (NA_BGM_STALKID) +#define NA_BGM_CLOCK_TOWER 0x05 // "Clock Tower" (NA_BGM_CLOCK_TOWER) +#define NA_BGM_STONE_TOWER_TEMPLE 0x06 // "Stone Tower Temple" - used for both Stone Tower and the Temple (NA_BGM_RUIN_DUNGEON_FRONT) +#define NA_BGM_INV_STONE_TOWER_TEMPLE 0x07 // "Stone Tower Temple Upside-down" - used for both Inverted Stone Tower and the Temple (NA_BGM_RUIN_DUNGEON_REVERSE) +#define NA_BGM_FAILURE_0 0x08 // "Missed Event 1" (NA_BGM_FAILURE_0) +#define NA_BGM_FAILURE_1 0x09 // "Missed Event 2" - used for failing the Milk Run (NA_BGM_FAILURE_1) +#define NA_BGM_HAPPY_MASK_SALESMAN 0x0A // "Happy Mask Saleman's Theme" (NA_BGM_OMENYA) +#define NA_BGM_SONG_OF_HEALING 0x0B // "Song Of Healing" (NA_BGM_DEMO_CURE) +#define NA_BGM_SWAMP_REGION 0x0C // "Southern Swamp" - used for both Southern Swamp and Woodfall (NA_BGM_DAMP_AREA) +#define NA_BGM_ALIEN_INVASION 0x0D // "Ghost Attack" (NA_BGM_UFO) +#define NA_BGM_SWAMP_CRUISE 0x0E // "Boat Cruise" (NA_BGM_JUNGLE_CREWS) +#define NA_BGM_SHARPS_CURSE 0x0F // "Sharp's Curse" (NA_BGM_SHARP) +#define NA_BGM_GREAT_BAY_REGION 0x10 // "Great Bay Coast" - used for Great Bay Coast, Zora Cape, and Pinnacle Rock (NA_BGM_SEA_AREA) +#define NA_BGM_IKANA_REGION 0x11 // "Ikana Valley" (NA_BGM_IKANA_AREA) +#define NA_BGM_DEKU_PALACE 0x12 // "Deku Palace" (NA_BGM_DEKU_KING) +#define NA_BGM_MOUNTAIN_REGION 0x13 // "Mountain Village" - used for Mountain Village, Snowhead, and Goron Village exterior (NA_BGM_SNOW_AREA) +#define NA_BGM_PIRATES_FORTRESS 0x14 // "Pirates' Fortress" (NA_BGM_PIRATE_AREA) +#define NA_BGM_CLOCK_TOWN_DAY_1 0x15 // "Clock Town, First Day" - Loaded from the main Clock Town seqeuence (sequence 0x1D) (NA_BGM_DUMMY_21) +#define NA_BGM_CLOCK_TOWN_DAY_2 0x16 // "Clock Town, Second Day" - Loaded from the main Clock Town seqeuence (sequence 0x1D) (NA_BGM_DUMMY_22) +#define NA_BGM_CLOCK_TOWN_DAY_3 0x17 // "Clock Town, Third Day" - Loaded from the main Clock Town seqeuence (sequence 0x1D) (NA_BGM_DUMMY_23) +#define NA_BGM_FILE_SELECT 0x18 // File Select (NA_BGM_FILE_SELECT) +#define NA_BGM_CLEAR_EVENT 0x19 // "Event Clear" (NA_BGM_EVENT_CLEAR) +#define NA_BGM_ENEMY 0x1A // "Battle" (NA_BGM_ENEMY) +#define NA_BGM_BOSS 0x1B // "Boss Battle" (NA_BGM_BOSS00) +#define NA_BGM_WOODFALL_TEMPLE 0x1C // "Woodfall Temple" (NA_BGM_JUNGLE_DUNGEON) +#define NA_BGM_CLOCK_TOWN_MAIN_SEQUENCE 0x1D // Loads one of sequences 0x15, 0x16, or 0x17. Will also play the "morning theme" if it is the start of a day (NA_BGM_MARKET) +#define NA_BGM_OPENING 0x1E // "Opening" - plays during the ambush in the opening forest area (NA_BGM_OPENING) +#define NA_BGM_INSIDE_A_HOUSE 0x1F // "House" (NA_BGM_LINK_HOUSE) +#define NA_BGM_GAME_OVER 0x20 // "Game Over" (NA_BGM_GAME_OVER) +#define NA_BGM_CLEAR_BOSS 0x21 // "Boss Clear" (NA_BGM_BOSS_CLEAR) +#define NA_BGM_GET_ITEM 0x22 // "Item Catch" (NA_BGM_ITEM_GET) +#define NA_BGM_CLOCK_TOWN_DAY_2_PTR 0x23 // Just points to the "Clock Town, Second Day" sequence (sequence 0x16) (NA_BGM_GATE_OPEN, same name as the Door of Time song from OoT) +#define NA_BGM_GET_HEART 0x24 // "Get A Heart Container!" (NA_BGM_HEART_GET) +#define NA_BGM_TIMED_MINI_GAME 0x25 // "Mini Game" (NA_BGM_MINI_GAME_2) +#define NA_BGM_GORON_RACE 0x26 // "Goron Race" (NA_BGM_GORON_RACE) +#define NA_BGM_MUSIC_BOX_HOUSE 0x27 // "Music Box House" (NA_BGM_ORGEL_HOUSE) +#define NA_BGM_FAIRY_FOUNTAIN 0x28 // "Fairy's Fountain" - just points to the File Select sequence (sequence 0x18) (NA_BGM_GODESS) +#define NA_BGM_ZELDAS_LULLABY 0x29 // "Zelda's Theme" (NA_BGM_HIME) +#define NA_BGM_ROSA_SISTERS 0x2A // "Rosa Sisters" (NA_BGM_SISTER_DANCER) +#define NA_BGM_OPEN_CHEST 0x2B // "Open Treasure Box" (NA_BGM_OPEN_TRE_BOX) +#define NA_BGM_MARINE_RESEARCH_LAB 0x2C // "Marine Research Laboratory" (NA_BGM_DRUGSTORE) +#define NA_BGM_GIANTS_THEME 0x2D // "Giants' Theme" (NA_BGM_KYOJIN_ROOM) +#define NA_BGM_SONG_OF_STORMS 0x2E // "Guru-Guru's Song" (NA_BGM_FUSHA) +#define NA_BGM_ROMANI_RANCH 0x2F // "Romani Ranch" (NA_BGM_RONRON) +#define NA_BGM_GORON_VILLAGE 0x30 // "Goron Village" (NA_BGM_GORON) +#define NA_BGM_MAYORS_OFFICE 0x31 // "Mayor's Meeting" (NA_BGM_MEETING) +#define NA_BGM_OCARINA_EPONA 0x32 // "Ocarina “Epona's Song”" (NA_BGM_OCA_EPONA) +#define NA_BGM_OCARINA_SUNS 0x33 // "Ocarina “Sun's Song”" - leftover from OoT (NA_BGM_OCA_SUNS) +#define NA_BGM_OCARINA_TIME 0x34 // "Ocarina “Song Of Time”" (NA_BGM_TIME_NORMAL) +#define NA_BGM_OCARINA_STORM 0x35 // "Ocarina “Song Of Storms”" (NA_BGM_OCA_STORM) +#define NA_BGM_ZORA_HALL 0x36 // "Zora Hall" (NA_BGM_ZORA) +#define NA_BGM_GET_NEW_MASK 0x37 // "Get A Mask!" (NA_BGM_MASK_GET) +#define NA_BGM_MINI_BOSS 0x38 // "Middle Boss Battle" (NA_BGM_MIDDLE_BOSS) +#define NA_BGM_GET_SMALL_ITEM 0x39 // "Small Item Catch" (NA_BGM_S_ITEM_GET) +#define NA_BGM_ASTRAL_OBSERVATORY 0x3A // "Astral Observatory" (NA_BGM_TENMONDAI) +#define NA_BGM_CAVERN 0x3B // "Cavern" - used for grottos (NA_BGM_NORMAL_DUNGEON) +#define NA_BGM_MILK_BAR 0x3C // "Milk Bar" (NA_BGM_MILK_BAR) +#define NA_BGM_ZELDA_APPEAR 0x3D // "Enter Zelda" - leftover from OoT (NA_BGM_APPEAR) +#define NA_BGM_SARIAS_SONG 0x3E // "Woods Of Mystery" - Saria's Song from OoT, also used when dancing with the scarecrow (NA_BGM_MAYOIMORI) +#define NA_BGM_GORON_GOAL 0x3F // "Goron Race Goal" (NA_BGM_GORON_GOAL) +#define NA_BGM_HORSE 0x40 // "Horse Race" (NA_BGM_HORSE) +#define NA_BGM_HORSE_GOAL 0x41 // "Horse Race Goal" (NA_BGM_HORSE_GOAL) +#define NA_BGM_INGO 0x42 // "Gorman Track" (NA_BGM_INGO) +#define NA_BGM_KOTAKE_POTION_SHOP 0x43 // "Magic Hags' Potion Shop" (NA_BGM_KOTAKE_KOUME) +#define NA_BGM_SHOP 0x44 // "Shop" (NA_BGM_SHOP) +#define NA_BGM_OWL 0x45 // "Owl" (NA_BGM_OWL) +#define NA_BGM_SHOOTING_GALLERY 0x46 // "Shooting Gallery" (NA_BGM_MINI_GAME) +#define NA_BGM_OCARINA_SOARING 0x47 // "Ocarina “Song Of Soaring”" (NA_BGM_OCA_BIGWING) +#define NA_BGM_OCARINA_HEALING 0x48 // "Ocarina “Song Of Healing”" (NA_BGM_OCA_CURE) +#define NA_BGM_INVERTED_SONG_OF_TIME 0x49 // "Ocarina “Inverted Song Of Time”" (NA_BGM_TIME_SPEED) +#define NA_BGM_SONG_OF_DOUBLE_TIME 0x4A // "Ocarina “Song Of Double Time”" (NA_BGM_TIME_JUMP) +#define NA_BGM_SONATA_OF_AWAKENING 0x4B // "Sonata of Awakening" (NA_BGM_DEMO_AWAKING) +#define NA_BGM_GORON_LULLABY 0x4C // "Goron Lullaby" (NA_BGM_DEMO_LULLABY) +#define NA_BGM_NEW_WAVE_BOSSA_NOVA 0x4D // "New Wave Bossa Nova" - both saxophone and vocals (NA_BGM_DEMO_TIDE) +#define NA_BGM_ELEGY_OF_EMPTINESS 0x4E // "Elegy Of Emptiness" (NA_BGM_DEMO_SHELL) +#define NA_BGM_OATH_TO_ORDER 0x4F // "Oath To Order" (NA_BGM_DEMO_PLEDGE) +#define NA_BGM_SWORD_TRAINING_HALL 0x50 // "Swordsman's School" (NA_BGM_EXERCISE_HALL) +#define NA_BGM_OCARINA_LULLABY_INTRO 0x51 // "Ocarina “Goron Lullaby Intro”" (NA_BGM_DEMO_LULLABY_HALF) +#define NA_BGM_LEARNED_NEW_SONG 0x52 // "Get The Ocarina!" (NA_BGM_OCA_YOUSEI) +#define NA_BGM_BREMEN_MARCH 0x53 // "Bremen March" (NA_BGM_FACEMASK) +#define NA_BGM_BALLAD_OF_THE_WIND_FISH 0x54 // "Ballad Of The Wind Fish" - quartet performed in on the Milk Bar stage (NA_BGM_QUARTET) +#define NA_BGM_SONG_OF_SOARING 0x55 // "Song Of Soaring" (NA_BGM_WING_WARP) +#define NA_BGM_MILK_BAR_DUPLICATE 0x56 // Just points to the "Milk Bar" sequence (sequence 0x3C) (NA_BGM_MILK_BAR_DUMMY) +#define NA_BGM_FINAL_HOURS 0x57 // "Last Day" (NA_BGM_TIME_LIMIT) +#define NA_BGM_MIKAU_RIFF 0x58 // "Mikau" - looping part of the song (NA_BGM_MIKAU_LIFF) +#define NA_BGM_MIKAU_FINALE 0x59 // "Mikau" - a single guitar chord to end the song (NA_BGM_MIKAU_FIN) +#define NA_BGM_FROG_SONG 0x5A // "Frog Song" - conducting the frogs with Don Gero's Mask (NA_BGM_FROG_SONG) +#define NA_BGM_OCARINA_SONATA 0x5B // "Ocarina “Sonata Of Awakening”" (NA_BGM_OCA_AWAKING) +#define NA_BGM_OCARINA_LULLABY 0x5C // "Ocarina “Goron Lullaby”" (NA_BGM_OCA_LULLABY) +#define NA_BGM_OCARINA_NEW_WAVE 0x5D // "Ocarina “New Wave Bossa Nova”" (NA_BGM_OCA_TIDE) +#define NA_BGM_OCARINA_ELEGY 0x5E // "Ocarina “Elegy of Emptiness”" (NA_BGM_OCA_SHELL) +#define NA_BGM_OCARINA_OATH 0x5F // "Ocarina “Oath To Order”" (NA_BGM_OCA_PLEDGE) +#define NA_BGM_MAJORAS_LAIR 0x60 // Majora Boss Room. Just points to the "Last Day" sequence (sequence 0x57) (NA_BGM_LAST_DUNGEON) +#define NA_BGM_OCARINA_LULLABY_INTRO_PTR 0x61 // Just points to the "Ocarina “Goron Lullaby Intro”" sequence (sequence 0x51) (NA_BGM_OCA_LULLABY_HALF) +#define NA_BGM_OCARINA_GUITAR_BASS_SESSION 0x62 // "Bass & Guitar Session" (NA_BGM_OCA_SESSION) +#define NA_BGM_PIANO_SESSION 0x63 // "Piano Solo" (NA_BGM_DEMO_SESSION) +#define NA_BGM_INDIGO_GO_SESSION 0x64 // "The Indigo-Go's" (NA_BGM_ALLPART_SESSION) +#define NA_BGM_SNOWHEAD_TEMPLE 0x65 // "Snowhead Temple" (NA_BGM_SILVER_DUNGEON) +#define NA_BGM_GREAT_BAY_TEMPLE 0x66 // "Great Bay Temple" (NA_BGM_DEEPBLUE_DUNGEON) +#define NA_BGM_NEW_WAVE_SAXOPHONE 0x67 // "New Wave Bossa Nova" - saxophone only, no vocals (NA_BGM_DEMO_TIDE_SAX) +#define NA_BGM_NEW_WAVE_VOCAL 0x68 // "New Wave Bossa Nova" - vocals only, no saxophone (NA_BGM_DEMO_TIDE_VOCAL) +#define NA_BGM_MAJORAS_WRATH 0x69 // "Majora's Wrath Battle" (NA_BGM_MUJURA_1) +#define NA_BGM_MAJORAS_INCARNATION 0x6A // "Majora's Incarnate Battle" (NA_BGM_MUJURA_2) +#define NA_BGM_MAJORAS_MASK 0x6B // "Majora's Mask Battle" (NA_BGM_MUJURA_3) +#define NA_BGM_BASS_PLAY 0x6C // "Bass Practice" (NA_BGM_BASS_PLAY) +#define NA_BGM_DRUMS_PLAY 0x6D // "Drums Practice" (NA_BGM_DRUMS_PLAY) +#define NA_BGM_PIANO_PLAY 0x6E // "Piano Practice" (NA_BGM_PIANO_PLAY) +#define NA_BGM_IKANA_CASTLE 0x6F // "Ikana Castle" (NA_BGM_IKANA_CASTLE) +#define NA_BGM_GATHERING_GIANTS 0x70 // "Calling The Four Giants" (NA_BGM_GATHERING) +#define NA_BGM_KAMARO_DANCE 0x71 // "Kamaro's Dance" (NA_BGM_CAMARO_DANCE) +#define NA_BGM_CREMIA_CARRIAGE 0x72 // "Cremia's Carriage" (NA_BGM_DONKEY_CART) +#define NA_BGM_KEATON_QUIZ 0x73 // "Keaton's Quiz" (NA_BGM_QUIZ) +#define NA_BGM_END_CREDITS 0x74 // "The End / Credits" - plays the first half, then loads sequence 0x7F for the second half (NA_BGM_END_DEMO) +#define NA_BGM_OPENING_LOOP 0x75 // Similar to "Opening" (sequence 0x1E), but the intro loops endlessly (NA_BGM_OPENING_LOOP) +#define NA_BGM_TITLE_THEME 0x76 // "Title Theme" (NA_BGM_TITLE) +#define NA_BGM_DUNGEON_APPEAR 0x77 // "Woodfall Rises" (NA_BGM_DUNGEON_APPEAR) +#define NA_BGM_WOODFALL_CLEAR 0x78 // "Southern Swamp Clears" (NA_BGM_PURIFICATION_0) +#define NA_BGM_SNOWHEAD_CLEAR 0x79 // "Snowhead Clear" (NA_BGM_PURIFICATION_1) +#define NA_BGM_INTO_THE_MOON 0x7B // "To The Moon" (NA_BGM_INTO_THE_MOON) +#define NA_BGM_GOODBYE_GIANT 0x7C // "The Giants' Exit" (NA_BGM_GOODBYE_GIANT) +#define NA_BGM_TATL_AND_TAEL 0x7D // "Tatl & Tael" (NA_BGM_CHAT) +#define NA_BGM_MOONS_DESTRUCTION 0x7E // "Moon's Destruction" (NA_BGM_MOON_VANISH) +#define NA_BGM_END_CREDITS_SECOND_HALF 0x7F // "The End / Credits" - second half. Sequence 0x74 loads this after playing the first half (NA_BGM_OCA_MUS) + +// This is used as a placeholder in scene commands to indicate to use the nature ambience instead. +#define NA_BGM_NO_MUSIC 0x7F #define NA_BGM_DISABLED 0xFFFF #define SEQ_FLAG_ASYNC 0x8000 diff --git a/src/audio/code_8019AF00.c b/src/audio/code_8019AF00.c index 8b13e0030e..dcefd2eae2 100644 --- a/src/audio/code_8019AF00.c +++ b/src/audio/code_8019AF00.c @@ -286,7 +286,7 @@ u8 sSeqFlags[] = { 0, // NA_BGM_SHARPS_CURSE SEQ_FLAG_ENEMY, // NA_BGM_GREAT_BAY_REGION SEQ_FLAG_ENEMY, // NA_BGM_IKANA_REGION - 0, // NA_BGM_DEKU_KING + 0, // NA_BGM_DEKU_PALACE SEQ_FLAG_ENEMY, // NA_BGM_MOUNTAIN_REGION 0, // NA_BGM_PIRATES_FORTRESS 0, // NA_BGM_CLOCK_TOWN_DAY_1 @@ -297,13 +297,13 @@ u8 sSeqFlags[] = { 0, // NA_BGM_ENEMY SEQ_FLAG_RESTORE, // NA_BGM_BOSS SEQ_FLAG_ENEMY, // NA_BGM_WOODFALL_TEMPLE - 0, // NA_BGM_MARKET + 0, // NA_BGM_CLOCK_TOWN_MAIN_SEQUENCE 0, // NA_BGM_OPENING SEQ_FLAG_RESUME_PREV, // NA_BGM_INSIDE_A_HOUSE SEQ_FLAG_FANFARE, // NA_BGM_GAME_OVER 0, // NA_BGM_CLEAR_BOSS SEQ_FLAG_FANFARE, // NA_BGM_GET_ITEM - SEQ_FLAG_FANFARE, // NA_BGM_GATE_OPEN + SEQ_FLAG_FANFARE, // NA_BGM_CLOCK_TOWN_DAY_2_PTR SEQ_FLAG_FANFARE, // NA_BGM_GET_HEART SEQ_FLAG_RESTORE, // NA_BGM_TIMED_MINI_GAME 0, // NA_BGM_GORON_RACE @@ -318,10 +318,10 @@ u8 sSeqFlags[] = { 0, // NA_BGM_ROMANI_RANCH 0, // NA_BGM_GORON_VILLAGE 0, // NA_BGM_MAYORS_OFFICE - SEQ_FLAG_FANFARE, // NA_BGM_OCA_EPONA - SEQ_FLAG_FANFARE, // NA_BGM_OCA_SUNS - SEQ_FLAG_FANFARE, // NA_BGM_OCA_TIME - SEQ_FLAG_FANFARE, // NA_BGM_OCA_STORM + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_EPONA + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_SUNS + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_TIME + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_STORM SEQ_FLAG_RESUME, // NA_BGM_ZORA_HALL SEQ_FLAG_FANFARE, // NA_BGM_GET_NEW_MASK SEQ_FLAG_RESTORE, // NA_BGM_MINI_BOSS @@ -338,9 +338,9 @@ u8 sSeqFlags[] = { 0, // NA_BGM_KOTAKE_POTION_SHOP SEQ_FLAG_RESUME_PREV, // NA_BGM_SHOP SEQ_FLAG_FANFARE, // NA_BGM_OWL - SEQ_FLAG_RESUME_PREV, // NA_BGM_MINI_GAME - SEQ_FLAG_FANFARE, // NA_BGM_OCA_SOARING - SEQ_FLAG_FANFARE, // NA_BGM_OCA_HEALING + SEQ_FLAG_RESUME_PREV, // NA_BGM_SHOOTING_GALLERY + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_SOARING + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_HEALING SEQ_FLAG_FANFARE, // NA_BGM_INVERTED_SONG_OF_TIME SEQ_FLAG_FANFARE, // NA_BGM_SONG_OF_DOUBLE_TIME SEQ_FLAG_FANFARE, // NA_BGM_SONATA_OF_AWAKENING @@ -349,8 +349,8 @@ u8 sSeqFlags[] = { SEQ_FLAG_FANFARE, // NA_BGM_ELEGY_OF_EMPTINESS SEQ_FLAG_FANFARE, // NA_BGM_OATH_TO_ORDER 0, // NA_BGM_SWORD_TRAINING_HALL - SEQ_FLAG_FANFARE, // NA_BGM_GORON_LULLABY_INTRO - SEQ_FLAG_FANFARE, // NA_BGM_OCA_FAIRY + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_LULLABY_INTRO + SEQ_FLAG_FANFARE, // NA_BGM_LEARNED_NEW_SONG SEQ_FLAG_FANFARE, // NA_BGM_BREMEN_MARCH SEQ_FLAG_FANFARE, // NA_BGM_BALLAD_OF_THE_WIND_FISH SEQ_FLAG_RESTORE, // NA_BGM_SONG_OF_SOARING @@ -359,14 +359,14 @@ u8 sSeqFlags[] = { SEQ_FLAG_FANFARE, // NA_BGM_MIKAU_RIFF SEQ_FLAG_FANFARE, // NA_BGM_MIKAU_FINALE 0, // NA_BGM_FROG_SONG - SEQ_FLAG_FANFARE, // NA_BGM_OCA_SONATA - SEQ_FLAG_FANFARE, // NA_BGM_OCA_LULLABY - SEQ_FLAG_FANFARE, // NA_BGM_OCA_NEW_WAVE - SEQ_FLAG_FANFARE, // NA_BGM_OCA_ELEGY - SEQ_FLAG_FANFARE, // NA_BGM_OCA_OATH + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_SONATA + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_LULLABY + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_NEW_WAVE + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_ELEGY + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_OATH 0, // NA_BGM_MAJORAS_LAIR - SEQ_FLAG_FANFARE, // NA_BGM_OCA_LULLABY_INTRO - SEQ_FLAG_FANFARE, // NA_BGM_OCA_GUITAR_BASS_SESSION + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_LULLABY_INTRO_PTR + SEQ_FLAG_FANFARE, // NA_BGM_OCARINA_GUITAR_BASS_SESSION SEQ_FLAG_FANFARE, // NA_BGM_PIANO_SESSION SEQ_FLAG_FANFARE, // NA_BGM_INDIGO_GO_SESSION SEQ_FLAG_ENEMY, // NA_BGM_SNOWHEAD_TEMPLE @@ -395,7 +395,7 @@ u8 sSeqFlags[] = { 0, // NA_BGM_GOODBYE_GIANT 0, // NA_BGM_TATL_AND_TAEL 0, // NA_BGM_MOONS_DESTRUCTION - 0, // NA_BGM_END_CREDITS_2 + 0, // NA_BGM_END_CREDITS_SECOND_HALF }; s8 sSpecReverbs[] = {