aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicola Mettifogo2010-06-04 13:48:09 +0000
committerNicola Mettifogo2010-06-04 13:48:09 +0000
commit9906030312842ae3f3537824c36697c2f5eb60bf (patch)
treea67f127def980560671959ca8df85d5abc36fdac
parent3d98f679e72b5dcf16d4c85a286bdaf5a35c95a6 (diff)
downloadscummvm-rg350-9906030312842ae3f3537824c36697c2f5eb60bf.tar.gz
scummvm-rg350-9906030312842ae3f3537824c36697c2f5eb60bf.tar.bz2
scummvm-rg350-9906030312842ae3f3537824c36697c2f5eb60bf.zip
Ensure that zones/animations always get the same index number.
When a zone/animation is skipped by the parser because already loaded, the index is now increased. This does not affect NS, since indexes are only used for scene sorting there, but is relevant for BRA, where indexes need to be coherent across location changes. Patch #3004008 by fuzzie. svn-id: r49428
-rw-r--r--engines/parallaction/parser_ns.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/engines/parallaction/parser_ns.cpp b/engines/parallaction/parser_ns.cpp
index be72cf73a1..ff24a06ceb 100644
--- a/engines/parallaction/parser_ns.cpp
+++ b/engines/parallaction/parser_ns.cpp
@@ -286,6 +286,7 @@ void LocationParser_ns::parseAnimation(AnimationList &list, char *name) {
debugC(5, kDebugParser, "parseAnimation(name: %s)", name);
if (_vm->_location.findAnimation(name)) {
+ _zoneProg++;
_script->skip("endanimation");
return;
}
@@ -1305,6 +1306,7 @@ void LocationParser_ns::parseZone(ZoneList &list, char *name) {
debugC(5, kDebugParser, "parseZone(name: %s)", name);
if (_vm->_location.findZone(name)) {
+ _zoneProg++;
_script->skip("endzone");
return;
}