aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichieSams2013-09-21 00:08:36 -0500
committerRichieSams2013-09-21 00:08:36 -0500
commit8f7fa517d627ad81ca6a07b5a86b6de0774713a1 (patch)
tree2e945e6c653ce7d9f50bc8a117029982dc938b63
parent51fc627c05e4fdbd240c75399a249ce8378e999a (diff)
downloadscummvm-rg350-8f7fa517d627ad81ca6a07b5a86b6de0774713a1.tar.gz
scummvm-rg350-8f7fa517d627ad81ca6a07b5a86b6de0774713a1.tar.bz2
scummvm-rg350-8f7fa517d627ad81ca6a07b5a86b6de0774713a1.zip
ZVISION: Directly access _globalState instead of using setStateValue
setStateValue does a _referenceTable lookup and potentially adds Puzzles to _puzzlesToCheck. We know that _referenceTable and _puzzlesToCheck with be cleared during ScriptManager::changeLocation(), so using setStateValues ends up just being wasteful.
-rw-r--r--engines/zvision/script_manager.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/engines/zvision/script_manager.cpp b/engines/zvision/script_manager.cpp
index b968e51213..75f88ddd8a 100644
--- a/engines/zvision/script_manager.cpp
+++ b/engines/zvision/script_manager.cpp
@@ -399,7 +399,8 @@ void ScriptManager::deserializeStateTable(Common::SeekableReadStream *stream) {
for (uint32 i = 0; i < numberOfPairs; i++) {
uint32 key = stream->readUint32LE();
uint32 value = stream->readUint32LE();
- setStateValue(key, value);
+ // Directly access the state table so we don't trigger Puzzle checks
+ _globalState[key] = value;
}
}