From 52fbdd51eb0f7d31ce1718adfc60bc169c7c84c3 Mon Sep 17 00:00:00 2001 From: Nicola Mettifogo Date: Wed, 4 Jun 2008 01:27:55 +0000 Subject: Script instructions referencing unexisting animations are now skipped, instead of crashing the engine. svn-id: r32524 --- engines/parallaction/parser_ns.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'engines/parallaction/parser_ns.cpp') diff --git a/engines/parallaction/parser_ns.cpp b/engines/parallaction/parser_ns.cpp index 96a4fced71..2c4601c938 100644 --- a/engines/parallaction/parser_ns.cpp +++ b/engines/parallaction/parser_ns.cpp @@ -308,8 +308,6 @@ void LocationParser_ns::parseAnimation(AnimationList &list, char *name) { void ProgramParser_ns::parseInstruction() { - InstructionPtr inst(new Instruction); - _script->readLineToken(true); if (_tokens[0][1] == '.') { @@ -322,10 +320,13 @@ void ProgramParser_ns::parseInstruction() { } else ctxt.a = _program->_anim; - ctxt.inst = inst; + if (!ctxt.a) { + return; + } + InstructionPtr inst(new Instruction); + ctxt.inst = inst; _parser->parseStatement(); - _program->_instructions.push_back(inst); return; -- cgit v1.2.3