aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/player_towns.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/player_towns.cpp')
-rw-r--r--engines/scumm/player_towns.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/engines/scumm/player_towns.cpp b/engines/scumm/player_towns.cpp
index dd7630d370..f6f493a1e1 100644
--- a/engines/scumm/player_towns.cpp
+++ b/engines/scumm/player_towns.cpp
@@ -242,7 +242,8 @@ void Player_Towns_v1::startSound(int sound) {
}
velocity = velocity ? velocity >> 2 : ptr[14] >> 1;
- playPcmTrack(sound, ptr + 6, velocity, 64, note ? note : ptr[50], READ_LE_UINT16(ptr + 10));
+ uint16 len = READ_LE_UINT16(ptr) + 2;
+ playPcmTrack(sound, ptr + 6, velocity, 64, note ? note : (len > 50 ? ptr[50] : 60), READ_LE_UINT16(ptr + 10));
} else if (type == 1) {
playEuphonyTrack(sound, ptr + 6);