diff options
Diffstat (limited to 'engines/parallaction')
-rw-r--r-- | engines/parallaction/exec_br.cpp | 5 | ||||
-rw-r--r-- | engines/parallaction/walk.cpp | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/engines/parallaction/exec_br.cpp b/engines/parallaction/exec_br.cpp index a3eb919354..c5e53f6a1d 100644 --- a/engines/parallaction/exec_br.cpp +++ b/engines/parallaction/exec_br.cpp @@ -447,7 +447,10 @@ DECLARE_INSTRUCTION_OPCODE(process) { DECLARE_INSTRUCTION_OPCODE(move) { - warning("Parallaction_br::instOp_move not yet implemented"); + // NOTE: I couldn't find evidence of scripts containing this instruction being used + InstructionPtr inst =*ctxt._inst; + _vm->scheduleWalk(inst->_opA.getValue(), inst->_opB.getValue(), false); + ctxt._suspend = true; } diff --git a/engines/parallaction/walk.cpp b/engines/parallaction/walk.cpp index ec435fddec..f9fd6254e1 100644 --- a/engines/parallaction/walk.cpp +++ b/engines/parallaction/walk.cpp @@ -437,6 +437,10 @@ void PathWalker_BR::setFollowerPath(AnimationPtr a, uint16 x, uint16 y) { } void PathWalker_BR::stopFollower() { + if (_follower._active) { + uint32 frame = _follower._a->getF(); + _follower._a->setF((frame/9) * 9); + } _follower._a.reset(); _follower._active = false; } |