diff options
author | johndoe123 | 2015-12-15 17:23:45 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | 1e2e5d636cdde3db2c30598b43281183b03234c3 (patch) | |
tree | 371db63edaf311914686820fcae991c281101ef7 /engines/illusions | |
parent | 3abe3d759c6e16ef1e0e3cea7a8eb5f766a56851 (diff) | |
download | scummvm-rg350-1e2e5d636cdde3db2c30598b43281183b03234c3.tar.gz scummvm-rg350-1e2e5d636cdde3db2c30598b43281183b03234c3.tar.bz2 scummvm-rg350-1e2e5d636cdde3db2c30598b43281183b03234c3.zip |
ILLUSIONS: BBDOU: Implement opcode 54
Diffstat (limited to 'engines/illusions')
-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); |