aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions
diff options
context:
space:
mode:
authorjohndoe1232015-12-15 16:51:33 +0100
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit3abe3d759c6e16ef1e0e3cea7a8eb5f766a56851 (patch)
treed4f9390757d554679e8231c1c3bd6f93dd29278a /engines/illusions
parent2f80bd0e2b4ab747792d5cdd3c548ba1963a6e00 (diff)
downloadscummvm-rg350-3abe3d759c6e16ef1e0e3cea7a8eb5f766a56851.tar.gz
scummvm-rg350-3abe3d759c6e16ef1e0e3cea7a8eb5f766a56851.tar.bz2
scummvm-rg350-3abe3d759c6e16ef1e0e3cea7a8eb5f766a56851.zip
ILLUSIONS: BBDOU: Implement opcodes 22, 23
Diffstat (limited to 'engines/illusions')
-rw-r--r--engines/illusions/bbdou/scriptopcodes_bbdou.cpp13
-rw-r--r--engines/illusions/bbdou/scriptopcodes_bbdou.h2
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);