aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions
diff options
context:
space:
mode:
authorjohndoe1232015-12-15 17:23:45 +0100
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit1e2e5d636cdde3db2c30598b43281183b03234c3 (patch)
tree371db63edaf311914686820fcae991c281101ef7 /engines/illusions
parent3abe3d759c6e16ef1e0e3cea7a8eb5f766a56851 (diff)
downloadscummvm-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.cpp11
-rw-r--r--engines/illusions/bbdou/scriptopcodes_bbdou.h1
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);