aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parallaction.h
diff options
context:
space:
mode:
authorNicola Mettifogo2007-08-16 19:47:22 +0000
committerNicola Mettifogo2007-08-16 19:47:22 +0000
commiteb0798d58095abab2dee11206440c3c2d5e204cd (patch)
tree4f5ae4f83394eff91604a9b9427f68321dfa7c3c /engines/parallaction/parallaction.h
parent47b2f533f0a5e2e70759b90f798c66d3b763a0d9 (diff)
downloadscummvm-rg350-eb0798d58095abab2dee11206440c3c2d5e204cd.tar.gz
scummvm-rg350-eb0798d58095abab2dee11206440c3c2d5e204cd.tar.bz2
scummvm-rg350-eb0798d58095abab2dee11206440c3c2d5e204cd.zip
Now using stacks to keep track of multiple levels when parsing location scripts.
svn-id: r28639
Diffstat (limited to 'engines/parallaction/parallaction.h')
-rw-r--r--engines/parallaction/parallaction.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h
index 43564b4743..28551341df 100644
--- a/engines/parallaction/parallaction.h
+++ b/engines/parallaction/parallaction.h
@@ -27,7 +27,7 @@
#define PARALLACTION_H
#include "common/str.h"
-
+#include "common/stack.h"
#include "engines/engine.h"
@@ -348,6 +348,16 @@ public:
uint _lookup;
+ Common::Stack<const Opcode*> _opcodes;
+ Common::Stack<Table*> _statements;
+
+ const Opcode *_currentOpcodes;
+ Table *_currentStatements;
+
+ void pushParserTables(const Opcode* opcodes, Table* statements);
+ void popParserTables();
+ void parseStatement();
+
struct {
Command *cmd;
int nextToken;