diff options
| author | RichieSams | 2013-09-06 22:46:25 -0500 |
|---|---|---|
| committer | RichieSams | 2013-09-06 22:50:42 -0500 |
| commit | 2840ce750eee4409dc4926d57dbe686640cac625 (patch) | |
| tree | e08afb897975808aa6697f36e7cc3d9be5cb1272 /engines | |
| parent | b6366a2697f9d604fbb19ed38f1a1e51cf0d2b7f (diff) | |
| download | scummvm-rg350-2840ce750eee4409dc4926d57dbe686640cac625.tar.gz scummvm-rg350-2840ce750eee4409dc4926d57dbe686640cac625.tar.bz2 scummvm-rg350-2840ce750eee4409dc4926d57dbe686640cac625.zip | |
ZVISION: Save the Puzzle key, since ChangeLocation could be called
Which wipes all the puzzles
Diffstat (limited to 'engines')
| -rw-r--r-- | engines/zvision/script_manager.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/zvision/script_manager.cpp b/engines/zvision/script_manager.cpp index 84d39ffe06..860697c61e 100644 --- a/engines/zvision/script_manager.cpp +++ b/engines/zvision/script_manager.cpp @@ -174,6 +174,8 @@ void ScriptManager::checkPuzzleCriteria() { if (puzzle->criteriaList.empty() || criteriaMet) { debug("Puzzle %u criteria passed. Executing its ResultActions", puzzle->key); + uint32 key = puzzle->key; + bool shouldContinue = true; for (Common::List<ResultAction *>::iterator resultIter = puzzle->resultActions.begin(); resultIter != puzzle->resultActions.end(); resultIter++) { shouldContinue = shouldContinue && (*resultIter)->execute(_engine); @@ -183,7 +185,7 @@ void ScriptManager::checkPuzzleCriteria() { } // Set the puzzle as completed - setStateValue(puzzle->key, 1); + setStateValue(key, 1); if (!shouldContinue) { break; |
