aboutsummaryrefslogtreecommitdiff
path: root/scumm/sound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/sound.cpp')
-rw-r--r--scumm/sound.cpp2
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;