diff options
-rw-r--r-- | scumm/imuse.cpp | 9 | ||||
-rw-r--r-- | scumm/scummvm.cpp | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/scumm/imuse.cpp b/scumm/imuse.cpp index 4dea9ec6e9..44ad845a59 100644 --- a/scumm/imuse.cpp +++ b/scumm/imuse.cpp @@ -454,6 +454,15 @@ int IMuseInternal::get_queue_sound_status(int sound) { return 2; i = (i + 1) &(ARRAYSIZE(_cmd_queue) - 1); } + + for (i = 0; i < ARRAYSIZE (_deferredCommands); ++i) { + if (_deferredCommands[i].time_left && _deferredCommands[i].a == 8 && + _deferredCommands[i].b == sound) + { + return 2; + } + } + return 0; } diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index a6583d1ece..0a75b46ba5 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -1743,6 +1743,7 @@ void Scumm::startScene(int room, Actor *a, int objectNr) { killScriptsAndResources(); clearEnqueue(); stopCycle(0); + _sound->processSoundQues(); for (i = 1; i < _numActors; i++) { _actors[i].hideActor(); |