aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/scriptopcodes.cpp
diff options
context:
space:
mode:
authorjohndoe1232014-04-01 16:56:58 +0200
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit7dc8533f730645e7177bbdc4d214664d82856963 (patch)
tree1d835855d8946c5fc16a397599650ee2e80fb354 /engines/illusions/scriptopcodes.cpp
parentd67021b32cf96388291135b19060d6dba8b7fbd4 (diff)
downloadscummvm-rg350-7dc8533f730645e7177bbdc4d214664d82856963.tar.gz
scummvm-rg350-7dc8533f730645e7177bbdc4d214664d82856963.tar.bz2
scummvm-rg350-7dc8533f730645e7177bbdc4d214664d82856963.zip
ILLUSIONS: Fix thread camera panning
- Minor fixes and corrections
Diffstat (limited to 'engines/illusions/scriptopcodes.cpp')
-rw-r--r--engines/illusions/scriptopcodes.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/engines/illusions/scriptopcodes.cpp b/engines/illusions/scriptopcodes.cpp
index aa63512142..d94b96d9fc 100644
--- a/engines/illusions/scriptopcodes.cpp
+++ b/engines/illusions/scriptopcodes.cpp
@@ -263,17 +263,19 @@ void ScriptOpcodes::opEnterScene(ScriptThread *scriptThread, OpCall &opCall) {
}
//DEBUG Scenes
-//uint32 dsceneId = 0x00010031, dthreadId = 0x00020036;//MAP
+uint32 dsceneId = 0x00010031, dthreadId = 0x00020036;//MAP
//uint32 dsceneId = 0x00010028, dthreadId = 0x000202A1;
//uint32 dsceneId = 0x00010007, dthreadId = 0x0002000C;//Auditorium
//uint32 dsceneId = 0x0001000B, dthreadId = 0x00020010;
-uint32 dsceneId = 0x00010013, dthreadId = 0x00020018;//
+//uint32 dsceneId = 0x00010013, dthreadId = 0x00020018;//Therapist
+//uint32 dsceneId = 0x00010016, dthreadId = 0x0002001B;//Dorms ext
+//uint32 dsceneId = 0x00010017, dthreadId = 0x0002001C;//Dorms int
void ScriptOpcodes::opChangeScene(ScriptThread *scriptThread, OpCall &opCall) {
ARG_SKIP(2);
ARG_UINT32(sceneId);
ARG_UINT32(threadId);
-
+
if (dsceneId) {
sceneId = dsceneId;
threadId = dthreadId;
@@ -338,21 +340,21 @@ void ScriptOpcodes::opPanToObject(ScriptThread *scriptThread, OpCall &opCall) {
ARG_UINT32(objectId);
Control *control = _vm->_dict->getObjectControl(objectId);
Common::Point pos = control->getActorPosition();
- _vm->_camera->panToPoint(pos, speed, opCall._callerThreadId);
+ _vm->_camera->panToPoint(pos, speed, opCall._threadId);
}
void ScriptOpcodes::opPanToNamedPoint(ScriptThread *scriptThread, OpCall &opCall) {
ARG_INT16(speed);
ARG_UINT32(namedPointId);
Common::Point pos = _vm->getNamedPointPosition(namedPointId);
- _vm->_camera->panToPoint(pos, speed, opCall._callerThreadId);
+ _vm->_camera->panToPoint(pos, speed, opCall._threadId);
}
void ScriptOpcodes::opPanToPoint(ScriptThread *scriptThread, OpCall &opCall) {
ARG_INT16(speed);
ARG_INT16(x);
ARG_INT16(y);
- _vm->_camera->panToPoint(Common::Point(x, y), speed, opCall._callerThreadId);
+ _vm->_camera->panToPoint(Common::Point(x, y), speed, opCall._threadId);
}
void ScriptOpcodes::opPanStop(ScriptThread *scriptThread, OpCall &opCall) {
@@ -609,7 +611,7 @@ void ScriptOpcodes::opActivateButton(ScriptThread *scriptThread, OpCall &opCall)
}
void ScriptOpcodes::opJumpIf(ScriptThread *scriptThread, OpCall &opCall) {
- ARG_INT16(jumpOffs)
+ ARG_INT16(jumpOffs);
int16 value = _vm->_scriptMan->_stack.pop();
if (value == 0)
opCall._deltaOfs += jumpOffs;