SPU: ENDX register should get set when looping as well as muting

This commit is contained in:
Connor McLaughlin 2020-04-28 16:57:14 +10:00
parent ce46dbeeca
commit b16ecd7a86

View file

@ -1474,10 +1474,10 @@ std::tuple<s32, s32> SPU::SampleVoice(u32 voice_index)
// handle flags
if (voice.current_block_flags.loop_end)
{
m_endx_register |= (u32(1) << voice_index);
if (!voice.current_block_flags.loop_repeat)
{
Log_TracePrintf("Voice %u loop end+mute @ 0x%08X", voice_index, ZeroExtend32(voice.current_address));
m_endx_register |= (u32(1) << voice_index);
voice.ForceOff();
}
else