diff options
author | Johannes Schickel | 2014-06-04 01:49:32 +0200 |
---|---|---|
committer | Johannes Schickel | 2014-06-04 01:49:32 +0200 |
commit | 5ad589da061b7d193aaa9a4f7960da9e60aaa7bf (patch) | |
tree | 429d7a892aca226c22b483562f73c2877e0982ea /engines/scumm | |
parent | efe5348d25a507845a6567ea7654ad42b0b4d5be (diff) | |
download | scummvm-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.cpp | 3 |
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(); |