aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/sequenceopcodes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/illusions/sequenceopcodes.cpp')
-rw-r--r--engines/illusions/sequenceopcodes.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/engines/illusions/sequenceopcodes.cpp b/engines/illusions/sequenceopcodes.cpp
index fe08850732..8d678ebc52 100644
--- a/engines/illusions/sequenceopcodes.cpp
+++ b/engines/illusions/sequenceopcodes.cpp
@@ -69,6 +69,7 @@ void SequenceOpcodes::initOpcodes() {
OPCODE(10, opStartForeignSequence);
OPCODE(11, opBeginLoop);
OPCODE(12, opNextLoop);
+ OPCODE(13, opSetActorIndex);
OPCODE(14, opSwitchActorIndex);
OPCODE(15, opSwitchFacing);
OPCODE(16, opAppearActor);
@@ -77,9 +78,13 @@ void SequenceOpcodes::initOpcodes() {
OPCODE(19, opDisappearForeignActor);
OPCODE(20, opSetNamedPointPosition);
OPCODE(21, opMoveDelta);
+ // 22-24 unused in Duckman, CHECKME BBDOU
OPCODE(25, opFaceActor);
+ // 26-27 unused in Duckman, CHECKME BBDOU
OPCODE(28, opNotifyThreadId1);
OPCODE(29, opSetPathCtrY);
+ // 30-31 unused in Duckman, CHECKME BBDOU
+ // TODO OPCODE(32, );
OPCODE(33, opSetPathWalkPoints);
OPCODE(34, opDisableAutoScale);
OPCODE(35, opSetScale);
@@ -90,6 +95,7 @@ void SequenceOpcodes::initOpcodes() {
OPCODE(40, opSetPriorityLayer);
OPCODE(41, opDisableAutoRegionLayer);
OPCODE(42, opSetRegionLayer);
+ // 43-47 unused in Duckman, CHECKME BBDOU
OPCODE(48, opSetPalette);
OPCODE(49, opShiftPalette);
OPCODE(50, opPlaySound);
@@ -213,6 +219,11 @@ void SequenceOpcodes::opNextLoop(Control *control, OpCall &opCall) {
}
}
+void SequenceOpcodes::opSetActorIndex(Control *control, OpCall &opCall) {
+ ARG_BYTE(actorIndex);
+ control->setActorIndex(actorIndex);
+}
+
void SequenceOpcodes::opSwitchActorIndex(Control *control, OpCall &opCall) {
ARG_INT16(actorIndex);
ARG_INT16(jumpOffs);