Zelda UCode: Solves 0x21 hang. In the worst case there's a bit of stuttering in the end of the sound, since it's probably supposed to fade out.

Remaining problem: 0x21 isn't resampled correctly, so when the framerate is ~200 FPS, the music runs as it would on ~60 FPS

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3779 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
XTra.KrazzY 2009-07-13 13:22:17 +00:00
parent ba5f08c69d
commit 4da0457524
1 changed files with 3 additions and 1 deletions

View File

@ -310,7 +310,9 @@ void CUCode_Zelda::RenderVoice_Raw(ZeldaVoicePB &PB, s16 *_Buffer, int _Size)
// Decoder0x21Core starts here. // Decoder0x21Core starts here.
u32 AX0 = _RealSize; u32 AX0 = _RealSize;
if (PB.RemLength < _RealSize) // The PB.StopOnSilence check is a hack, we should check the buffers and enter this
// only when the buffer is completely 0 (i.e. when the music has finished fading out)
if (PB.StopOnSilence || PB.RemLength < _RealSize)
{ {
WARN_LOG(DSPHLE, "Raw: END"); WARN_LOG(DSPHLE, "Raw: END");
// Let's ignore this entire case since it doesn't seem to happen // Let's ignore this entire case since it doesn't seem to happen