aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parser_ns.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/parallaction/parser_ns.cpp')
-rw-r--r--engines/parallaction/parser_ns.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/parallaction/parser_ns.cpp b/engines/parallaction/parser_ns.cpp
index e6db9bf17b..909753e981 100644
--- a/engines/parallaction/parser_ns.cpp
+++ b/engines/parallaction/parser_ns.cpp
@@ -327,6 +327,9 @@ void ProgramParser_ns::parseInstruction() {
InstructionPtr inst(new Instruction);
ctxt.inst = inst;
+
+ _currentInstruction = _program->_instructions.size();
+
_parser->parseStatement();
_program->_instructions.push_back(inst);
@@ -337,7 +340,6 @@ void ProgramParser_ns::parse(Script *script, ProgramPtr program) {
_script = script;
_program = program;
- ctxt.openIf = InstructionPtr();
ctxt.end = false;
ctxt.locals = program->_locals;
@@ -348,7 +350,7 @@ void ProgramParser_ns::parse(Script *script, ProgramPtr program) {
} while (!ctxt.end);
_parser->popTables();
- program->_ip = program->_instructions.begin();
+ program->_ip = 0;
}
void Parallaction_ns::loadProgram(AnimationPtr a, const char *filename) {