diff options
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/engine/savegame.cpp | 1 | ||||
-rw-r--r-- | engines/sci/sfx/soundcmd.h | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index 03b31b39c7..75637e09ef 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -790,6 +790,7 @@ EngineState *gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) { retval->sfx_init_flags = s->sfx_init_flags; retval->_sound._songlib.freeSounds(); retval->_sound._songlib = temp; + retval->_soundCmd->updateSfxState(&retval->_sound); reconstruct_stack(retval); retval->_segMan->reconstructScripts(retval); diff --git a/engines/sci/sfx/soundcmd.h b/engines/sci/sfx/soundcmd.h index 0a4e47512f..c4d2cdb15d 100644 --- a/engines/sci/sfx/soundcmd.h +++ b/engines/sci/sfx/soundcmd.h @@ -46,6 +46,8 @@ public: SoundCommandParser(ResourceManager *resMan, SegManager *segMan, SfxState *state, AudioPlayer *audio, SciVersion doSoundVersion); ~SoundCommandParser(); + void updateSfxState(SfxState *newState) { _state = newState; } + reg_t parseCommand(int argc, reg_t *argv, reg_t acc); private: |