diff options
-rw-r--r-- | engines/illusions/bbdou/scriptopcodes_bbdou.cpp | 13 | ||||
-rw-r--r-- | engines/illusions/bbdou/scriptopcodes_bbdou.h | 2 |
2 files changed, 13 insertions, 2 deletions
diff --git a/engines/illusions/bbdou/scriptopcodes_bbdou.cpp b/engines/illusions/bbdou/scriptopcodes_bbdou.cpp index 93b6f8f192..1c3a8ea283 100644 --- a/engines/illusions/bbdou/scriptopcodes_bbdou.cpp +++ b/engines/illusions/bbdou/scriptopcodes_bbdou.cpp @@ -76,8 +76,8 @@ void ScriptOpcodes_BBDOU::initOpcodes() { OPCODE(19, opLeaveMenuPause); OPCODE(20, opEnterScene); OPCODE(21, opLeaveScene); - // TODO OPCODE(22, opEnterPause); - // TODO OPCODE(23, opLeavePause); + OPCODE(22, opEnterPause); + OPCODE(23, opLeavePause); OPCODE(24, opUnloadActiveScenes); OPCODE(25, opChangeScene); OPCODE(26, opStartModalScene); @@ -284,6 +284,15 @@ void ScriptOpcodes_BBDOU::opLeaveScene(ScriptThread *scriptThread, OpCall &opCal _vm->exitScene(opCall._callerThreadId); } +void ScriptOpcodes_BBDOU::opEnterPause(ScriptThread *scriptThread, OpCall &opCall) { + _vm->enterPause(opCall._callerThreadId); + _vm->_talkItems->pauseBySceneId(_vm->getCurrentScene()); +} + +void ScriptOpcodes_BBDOU::opLeavePause(ScriptThread *scriptThread, OpCall &opCall) { + _vm->leavePause(opCall._callerThreadId); +} + void ScriptOpcodes_BBDOU::opUnloadActiveScenes(ScriptThread *scriptThread, OpCall &opCall) { ARG_SKIP(2); ARG_UINT32(sceneId); diff --git a/engines/illusions/bbdou/scriptopcodes_bbdou.h b/engines/illusions/bbdou/scriptopcodes_bbdou.h index 7a73ebd576..a51b685faa 100644 --- a/engines/illusions/bbdou/scriptopcodes_bbdou.h +++ b/engines/illusions/bbdou/scriptopcodes_bbdou.h @@ -57,6 +57,8 @@ protected: void opLeaveMenuPause(ScriptThread *scriptThread, OpCall &opCall); void opEnterScene(ScriptThread *scriptThread, OpCall &opCall); void opLeaveScene(ScriptThread *scriptThread, OpCall &opCall); + void opEnterPause(ScriptThread *scriptThread, OpCall &opCall); + void opLeavePause(ScriptThread *scriptThread, OpCall &opCall); void opUnloadActiveScenes(ScriptThread *scriptThread, OpCall &opCall); void opChangeScene(ScriptThread *scriptThread, OpCall &opCall); void opStartModalScene(ScriptThread *scriptThread, OpCall &opCall); |