From 96a862536d8c8214140c1350d479dedd22b6df3b Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Wed, 23 May 2018 19:44:26 +1000 Subject: ILLUSIONS: Implement sequence opcode 32 (cherry picked from commit 30cdb32) --- engines/illusions/sequenceopcodes.cpp | 6 +++++- engines/illusions/sequenceopcodes.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/engines/illusions/sequenceopcodes.cpp b/engines/illusions/sequenceopcodes.cpp index 765247137f..36111a7c55 100644 --- a/engines/illusions/sequenceopcodes.cpp +++ b/engines/illusions/sequenceopcodes.cpp @@ -87,7 +87,7 @@ void SequenceOpcodes::initOpcodes() { OPCODE(28, opNotifyThreadId1); OPCODE(29, opSetPathCtrY); // 30-31 unused in Duckman, CHECKME BBDOU - // TODO OPCODE(32, ); + OPCODE(32, opDisablePathWalkPoints); OPCODE(33, opSetPathWalkPoints); OPCODE(34, opDisableAutoScale); OPCODE(35, opSetScale); @@ -296,6 +296,10 @@ void SequenceOpcodes::opSetPathCtrY(Control *control, OpCall &opCall) { control->_actor->_pathCtrY = pathCtrY; } +void SequenceOpcodes::opDisablePathWalkPoints(Control *control, OpCall &opCall) { + control->_actor->_flags &= ~2; +} + void SequenceOpcodes::opSetPathWalkPoints(Control *control, OpCall &opCall) { ARG_INT16(pathWalkPointsIndex); BackgroundResource *bgRes = _vm->_backgroundInstances->getActiveBgResource(); diff --git a/engines/illusions/sequenceopcodes.h b/engines/illusions/sequenceopcodes.h index 5fe528141d..a6cc573c4a 100644 --- a/engines/illusions/sequenceopcodes.h +++ b/engines/illusions/sequenceopcodes.h @@ -70,6 +70,7 @@ protected: void opFaceActor(Control *control, OpCall &opCall); void opNotifyThreadId1(Control *control, OpCall &opCall); void opSetPathCtrY(Control *control, OpCall &opCall); + void opDisablePathWalkPoints(Control *control, OpCall &opCall); void opSetPathWalkPoints(Control *control, OpCall &opCall); void opDisableAutoScale(Control *control, OpCall &opCall); void opSetScale(Control *control, OpCall &opCall); -- cgit v1.2.3