diff options
Diffstat (limited to 'scumm/sound.cpp')
-rw-r--r-- | scumm/sound.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/scumm/sound.cpp b/scumm/sound.cpp index 91f929909f..d40ff40c42 100644 --- a/scumm/sound.cpp +++ b/scumm/sound.cpp @@ -350,6 +350,8 @@ void Sound::playSound(int soundID) { int waveSize = READ_LE_UINT32(ptr + 0x0C); int loopStart = READ_LE_UINT32(ptr + 0x10); int loopEnd = READ_LE_UINT32(ptr + 0x14); + if (loopEnd < waveSize && loopEnd > 0) + waveSize = loopEnd; // it's not exactly * 10, maybe it's not even linear, but * 10 sounds ok. rate = READ_LE_UINT32(ptr + 0x18) * 10; |