diff options
-rw-r--r-- | engines/scumm/imuse_digi/dimuse_script.cpp | 5 | ||||
-rw-r--r-- | engines/scumm/scumm_v7.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/engines/scumm/imuse_digi/dimuse_script.cpp b/engines/scumm/imuse_digi/dimuse_script.cpp index ea9c47f591..06a629072e 100644 --- a/engines/scumm/imuse_digi/dimuse_script.cpp +++ b/engines/scumm/imuse_digi/dimuse_script.cpp @@ -203,6 +203,11 @@ void IMuseDigital::refreshScripts() { debug(6, "refreshScripts()"); if (_stopingSequence) { + // prevent start new music, only fade out old one + if (_vm->isSmushActive()) { + fadeOutMusic(60); + return; + } // small delay, it seems help for fix bug #1757010 if (_stopingSequence++ > 120) { debug(5, "refreshScripts() Force restore music state"); diff --git a/engines/scumm/scumm_v7.h b/engines/scumm/scumm_v7.h index fcadadb04d..c4bb3525be 100644 --- a/engines/scumm/scumm_v7.h +++ b/engines/scumm/scumm_v7.h @@ -97,6 +97,7 @@ public: void addSubtitleToQueue(const byte *text, const Common::Point &pos, byte color, byte charset); void clearSubtitleQueue(); virtual void CHARSET_1(); + bool isSmushActive() { return _smushActive; } protected: virtual int runDialog(Dialog &dialog); |