diff options
Diffstat (limited to 'scumm/imuse_digi/dimuse_script.cpp')
-rw-r--r-- | scumm/imuse_digi/dimuse_script.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/scumm/imuse_digi/dimuse_script.cpp b/scumm/imuse_digi/dimuse_script.cpp index 63b2cf1fbc..db9e0d8ece 100644 --- a/scumm/imuse_digi/dimuse_script.cpp +++ b/scumm/imuse_digi/dimuse_script.cpp @@ -159,6 +159,20 @@ void IMuseDigital::parseScriptCmds(int a, int b, int c, int d, int e, int f, int } } +void IMuseDigital::refreshScripts() { + Common::StackLock lock(_mutex, "IMuseDigital::refreshScripts()"); + bool found = false; + for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) { + if ((_track[l].used) && (_track[l].volGroupId == IMUSE_VOLGRP_MUSIC) && (!_track[l].volFadeUsed)) { + found = true; + } + } + + if ((!found) && (_curMusicSeq != 0)) { + parseScriptCmds(0x2000, 0, 0, 0, 0, 0, 0, 0); + } +} + void IMuseDigital::startVoice(int soundId, AudioStream *input) { debug(5, "startVoiceStream(%d)", soundId); startSound(soundId, NULL, 0, IMUSE_VOLGRP_VOICE, input, 0, 127, 127); |