diff --git a/include/functions.h b/include/functions.h index 977cbc5159..a312de74e5 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1826,9 +1826,9 @@ void func_800F4524(Vec3f* pos, u16 sfxId, s8 arg2); void func_800F4254(Vec3f* pos, u8 level); void Audio_PlaySfxRiver(Vec3f* pos, f32 freqScale); void Audio_PlaySfxWaterfall(Vec3f* pos, f32 freqScale); -void func_800F47BC(void); -void func_800F47FC(void); -void func_800F483C(u8 targetVol, u8 volFadeTimer); +void Audio_SetBgmVolumeOffDuringFanfare(void); +void Audio_SetBgmVolumeOnDuringFanfare(void); +void Audio_SetMainBgmVolume(u8 targetVol, u8 volFadeTimer); void Audio_SetGanonsTowerBgmVolumeLevel(u8 ganonsTowerLevel); void Audio_LowerMainBgmVolume(u8 volume); void Audio_PlaySfxIncreasinglyTransposed(Vec3f* pos, s16 sfxId, u8* semitones); @@ -1842,12 +1842,12 @@ void Audio_PlaySariaBgm(Vec3f* pos, u16 seqId, u16 distMax); void Audio_ClearSariaBgm2(void); void Audio_PlayMorningSceneSequence(u16 seqId); void Audio_PlaySceneSequence(u16 seqId); -void func_800F574C(f32 scaleTempoAndFreq, u8 duration); -void func_800F5718(void); -void func_800F5918(void); -void func_800F595C(u16); -void func_800F59E8(u16); -s32 func_800F5A58(u8); +void Audio_SetMainBgmTempoFreqAfterFanfare(f32 scaleTempoAndFreq, u8 duration); +void Audio_PlayWindmillBgm(void); +void Audio_SetFastTempoForTimedMinigame(void); +void Audio_PlaySequenceInCutscene(u16 seqId); +void Audio_StopSequenceInCutscene(u16 seqId); +s32 Audio_IsSequencePlaying(u16 seqId); void func_800F5ACC(u16 seqId); void func_800F5B58(void); void func_800F5BF0(u8 natureAmbienceId); @@ -1867,11 +1867,8 @@ void Audio_SetExtraFilter(u8); void Audio_SetCutsceneFlag(s8 flag); void Audio_PlaySfxIfNotInCutscene(u16 sfxId); void func_800F6964(u16); -void func_800F6AB0(u16); -// ? Audio_DisableAllSeq(?); -// ? func_800F6BB8(?); +void Audio_StopBgmAndFanfare(u16 fadeOutDuration); void Audio_PreNMI(void); -// ? func_800F6C34(?); void Audio_SetNatureAmbienceChannelIO(u8 channelIdxRange, u8 ioPort, u8 ioData); void Audio_PlayNatureAmbienceSequence(u8 natureAmbienceId); void Audio_Init(void); diff --git a/src/code/code_800EC960.c b/src/code/code_800EC960.c index 7c649b6e33..fb4fd25fe1 100644 --- a/src/code/code_800EC960.c +++ b/src/code/code_800EC960.c @@ -1241,8 +1241,8 @@ u8 sMalonSingingTimer; u8 sAudioSpecPeakNumNotes[0x12]; u8 sMalonSingingDisabled; u8 D_8016B9F3; -u8 D_8016B9F4; -u16 D_8016B9F6; +u8 sFanfareStartTimer; +u16 sFanfareSeqId; OcarinaStaff sPlayingStaff; OcarinaStaff sPlaybackStaff; @@ -3208,7 +3208,7 @@ void AudioDebug_ProcessInput_SndCont(void) { if (CHECK_BTN_ANY(sDebugPadPress, BTN_CDOWN)) { if (sAudioSndContSel == 0) { if (1) {} - func_800F595C(sAudioSndContWork[sAudioSndContSel]); + Audio_PlaySequenceInCutscene(sAudioSndContWork[sAudioSndContSel]); } } @@ -3693,7 +3693,7 @@ void AudioDebug_ProcessInput(void) { } void Audio_UpdateRiverSoundVolumes(void); -void func_800F5CF8(void); +void Audio_UpdateFanfare(void); /** * This is Audio_Update for the graph thread @@ -3707,7 +3707,7 @@ void func_800F3054(void) { Audio_StepFreqLerp(&sWaterfallFreqScaleLerp); Audio_UpdateRiverSoundVolumes(); Audio_UpdateSceneSequenceResumePoint(); - func_800F5CF8(); + Audio_UpdateFanfare(); if (gAudioSpecId == 7) { Audio_ClearSariaBgm(); } @@ -4260,17 +4260,17 @@ void Audio_StepFreqLerp(FreqLerp* lerp) { } } -void func_800F47BC(void) { +void Audio_SetBgmVolumeOffDuringFanfare(void) { Audio_SetVolumeScale(SEQ_PLAYER_BGM_MAIN, VOL_SCALE_INDEX_FANFARE, 0, 10); Audio_SetVolumeScale(SEQ_PLAYER_BGM_SUB, VOL_SCALE_INDEX_FANFARE, 0, 10); } -void func_800F47FC(void) { +void Audio_SetBgmVolumeOnDuringFanfare(void) { Audio_SetVolumeScale(SEQ_PLAYER_BGM_MAIN, VOL_SCALE_INDEX_FANFARE, 0x7F, 3); Audio_SetVolumeScale(SEQ_PLAYER_BGM_SUB, VOL_SCALE_INDEX_FANFARE, 0x7F, 3); } -void func_800F483C(u8 targetVol, u8 volFadeTimer) { +void Audio_SetMainBgmVolume(u8 targetVol, u8 volFadeTimer) { Audio_SetVolumeScale(SEQ_PLAYER_BGM_MAIN, VOL_SCALE_INDEX_BGM_MAIN, targetVol, volFadeTimer); } @@ -4593,7 +4593,7 @@ void Audio_PlaySceneSequence(u16 seqId) { Audio_QueueCmdS32(0xF8000000, 0); } - if ((sSeqFlags[sPrevSceneSeqId] & SEQ_FLAG_RESUME_PREV) && sSeqFlags[seqId & 0xFF & 0xFF] & SEQ_FLAG_RESUME) { + if ((sSeqFlags[sPrevSceneSeqId] & SEQ_FLAG_RESUME_PREV) && (sSeqFlags[seqId & 0xFF & 0xFF] & SEQ_FLAG_RESUME)) { // Resume the sequence from the point where it left off last time it was played in the scene if ((sSeqResumePoint & 0x3F) != 0) { fadeInDuration = 30; @@ -4622,7 +4622,7 @@ void Audio_PlaySceneSequence(u16 seqId) { void Audio_UpdateSceneSequenceResumePoint(void) { u16 seqId = Audio_GetActiveSeqId(SEQ_PLAYER_BGM_MAIN); - if ((seqId != NA_BGM_DISABLED) && (sSeqFlags[(u8)seqId & 0xFF] & SEQ_FLAG_RESUME)) { + if ((seqId != NA_BGM_DISABLED) && (sSeqFlags[seqId & 0xFF & 0xFF] & SEQ_FLAG_RESUME)) { if (sSeqResumePoint != SEQ_RESUME_POINT_NONE) { // Get the current point to resume from sSeqResumePoint = gAudioCtx.seqPlayers[SEQ_PLAYER_BGM_MAIN].soundScriptIO[3]; @@ -4633,14 +4633,15 @@ void Audio_UpdateSceneSequenceResumePoint(void) { } } -void func_800F5718(void) { +void Audio_PlayWindmillBgm(void) { if (Audio_GetActiveSeqId(SEQ_PLAYER_BGM_MAIN) != NA_BGM_WINDMILL) { SEQCMD_PLAY_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 0, 0, NA_BGM_WINDMILL); } } -void func_800F574C(f32 scaleTempoAndFreq, u8 duration) { +void Audio_SetMainBgmTempoFreqAfterFanfare(f32 scaleTempoAndFreq, u8 duration) { if (scaleTempoAndFreq == 1.0f) { + // Should instead use `SEQCMD_SETUP_RESET_TEMPO` to wait until the fanfare is finished SEQCMD_RESET_TEMPO(SEQ_PLAYER_BGM_MAIN, duration); } else { SEQCMD_SETUP_SCALE_TEMPO(SEQ_PLAYER_FANFARE, SEQ_PLAYER_BGM_MAIN, duration, scaleTempoAndFreq * 100.0f); @@ -4649,52 +4650,51 @@ void func_800F574C(f32 scaleTempoAndFreq, u8 duration) { SEQCMD_SETUP_SET_PLAYER_FREQ(SEQ_PLAYER_FANFARE, SEQ_PLAYER_BGM_MAIN, duration, scaleTempoAndFreq * 100.0f); } -void func_800F5918(void) { - if (Audio_GetActiveSeqId(SEQ_PLAYER_BGM_MAIN) == NA_BGM_TIMED_MINI_GAME && +/** + * Set the tempo for the timed minigame sequence to 210 bpm, + * which is faster than the default tempo + */ +void Audio_SetFastTempoForTimedMinigame(void) { + if ((Audio_GetActiveSeqId(SEQ_PLAYER_BGM_MAIN) == NA_BGM_TIMED_MINI_GAME) && Audio_IsSeqCmdNotQueued(SEQCMD_OP_PLAY_SEQUENCE << 28, SEQCMD_OP_MASK)) { SEQCMD_SET_TEMPO(SEQ_PLAYER_BGM_MAIN, 5, 210); } } -void func_800F595C(u16 arg0) { - u8 arg0b = arg0 & 0xFF; - - if (sSeqFlags[arg0b] & SEQ_FLAG_FANFARE) { - Audio_PlayFanfare(arg0); - } else if (sSeqFlags[arg0b] & SEQ_FLAG_FANFARE_GANON) { - SEQCMD_PLAY_SEQUENCE(SEQ_PLAYER_FANFARE, 0, 0, arg0); - +void Audio_PlaySequenceInCutscene(u16 seqId) { + if (sSeqFlags[seqId & 0xFF & 0xFF] & SEQ_FLAG_FANFARE) { + Audio_PlayFanfare(seqId); + } else if (sSeqFlags[seqId & 0xFF & 0xFF] & SEQ_FLAG_FANFARE_GANON) { + SEQCMD_PLAY_SEQUENCE(SEQ_PLAYER_FANFARE, 0, 0, seqId); } else { - Audio_PlaySequenceWithSeqPlayerIO(SEQ_PLAYER_BGM_MAIN, arg0, 0, 7, SEQ_IO_VAL_NONE); + Audio_PlaySequenceWithSeqPlayerIO(SEQ_PLAYER_BGM_MAIN, seqId, 0, 7, SEQ_IO_VAL_NONE); SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 0); } } -void func_800F59E8(u16 arg0) { - u8 arg0b = arg0 & 0xFF; - - if (sSeqFlags[arg0b] & SEQ_FLAG_FANFARE) { +void Audio_StopSequenceInCutscene(u16 seqId) { + if (sSeqFlags[seqId & 0xFF & 0xFF] & SEQ_FLAG_FANFARE) { SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 0); - } else if (sSeqFlags[arg0b] & SEQ_FLAG_FANFARE_GANON) { + } else if (sSeqFlags[seqId & 0xFF & 0xFF] & SEQ_FLAG_FANFARE_GANON) { SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 0); } else { SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 0); } } -s32 func_800F5A58(u8 arg0) { - u8 phi_a1 = 0; +s32 Audio_IsSequencePlaying(u16 seqId) { + u8 seqPlayerIndex = SEQ_PLAYER_BGM_MAIN; - if (sSeqFlags[arg0 & 0xFF] & SEQ_FLAG_FANFARE) { - phi_a1 = 1; - } else if (sSeqFlags[arg0 & 0xFF] & SEQ_FLAG_FANFARE_GANON) { - phi_a1 = 1; + if (sSeqFlags[seqId & 0xFF & 0xFF] & SEQ_FLAG_FANFARE) { + seqPlayerIndex = SEQ_PLAYER_FANFARE; + } else if (sSeqFlags[seqId & 0xFF & 0xFF] & SEQ_FLAG_FANFARE_GANON) { + seqPlayerIndex = SEQ_PLAYER_FANFARE; } - if (arg0 == (u8)Audio_GetActiveSeqId(phi_a1)) { - return 1; + if ((seqId & 0xFF) == (Audio_GetActiveSeqId(seqPlayerIndex) & 0xFF)) { + return true; } else { - return 0; + return false; } } @@ -4757,31 +4757,35 @@ void func_800F5C2C(void) { } void Audio_PlayFanfare(u16 seqId) { - u16 sp26; - u32 sp20; - u8* sp1C; - u8* sp18; + u16 curSeqId; + u32 outNumFonts; + u8* curFontId; + u8* requestedFontId; - sp26 = Audio_GetActiveSeqId(SEQ_PLAYER_FANFARE); - sp1C = func_800E5E84(sp26 & 0xFF, &sp20); - sp18 = func_800E5E84(seqId & 0xFF, &sp20); - if ((sp26 == NA_BGM_DISABLED) || (*sp1C == *sp18)) { - D_8016B9F4 = 1; + curSeqId = Audio_GetActiveSeqId(SEQ_PLAYER_FANFARE); + + curFontId = func_800E5E84(curSeqId & 0xFF, &outNumFonts); + requestedFontId = func_800E5E84(seqId & 0xFF, &outNumFonts); + + if ((curSeqId == NA_BGM_DISABLED) || (*curFontId == *requestedFontId)) { + sFanfareStartTimer = 1; } else { - D_8016B9F4 = 5; + // Give extra time to start the fanfare if both another fanfare needs to be stopped + // and a new fontId needs to be loaded in + sFanfareStartTimer = 5; SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 0); } - D_8016B9F6 = seqId; + sFanfareSeqId = seqId; } -void func_800F5CF8(void) { +void Audio_UpdateFanfare(void) { u16 seqIdFanfare; u16 seqIdBgmMain; u16 seqIdBgmSub; - if (D_8016B9F4 != 0) { - D_8016B9F4--; - if (D_8016B9F4 == 0) { + if (sFanfareStartTimer != 0) { + sFanfareStartTimer--; + if (sFanfareStartTimer == 0) { Audio_QueueCmdS32(0xE3000000, SEQUENCE_TABLE); Audio_QueueCmdS32(0xE3000000, FONT_TABLE); @@ -4802,7 +4806,7 @@ void func_800F5CF8(void) { SEQCMD_SETUP_SET_CHANNEL_DISABLE_MASK(SEQ_PLAYER_FANFARE, SEQ_PLAYER_BGM_SUB, 0); } } - SEQCMD_PLAY_SEQUENCE(SEQ_PLAYER_FANFARE, 1, 0, D_8016B9F6); + SEQCMD_PLAY_SEQUENCE(SEQ_PLAYER_FANFARE, 1, 0, sFanfareSeqId); SEQCMD_SET_CHANNEL_DISABLE_MASK(SEQ_PLAYER_BGM_MAIN, 0xFFFF); if (seqIdBgmSub != NA_BGM_LONLON) { SEQCMD_SET_CHANNEL_DISABLE_MASK(SEQ_PLAYER_BGM_SUB, 0xFFFF); @@ -4833,7 +4837,7 @@ void Audio_SetSequenceMode(u8 seqMode) { seqMode = SEQ_MODE_IGNORE; } - if ((seqId == NA_BGM_DISABLED) || (sSeqFlags[(u8)(seqId & 0xFF)] & SEQ_FLAG_ENEMY) || + if ((seqId == NA_BGM_DISABLED) || (sSeqFlags[seqId & 0xFF & 0xFF] & SEQ_FLAG_ENEMY) || ((sPrevSeqMode & 0x7F) == SEQ_MODE_ENEMY)) { if (seqMode != (sPrevSeqMode & 0x7F)) { if (seqMode == SEQ_MODE_ENEMY) { @@ -5160,10 +5164,10 @@ void func_800F6964(u16 arg0) { SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_SUB, (arg0 * 3) / 2); } -void func_800F6AB0(u16 arg0) { - SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, arg0); - SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, arg0); - SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_SUB, arg0); +void Audio_StopBgmAndFanfare(u16 fadeOutDuration) { + SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, fadeOutDuration); + SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, fadeOutDuration); + SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_SUB, fadeOutDuration); Audio_SetVolumeScale(SEQ_PLAYER_BGM_MAIN, VOL_SCALE_INDEX_BGM_SUB, 0x7F, 0); Audio_SetVolumeScale(SEQ_PLAYER_BGM_MAIN, VOL_SCALE_INDEX_FANFARE, 0x7F, 0); } @@ -5223,7 +5227,7 @@ void func_800F6C34(void) { sPrevMainBgmSeqId = NA_BGM_DISABLED; Audio_QueueCmdS8(0x46 << 24 | SEQ_PLAYER_BGM_MAIN << 16, -1); sSariaBgmPtr = NULL; - D_8016B9F4 = 0; + sFanfareStartTimer = 0; D_8016B9F3 = 1; sMalonSingingDisabled = false; } @@ -5297,7 +5301,7 @@ void Audio_PlayNatureAmbienceSequence(u8 natureAmbienceId) { u8 ioData; if ((gActiveSeqs[SEQ_PLAYER_BGM_MAIN].seqId == NA_BGM_DISABLED) || - !(sSeqFlags[((u8)gActiveSeqs[SEQ_PLAYER_BGM_MAIN].seqId) & 0xFF] & SEQ_FLAG_NO_AMBIENCE)) { + !(sSeqFlags[gActiveSeqs[SEQ_PLAYER_BGM_MAIN].seqId & 0xFF & 0xFF] & SEQ_FLAG_NO_AMBIENCE)) { Audio_StartNatureAmbienceSequence(sNatureAmbienceDataIO[natureAmbienceId].playerIO, sNatureAmbienceDataIO[natureAmbienceId].channelMask); diff --git a/src/code/z_demo.c b/src/code/z_demo.c index 9aba6c7fec..de50eeaa33 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -437,14 +437,14 @@ void Cutscene_Command_SetLighting(PlayState* play, CutsceneContext* csCtx, CsCmd // Command 0x56: Play Background Music void Cutscene_Command_PlayBGM(PlayState* play, CutsceneContext* csCtx, CsCmdMusicChange* cmd) { if (csCtx->frames == cmd->startFrame) { - func_800F595C(cmd->sequence - 1); + Audio_PlaySequenceInCutscene(cmd->sequence - 1); } } // Command 0x57: Stop Background Music void Cutscene_Command_StopBGM(PlayState* play, CutsceneContext* csCtx, CsCmdMusicChange* cmd) { if (csCtx->frames == cmd->startFrame) { - func_800F59E8(cmd->sequence - 1); + Audio_StopSequenceInCutscene(cmd->sequence - 1); } } diff --git a/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.c b/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.c index eeadb6363b..7eafeb9c25 100644 --- a/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.c +++ b/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.c @@ -60,7 +60,7 @@ void BgRelayObjects_Init(Actor* thisx, PlayState* play) { } else { thisx->world.rot.y = 0x80; } - func_800F5718(); + Audio_PlayWindmillBgm(); thisx->room = -1; thisx->flags |= ACTOR_FLAG_5; if (D_808A9508 & 2) { diff --git a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c index ca952234ef..3c6e9c4d0b 100644 --- a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c +++ b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c @@ -507,7 +507,7 @@ void EnDivingGame_Update(Actor* thisx, PlayState* play2) { if (1) {} if (gSaveContext.timer1Value == 10) { - func_800F5918(); + Audio_SetFastTempoForTimedMinigame(); } if (this->eyeTimer == 0) { this->eyeTimer = 2; diff --git a/src/overlays/actors/ovl_En_Go2/z_en_go2.c b/src/overlays/actors/ovl_En_Go2/z_en_go2.c index c7736ba151..17a772dac6 100644 --- a/src/overlays/actors/ovl_En_Go2/z_en_go2.c +++ b/src/overlays/actors/ovl_En_Go2/z_en_go2.c @@ -1833,7 +1833,7 @@ void EnGo2_BiggoronEyedrops(EnGo2* this, PlayState* play) { this->eyeMouthTexState = 2; this->unk_20C = 0; this->goronState++; - func_800F483C(0x28, 5); + Audio_SetMainBgmVolume(0x28, 5); OnePointCutscene_Init(play, 4190, -99, &this->actor, CAM_ID_MAIN); break; case 1: @@ -1848,7 +1848,7 @@ void EnGo2_BiggoronEyedrops(EnGo2* this, PlayState* play) { Message_ContinueTextbox(play, 0x305A); this->eyeMouthTexState = 3; this->goronState++; - func_800F483C(0x7F, 5); + Audio_SetMainBgmVolume(0x7F, 5); } break; case 2: diff --git a/src/overlays/actors/ovl_En_Horse/z_en_horse.c b/src/overlays/actors/ovl_En_Horse/z_en_horse.c index ccfcb39775..2f8997613c 100644 --- a/src/overlays/actors/ovl_En_Horse/z_en_horse.c +++ b/src/overlays/actors/ovl_En_Horse/z_en_horse.c @@ -2512,7 +2512,7 @@ void EnHorse_UpdateHbaAnim(EnHorse* this) { void EnHorse_UpdateHorsebackArchery(EnHorse* this, PlayState* play) { f32 playSpeed; - s32 sp20; + s32 isFanfarePlaying; if (this->animationIdx == ENHORSE_ANIM_WALK) { EnHorse_PlayWalkingSfx(this); @@ -2521,10 +2521,10 @@ void EnHorse_UpdateHorsebackArchery(EnHorse* this, PlayState* play) { this->hbaTimer++; } - sp20 = func_800F5A58(NA_BGM_HORSE_GOAL); + isFanfarePlaying = Audio_IsSequencePlaying(NA_BGM_HORSE_GOAL); EnHorse_UpdateHbaRaceInfo(this, play, &sHbaInfo); - if (this->hbaFlags & 1 || this->hbaTimer >= 46) { - if (sp20 != 1 && gSaveContext.minigameState != 3) { + if ((this->hbaFlags & 1) || (this->hbaTimer >= 46)) { + if ((isFanfarePlaying != true) && (gSaveContext.minigameState != 3)) { gSaveContext.cutsceneIndex = 0; play->nextEntranceIndex = ENTR_SPOT12_16; play->transitionTrigger = TRANS_TRIGGER_START; diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c index 9bae7993a9..2b4d20a140 100644 --- a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c +++ b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c @@ -243,7 +243,9 @@ void func_80ABF4C8(EnOkarinaTag* this, PlayState* play) { case 2: play->csCtx.segment = D_80ABF9D0; gSaveContext.cutsceneTrigger = 1; - func_800F574C(1.18921f, 90); + // Increase pitch by 3 semitones i.e. 2^(3/12), scale tempo by same ratio + // Applies to the windmill bgm once the song of storms fanfare is complete + Audio_SetMainBgmTempoFreqAfterFanfare(1.18921f, 90); break; case 4: play->csCtx.segment = D_80ABFB40; diff --git a/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/src/overlays/actors/ovl_En_Ta/z_en_ta.c index 26c1d6e98c..99416238f1 100644 --- a/src/overlays/actors/ovl_En_Ta/z_en_ta.c +++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.c @@ -797,7 +797,7 @@ void EnTa_RunCuccoGame(EnTa* this, PlayState* play) { } if (gSaveContext.timer1Value == 10) { - func_800F5918(); + Audio_SetFastTempoForTimedMinigame(); } if (gSaveContext.timer1Value == 0 && !Play_InCsMode(play)) { diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index 53ad38d839..56ef25f8b2 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -3237,14 +3237,14 @@ void func_80836448(PlayState* play, Player* this, LinkAnimationHeader* anim) { func_80832698(this, NA_SE_VO_LI_DOWN); if (this->actor.category == ACTORCAT_PLAYER) { - func_800F47BC(); + Audio_SetBgmVolumeOffDuringFanfare(); if (Inventory_ConsumeFairy(play)) { play->gameOverCtx.state = GAMEOVER_REVIVE_START; this->unk_84F = 1; } else { play->gameOverCtx.state = GAMEOVER_DEATH_START; - func_800F6AB0(0); + Audio_StopBgmAndFanfare(0); Audio_PlayFanfare(NA_BGM_GAME_OVER); gSaveContext.seqId = (u8)NA_BGM_DISABLED; gSaveContext.natureAmbienceId = NATURE_ID_DISABLED; @@ -8384,7 +8384,7 @@ void func_80843AE8(PlayState* play, Player* this) { } this->unk_A87 = 20; func_80837AFC(this, -20); - func_800F47FC(); + Audio_SetBgmVolumeOnDuringFanfare(); } } else if (this->unk_84F != 0) { this->unk_850 = 60;