aboutsummaryrefslogtreecommitdiff
path: root/engines/zvision/scripting/script_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/zvision/scripting/script_manager.cpp')
-rw-r--r--engines/zvision/scripting/script_manager.cpp6
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);