diff options
Diffstat (limited to 'engines/zvision/scripting/script_manager.cpp')
-rw-r--r-- | engines/zvision/scripting/script_manager.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/zvision/scripting/script_manager.cpp b/engines/zvision/scripting/script_manager.cpp index 464e8bfe4d..ba38d3a0e4 100644 --- a/engines/zvision/scripting/script_manager.cpp +++ b/engines/zvision/scripting/script_manager.cpp @@ -686,7 +686,7 @@ void ScriptManager::serialize(Common::WriteStream *stream) { stream->writeSint16LE(getStateValue(i)); } -void ScriptManager::deserialize(Common::SeekableReadStream *stream) { +void ScriptManager::reset() { // Clear out the current table values _globalState.clear(); _globalStateFlags.clear(); @@ -706,6 +706,10 @@ void ScriptManager::deserialize(Common::SeekableReadStream *stream) { _activeSideFx.clear(); _referenceTable.clear(); +} + +void ScriptManager::deserialize(Common::SeekableReadStream *stream) { + reset(); if (stream->readUint32BE() != MKTAG('Z', 'N', 'S', 'G') || stream->readUint32LE() != 4) { changeLocation('g', 'a', 'r', 'y', 0); |