aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse_digi
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/imuse_digi')
-rw-r--r--scumm/imuse_digi/dimuse_script.cpp4
-rw-r--r--scumm/imuse_digi/dimuse_track.cpp1
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);
}
}