aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions
diff options
context:
space:
mode:
authorjohndoe1232018-05-23 19:44:26 +1000
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit96a862536d8c8214140c1350d479dedd22b6df3b (patch)
tree2bbff8c996416cea64079160684f9c8316a2cab0 /engines/illusions
parent38577221c06910311902f4c6bb4984e6fce1f75d (diff)
downloadscummvm-rg350-96a862536d8c8214140c1350d479dedd22b6df3b.tar.gz
scummvm-rg350-96a862536d8c8214140c1350d479dedd22b6df3b.tar.bz2
scummvm-rg350-96a862536d8c8214140c1350d479dedd22b6df3b.zip
ILLUSIONS: Implement sequence opcode 32
(cherry picked from commit 30cdb32)
Diffstat (limited to 'engines/illusions')
-rw-r--r--engines/illusions/sequenceopcodes.cpp6
-rw-r--r--engines/illusions/sequenceopcodes.h1
2 files changed, 6 insertions, 1 deletions
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);