aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorJohannes Schickel2014-06-04 01:49:32 +0200
committerJohannes Schickel2014-06-04 01:49:32 +0200
commit5ad589da061b7d193aaa9a4f7960da9e60aaa7bf (patch)
tree429d7a892aca226c22b483562f73c2877e0982ea /engines/scumm
parentefe5348d25a507845a6567ea7654ad42b0b4d5be (diff)
downloadscummvm-rg350-5ad589da061b7d193aaa9a4f7960da9e60aaa7bf.tar.gz
scummvm-rg350-5ad589da061b7d193aaa9a4f7960da9e60aaa7bf.tar.bz2
scummvm-rg350-5ad589da061b7d193aaa9a4f7960da9e60aaa7bf.zip
SCUMM: Fix music looping in AD player.
Diffstat (limited to 'engines/scumm')
-rw-r--r--engines/scumm/players/player_ad.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/engines/scumm/players/player_ad.cpp b/engines/scumm/players/player_ad.cpp
index 4f3a17fa66..3b86c565a4 100644
--- a/engines/scumm/players/player_ad.cpp
+++ b/engines/scumm/players/player_ad.cpp
@@ -419,7 +419,7 @@ void Player_AD::startMusic() {
_timerLimit = isLoom ? 473 : 256;
_musicTicks = _musicData[3] * (isLoom ? 2 : 1);
_loopFlag = (_musicData[4] == 0);
- _musicLoopStart = READ_LE_UINT16(_musicData + 5);
+ _musicLoopStart = _curOffset + READ_LE_UINT16(_musicData + 5);
}
void Player_AD::stopMusic() {
@@ -476,6 +476,7 @@ void Player_AD::updateMusic() {
// In case the track is looping jump to the start.
_curOffset = _musicLoopStart;
_nextEventTimer = 0;
+ continue;
} else {
// Otherwise completely stop playback.
stopMusic();