aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/sound.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2016-11-25 10:43:39 +0100
committerEugene Sandulenko2016-11-25 18:53:16 +0100
commit4d8cc0db680184d9a38d13d35d89e26dc02beabc (patch)
tree0e8f7fb9b514206780a6fe26dfc84a190ab67b94 /engines/fullpipe/sound.cpp
parent535929aca081cb7ae74389f0a6144795117026bb (diff)
downloadscummvm-rg350-4d8cc0db680184d9a38d13d35d89e26dc02beabc.tar.gz
scummvm-rg350-4d8cc0db680184d9a38d13d35d89e26dc02beabc.tar.bz2
scummvm-rg350-4d8cc0db680184d9a38d13d35d89e26dc02beabc.zip
FULLPIPE: Correctly restart scene audio tracks
Diffstat (limited to 'engines/fullpipe/sound.cpp')
-rw-r--r--engines/fullpipe/sound.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index cd6647177e..4ec8dd05ca 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -306,6 +306,13 @@ void FullpipeEngine::setSceneMusicParameters(GameVar *gvar) {
}
void FullpipeEngine::startSceneTrack() {
+ if (_sceneTrackIsPlaying) {
+ if (!_mixer->isSoundHandleActive(*_sceneTrackHandle)) { // Simulate end of sound callback
+ _sceneTrackIsPlaying = false;
+ _trackStartDelay = _musicMinDelay + (_musicMaxDelay - _musicMinDelay) * (_updateTicks % 10) / 9;
+ }
+ }
+
if (!_sceneTrackIsPlaying && _numSceneTracks > 0) {
if (_trackStartDelay > 0) {
_trackStartDelay--;