diff options
Diffstat (limited to 'scumm/imuse_digi')
-rw-r--r-- | scumm/imuse_digi/dimuse_script.cpp | 4 | ||||
-rw-r--r-- | scumm/imuse_digi/dimuse_track.cpp | 1 |
2 files changed, 3 insertions, 2 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); } } |