diff options
Diffstat (limited to 'engines/illusions/scriptopcodes_duckman.cpp')
| -rw-r--r-- | engines/illusions/scriptopcodes_duckman.cpp | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/engines/illusions/scriptopcodes_duckman.cpp b/engines/illusions/scriptopcodes_duckman.cpp index b932037f00..3b90e0c5e3 100644 --- a/engines/illusions/scriptopcodes_duckman.cpp +++ b/engines/illusions/scriptopcodes_duckman.cpp @@ -74,6 +74,7 @@ void ScriptOpcodes_Duckman::initOpcodes() { OPCODE(32, opPanCenterObject); OPCODE(33, opPanTrackObject); OPCODE(34, opPanToObject); + OPCODE(35, opPanToNamedPoint); OPCODE(36, opPanToPoint); OPCODE(37, opPanStop); OPCODE(38, opStartFade); @@ -134,7 +135,6 @@ void ScriptOpcodes_Duckman::initOpcodes() { OPCODE(20, opEnterScene); OPCODE(30, opEnterCloseUpScene); OPCODE(31, opExitCloseUpScene); - OPCODE(35, opPanToNamedPoint); OPCODE(53, opSetActorToNamedPoint); OPCODE(63, opSetSelectSfx); OPCODE(64, opSetMoveSfx); @@ -336,6 +336,13 @@ void ScriptOpcodes_Duckman::opPanToObject(ScriptThread *scriptThread, OpCall &op _vm->_camera->panToPoint(pos, speed, opCall._threadId); } +void ScriptOpcodes_Duckman::opPanToNamedPoint(ScriptThread *scriptThread, OpCall &opCall) { + ARG_INT16(speed); + ARG_UINT32(namedPointId); + Common::Point pos = _vm->getNamedPointPosition(namedPointId); + _vm->_camera->panToPoint(pos, speed, opCall._threadId); +} + void ScriptOpcodes_Duckman::opPanToPoint(ScriptThread *scriptThread, OpCall &opCall) { ARG_INT16(speed); ARG_INT16(x); @@ -348,15 +355,14 @@ void ScriptOpcodes_Duckman::opPanStop(ScriptThread *scriptThread, OpCall &opCall } void ScriptOpcodes_Duckman::opStartFade(ScriptThread *scriptThread, OpCall &opCall) { - ARG_INT16(arg1); - ARG_INT16(arg2); - ARG_INT16(arg3); - ARG_INT16(arg4); - ARG_INT16(arg5); - // TODO - + ARG_INT16(duration); + ARG_INT16(minValue); + ARG_INT16(maxValue); + ARG_INT16(firstIndex); + ARG_INT16(lastIndex); + _vm->startFader(duration, minValue, maxValue, firstIndex, lastIndex, opCall._threadId); //DEBUG Resume calling thread, later done when the fading is finished - _vm->notifyThreadId(opCall._threadId); + //_vm->notifyThreadId(opCall._threadId); } void ScriptOpcodes_Duckman::opSetDisplay(ScriptThread *scriptThread, OpCall &opCall) { @@ -794,13 +800,6 @@ void ScriptOpcodes_Duckman::opExitCloseUpScene(ScriptThread *scriptThread, OpCal opCall._result = kTSYield; } -void ScriptOpcodes_Duckman::opPanToNamedPoint(ScriptThread *scriptThread, OpCall &opCall) { - ARG_INT16(speed); - ARG_UINT32(namedPointId); - Common::Point pos = _vm->getNamedPointPosition(namedPointId); - _vm->_camera->panToPoint(pos, speed, opCall._threadId); -} - void ScriptOpcodes_Duckman::opSetActorToNamedPoint(ScriptThread *scriptThread, OpCall &opCall) { ARG_SKIP(2); ARG_UINT32(objectId); |
