diff options
author | Paweł Kołodziejski | 2004-06-20 21:01:32 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2004-06-20 21:01:32 +0000 |
commit | 8b789937c6d02f7043ab5d490ebf9a7baae9aae9 (patch) | |
tree | 3e57d59f21bb37a624e1533a0842d9fa80cc64c3 | |
parent | 80216dc6d672e7a8d65496971b3adb3ae308192b (diff) | |
download | scummvm-rg350-8b789937c6d02f7043ab5d490ebf9a7baae9aae9.tar.gz scummvm-rg350-8b789937c6d02f7043ab5d490ebf9a7baae9aae9.tar.bz2 scummvm-rg350-8b789937c6d02f7043ab5d490ebf9a7baae9aae9.zip |
changed check to _insaneRunning
svn-id: r13986
-rw-r--r-- | scumm/imuse_digi/dimuse_script.cpp | 4 | ||||
-rw-r--r-- | scumm/imuse_digi/dimuse_track.cpp | 1 | ||||
-rw-r--r-- | scumm/script_v6.cpp | 4 | ||||
-rw-r--r-- | scumm/scumm.cpp | 1 | ||||
-rw-r--r-- | scumm/scumm.h | 3 |
5 files changed, 9 insertions, 4 deletions
diff --git a/scumm/imuse_digi/dimuse_script.cpp b/scumm/imuse_digi/dimuse_script.cpp index 2209ff023c..64a2e384e4 100644 --- a/scumm/imuse_digi/dimuse_script.cpp +++ b/scumm/imuse_digi/dimuse_script.cpp @@ -163,8 +163,7 @@ void IMuseDigital::flushTracks() { debug(5, "flushTracks()"); for (int l = 0; l < MAX_DIGITAL_TRACKS + MAX_DIGITAL_FADETRACKS; l++) { Track *track = _track[l]; - if (track->used && - (track->readyToRemove || (!_vm->_videoFinished && track->toBeRemoved))) { + if (track->used && (track->readyToRemove || (_vm->_insaneRunning && track->toBeRemoved))) { if ((track->stream) && (!track->stream->endOfStream())) { track->stream->finish(); } else if ((track->stream) && (track->stream->endOfStream())) { @@ -375,6 +374,7 @@ void IMuseDigital::stopAllSounds() { if (!foundNotRemoved) break; flushTracks(); + _vm->_system->delay_msecs(50); } } diff --git a/scumm/imuse_digi/dimuse_track.cpp b/scumm/imuse_digi/dimuse_track.cpp index 0b24a894a3..bbdae9d127 100644 --- a/scumm/imuse_digi/dimuse_track.cpp +++ b/scumm/imuse_digi/dimuse_track.cpp @@ -179,6 +179,7 @@ void IMuseDigital::startSound(int soundId, const char *soundName, int soundType, track->used = true; return; } + _vm->_system->delay_msecs(50); } } diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp index cf834cb7d6..d836c28442 100644 --- a/scumm/script_v6.cpp +++ b/scumm/script_v6.cpp @@ -2499,8 +2499,10 @@ void ScummEngine_v6::o6_kernelSetFunctions() { const int insaneVarNum = ((_features & GF_DEMO) && (_features & GF_PC)) ? 232 : 233; - _insane->setSmushParams(speed); + _insaneRunning = true; + _insane->setSmushParams(speed); _insane->runScene(insaneVarNum); + _insaneRunning = false; } } break; diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index 7a857aa744..4d3fa6610c 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -352,6 +352,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS _smushFrameRate = 0; _videoFinished = false; _smushPaused = false; + _insaneRunning = false; _quit = false; _pauseDialog = NULL; _optionsDialog = NULL; diff --git a/scumm/scumm.h b/scumm/scumm.h index 383a3d415f..3da44b7d6c 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -394,7 +394,8 @@ public: int _smushFrameRate; bool _videoFinished; bool _smushPaused; - + bool _insaneRunning; + void pauseGame(); void restart(); void shutDown(); |