diff --git a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda_Voice.cpp b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda_Voice.cpp index 319ed3b2ef..a63e6958df 100644 --- a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda_Voice.cpp +++ b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda_Voice.cpp @@ -278,6 +278,11 @@ void CUCode_Zelda::MixAddVoice(ZeldaVoicePB &PB, s32* _LeftBuffer, s32* _RightBu { switch (PB.Format) { + case 0x0000: // Silences sound and stops all looping sounds + for (int i = 0; i < _Size; i++) + _LeftBuffer[i] = _RightBuffer[i] = 0; + return; + case 0x0005: // AFC / unknown case 0x0021: // AFC / ADPCM??? case 0x0009: // AFC / ADPCM @@ -287,6 +292,10 @@ void CUCode_Zelda::MixAddVoice(ZeldaVoicePB &PB, s32* _LeftBuffer, s32* _RightBu case 0x0010: // PCM16 MixAddVoice_PCM16(PB, m_TempBuffer, _Size); break; + + default: + PanicAlert("Unknown MixAddVoice format in zelda %04x", PB.Format); + break; } PB.NeedsReset = 0;