aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/zone.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/parallaction/zone.cpp')
-rw-r--r--engines/parallaction/zone.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/engines/parallaction/zone.cpp b/engines/parallaction/zone.cpp
index 7179e7c67d..64ef933167 100644
--- a/engines/parallaction/zone.cpp
+++ b/engines/parallaction/zone.cpp
@@ -48,7 +48,7 @@ DECLARE_ZONE_PARSER(invalid) {
}
DECLARE_ZONE_PARSER(endzone) {
- _locZoneParseCtxt.end = true;
+ popParserTables();
}
DECLARE_ZONE_PARSER(limits) {
@@ -75,7 +75,7 @@ DECLARE_ZONE_PARSER(type) {
parseZoneTypeBlock(*_locZoneParseCtxt.script, _locZoneParseCtxt.z);
}
- _locZoneParseCtxt.end = true;
+ popParserTables();
}
@@ -120,14 +120,7 @@ void Parallaction::parseZone(Script &script, ZoneList &list, char *name) {
list.push_front(z);
- do {
-
- fillBuffers(script, true);
-
- int index = _locationZoneStmt->lookup(_tokens[0]);
- (this->*_locationZoneParsers[index])();
-
- } while (!_locZoneParseCtxt.end);
+ pushParserTables(_locationZoneParsers, _locationZoneStmt);
return;
}