diff options
author | johndoe123 | 2015-12-15 16:41:55 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | 2f80bd0e2b4ab747792d5cdd3c548ba1963a6e00 (patch) | |
tree | f30a05644570f132512cc8d42bd0ea3759ff3dfc /engines/illusions | |
parent | 6b80f5b85349fc2bd645da52c4e68a337894f38a (diff) | |
download | scummvm-rg350-2f80bd0e2b4ab747792d5cdd3c548ba1963a6e00.tar.gz scummvm-rg350-2f80bd0e2b4ab747792d5cdd3c548ba1963a6e00.tar.bz2 scummvm-rg350-2f80bd0e2b4ab747792d5cdd3c548ba1963a6e00.zip |
ILLUSIONS: BBDOU: Implement opcodes 18, 19
Diffstat (limited to 'engines/illusions')
-rw-r--r-- | engines/illusions/bbdou/illusions_bbdou.cpp | 10 | ||||
-rw-r--r-- | engines/illusions/bbdou/illusions_bbdou.h | 3 | ||||
-rw-r--r-- | engines/illusions/bbdou/scriptopcodes_bbdou.cpp | 12 | ||||
-rw-r--r-- | engines/illusions/bbdou/scriptopcodes_bbdou.h | 2 |
4 files changed, 25 insertions, 2 deletions
diff --git a/engines/illusions/bbdou/illusions_bbdou.cpp b/engines/illusions/bbdou/illusions_bbdou.cpp index 8466780ab0..bacd53ed62 100644 --- a/engines/illusions/bbdou/illusions_bbdou.cpp +++ b/engines/illusions/bbdou/illusions_bbdou.cpp @@ -567,6 +567,16 @@ void IllusionsEngine_BBDOU::dumpActiveScenes(uint32 sceneId, uint32 threadId) { _camera->clearCameraModeStack(); } +void IllusionsEngine_BBDOU::enterMenuPause() { + // TODO suspendAudio(); + _screenText->clearText(); +} + +void IllusionsEngine_BBDOU::leaveMenuPause() { + _screenText->removeText(); + // TODO unsuspendAudio(); +} + void IllusionsEngine_BBDOU::setSceneIdThreadId(uint32 theSceneId, uint32 theThreadId) { _theSceneId = theSceneId; _theThreadId = theThreadId; diff --git a/engines/illusions/bbdou/illusions_bbdou.h b/engines/illusions/bbdou/illusions_bbdou.h index 65d9e2630d..00ce617596 100644 --- a/engines/illusions/bbdou/illusions_bbdou.h +++ b/engines/illusions/bbdou/illusions_bbdou.h @@ -129,6 +129,9 @@ public: void leavePause(uint32 threadId); void dumpActiveScenes(uint32 sceneId, uint32 threadId); + void enterMenuPause(); + void leaveMenuPause(); + void setSceneIdThreadId(uint32 theSceneId, uint32 theThreadId); bool findTriggerCause(uint32 sceneId, uint32 verbId, uint32 objectId2, uint32 objectId, uint32 &codeOffs); void reset(); diff --git a/engines/illusions/bbdou/scriptopcodes_bbdou.cpp b/engines/illusions/bbdou/scriptopcodes_bbdou.cpp index e023fb3eee..93b6f8f192 100644 --- a/engines/illusions/bbdou/scriptopcodes_bbdou.cpp +++ b/engines/illusions/bbdou/scriptopcodes_bbdou.cpp @@ -72,8 +72,8 @@ void ScriptOpcodes_BBDOU::initOpcodes() { OPCODE(15, opEndTalkThreads); OPCODE(16, opLoadResource); OPCODE(17, opUnloadResource); - // TODO OPCODE(18, opPauseText); - // TODO OPCODE(19, opResumeText); + OPCODE(18, opEnterMenuPause); + OPCODE(19, opLeaveMenuPause); OPCODE(20, opEnterScene); OPCODE(21, opLeaveScene); // TODO OPCODE(22, opEnterPause); @@ -259,6 +259,14 @@ void ScriptOpcodes_BBDOU::opUnloadResource(ScriptThread *scriptThread, OpCall &o _vm->_resSys->unloadResourceById(resourceId); } +void ScriptOpcodes_BBDOU::opEnterMenuPause(ScriptThread *scriptThread, OpCall &opCall) { + _vm->enterMenuPause(); +} + +void ScriptOpcodes_BBDOU::opLeaveMenuPause(ScriptThread *scriptThread, OpCall &opCall) { + _vm->leaveMenuPause(); +} + void ScriptOpcodes_BBDOU::opEnterScene(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 20b6aff72e..7a73ebd576 100644 --- a/engines/illusions/bbdou/scriptopcodes_bbdou.h +++ b/engines/illusions/bbdou/scriptopcodes_bbdou.h @@ -53,6 +53,8 @@ protected: void opEndTalkThreads(ScriptThread *scriptThread, OpCall &opCall); void opLoadResource(ScriptThread *scriptThread, OpCall &opCall); void opUnloadResource(ScriptThread *scriptThread, OpCall &opCall); + void opEnterMenuPause(ScriptThread *scriptThread, OpCall &opCall); + void opLeaveMenuPause(ScriptThread *scriptThread, OpCall &opCall); void opEnterScene(ScriptThread *scriptThread, OpCall &opCall); void opLeaveScene(ScriptThread *scriptThread, OpCall &opCall); void opUnloadActiveScenes(ScriptThread *scriptThread, OpCall &opCall); |