diff options
Diffstat (limited to 'engines/illusions/bbdou')
-rw-r--r-- | engines/illusions/bbdou/scriptopcodes_bbdou.cpp | 11 | ||||
-rw-r--r-- | engines/illusions/bbdou/scriptopcodes_bbdou.h | 1 |
2 files changed, 11 insertions, 1 deletions
diff --git a/engines/illusions/bbdou/scriptopcodes_bbdou.cpp b/engines/illusions/bbdou/scriptopcodes_bbdou.cpp index 1c3a8ea283..eb37025631 100644 --- a/engines/illusions/bbdou/scriptopcodes_bbdou.cpp +++ b/engines/illusions/bbdou/scriptopcodes_bbdou.cpp @@ -106,7 +106,7 @@ void ScriptOpcodes_BBDOU::initOpcodes() { OPCODE(51, opStartMoveActor); // 52 unused OPCODE(53, opSetActorToNamedPoint); - // TODO OPCODE(54, opSetActorPosition); + OPCODE(54, opSetActorPosition); // 55 unused OPCODE(56, opStartTalkThread); OPCODE(57, opAppearActor); @@ -511,6 +511,15 @@ void ScriptOpcodes_BBDOU::opSetActorToNamedPoint(ScriptThread *scriptThread, OpC control->setActorPosition(pos); } +void ScriptOpcodes_BBDOU::opSetActorPosition(ScriptThread *scriptThread, OpCall &opCall) { + ARG_UINT32(objectId); + ARG_INT16(x); + ARG_INT16(y); + Control *control = _vm->_dict->getObjectControl(objectId); + Common::Point pos(x, y); + control->setActorPosition(pos); +} + void ScriptOpcodes_BBDOU::opStartTalkThread(ScriptThread *scriptThread, OpCall &opCall) { ARG_INT16(duration); ARG_UINT32(objectId); diff --git a/engines/illusions/bbdou/scriptopcodes_bbdou.h b/engines/illusions/bbdou/scriptopcodes_bbdou.h index a51b685faa..d8e0e39731 100644 --- a/engines/illusions/bbdou/scriptopcodes_bbdou.h +++ b/engines/illusions/bbdou/scriptopcodes_bbdou.h @@ -82,6 +82,7 @@ protected: void opStartSequenceActor(ScriptThread *scriptThread, OpCall &opCall); void opStartMoveActor(ScriptThread *scriptThread, OpCall &opCall); void opSetActorToNamedPoint(ScriptThread *scriptThread, OpCall &opCall); + void opSetActorPosition(ScriptThread *scriptThread, OpCall &opCall); void opStartTalkThread(ScriptThread *scriptThread, OpCall &opCall); void opAppearActor(ScriptThread *scriptThread, OpCall &opCall); void opDisappearActor(ScriptThread *scriptThread, OpCall &opCall); |