1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-05-10 11:03:46 +00:00

Introducing Macros for BGM (Background Music) (#979)

* Import bgm Ids

* Small correction

* Fix kaleido

* Add defines for 0, 1, 0xFFFF. Fill in missing macros

* Improve names, move to bgm.h, add in macros to kankyo.c

* format

* Swap order of bgm macros and flags
This commit is contained in:
engineer124 2021-11-02 04:54:19 +11:00 committed by GitHub
parent fa7007d73b
commit 970513253b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
59 changed files with 369 additions and 171 deletions

View file

@ -3,4 +3,118 @@
#define NA_BGM_STOP 0x100000FF
#define NA_BGM_GENERAL_SFX 0x0 // General Sound Effects
#define NA_BGM_NATURE_BACKGROUND 0x1 // Environmental nature background sounds
#define NA_BGM_FIELD_LOGIC 0x2 // Hyrule Field
#define NA_BGM_FIELD_INIT 0x3 // Hyrule Field Initial Segment From Loading Area
#define NA_BGM_FIELD_MOVE_1 0x4 // Hyrule Field Moving Segment 1
#define NA_BGM_FIELD_MOVE_2 0x5 // Hyrule Field Moving Segment 2
#define NA_BGM_FIELD_MOVE_3 0x6 // Hyrule Field Moving Segment 3
#define NA_BGM_FIELD_MOVE_4 0x7 // Hyrule Field Moving Segment 4
#define NA_BGM_FIELD_MOVE_5 0x8 // Hyrule Field Moving Segment 5
#define NA_BGM_FIELD_MOVE_6 0x9 // Hyrule Field Moving Segment 6
#define NA_BGM_FIELD_MOVE_7 0x0A // Hyrule Field Moving Segment 7
#define NA_BGM_FIELD_MOVE_8 0x0B // Hyrule Field Moving Segment 8
#define NA_BGM_FIELD_MOVE_9 0x0C // Hyrule Field Moving Segment 9
#define NA_BGM_FIELD_MOVE_A 0x0D // Hyrule Field Moving Segment 10
#define NA_BGM_FIELD_MOVE_B 0x0E // Hyrule Field Moving Segment 11
#define NA_BGM_FIELD_ENEMY_INIT 0x0F // Hyrule Field Enemy Approaches
#define NA_BGM_FIELD_ENEMY_1 0x10 // Hyrule Field Enemy Near Segment 1
#define NA_BGM_FIELD_ENEMY_2 0x11 // Hyrule Field Enemy Near Segment 2
#define NA_BGM_FIELD_ENEMY_3 0x12 // Hyrule Field Enemy Near Segment 3
#define NA_BGM_FIELD_ENEMY_4 0x13 // Hyrule Field Enemy Near Segment 4
#define NA_BGM_FIELD_STILL_1 0x14 // Hyrule Field Standing Still Segment 1
#define NA_BGM_FIELD_STILL_2 0x15 // Hyrule Field Standing Still Segment 2
#define NA_BGM_FIELD_STILL_3 0x16 // Hyrule Field Standing Still Segment 3
#define NA_BGM_FIELD_STILL_4 0x17 // Hyrule Field Standing Still Segment 4
#define NA_BGM_DUNGEON 0x18 // Dodongo's Cavern
#define NA_BGM_KAKARIKO_ADULT 0x19 // Kakariko Village (Adult)
#define NA_BGM_ENEMY 0x1A // Battle
#define NA_BGM_BOSS 0x1B // Boss Battle "NA_BGM_BOSS00"
#define NA_BGM_INSIDE_DEKU_TREE 0x1C // Inside the Deku Tree "NA_BGM_FAIRY_DUNGEON"
#define NA_BGM_MARKET 0x1D // Market
#define NA_BGM_TITLE 0x1E // Title Theme
#define NA_BGM_LINK_HOUSE 0x1F // House
#define NA_BGM_GAME_OVER 0x20 // Game Over
#define NA_BGM_BOSS_CLEAR 0x21 // Boss Clear
#define NA_BGM_ITEM_GET 0x22 // Obtain Item
#define NA_BGM_OPENING_GANON 0x23 // Enter Ganondorf
#define NA_BGM_HEART_GET 0x24 // Obtain Heart Container
#define NA_BGM_OCA_LIGHT 0x25 // Prelude of Light
#define NA_BGM_JABU_JABU 0x26 // Inside Jabu-Jabu's Belly "NA_BGM_BUYO_DUNGEON"
#define NA_BGM_KAKARIKO_KID 0x27 // Kakariko Village (Child)
#define NA_BGM_GREAT_FAIRY 0x28 // Great Fairy's Fountain "NA_BGM_GODESS"
#define NA_BGM_ZELDA_THEME 0x29 // Zelda's Theme "NA_BGM_HIME"
#define NA_BGM_FIRE_TEMPLE 0x2A // Fire Temple "NA_BGM_FIRE_DUNGEON"
#define NA_BGM_OPEN_TRE_BOX 0x2B // Open Treasure Chest
#define NA_BGM_FOREST_TEMPLE 0x2C // Forest Temple "NA_BGM_FORST_DUNGEON"
#define NA_BGM_COURTYARD 0x2D // Hyrule Castle Courtyard "NA_BGM_HIRAL_GARDEN"
#define NA_BGM_GANON_TOWER 0x2E // Ganondorf's Theme
#define NA_BGM_LONLON 0x2F // Lon Lon Ranch "NA_BGM_RONRON"
#define NA_BGM_GORON_CITY 0x30 // Goron City "NA_BGM_GORON"
#define NA_BGM_FIELD_MORNING 0x31 // Hyrule Field Morning Theme
#define NA_BGM_SPIRITUAL_STONE 0x32 // Spiritual Stone Get "NA_BGM_SPIRIT_STONE"
#define NA_BGM_OCA_BOLERO 0x33 // Bolero of Fire "NA_BGM_OCA_FLAME"
#define NA_BGM_OCA_MINUET 0x34 // Minuet of Forest "NA_BGM_OCA_WIND"
#define NA_BGM_OCA_SERENADE 0x35 // Serenade of Water "NA_BGM_OCA_WATER"
#define NA_BGM_OCA_REQUIEM 0x36 // Requiem of Spirit "NA_BGM_OCA_SOUL"
#define NA_BGM_OCA_NOCTURNE 0x37 // Nocturne of Shadow "NA_BGM_OCA_DARKNESS"
#define NA_BGM_MINI_BOSS 0x38 // Mini-Boss Battle "NA_BGM_MIDDLE_BOSS"
#define NA_BGM_SMALL_ITEM_GET 0x39 // Obtain Small Item "NA_BGM_S_ITEM_GET"
#define NA_BGM_TEMPLE_OF_TIME 0x3A // Temple of Time "NA_BGM_SHRINE_OF_TIME"
#define NA_BGM_EVENT_CLEAR 0x3B // Escape from Lon Lon Ranch
#define NA_BGM_KOKIRI 0x3C // Kokiri Forest
#define NA_BGM_OCA_FAIRY_GET 0x3D // Obtain Fairy Ocarina "NA_BGM_OCA_YOUSEI"
#define NA_BGM_SARIA_THEME 0x3E // Lost Woods "NA_BGM_MAYOIMORI"
#define NA_BGM_SPIRIT_TEMPLE 0x3F // Spirit Temple "NA_BGM_SOUL_DUNGEON"
#define NA_BGM_HORSE 0x40 // Horse Race
#define NA_BGM_HORSE_GOAL 0x41 // Horse Race Goal
#define NA_BGM_INGO 0x42 // Ingo's Theme
#define NA_BGM_MEDALLION_GET 0x43 // Obtain Medallion "NA_BGM_MEDAL_GET"
#define NA_BGM_OCA_SARIA 0x44 // Ocarina Saria's Song
#define NA_BGM_OCA_EPONA 0x45 // Ocarina Epona's Song
#define NA_BGM_OCA_ZELDA 0x46 // Ocarina Zelda's Lullaby
#define NA_BGM_OCA_SUNS 0x47 // Ocarina Sun's Song "NA_BGM_OCA_SUNMOON"
#define NA_BGM_OCA_TIME 0x48 // Ocarina Song of Time
#define NA_BGM_OCA_STORM 0x49 // Ocarina Song of Storms
#define NA_BGM_NAVI_OPENING 0x4A // Fairy Flying "NA_BGM_NAVI"
#define NA_BGM_DEKU_TREE_CS 0x4B // Deku Tree "NA_BGM_DEKUNOKI"
#define NA_BGM_WINDMILL 0x4C // Windmill Hut "NA_BGM_FUSHA"
#define NA_BGM_HYRULE_CS 0x4D // Legend of Hyrule "NA_BGM_HIRAL_DEMO"
#define NA_BGM_MINI_GAME 0x4E // Shooting Gallery
#define NA_BGM_SHEIK 0x4F // Sheik's Theme "NA_BGM_SEAK"
#define NA_BGM_ZORA_DOMAIN 0x50 // Zora's Domain "NA_BGM_ZORA"
#define NA_BGM_APPEAR 0x51 // Enter Zelda
#define NA_BGM_ADULT_LINK 0x52 // Goodbye to Zelda
#define NA_BGM_MASTER_SWORD 0x53 // Master Sword
#define NA_BGM_INTRO_GANON 0x54
#define NA_BGM_SHOP 0x55 // Shop
#define NA_BGM_CHAMBER_OF_SAGES 0x56 // Chamber of the Sages "NA_BGM_KENJA"
#define NA_BGM_FILE_SELECT 0x57 // File Select
#define NA_BGM_ICE_CAVERN 0x58 // Ice Cavern "NA_BGM_ICE_DUNGEON"
#define NA_BGM_DOOR_OF_TIME 0x59 // Open Door of Temple of Time "NA_BGM_GATE_OPEN"
#define NA_BGM_OWL 0x5A // Kaepora Gaebora's Theme
#define NA_BGM_SHADOW_TEMPLE 0x5B // Shadow Temple "NA_BGM_DARKNESS_DUNGEON"
#define NA_BGM_WATAER_TEMPLE 0x5C // Water Temple "NA_BGM_AQUA_DUNGEON"
#define NA_BGM_BRIDGE_TO_GANONS 0x5D // Ganon's Castle Bridge "NA_BGM_BRIDGE"
#define NA_BGM_OCARINA_OF_TIME 0x5E // Ocarina of Time "NA_BGM_SARIA"
#define NA_BGM_GERUDO_VALLEY 0x5F // Gerudo Valley "NA_BGM_GERUDO"
#define NA_BGM_POTION_SHOP 0x60 // Potion Shop "NA_BGM_DRUGSTORE"
#define NA_BGM_KOTAKE_KOUME 0x61 // Kotake & Koume's Theme
#define NA_BGM_ESCAPE 0x62 // Escape from Ganon's Castle
#define NA_BGM_UNDERGROUND 0x63 // Ganon's Castle Under Ground
#define NA_BGM_GANON_BATTLE_1 0x64 // Ganondorf Battle
#define NA_BGM_GANON_BATTLE_2 0x65 // Ganon Battle
#define NA_BGM_END_DEMO 0x66 // Seal of Six Sages
#define NA_BGM_STAFF_1 0x67 // End Credits I
#define NA_BGM_STAFF_2 0x68 // End Credits II
#define NA_BGM_STAFF_3 0x69 // End Credits III
#define NA_BGM_STAFF_4 0x6A // End Credits IV
#define NA_BGM_FIRE_BOSS 0x6B // King Dodongo & Volvagia Boss Battle "NA_BGM_BOSS01"
#define NA_BGM_MINI_GAME_2 0x6C // Mini-Game
#define NA_BGM_VARIOUS_SFX 0x6D // A small collection of various sound effects
#define NA_BGM_NO_MUSIC 0x7F // No bgm music is played
#define NA_BGM_NATURE_SFX_RAIN 0x80 // Related to rain
#define NA_BGM_DISABLED 0xFFFF
#endif

View file

@ -119,9 +119,9 @@ s8 sAudioCodeReverb = 0;
u8 D_8013061C = 0;
f32 sAudioEnemyDist = 0.0f;
s8 sAudioEnemyVol = 127;
u16 D_80130628 = 0xFFFF;
u16 D_80130628 = NA_BGM_DISABLED;
u8 D_8013062C = 0;
u8 D_80130630 = 0;
u8 D_80130630 = NA_BGM_GENERAL_SFX;
u32 D_80130634 = 0;
u32 D_80130638 = 0;
u8 D_8013063C = 0;
@ -2681,7 +2681,7 @@ void AudioDebug_ProcessInput(void) {
if (CHECK_BTN_ANY(sDebugPadPress, BTN_A)) {
sAudioSndContWork[5] ^= 1;
Audio_SeqCmdE01(0, sAudioSndContWork[5]);
if (func_800FA0B4(0) != 1) {
if (func_800FA0B4(0) != NA_BGM_NATURE_BACKGROUND) {
Audio_SeqCmd1(0, 0);
}
Audio_SeqCmd1(1, 0);
@ -3124,7 +3124,7 @@ void func_800F3ED4(void) {
void func_800F3F3C(u8 arg0) {
if (gSoundBankMuted[0] != 1) {
Audio_StartSeq(3, 0, 0x6D);
Audio_StartSeq(3, 0, NA_BGM_VARIOUS_SFX);
Audio_SeqCmd8(3, 0, 0, arg0);
}
}
@ -3481,7 +3481,7 @@ void func_800F510C(s8 volSplit) {
u8 i;
u8 j;
if ((func_800FA0B4(1) == 0xFFFF) && (func_800FA0B4(3) != 0x2F)) {
if ((func_800FA0B4(1) == NA_BGM_DISABLED) && (func_800FA0B4(3) != NA_BGM_LONLON)) {
for (i = 0; i < 2; i++) {
if (i == 0) {
vol = volSplit;
@ -3547,7 +3547,7 @@ void Audio_PlaySariaBgm(Vec3f* pos, u16 seqId, u16 distMax) {
vol = 0;
}
if (seqId != 40) {
if (seqId != NA_BGM_GREAT_FAIRY) {
func_800F510C(vol);
}
@ -3568,8 +3568,8 @@ void func_800F5550(u16 seqId) {
u8 sp27 = 0;
u16 nv;
if (func_800FA0B4(0) != 0x4C) {
if (func_800FA0B4(3) == 0x2F) {
if (func_800FA0B4(0) != NA_BGM_WINDMILL) {
if (func_800FA0B4(3) == NA_BGM_LONLON) {
func_800F9474(3, 0);
Audio_QueueCmdS32(0xF8000000, 0);
}
@ -3600,7 +3600,7 @@ void func_800F56A8(void) {
temp_v0 = func_800FA0B4(0);
bvar = temp_v0 & 0xFF;
if ((temp_v0 != 0xFFFF) && ((D_80130658[bvar] & 0x10) != 0)) {
if ((temp_v0 != NA_BGM_DISABLED) && ((D_80130658[bvar] & 0x10) != 0)) {
if (D_8013062C != 0xC0) {
D_8013062C = gAudioContext.seqPlayers->unk_158[3];
} else {
@ -3610,8 +3610,8 @@ void func_800F56A8(void) {
}
void func_800F5718(void) {
if (func_800FA0B4(0) != 0x4C) {
Audio_StartSeq(0, 0, 0x4C);
if (func_800FA0B4(0) != NA_BGM_WINDMILL) {
Audio_StartSeq(0, 0, NA_BGM_WINDMILL);
}
}
@ -3625,7 +3625,7 @@ void func_800F574C(f32 arg0, u8 arg2) {
}
void func_800F5918(void) {
if (func_800FA0B4(0) == 0x6C && func_800FA11C(0, 0xF0000000)) {
if (func_800FA0B4(0) == NA_BGM_MINI_GAME_2 && func_800FA11C(0, 0xF0000000)) {
Audio_SeqCmdB(0, 5, 0, 0xD2);
}
}
@ -3676,9 +3676,9 @@ void func_800F5ACC(u16 arg0) {
u16 temp_v0;
temp_v0 = func_800FA0B4(0);
if ((temp_v0 & 0xFF) != 0x2E && (temp_v0 & 0xFF) != 0x62 && temp_v0 != arg0) {
if ((temp_v0 & 0xFF) != NA_BGM_GANON_TOWER && (temp_v0 & 0xFF) != NA_BGM_ESCAPE && temp_v0 != arg0) {
func_800F5E90(3);
if (temp_v0 != 0xFFFF) {
if (temp_v0 != NA_BGM_DISABLED) {
D_80130628 = temp_v0;
} else {
osSyncPrintf("Middle Boss BGM Start not stack \n");
@ -3688,13 +3688,14 @@ void func_800F5ACC(u16 arg0) {
}
void func_800F5B58(void) {
if ((func_800FA0B4(0) != 0xFFFF) && (D_80130628 != 0xFFFF) && (D_80130658[func_800FA0B4(0) & 0xFF] & 8)) {
if (D_80130628 == 0xFFFF) {
if ((func_800FA0B4(0) != NA_BGM_DISABLED) && (D_80130628 != NA_BGM_DISABLED) &&
(D_80130658[func_800FA0B4(0) & 0xFF] & 8)) {
if (D_80130628 == NA_BGM_DISABLED) {
Audio_SeqCmd1(0, 0);
} else {
Audio_StartSeq(0, 0, D_80130628);
}
D_80130628 = 0xFFFF;
D_80130628 = NA_BGM_DISABLED;
}
}
@ -3702,17 +3703,17 @@ void func_800F5BF0(u8 arg0) {
u16 temp_v0;
temp_v0 = func_800FA0B4(0);
if (temp_v0 != 1) {
if (temp_v0 != NA_BGM_NATURE_BACKGROUND) {
D_80130628 = temp_v0;
}
func_800F6FB4(arg0);
}
void func_800F5C2C(void) {
if (D_80130628 != 0xFFFF) {
if (D_80130628 != NA_BGM_DISABLED) {
Audio_StartSeq(0, 0, D_80130628);
}
D_80130628 = 0xFFFF;
D_80130628 = NA_BGM_DISABLED;
}
void func_800F5C64(u16 arg0) {
@ -3724,7 +3725,7 @@ void func_800F5C64(u16 arg0) {
sp26 = func_800FA0B4(1);
sp1C = func_800E5E84(sp26 & 0xFF, &sp20);
sp18 = func_800E5E84(arg0 & 0xFF, &sp20);
if ((sp26 == 0xFFFF) || (*sp1C == *sp18)) {
if ((sp26 == NA_BGM_DISABLED) || (*sp1C == *sp18)) {
D_8016B9F4 = 1;
} else {
D_8016B9F4 = 5;
@ -3746,19 +3747,19 @@ void func_800F5CF8(void) {
func_800FA0B4(0);
sp26 = func_800FA0B4(1);
sp22 = func_800FA0B4(3);
if (sp26 == 0xFFFF) {
if (sp26 == NA_BGM_DISABLED) {
Audio_SetVolScale(0, 1, 0, 5);
Audio_SetVolScale(3, 1, 0, 5);
Audio_SeqCmdC(1, 0x80, 1, 0xA);
Audio_SeqCmdC(1, 0x83, 1, 0xA);
Audio_SeqCmdC(1, 0x90, 0, 0);
if (sp22 != 0x2F) {
if (sp22 != NA_BGM_LONLON) {
Audio_SeqCmdC(1, 0x93, 0, 0);
}
}
Audio_StartSeq(1, 1, D_8016B9F6);
Audio_SeqCmdA(0, 0xFFFF);
if (sp22 != 0x2F) {
if (sp22 != NA_BGM_LONLON) {
Audio_SeqCmdA(3, 0xFFFF);
}
}
@ -3776,17 +3777,17 @@ void func_800F5E90(u8 arg0) {
u8 phi_a3;
D_80130654 = arg0;
if (D_80130628 == 0xFFFF) {
if (D_80130628 == NA_BGM_DISABLED) {
if (sAudioCutsceneFlag) {
arg0 = 3;
}
phi_t1 = D_8016E750[0].unk_254;
if (phi_t1 == 2 && func_800FA0B4(3) == 0x81A) {
if (phi_t1 == NA_BGM_FIELD_LOGIC && func_800FA0B4(3) == (NA_BGM_ENEMY | 0x800)) {
arg0 = 3;
}
phi_a3 = phi_t1 & 0xFF;
if ((phi_t1 == 0xFFFF) || ((D_80130658[phi_a3] & 1) != 0) || ((D_8013061C & 0x7F) == 1)) {
if ((phi_t1 == NA_BGM_DISABLED) || ((D_80130658[phi_a3] & 1) != 0) || ((D_8013061C & 0x7F) == 1)) {
if (arg0 != (D_8013061C & 0x7F)) {
if (arg0 == 1) {
if (D_8016E750[3].volScales[1] - sAudioEnemyVol < 0) {
@ -3795,8 +3796,8 @@ void func_800F5E90(u8 arg0) {
phi_t0 = D_8016E750[3].volScales[1] - sAudioEnemyVol;
}
Audio_SetVolScale(3, 3, sAudioEnemyVol, phi_t0);
Audio_StartSeq(3, 10, 0x81A);
if (phi_t1 != 1) {
Audio_StartSeq(3, 10, NA_BGM_ENEMY | 0x800);
if (phi_t1 != NA_BGM_NATURE_BACKGROUND) {
Audio_SetVolScale(0, 3, (0x7F - sAudioEnemyVol) & 0xFF, 0xA);
func_800F510C(sAudioEnemyVol);
}
@ -3852,11 +3853,11 @@ void func_800F6114(f32 dist) {
sAudioEnemyVol = ((350.0f - adjDist) * 127.0f) / 350.0f;
Audio_SetVolScale(3, 3, sAudioEnemyVol, 0xA);
if (D_8016E750[0].unk_254 != 1) {
if (D_8016E750[0].unk_254 != NA_BGM_NATURE_BACKGROUND) {
Audio_SetVolScale(0, 3, (0x7F - sAudioEnemyVol), 0xA);
}
}
if (D_8016E750[0].unk_254 != 1) {
if (D_8016E750[0].unk_254 != NA_BGM_NATURE_BACKGROUND) {
func_800F510C(sAudioEnemyVol);
}
}
@ -3873,7 +3874,7 @@ void func_800F6268(f32 dist, u16 arg1) {
if (D_8016B9F2 == 0) {
temp_a0 = (s8)(func_800FA0B4(0) & 0xFF);
if (temp_a0 == (arg1 & 0xFF)) {
if ((arg1 & 0xFF) == 0x2F) {
if ((arg1 & 0xFF) == NA_BGM_LONLON) {
if (dist > 2000.0f) {
phi_v1 = 127;
@ -3889,10 +3890,10 @@ void func_800F6268(f32 dist, u16 arg1) {
D_8016B9D8++;
}
}
} else if ((temp_a0 == 1) && ((arg1 & 0xFF) == 0x2F)) {
} else if ((temp_a0 == NA_BGM_NATURE_BACKGROUND) && ((arg1 & 0xFF) == NA_BGM_LONLON)) {
temp_a0 = (s8)(func_800FA0B4(3) & 0xFF);
if ((temp_a0 != (arg1 & 0xFF)) && (D_8016B9D8 < 10)) {
func_800F5E18(3, 0x2F, 0, 0, 0);
func_800F5E18(3, NA_BGM_LONLON, 0, 0, 0);
Audio_SeqCmdA(3, 0xFFFC);
D_8016B9D8 = 10;
}
@ -3930,10 +3931,10 @@ void func_800F6584(u8 arg0) {
u16 sp34;
D_8016B9F2 = arg0;
if ((func_800FA0B4(0) & 0xFF) == 0x2F) {
if ((func_800FA0B4(0) & 0xFF) == NA_BGM_LONLON) {
seqIdx = 0;
sp34 = 0;
} else if ((func_800FA0B4(3) & 0xFF) == 0x2F) {
} else if ((func_800FA0B4(3) & 0xFF) == NA_BGM_LONLON) {
seqIdx = 3;
sp34 = 0xFFFC;
} else {
@ -3948,7 +3949,7 @@ void func_800F6584(u8 arg0) {
}
} else {
if (seqIdx == 3) {
func_800F5E18(3, 0x2F, 0, 0, 0);
func_800F5E18(3, NA_BGM_LONLON, 0, 0, 0);
}
Audio_SeqCmd6(seqIdx, 1, 0, 0x7F);
Audio_SeqCmd6(seqIdx, 1, 1, 0x7F);
@ -4011,7 +4012,7 @@ void func_800F6828(u8 arg0) {
D_80130648 = arg0;
D_80130640 = arg0;
if (D_8016E750[0].unk_254 == 1) {
if (D_8016E750[0].unk_254 == NA_BGM_NATURE_BACKGROUND) {
for (i = 0; i < 16; i++) {
t = i;
Audio_QueueCmdS8(((t & 0xFF) << 8) | 0x6000000 | 6, arg0);
@ -4121,7 +4122,7 @@ void func_800F6C34(void) {
D_8016B9D8 = 0;
sSpecReverb = sSpecReverbs[gAudioSpecId];
D_80130608 = 0;
D_80130628 = 0xFFFF;
D_80130628 = NA_BGM_DISABLED;
Audio_QueueCmdS8(0x46000000, -1);
sSariaBgmPtr = NULL;
D_8016B9F4 = 0;
@ -4134,13 +4135,13 @@ void func_800F6D58(u8 arg0, u8 arg1, u8 arg2) {
u8 temp_a0;
u8 i;
if ((D_8016E750[0].unk_254 != 1) && func_800FA11C(1, 0xF00000FF)) {
if ((D_8016E750[0].unk_254 != NA_BGM_NATURE_BACKGROUND) && func_800FA11C(1, 0xF00000FF)) {
sAudioNatureFailed = 1;
return;
}
if (((arg0 << 8) + arg1) == 0x101) {
if (func_800FA0B4(3) != 0x2F) {
if (func_800FA0B4(3) != NA_BGM_LONLON) {
D_8016B9D8 = 0;
}
}
@ -4160,7 +4161,7 @@ void func_800F6E7C(u16 arg0, u16 arg1) {
u8 i;
u32 t;
if (func_800FA0B4(0) == 0x4C) {
if (func_800FA0B4(0) == NA_BGM_WINDMILL) {
func_800F3F3C(0xF);
return;
}
@ -4175,7 +4176,7 @@ void func_800F6E7C(u16 arg0, u16 arg1) {
Audio_SeqCmdE01(0, 0);
}
Audio_StartSeq(0, 0, 1);
Audio_StartSeq(0, 0, NA_BGM_NATURE_BACKGROUND);
if (i != 0) {
Audio_SeqCmdE01(0, 1);
@ -4194,7 +4195,7 @@ void func_800F6FB4(u8 arg0) {
u8 b1;
u8 b2;
if ((D_8016E750[0].unk_254 == 0xFFFF) || ((D_80130658[((u8)D_8016E750[0].unk_254) & 0xFF] & 0x80) == 0)) {
if ((D_8016E750[0].unk_254 == NA_BGM_DISABLED) || ((D_80130658[((u8)D_8016E750[0].unk_254) & 0xFF] & 0x80) == 0)) {
func_800F6E7C(D_801306DC[arg0].unk_00, D_801306DC[arg0].unk_02);
while ((D_801306DC[arg0].unk_04[i] != 0xFF) && (i < 100)) {
// Probably a fake match, using Audio_SeqCmd8 doesn't work.

View file

@ -65,7 +65,7 @@ void func_800F9280(u8 seqIdx, u8 seqId, u8 arg2, u16 fadeTimer) {
void func_800F9474(u8 arg0, u16 arg1) {
Audio_QueueCmdS32(0x83000000 | ((u8)arg0 << 16),
(arg1 * (u16)gAudioContext.audioBufferParameters.updatesPerFrame) / 4);
D_8016E750[arg0].unk_254 = 0xFFFF;
D_8016E750[arg0].unk_254 = NA_BGM_DISABLED;
}
typedef enum {
@ -370,7 +370,7 @@ void Audio_ProcessSeqCmds(void) {
u16 func_800FA0B4(u8 playerIdx) {
if (!gAudioContext.seqPlayers[playerIdx].enabled) {
return 0xFFFF;
return NA_BGM_DISABLED;
}
return D_8016E750[playerIdx].unk_254;
}
@ -672,8 +672,8 @@ void func_800FADF8(void) {
for (i = 0; i < 4; i++) {
D_8016E348[i] = 0;
D_8016E750[i].unk_254 = 0xFFFF;
D_8016E750[i].unk_256 = 0xFFFF;
D_8016E750[i].unk_254 = NA_BGM_DISABLED;
D_8016E750[i].unk_256 = NA_BGM_DISABLED;
D_8016E750[i].unk_28 = 0;
D_8016E750[i].unk_18 = 0;
D_8016E750[i].unk_14 = 0;

View file

@ -8,9 +8,9 @@ void SaveContext_Init(void) {
bzero(&gSaveContext, sizeof(gSaveContext));
D_8015FA88 = 0;
D_8015FA8C = 0;
gSaveContext.seqIndex = 0xFF;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.unk_140E = 0;
gSaveContext.unk_140E = NA_BGM_GENERAL_SFX;
gSaveContext.nextCutsceneIndex = 0xFFEF;
gSaveContext.cutsceneTrigger = 0;
gSaveContext.chamberCutsceneNum = 0;

View file

@ -64,7 +64,7 @@ void GameOver_Update(GlobalContext* globalCtx) {
gSaveContext.nayrusLoveTimer = 2000;
gSaveContext.naviTimer = 0;
gSaveContext.seqIndex = 0xFF;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.eventInf[0] = 0;
gSaveContext.eventInf[1] = 0;

View file

@ -1928,12 +1928,12 @@ void func_800758AC(GlobalContext* globalCtx) {
// both lost woods exits on the bridge from kokiri to hyrule field
if (((void)0, gSaveContext.entranceIndex) == 0x4DE || ((void)0, gSaveContext.entranceIndex) == 0x5E0) {
func_800F6FB4(4);
} else if (((void)0, gSaveContext.unk_140E) != 0) {
} else if (((void)0, gSaveContext.unk_140E) != NA_BGM_GENERAL_SFX) {
if (!func_80077600()) {
Audio_QueueSeqCmd((s32)((void)0, gSaveContext.unk_140E));
}
gSaveContext.unk_140E = 0;
} else if (globalCtx->soundCtx.seqIndex == 0x7F) {
gSaveContext.unk_140E = NA_BGM_GENERAL_SFX;
} else if (globalCtx->soundCtx.seqIndex == NA_BGM_NO_MUSIC) {
if (globalCtx->soundCtx.nightSeqIndex == 0x13) {
return;
}
@ -2402,7 +2402,7 @@ void func_800775F0(u16 arg0) {
s32 func_80077600(void) {
s32 ret = false;
if (gSaveContext.unk_140E == 0xFFFF) {
if (gSaveContext.unk_140E == NA_BGM_DISABLED) {
ret = true;
}
@ -2424,8 +2424,8 @@ void func_80077684(GlobalContext* globalCtx) {
func_800F6D58(14, 1, 0);
func_800F6D58(15, 1, 0);
if (func_800FA0B4(0) == 1) {
gSaveContext.seqIndex = 0x80;
if (func_800FA0B4(0) == NA_BGM_NATURE_BACKGROUND) {
gSaveContext.seqIndex = NA_BGM_NATURE_SFX_RAIN;
func_800758AC(globalCtx);
}
}

View file

@ -4149,7 +4149,7 @@ void Interface_Update(GlobalContext* globalCtx) {
globalCtx->sceneLoadFlag = 0x14;
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
func_800F6964(30);
gSaveContext.seqIndex = 0xFF;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
} else {
gSaveContext.sunsSongState = SUNSSONG_SPECIAL;

View file

@ -482,7 +482,7 @@ void Gameplay_Update(GlobalContext* globalCtx) {
// "Sound initalized. 222"
osSyncPrintf("\n\n\nサウンドイニシャル来ました。222");
func_800F6964(0x14);
gSaveContext.seqIndex = 0xFF;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
}
}

View file

@ -416,7 +416,7 @@ void func_80099140(GlobalContext* globalCtx, SceneCmd* cmd) {
globalCtx->soundCtx.seqIndex = cmd->soundSettings.seqIndex;
globalCtx->soundCtx.nightSeqIndex = cmd->soundSettings.nightSeqIndex;
if (gSaveContext.seqIndex == 0xFF) {
if (gSaveContext.seqIndex == (u8)NA_BGM_DISABLED) {
Audio_QueueSeqCmd(cmd->soundSettings.bgmId | 0xF0000000);
}
}

View file

@ -110,7 +110,7 @@ void func_808BAF40(BgTokiSwd* this, GlobalContext* globalCtx) {
globalCtx->csCtx.segment = D_808BB7A0;
}
Audio_QueueSeqCmd(NA_BGM_STOP);
Audio_QueueSeqCmd(0x53);
Audio_QueueSeqCmd(NA_BGM_MASTER_SWORD);
gSaveContext.cutsceneTrigger = 1;
this->actor.parent = NULL;
BgTokiSwd_SetupAction(this, func_808BB0AC);

View file

@ -409,7 +409,7 @@ void BossDodongo_IntroCutscene(BossDodongo* this, GlobalContext* globalCtx) {
SEGMENTED_TO_VIRTUAL(&object_kingdodongo_Blob_017410), 0xA0, 0xB4, 0x80,
0x28);
}
Audio_QueueSeqCmd(0x6B);
Audio_QueueSeqCmd(NA_BGM_FIRE_BOSS);
}
if (this->unk_198 == 0) {
@ -1598,7 +1598,7 @@ void BossDodongo_DeathCutscene(BossDodongo* this, GlobalContext* globalCtx) {
}
if (this->unk_1DA == 820) {
Audio_QueueSeqCmd(0x21);
Audio_QueueSeqCmd(NA_BGM_BOSS_CLEAR);
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_B_HEART,
Math_SinS(this->actor.shape.rot.y) * -50.0f + this->actor.world.pos.x,
this->actor.world.pos.y,

View file

@ -190,7 +190,7 @@ void BossFd_Init(Actor* thisx, GlobalContext* globalCtx) {
0);
this->introState = BFD_CS_WAIT;
if (this->introState == BFD_CS_NONE) {
Audio_QueueSeqCmd(0x6B);
Audio_QueueSeqCmd(NA_BGM_FIRE_BOSS);
}
this->actor.world.pos.x = this->actor.world.pos.z = 0.0f;
@ -490,7 +490,7 @@ void BossFd_Fly(BossFd* this, GlobalContext* globalCtx) {
this->camData.yMod = Math_CosS(this->work[BFD_MOVE_TIMER] * 0x8000) * this->camData.shake;
}
if (this->timers[3] == 160) {
Audio_QueueSeqCmd(0x6B);
Audio_QueueSeqCmd(NA_BGM_FIRE_BOSS);
}
if ((this->timers[3] == 130) && !(gSaveContext.eventChkInf[7] & 8)) {
TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx,
@ -745,7 +745,7 @@ void BossFd_Fly(BossFd* this, GlobalContext* globalCtx) {
if (this->skinSegments != 0) {
this->skinSegments--;
if (this->skinSegments == 0) {
Audio_QueueSeqCmd(0x21);
Audio_QueueSeqCmd(NA_BGM_BOSS_CLEAR);
}
} else {
this->work[BFD_ACTION_STATE] = BOSSFD_BONES_FALL;

View file

@ -444,7 +444,7 @@ void func_808FD5F4(BossGanon2* this, GlobalContext* globalCtx) {
this->actor.world.pos.x = -200.0f;
this->actor.world.pos.y = this->actor.world.pos.y - 30.0f;
this->actor.world.pos.z = -200.0f;
Audio_QueueSeqCmd(0x23);
Audio_QueueSeqCmd(NA_BGM_OPENING_GANON);
} else {
break;
}
@ -587,7 +587,7 @@ void func_808FD5F4(BossGanon2* this, GlobalContext* globalCtx) {
case 18:
this->unk_339 = 6;
if (this->unk_398 == 30) {
Audio_QueueSeqCmd(0x65);
Audio_QueueSeqCmd(NA_BGM_GANON_BATTLE_2);
}
Math_ApproachF(&this->unk_30C, 7.0f, 1.0f, 0.1f);
Math_ApproachF(&this->unk_3A4.x, (this->actor.world.pos.x + 500.0f) - 350.0f, 0.1f, 1.0f);

View file

@ -1101,7 +1101,7 @@ void BossGanondrof_Death(BossGanondrof* this, GlobalContext* globalCtx) {
holdCamera = true;
bodyDecayLevel = 10;
if (this->timers[0] == 150) {
Audio_QueueSeqCmd(0x21);
Audio_QueueSeqCmd(NA_BGM_BOSS_CLEAR);
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_DOOR_WARP1, GND_BOSSROOM_CENTER_X,
GND_BOSSROOM_CENTER_Y, GND_BOSSROOM_CENTER_Z, 0, 0, 0, WARP_DUNGEON_ADULT);
}

View file

@ -925,7 +925,7 @@ void BossGoma_Encounter(BossGoma* this, GlobalContext* globalCtx) {
SEGMENTED_TO_VIRTUAL(gGohmaTitleCardTex), 0xA0, 0xB4, 0x80, 0x28);
}
Audio_QueueSeqCmd(0x1B);
Audio_QueueSeqCmd(NA_BGM_BOSS);
gSaveContext.eventChkInf[7] |= 1;
}
@ -1110,7 +1110,7 @@ void BossGoma_Defeated(BossGoma* this, GlobalContext* globalCtx) {
Math_SmoothStepToF(&this->subCameraAt.z, this->firstTailLimbWorldPos.z, 0.2f, 50.0f, 0.1f);
if (this->timer == 80) {
Audio_QueueSeqCmd(0x21);
Audio_QueueSeqCmd(NA_BGM_BOSS_CLEAR);
}
if (this->timer == 0) {

View file

@ -360,7 +360,7 @@ void BossMo_Init(Actor* thisx, GlobalContext* globalCtx2) {
return;
}
if (gSaveContext.eventChkInf[7] & 0x10) {
Audio_QueueSeqCmd(0x1B);
Audio_QueueSeqCmd(NA_BGM_BOSS);
this->tentMaxAngle = 5.0f;
this->timers[0] = 50;
} else {
@ -1104,7 +1104,7 @@ void BossMo_Tentacle(BossMo* this, GlobalContext* globalCtx) {
WARP_DUNGEON_ADULT);
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_B_HEART, this->actor.world.pos.x + 200.0f,
-280.0f, this->actor.world.pos.z, 0, 0, 0, 0);
Audio_QueueSeqCmd(0x21);
Audio_QueueSeqCmd(NA_BGM_BOSS_CLEAR);
Flags_SetClear(globalCtx, globalCtx->roomCtx.curRoom.num);
}
}
@ -1419,7 +1419,7 @@ void BossMo_IntroCs(BossMo* this, GlobalContext* globalCtx) {
this->cameraAccel = 0.01f;
}
if (this->timers[2] == 150) {
Audio_QueueSeqCmd(0x1B);
Audio_QueueSeqCmd(NA_BGM_BOSS);
}
if (this->timers[2] == 130) {
TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx,

View file

@ -599,7 +599,7 @@ void BossSst_HeadIntro(BossSst* this, GlobalContext* globalCtx) {
TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx,
SEGMENTED_TO_VIRTUAL(&gBongoTitleCardTex), 160, 180, 128, 40);
}
Audio_QueueSeqCmd(0x1B);
Audio_QueueSeqCmd(NA_BGM_BOSS);
Animation_MorphToPlayOnce(&this->skelAnime, &gBongoHeadEyeCloseAnim, -5.0f);
BossSst_HeadSfx(this, NA_SE_EN_SHADEST_DISAPPEAR);
}
@ -1157,7 +1157,7 @@ void BossSst_HeadMelt(BossSst* this, GlobalContext* globalCtx) {
void BossSst_HeadSetupFinish(BossSst* this) {
this->actor.draw = BossSst_DrawEffect;
this->timer = 40;
Audio_QueueSeqCmd(0x21);
Audio_QueueSeqCmd(NA_BGM_BOSS_CLEAR);
BossSst_SetCameraTargets(1.0 / 40, 6);
this->actionFunc = BossSst_HeadFinish;
}

View file

@ -520,7 +520,7 @@ void BossTw_Init(Actor* thisx, GlobalContext* globalCtx2) {
this->actor.world.pos.x = -600.0f;
this->actor.world.pos.y = 400.0f;
this->actor.world.pos.z = 0.0f;
Audio_QueueSeqCmd(0x1B);
Audio_QueueSeqCmd(NA_BGM_BOSS);
} else {
BossTw_SetupCSWait(this, globalCtx);
}
@ -1642,7 +1642,7 @@ void BossTw_TwinrovaMergeCS(BossTw* this, GlobalContext* globalCtx) {
this->timers[0] = 50;
func_8002DF54(globalCtx, &this->actor, 2);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_TWINROBA_TRANSFORM);
Audio_QueueSeqCmd(0x1B);
Audio_QueueSeqCmd(NA_BGM_BOSS);
}
}
@ -1783,7 +1783,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
if (this->csSfxTimer == 180) {
func_80078914(&D_8094A7D0, NA_SE_EN_TWINROBA_LAUGH);
func_80078914(&D_8094A7D0, NA_SE_EN_TWINROBA_LAUGH2);
Audio_QueueSeqCmd(0x61);
Audio_QueueSeqCmd(NA_BGM_KOTAKE_KOUME);
}
this->csSfxTimer++;
@ -2220,7 +2220,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx,
SEGMENTED_TO_VIRTUAL(object_tw_Blob_02E170), 0xA0, 0xB4, 0x80, 0x28);
gSaveContext.eventChkInf[7] |= 0x20;
Audio_QueueSeqCmd(0x1B);
Audio_QueueSeqCmd(NA_BGM_BOSS);
}
if (this->work[CS_TIMER_1] >= 160) {
@ -2767,7 +2767,7 @@ void BossTw_TwinrovaDeathCS(BossTw* this, GlobalContext* globalCtx) {
sKoumePtr->visible = 1;
sKotakePtr->visible = 1;
func_80078884(NA_SE_EN_TWINROBA_TRANSFORM);
Audio_QueueSeqCmd(0x61);
Audio_QueueSeqCmd(NA_BGM_KOTAKE_KOUME);
this->csState2 = 3;
this->work[CS_TIMER_2] = 0;
this->subCamYaw = this->subCamYawStep = this->actor.speedXZ = this->subCamDistStep = 0.0f;
@ -2815,7 +2815,7 @@ void BossTw_TwinrovaDeathCS(BossTw* this, GlobalContext* globalCtx) {
this->subCamId = 0;
func_80064534(globalCtx, &globalCtx->csCtx);
func_8002DF54(globalCtx, &this->actor, 7);
Audio_QueueSeqCmd(0x21);
Audio_QueueSeqCmd(NA_BGM_BOSS_CLEAR);
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_DOOR_WARP1, 600.0f, 230.0f,
0.0f, 0, 0, 0, WARP_DUNGEON_ADULT);
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_B_HEART, -600.0f, 230.f, 0.0f, 0, 0, 0, 0);

View file

@ -959,7 +959,7 @@ void BossVa_BodyIntro(BossVa* this, GlobalContext* globalCtx) {
globalCtx->envCtx.unk_BF = 1;
func_8002DF54(globalCtx, &this->actor, 8);
} else if (this->timer >= 35000) {
Audio_QueueSeqCmd(0x1B);
Audio_QueueSeqCmd(NA_BGM_BOSS);
}
this->timer += this->unk_1F2;
@ -1600,7 +1600,7 @@ void BossVa_BodyDeath(BossVa* this, GlobalContext* globalCtx) {
break;
case DEATH_CORE_BURST:
if (this->timer == 13) {
Audio_QueueSeqCmd(0x21);
Audio_QueueSeqCmd(NA_BGM_BOSS_CLEAR);
}
this->timer--;

View file

@ -382,7 +382,7 @@ void DoorWarp1_ChooseInitialAction(DoorWarp1* this, GlobalContext* globalCtx) {
void DoorWarp1_AwaitClearFlag(DoorWarp1* this, GlobalContext* globalCtx) {
if (Flags_GetTempClear(globalCtx, this->actor.room)) {
this->warpTimer = 200;
Audio_QueueSeqCmd(0x21);
Audio_QueueSeqCmd(NA_BGM_BOSS_CLEAR);
DoorWarp1_SetupAction(this, func_809995D4);
}
}

View file

@ -407,7 +407,7 @@ void func_809BD84C(EnBigokuta* this, GlobalContext* globalCtx) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DAIOCTA_VOICE);
}
if (this->unk_196 == 1) {
func_800F5ACC(0x38);
func_800F5ACC(NA_BGM_MINI_BOSS);
}
if (this->actor.params == 1) {
func_809BD370(this);
@ -470,7 +470,7 @@ void func_809BDB90(EnBigokuta* this, GlobalContext* globalCtx) {
}
if (this->unk_196 == 0) {
if (this->actor.params == 3) {
func_800F5ACC(0x38);
func_800F5ACC(NA_BGM_MINI_BOSS);
}
func_809BD3F8(this);
}

View file

@ -415,7 +415,7 @@ void EnBox_WaitOpen(EnBox* this, GlobalContext* globalCtx) {
this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.y,
this->dyna.actor.world.pos.z, this->dyna.actor.shape.rot.x,
this->dyna.actor.shape.rot.y, this->dyna.actor.shape.rot.z, 0xFFFF);
func_800F5C64(0x92B);
func_800F5C64(NA_BGM_OPEN_TRE_BOX | 0x900);
}
}
osSyncPrintf("Actor_Environment_Tbox_On() %d\n", this->dyna.actor.params & 0x1F);

View file

@ -403,7 +403,7 @@ void EnDaiku_InitEscape(EnDaiku* this, GlobalContext* globalCtx) {
Vec3s* pointPos;
s32 exitLoop;
func_800F5C64(0x51);
func_800F5C64(NA_BGM_APPEAR);
EnDaiku_Change(this, ENDAIKU_ANIM_RUN, &this->currentAnimIndex);
this->stateFlags &= ~(ENDAIKU_STATEFLAG_1 | ENDAIKU_STATEFLAG_2);

View file

@ -201,7 +201,7 @@ void EnDh_SetupWait(EnDh* this) {
void EnDh_Wait(EnDh* this, GlobalContext* globalCtx) {
if ((s32)this->skelAnime.curFrame == 5) {
func_800F5ACC(0x38);
func_800F5ACC(NA_BGM_MINI_BOSS);
}
if (Actor_GetCollidedExplosive(globalCtx, &this->collider1.base)) {
this->actor.params = ENDH_START_ATTACK_BOMB;

View file

@ -160,7 +160,7 @@ s32 EnDivingGame_HasMinigameFinished(EnDivingGame* this, GlobalContext* globalCt
func_8010B680(globalCtx, this->actor.textId, NULL);
this->unk_292 = 5;
func_800F5B58();
func_800F5C64(0x39);
func_800F5C64(NA_BGM_SMALL_ITEM_GET);
func_8002DF54(globalCtx, NULL, 8);
if (!(gSaveContext.eventChkInf[3] & 0x100)) {
this->actionFunc = func_809EE96C;
@ -416,7 +416,7 @@ void func_809EE800(EnDivingGame* this, GlobalContext* globalCtx) {
} else {
func_80088B34(BREG(2) + 50);
}
func_800F5ACC(0x6C);
func_800F5ACC(NA_BGM_MINI_GAME_2);
func_8002DF54(globalCtx, NULL, 7);
this->actor.textId = 0x405B;
this->unk_292 = 5;

View file

@ -161,7 +161,7 @@ void EnDntDemo_Judge(EnDntDemo* this, GlobalContext* globalCtx) {
if (!(gSaveContext.itemGetInf[1] & 0x4000)) {
reaction = DNT_SIGNAL_CELEBRATE;
this->prize = DNT_PRIZE_STICK;
Audio_QueueSeqCmd(0x3E);
Audio_QueueSeqCmd(NA_BGM_SARIA_THEME);
break;
}
case PLAYER_MASK_TRUTH:
@ -208,17 +208,17 @@ void EnDntDemo_Judge(EnDntDemo* this, GlobalContext* globalCtx) {
this->action = sResultValues[resultIdx][1];
switch (this->action) {
case DNT_ACTION_LOW_RUPEES:
Audio_QueueSeqCmd(0x2D);
Audio_QueueSeqCmd(NA_BGM_COURTYARD);
break;
case DNT_ACTION_ATTACK:
if (this->subCamera != SUBCAM_FREE) {
this->subCamera = SUBCAM_FREE;
OnePointCutscene_Init(globalCtx, 2350, -99, &this->scrubs[3]->actor, MAIN_CAM);
}
Audio_QueueSeqCmd(0x81A);
Audio_QueueSeqCmd(NA_BGM_ENEMY | 0x800);
break;
case DNT_ACTION_DANCE:
Audio_QueueSeqCmd(0x55);
Audio_QueueSeqCmd(NA_BGM_SHOP);
break;
}
osSyncPrintf("\n\n");

View file

@ -361,7 +361,7 @@ void EnDntJiji_Return(EnDntJiji* this, GlobalContext* globalCtx) {
if ((this->stage->actor.update != NULL) && (this->stage->leaderSignal == DNT_SIGNAL_NONE)) {
this->stage->leaderSignal = DNT_SIGNAL_HIDE;
this->stage->action = DNT_ACTION_ATTACK;
Audio_QueueSeqCmd(0x81A);
Audio_QueueSeqCmd(NA_BGM_ENEMY | 0x800);
}
}
this->actor.speedXZ = 0.0f;

View file

@ -343,7 +343,7 @@ void func_809FE638(EnDu* this, GlobalContext* globalCtx) {
if (!(player->stateFlags1 & 0x20000000)) {
OnePointCutscene_Init(globalCtx, 3330, -99, &this->actor, MAIN_CAM);
player->actor.shape.rot.y = player->actor.world.rot.y = this->actor.world.rot.y + 0x7FFF;
func_800F5C64(0x51);
func_800F5C64(NA_BGM_APPEAR);
EnDu_SetupAction(this, func_809FE6CC);
this->unk_1E2 = 0x32;
}

View file

@ -646,7 +646,7 @@ void EnFd_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
if (this->firstUpdateFlag) {
func_800F5ACC(0x38);
func_800F5ACC(NA_BGM_MINI_BOSS);
this->firstUpdateFlag = false;
}

View file

@ -356,7 +356,7 @@ void EnGeldB_Wait(EnGeldB* this, GlobalContext* globalCtx) {
} else {
this->invisible = false;
this->actor.shape.shadowScale = 90.0f;
func_800F5ACC(0x38);
func_800F5ACC(NA_BGM_MINI_BOSS);
}
if (this->actor.bgCheckFlags & 2) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DOWN);

View file

@ -1884,7 +1884,7 @@ void EnGo2_GoronFireGenericAction(EnGo2* this, GlobalContext* globalCtx) {
player->actor.world.pos.z =
(f32)((Math_CosS(this->actor.world.rot.y) * -30.0f) + this->actor.world.pos.z);
func_8002DF54(globalCtx, &this->actor, 8);
func_800F5C64(0x51);
func_800F5C64(NA_BGM_APPEAR);
}
break;
case 2: // Walking away

View file

@ -2502,7 +2502,7 @@ void EnHorse_UpdateHorsebackArchery(EnHorse* this, GlobalContext* globalCtx) {
this->hbaTimer++;
}
sp20 = func_800F5A58(65);
sp20 = func_800F5A58(NA_BGM_HORSE_GOAL);
EnHorse_UpdateHbaRaceInfo(this, globalCtx, &sHbaInfo);
if (this->hbaFlags & 1 || this->hbaTimer >= 46) {
if (sp20 != 1 && gSaveContext.minigameState != 3) {
@ -2530,7 +2530,7 @@ void EnHorse_UpdateHorsebackArchery(EnHorse* this, GlobalContext* globalCtx) {
if ((globalCtx->interfaceCtx.hbaAmmo == 0) || (this->hbaFlags & 2)) {
if (this->hbaFlags & 4) {
this->hbaFlags &= ~4;
Audio_QueueSeqCmd(65);
Audio_QueueSeqCmd(NA_BGM_HORSE_GOAL);
}
}

View file

@ -115,11 +115,11 @@ void EnHorseGameCheck_FinishIngoRace(EnHorseGameCheckIngoRace* this, GlobalConte
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 6;
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000;
globalCtx->fadeTransition = 3;
func_800775F0(0x42);
func_800775F0(NA_BGM_INGO);
} else {
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 4;
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000;
func_800775F0(0x42);
func_800775F0(NA_BGM_INGO);
globalCtx->fadeTransition = 0x2E;
}
} else {
@ -183,7 +183,7 @@ s32 EnHorseGameCheck_UpdateIngoRace(EnHorseGameCheckBase* base, GlobalContext* g
if (this->playerFinish > 0) {
this->result = INGORACE_PLAYER_WIN;
this->finishTimer = 55;
Audio_QueueSeqCmd(0x41);
Audio_QueueSeqCmd(NA_BGM_HORSE_GOAL);
Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
for (i = 0; i < 3; i++) {
@ -198,7 +198,7 @@ s32 EnHorseGameCheck_UpdateIngoRace(EnHorseGameCheckBase* base, GlobalContext* g
this->result = INGORACE_INGO_WIN;
this->finishTimer = 70;
ingoHorse->stateFlags |= ENHORSE_INGO_WON;
Audio_QueueSeqCmd(0x41);
Audio_QueueSeqCmd(NA_BGM_HORSE_GOAL);
Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
for (i = 0; i < 3; i++) {
@ -206,12 +206,12 @@ s32 EnHorseGameCheck_UpdateIngoRace(EnHorseGameCheckBase* base, GlobalContext* g
}
}
if (((player2->rideActor != NULL) && AT_RANCH_EXIT(player2->rideActor)) || AT_RANCH_EXIT(&player2->actor)) {
Audio_QueueSeqCmd(0x41);
Audio_QueueSeqCmd(NA_BGM_HORSE_GOAL);
this->result = INGORACE_INGO_WIN;
this->finishTimer = 20;
}
if ((gSaveContext.timer1Value >= 180) && (this->startFlags & 2)) {
Audio_QueueSeqCmd(0x41);
Audio_QueueSeqCmd(NA_BGM_HORSE_GOAL);
this->result = INGORACE_TIME_UP;
this->finishTimer = 20;
}
@ -376,7 +376,7 @@ s32 EnHorseGameCheck_UpdateMalonRace(EnHorseGameCheckBase* base, GlobalContext*
this->finishTimer = 30;
} else if (this->fenceCheck[15] == 1) {
this->lapCount = 2;
Audio_QueueSeqCmd(0x41);
Audio_QueueSeqCmd(NA_BGM_HORSE_GOAL);
Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
this->result = MALONRACE_SUCCESS;
this->finishTimer = 70;

View file

@ -428,7 +428,7 @@ s16 func_80A70058(GlobalContext* globalCtx, Actor* thisx) {
case 0x70F3:
if (this->skelAnime.animation != &gObjOsAnim_33B4) {
func_80034EC0(&this->skelAnime, D_80A72050, 23);
func_800F5C64(0x922);
func_800F5C64(NA_BGM_ITEM_GET | 0x900);
}
break;
}

View file

@ -294,7 +294,7 @@ void func_80A747C0(EnIk* this, GlobalContext* globalCtx) {
sp24.y += 30.0f;
func_8003424C(globalCtx, &sp24);
this->skelAnime.playSpeed = 1.0f;
func_800F5ACC(0x38);
func_800F5ACC(NA_BGM_MINI_BOSS);
}
if (this->skelAnime.curFrame == 5.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_IRONNACK_WAKEUP);
@ -960,7 +960,7 @@ void func_80A76798(Actor* thisx, GlobalContext* globalCtx) {
}
void EnIk_StartMusic(void) {
func_800F5ACC(0x38);
func_800F5ACC(NA_BGM_MINI_BOSS);
}
void func_80A76C14(EnIk* this) {

View file

@ -636,7 +636,7 @@ void func_80A7A4C8(EnIn* this, GlobalContext* globalCtx) {
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x000F) | 0x0001;
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000;
gSaveContext.infTable[10] &= ~4;
func_800775F0(0x40);
func_800775F0(NA_BGM_HORSE);
globalCtx->msgCtx.unk_E3E7 = 0;
globalCtx->msgCtx.msgMode = 0x36;
this->unk_308.unk_00 = 0;

View file

@ -447,7 +447,7 @@ void EnMa1_Draw(Actor* thisx, GlobalContext* globalCtx) {
camera = GET_ACTIVE_CAM(globalCtx);
distFromCamera = Math_Vec3f_DistXZ(&this->actor.world.pos, &camera->eye);
func_800F6268(distFromCamera, 0x2F);
func_800F6268(distFromCamera, NA_BGM_LONLON);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sMouthTextures[this->mouthIndex]));

View file

@ -379,7 +379,7 @@ void EnMa2_Draw(Actor* thisx, GlobalContext* globalCtx) {
camera = GET_ACTIVE_CAM(globalCtx);
someFloat = Math_Vec3f_DistXZ(&this->actor.world.pos, &camera->eye);
func_800F6268(someFloat, 0x2F);
func_800F6268(someFloat, NA_BGM_LONLON);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA28B4[this->unk_210]));

View file

@ -361,7 +361,7 @@ void EnMa3_Draw(Actor* thisx, GlobalContext* globalCtx) {
camera = GET_ACTIVE_CAM(globalCtx);
someFloat = Math_Vec3f_DistXZ(&this->actor.world.pos, &camera->eye);
func_800F6268(someFloat, 0x2F);
func_800F6268(someFloat, NA_BGM_LONLON);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA38A4[this->unk_210]));

View file

@ -94,7 +94,7 @@ void EnOkarinaEffect_ManageStorm(EnOkarinaEffect* this, GlobalContext* globalCtx
globalCtx->envCtx.unk_F2[0] = 0;
if (globalCtx->csCtx.state == CS_STATE_IDLE) {
func_80077684(globalCtx);
} else if (func_800FA0B4(0) == 1) {
} else if (func_800FA0B4(0) == NA_BGM_NATURE_BACKGROUND) {
func_800F6D58(0xF, 1, 0);
func_800F6D58(0xE, 1, 0);
}

View file

@ -384,7 +384,7 @@ void EnOwl_WaitOutsideKokiri(EnOwl* this, GlobalContext* globalCtx) {
if (EnOwl_CheckInitTalk(this, globalCtx, 0x2064, 360.0f, 0)) {
// Sets BGM
func_800F5C64(0x5A);
func_800F5C64(NA_BGM_OWL);
this->actionFunc = EnOwl_ConfirmKokiriMessage;
// spoke to owl by lost woods
@ -431,7 +431,7 @@ void EnOwl_WaitHyruleCastle(EnOwl* this, GlobalContext* globalCtx) {
EnOwl_LookAtLink(this, globalCtx);
if (EnOwl_CheckInitTalk(this, globalCtx, 0x2068, 540.0f, 0)) {
func_800F5C64(0x5A);
func_800F5C64(NA_BGM_OWL);
this->actionFunc = func_80ACAAC0;
}
}
@ -472,7 +472,7 @@ void EnOwl_WaitKakariko(EnOwl* this, GlobalContext* globalCtx) {
EnOwl_LookAtLink(this, globalCtx);
if (EnOwl_CheckInitTalk(this, globalCtx, 0x206C, 480.0f, 0)) {
func_800F5C64(0x5A);
func_800F5C64(NA_BGM_OWL);
this->actionFunc = func_80ACAC6C;
}
}
@ -508,7 +508,7 @@ void EnOwl_WaitGerudo(EnOwl* this, GlobalContext* globalCtx) {
EnOwl_LookAtLink(this, globalCtx);
if (EnOwl_CheckInitTalk(this, globalCtx, 0x206F, 360.0f, 0)) {
func_800F5C64(0x5A);
func_800F5C64(NA_BGM_OWL);
this->actionFunc = func_80ACADF0;
}
}
@ -544,7 +544,7 @@ void EnOwl_WaitLakeHylia(EnOwl* this, GlobalContext* globalCtx) {
EnOwl_LookAtLink(this, globalCtx);
if (EnOwl_CheckInitTalk(this, globalCtx, 0x2071, 360.0f, 0)) {
func_800F5C64(0x5A);
func_800F5C64(NA_BGM_OWL);
this->actionFunc = func_80ACAF74;
}
}
@ -575,7 +575,7 @@ void EnOwl_WaitZoraRiver(EnOwl* this, GlobalContext* globalCtx) {
}
if (EnOwl_CheckInitTalk(this, globalCtx, textId, 360.0f, 0)) {
func_800F5C64(0x5A);
func_800F5C64(NA_BGM_OWL);
this->actionFunc = func_80ACB03C;
}
}
@ -595,7 +595,7 @@ void EnOwl_WaitHyliaShortcut(EnOwl* this, GlobalContext* globalCtx) {
EnOwl_LookAtLink(this, globalCtx);
if (func_80ACA558(this, globalCtx, textId)) {
gSaveContext.infTable[25] |= 0x20;
func_800F5C64(0x5A);
func_800F5C64(NA_BGM_OWL);
this->actionFunc = func_80ACB148;
}
}
@ -620,13 +620,13 @@ void EnOwl_WaitDeathMountainShortcut(EnOwl* this, GlobalContext* globalCtx) {
if (!gSaveContext.magicAcquired) {
if (func_80ACA558(this, globalCtx, 0x3062)) {
func_800F5C64(0x5A);
func_800F5C64(NA_BGM_OWL);
this->actionFunc = func_80ACB274;
return;
}
} else {
if (func_80ACA558(this, globalCtx, 0x3063)) {
func_800F5C64(0x5A);
func_800F5C64(NA_BGM_OWL);
this->actionFunc = func_80ACB22C;
}
}
@ -650,7 +650,7 @@ void func_80ACB3E0(EnOwl* this, GlobalContext* globalCtx) {
EnOwl_LookAtLink(this, globalCtx);
if (EnOwl_CheckInitTalk(this, globalCtx, 0x6079, 360.0f, 2)) {
func_800F5C64(0x5A);
func_800F5C64(NA_BGM_OWL);
this->actionFunc = func_80ACB344;
}
}
@ -685,7 +685,7 @@ void EnOwl_WaitLWPreSaria(EnOwl* this, GlobalContext* globalCtx) {
EnOwl_LookAtLink(this, globalCtx);
if (EnOwl_CheckInitTalk(this, globalCtx, 0x10C0, 190.0f, 0)) {
func_800F5C64(0x5A);
func_800F5C64(NA_BGM_OWL);
this->actionFunc = func_80ACB4FC;
}
}
@ -721,7 +721,7 @@ void EnOwl_WaitLWPostSaria(EnOwl* this, GlobalContext* globalCtx) {
EnOwl_LookAtLink(this, globalCtx);
if (EnOwl_CheckInitTalk(this, globalCtx, 0x10C4, 360.0f, 0)) {
func_800F5C64(0x5A);
func_800F5C64(NA_BGM_OWL);
this->actionFunc = func_80ACB680;
}
}

View file

@ -898,7 +898,7 @@ void func_80ADB51C(EnPoSisters* this, GlobalContext* globalCtx) {
if (this->unk_19A == 0) {
this->actor.world.rot.y = this->actor.shape.rot.y += 0x4000 * (s32)(Rand_ZeroOne() * 4.0f);
if (this->unk_195 == 0) {
func_800F5ACC(0x38);
func_800F5ACC(NA_BGM_MINI_BOSS);
}
func_80AD9F1C(this);
} else {

View file

@ -242,9 +242,9 @@ void EnRiverSound_Draw(Actor* thisx, GlobalContext* globalCtx) {
} else if (this->actor.params == RS_SARIAS_SONG) {
func_800F4E30(&this->actor.projectedPos, this->actor.xzDistToPlayer);
} else if (this->actor.params == RS_UNK_13) {
Audio_PlaySariaBgm(&this->actor.home.pos, 62, 1000);
Audio_PlaySariaBgm(&this->actor.home.pos, NA_BGM_SARIA_THEME, 1000);
} else if (this->actor.params == RS_UNK_19) {
Audio_PlaySariaBgm(&this->actor.home.pos, 40, 800);
Audio_PlaySariaBgm(&this->actor.home.pos, NA_BGM_GREAT_FAIRY, 800);
} else if ((this->actor.params == RS_SANDSTORM) || (this->actor.params == RS_CHAMBER_OF_SAGES_1) ||
(this->actor.params == RS_CHAMBER_OF_SAGES_2) || (this->actor.params == RS_RUMBLING)) {
func_800788CC(soundEffects[this->actor.params]);

View file

@ -610,7 +610,7 @@ void func_80AF3744(EnRu2* this, GlobalContext* globalCtx) {
}
void func_80AF37AC() {
func_800F5C64(0x51);
func_800F5C64(NA_BGM_APPEAR);
}
void func_80AF37CC(EnRu2* this) {

View file

@ -97,7 +97,7 @@ void func_80AFB768(EnSi* this, GlobalContext* globalCtx) {
Item_Give(globalCtx, ITEM_SKULL_TOKEN);
player->actor.freezeTimer = 10;
func_8010B680(globalCtx, 0xB4, 0);
func_800F5C64(0x39);
func_800F5C64(NA_BGM_SMALL_ITEM_GET);
this->actionFunc = func_80AFB950;
} else {
Collider_UpdateCylinder(&this->actor, &this->collider);
@ -119,7 +119,7 @@ void func_80AFB89C(EnSi* this, GlobalContext* globalCtx) {
Item_Give(globalCtx, ITEM_SKULL_TOKEN);
player->actor.freezeTimer = 10;
func_8010B680(globalCtx, 0xB4, 0);
func_800F5C64(0x39);
func_800F5C64(NA_BGM_SMALL_ITEM_GET);
this->actionFunc = func_80AFB950;
}
}

View file

@ -57,11 +57,94 @@ const ActorInit En_Syateki_Man_InitVars = {
};
static u16 sBgmList[] = {
0x00, 0x01, 0x02, 0x18, 0x19, 0x02, 0x19, 0x1A, 0x1A, 0x81A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x922,
0x23, 0x924, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x92B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x32, 0x33, 0x34, 0x35,
0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
0x5A, 0x5B, 0x5C, 0x5D, 0x6D, 0x5E, 0x5E, 0x5F, 0x60, 0x61, 0x6D, 0x62, 0x63, 0x64, 0x65, 0x66,
NA_BGM_GENERAL_SFX,
NA_BGM_NATURE_BACKGROUND,
NA_BGM_FIELD_LOGIC,
NA_BGM_DUNGEON,
NA_BGM_KAKARIKO_ADULT,
NA_BGM_FIELD_LOGIC,
NA_BGM_KAKARIKO_ADULT,
NA_BGM_ENEMY,
NA_BGM_ENEMY,
NA_BGM_ENEMY | 0x800,
NA_BGM_BOSS,
NA_BGM_INSIDE_DEKU_TREE,
NA_BGM_MARKET,
NA_BGM_TITLE,
NA_BGM_LINK_HOUSE,
NA_BGM_GAME_OVER,
NA_BGM_BOSS_CLEAR,
NA_BGM_ITEM_GET | 0x900,
NA_BGM_OPENING_GANON,
NA_BGM_HEART_GET | 0x900,
NA_BGM_OCA_LIGHT,
NA_BGM_JABU_JABU,
NA_BGM_KAKARIKO_KID,
NA_BGM_GREAT_FAIRY,
NA_BGM_ZELDA_THEME,
NA_BGM_FIRE_TEMPLE,
NA_BGM_OPEN_TRE_BOX | 0x900,
NA_BGM_FOREST_TEMPLE,
NA_BGM_COURTYARD,
NA_BGM_GANON_TOWER,
NA_BGM_LONLON,
NA_BGM_GORON_CITY,
NA_BGM_SPIRITUAL_STONE,
NA_BGM_OCA_BOLERO,
NA_BGM_OCA_MINUET,
NA_BGM_OCA_SERENADE,
NA_BGM_OCA_REQUIEM,
NA_BGM_OCA_NOCTURNE,
NA_BGM_MINI_BOSS,
NA_BGM_SMALL_ITEM_GET,
NA_BGM_TEMPLE_OF_TIME,
NA_BGM_EVENT_CLEAR,
NA_BGM_KOKIRI,
NA_BGM_OCA_FAIRY_GET,
NA_BGM_SARIA_THEME,
NA_BGM_SPIRIT_TEMPLE,
NA_BGM_HORSE,
NA_BGM_HORSE_GOAL,
NA_BGM_INGO,
NA_BGM_MEDALLION_GET,
NA_BGM_OCA_SARIA,
NA_BGM_OCA_EPONA,
NA_BGM_OCA_ZELDA,
NA_BGM_OCA_SUNS,
NA_BGM_OCA_TIME,
NA_BGM_OCA_STORM,
NA_BGM_NAVI_OPENING,
NA_BGM_DEKU_TREE_CS,
NA_BGM_WINDMILL,
NA_BGM_HYRULE_CS,
NA_BGM_MINI_GAME,
NA_BGM_SHEIK,
NA_BGM_ZORA_DOMAIN,
NA_BGM_APPEAR,
NA_BGM_ADULT_LINK,
NA_BGM_MASTER_SWORD,
NA_BGM_INTRO_GANON,
NA_BGM_SHOP,
NA_BGM_CHAMBER_OF_SAGES,
NA_BGM_FILE_SELECT,
NA_BGM_ICE_CAVERN,
NA_BGM_DOOR_OF_TIME,
NA_BGM_OWL,
NA_BGM_SHADOW_TEMPLE,
NA_BGM_WATAER_TEMPLE,
NA_BGM_BRIDGE_TO_GANONS,
NA_BGM_VARIOUS_SFX,
NA_BGM_OCARINA_OF_TIME,
NA_BGM_OCARINA_OF_TIME,
NA_BGM_GERUDO_VALLEY,
NA_BGM_POTION_SHOP,
NA_BGM_KOTAKE_KOUME,
NA_BGM_VARIOUS_SFX,
NA_BGM_ESCAPE,
NA_BGM_UNDERGROUND,
NA_BGM_GANON_BATTLE_1,
NA_BGM_GANON_BATTLE_2,
NA_BGM_END_DEMO,
};
static s16 sTextIds[] = { 0x2B, 0x2E, 0xC8, 0x2D };

View file

@ -724,7 +724,7 @@ void func_80B154FC(EnTa* this, GlobalContext* globalCtx) {
gSaveContext.eventInf[0] |= 0x100;
Audio_QueueSeqCmd(NA_BGM_STOP);
this->unk_2E0 &= ~0x200;
func_800F5C64(0x39);
func_800F5C64(NA_BGM_SMALL_ITEM_GET);
return;
case 2:
this->actor.textId = 0x2083;
@ -819,7 +819,7 @@ void func_80B15AD4(EnTa* this, GlobalContext* globalCtx) {
Animation_GetLastFrame(&object_ta_Anim_00BF38), ANIMMODE_ONCE, 0.0f);
this->unk_2CC = 50;
func_80088B34(0x1E);
func_800F5ACC(0x6C);
func_800F5ACC(NA_BGM_MINI_GAME_2);
this->unk_2E0 |= 0x200;
func_80106CCC(globalCtx);
func_8002DF54(globalCtx, &this->actor, 1);

View file

@ -443,7 +443,7 @@ void EnTest_WaitGround(EnTest* this, GlobalContext* globalCtx) {
this->actor.shape.rot.y = this->actor.yawTowardsPlayer;
if (this->actor.params != STALFOS_TYPE_2) {
func_800F5ACC(0x38);
func_800F5ACC(NA_BGM_MINI_BOSS);
}
} else {
if (this->timer != 0) {

View file

@ -271,7 +271,7 @@ void EnTorch2_Update(Actor* thisx, GlobalContext* globalCtx2) {
if (stickY) {}
sInput.cur.stick_y = stickY;
}
func_800F5ACC(0x38);
func_800F5ACC(NA_BGM_MINI_BOSS);
sActionState = ENTORCH2_ATTACK;
}
break;
@ -610,7 +610,7 @@ void EnTorch2_Update(Actor* thisx, GlobalContext* globalCtx2) {
Item_DropCollectibleRandom(globalCtx, &this->actor, &thisx->world.pos, 0xC0);
this->stateFlags3 &= ~4;
} else {
func_800F5ACC(0x38);
func_800F5ACC(NA_BGM_MINI_BOSS);
if (this->actor.colChkInfo.damageEffect == 1) {
if (sAlpha == 255) {
Actor_SetColorFilter(&this->actor, 0, 0xFF, 0, 0x50);

View file

@ -241,7 +241,7 @@ void EnViewer_UpdateImpl(EnViewer* this, GlobalContext* globalCtx) {
}
}
if (globalCtx->csCtx.frames == 1020) {
Audio_QueueSeqCmd(0x1000023);
Audio_QueueSeqCmd(0x1000000 | NA_BGM_OPENING_GANON);
}
if (globalCtx->csCtx.frames == 960) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_GROAN, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,

View file

@ -174,7 +174,7 @@ void func_80B42F74(EnYabusameMark* this, GlobalContext* globalCtx) {
osSyncPrintf("\n\n");
if (scoreIndex == 2) {
func_800F5C64(0x922);
func_800F5C64(NA_BGM_ITEM_GET | 0x900);
}
if (scoreIndex == 1) {
Audio_StopSfx(NA_SE_SY_TRE_BOX_APPEAR);

View file

@ -390,7 +390,7 @@ void func_80B4B010(EnZl1* this, GlobalContext* globalCtx) {
player->actor.speedXZ = 0.0f;
this->unk_1E2 = 0;
this->actionFunc = func_80B4B240;
func_800F5C64(0x51);
func_800F5C64(NA_BGM_APPEAR);
} else {
if (1) {} // necessary to match
rotDiff = ABS(this->actor.yawTowardsPlayer - this->actor.shape.rot.y);

View file

@ -88,7 +88,7 @@ void EnZl3_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void func_80B53468(void) {
Audio_QueueSeqCmd(0x62);
Audio_QueueSeqCmd(NA_BGM_ESCAPE);
}
BossGanon2* func_80B53488(EnZl3* this, GlobalContext* globalCtx) {

View file

@ -1135,7 +1135,7 @@ void EnZl4_Cutscene(EnZl4* this, GlobalContext* globalCtx) {
this->blinkTimer = 0;
this->eyeExpression = ZL4_EYES_NEUTRAL;
this->mouthExpression = ZL4_MOUTH_SURPRISED;
func_800F5C64(0x51);
func_800F5C64(NA_BGM_APPEAR);
EnZl4_SetCsCameraAngle(globalCtx, 0);
Interface_ChangeAlpha(2);
ShrinkWindow_SetVal(0x20);

View file

@ -146,7 +146,7 @@ void EnfHG_Intro(EnfHG* this, GlobalContext* globalCtx) {
}
if (this->timers[0] == 51) {
Audio_PlayActorSound2(this->actor.child, NA_SE_EV_SPEAR_FENCE);
Audio_QueueSeqCmd(0x1B);
Audio_QueueSeqCmd(NA_BGM_BOSS);
}
if (this->timers[0] == 0) {
EnfHG_SetupApproach(this, globalCtx, Rand_ZeroOne() * 5.99f);
@ -198,7 +198,7 @@ void EnfHG_Intro(EnfHG* this, GlobalContext* globalCtx) {
func_8002DF54(globalCtx, &this->actor, 9);
}
if (this->timers[0] == 1) {
Audio_QueueSeqCmd(0x23);
Audio_QueueSeqCmd(NA_BGM_OPENING_GANON);
}
Math_ApproachF(&this->cameraEye.x, GND_BOSSROOM_CENTER_X + 40.0f, 0.05f, this->cameraSpeedMod * 20.0f);
Math_ApproachF(&this->cameraEye.y, GND_BOSSROOM_CENTER_Y + 37.0f, 0.05f, this->cameraSpeedMod * 20.0f);
@ -299,7 +299,7 @@ void EnfHG_Intro(EnfHG* this, GlobalContext* globalCtx) {
func_80078914(&audioVec, NA_SE_EN_FANTOM_ST_LAUGH);
}
if (this->timers[0] == 20) {
Audio_QueueSeqCmd(0x1B);
Audio_QueueSeqCmd(NA_BGM_BOSS);
}
if (this->timers[0] == 2) {
this->cameraSpeedMod = 0.0f;

View file

@ -3586,7 +3586,7 @@ void Fishing_UpdateFish(Actor* thisx, GlobalContext* globalCtx2) {
this->unk_198 = 1.7f;
this->unk_19C = 7000.0f;
D_80B7E124 = 1;
Audio_QueueSeqCmd(0x81A);
Audio_QueueSeqCmd(NA_BGM_ENEMY | 0x800);
D_80B7E0A6 = 0;
if (this->unk_150 == 1) {
@ -3859,7 +3859,7 @@ void Fishing_UpdateFish(Actor* thisx, GlobalContext* globalCtx2) {
}
if (this->unk_17A[0] == 90) {
Audio_QueueSeqCmd(0x924);
Audio_QueueSeqCmd(NA_BGM_HEART_GET | 0x900);
D_80B7A67C = 40;
if (this->unk_150 == 0) {
@ -5429,7 +5429,7 @@ void Fishing_UpdateOwner(Actor* thisx, GlobalContext* globalCtx2) {
case 22:
if (D_80B7A6D0 == 30) {
Audio_QueueSeqCmd(0x922);
Audio_QueueSeqCmd(NA_BGM_ITEM_GET | 0x900);
}
D_80B7A6D4 = 1;
@ -5740,15 +5740,15 @@ void Fishing_DrawOwner(Actor* thisx, GlobalContext* globalCtx) {
if (D_80B7E0A6 == 0) {
if (sLinkAge != 1) {
Audio_QueueSeqCmd(0x19);
Audio_QueueSeqCmd(NA_BGM_KAKARIKO_ADULT);
} else {
Audio_QueueSeqCmd(0x27);
Audio_QueueSeqCmd(NA_BGM_KAKARIKO_KID);
}
if (sLinkAge != 1) {
Audio_QueueSeqCmd(0x19);
Audio_QueueSeqCmd(NA_BGM_KAKARIKO_ADULT);
} else {
Audio_QueueSeqCmd(0x27);
Audio_QueueSeqCmd(NA_BGM_KAKARIKO_KID);
}
}
}

View file

@ -2823,8 +2823,8 @@ void func_80836448(GlobalContext* globalCtx, Player* this, LinkAnimationHeader*
} else {
globalCtx->gameOverCtx.state = GAMEOVER_DEATH_START;
func_800F6AB0(0);
func_800F5C64(0x20);
gSaveContext.seqIndex = 0xFF;
func_800F5C64(NA_BGM_GAME_OVER);
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
}
@ -3986,7 +3986,7 @@ s32 func_80839034(GlobalContext* globalCtx, Player* this, CollisionPoly* poly, u
if (temp == 11) {
func_800788CC(NA_SE_OC_SECRET_HOLE_OUT);
func_800F6964(5);
gSaveContext.seqIndex = 0xFF;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
} else {
linearVel = this->linearVelocity;
@ -11803,9 +11803,9 @@ s32 func_8084DFF4(GlobalContext* globalCtx, Player* this) {
if ((this->getItemId == GI_HEART_CONTAINER_2) || (this->getItemId == GI_HEART_CONTAINER) ||
((this->getItemId == GI_HEART_PIECE) &&
((gSaveContext.inventory.questItems & 0xF0000000) == 0x40000000))) {
temp1 = 0x924;
temp1 = NA_BGM_HEART_GET | 0x900;
} else {
temp1 = temp2 = (this->getItemId == GI_HEART_PIECE) ? 0x39 : 0x922;
temp1 = temp2 = (this->getItemId == GI_HEART_PIECE) ? NA_BGM_SMALL_ITEM_GET : NA_BGM_ITEM_GET | 0x900;
}
func_800F5C64(temp1);
}
@ -11920,7 +11920,7 @@ void func_8084E3C4(Player* this, GlobalContext* globalCtx) {
Environment_WarpSongLeave(globalCtx);
}
gSaveContext.seqIndex = 0xFF;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
}
}
@ -12129,7 +12129,7 @@ void func_8084ECA4(Player* this, GlobalContext* globalCtx) {
if (this->unk_84F != 0) {
if (this->unk_850 == 0) {
func_8010B680(globalCtx, D_80854A04[this->unk_84F - 1].textId, &this->actor);
func_800F5C64(0x922);
func_800F5C64(NA_BGM_ITEM_GET | 0x900);
this->unk_850 = 1;
} else if (func_8010BDBC(&globalCtx->msgCtx) == 2) {
this->unk_84F = 0;
@ -12437,7 +12437,7 @@ void func_8084F88C(Player* this, GlobalContext* globalCtx) {
} else {
globalCtx->fadeTransition = 2;
gSaveContext.nextTransition = 2;
gSaveContext.seqIndex = 0xFF;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
}

View file

@ -35,7 +35,7 @@ void Select_LoadGame(SelectContext* this, s32 entranceIndex) {
gSaveContext.entranceIndex = entranceIndex;
gSaveContext.respawnFlag = 0;
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = -1;
gSaveContext.seqIndex = 0xFF;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.showTitleCard = true;
gWeatherMode = 0;

View file

@ -136,7 +136,7 @@ void Title_Main(GameState* thisx) {
}
if (this->exit) {
gSaveContext.seqIndex = 0xFF;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.gameMode = 1;
this->state.running = false;