From 1a2bcb70cee65408db02bcb38c599d2ffc9350b1 Mon Sep 17 00:00:00 2001 From: oioitff Date: Tue, 14 May 2013 23:27:04 +0800 Subject: [PATCH] Not to loop or end audios when numSamples is 0. Some games may check for it and add more data. --- Core/HLE/sceAtrac.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Core/HLE/sceAtrac.cpp b/Core/HLE/sceAtrac.cpp index a6389e4d1cd0..32c9f8013453 100644 --- a/Core/HLE/sceAtrac.cpp +++ b/Core/HLE/sceAtrac.cpp @@ -538,11 +538,11 @@ u32 sceAtracDecodeData(int atracID, u32 outAddr, u32 numSamplesAddr, u32 finishF atrac->decodePos = atrac->getDecodePosBySample(atrac->currentSample); int finishFlag = 0; - if (atrac->loopNum != 0 && (atrac->currentSample >= atrac->loopEndSample || numSamples == 0)) { + if (atrac->loopNum != 0 && (atrac->currentSample >= atrac->loopEndSample)) { atrac->currentSample = atrac->loopStartSample; if (atrac->loopNum > 0) atrac->loopNum --; - } else if (atrac->currentSample >= atrac->endSample || numSamples == 0) + } else if (atrac->currentSample >= atrac->endSample) finishFlag = 1; Memory::Write_U32(finishFlag, finishFlagAddr);