diff options
Diffstat (limited to 'engines/scumm/player_towns.cpp')
-rw-r--r-- | engines/scumm/player_towns.cpp | 3 |
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); |