diff options
author | Eric Fry | 2018-06-16 14:41:37 +1000 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | 0303b83ead46346cd74a9649384d8a2dde0e145b (patch) | |
tree | 4bdcf38fb86a4f60036b5cbdf49216b1ae2a5769 /engines/illusions/duckman | |
parent | ced1ff2356391f24c70f9bb4c514733aeadfc38b (diff) | |
download | scummvm-rg350-0303b83ead46346cd74a9649384d8a2dde0e145b.tar.gz scummvm-rg350-0303b83ead46346cd74a9649384d8a2dde0e145b.tar.bz2 scummvm-rg350-0303b83ead46346cd74a9649384d8a2dde0e145b.zip |
ILLUSIONS: Pause actors when entering menu
Diffstat (limited to 'engines/illusions/duckman')
-rw-r--r-- | engines/illusions/duckman/illusions_duckman.cpp | 4 | ||||
-rw-r--r-- | engines/illusions/duckman/menusystem_duckman.cpp | 5 | ||||
-rw-r--r-- | engines/illusions/duckman/scriptopcodes_duckman.cpp | 4 |
3 files changed, 10 insertions, 3 deletions
diff --git a/engines/illusions/duckman/illusions_duckman.cpp b/engines/illusions/duckman/illusions_duckman.cpp index c427293b59..a93ec274b5 100644 --- a/engines/illusions/duckman/illusions_duckman.cpp +++ b/engines/illusions/duckman/illusions_duckman.cpp @@ -942,13 +942,13 @@ void IllusionsEngine_Duckman::pause(uint32 callerThreadId) { _threads->pauseThreads(callerThreadId); _camera->pause(); pauseFader(); - // TODO largeObj_pauseControlActor(Illusions::CURSOR_OBJECT_ID); + _controls->pauseActors(Illusions::CURSOR_OBJECT_ID); } } void IllusionsEngine_Duckman::unpause(uint32 callerThreadId) { if (--_pauseCtr == 0) { - // TODO largeObj_unpauseControlActor(Illusions::CURSOR_OBJECT_ID); + _controls->unpauseActors(Illusions::CURSOR_OBJECT_ID); unpauseFader(); _camera->unpause(); _threads->unpauseThreads(callerThreadId); diff --git a/engines/illusions/duckman/menusystem_duckman.cpp b/engines/illusions/duckman/menusystem_duckman.cpp index 554be9aac5..7cadd7ebf5 100644 --- a/engines/illusions/duckman/menusystem_duckman.cpp +++ b/engines/illusions/duckman/menusystem_duckman.cpp @@ -107,7 +107,7 @@ BaseMenu *DuckmanMenuSystem::createLoadGameMenu() { } BaseMenu *DuckmanMenuSystem::createOptionsMenu() { - BaseMenu *menu = new BaseMenu(this, 0x00120003, 12, 17, 11, 27, 1); + BaseMenu *menu = new BaseMenu(this, 0x00120003, 12, 17, 11, 27, 6); menu->addText(" GAME OPTIONS @@@@"); menu->addText("--------------------------------------"); MenuActionUpdateSlider *action = new MenuActionUpdateSlider(this, menu); @@ -130,6 +130,9 @@ BaseMenu *DuckmanMenuSystem::createOptionsMenu() { action->setMenuItem(menuItem); menu->addMenuItem(menuItem); + menu->addMenuItem(new MenuItem("Restore Defaults", new MenuActionLeaveMenu(this))); + + menu->addMenuItem(new MenuItem("Back", new MenuActionLeaveMenu(this))); return menu; } diff --git a/engines/illusions/duckman/scriptopcodes_duckman.cpp b/engines/illusions/duckman/scriptopcodes_duckman.cpp index 9ac0b9a0ad..66b45ad151 100644 --- a/engines/illusions/duckman/scriptopcodes_duckman.cpp +++ b/engines/illusions/duckman/scriptopcodes_duckman.cpp @@ -350,11 +350,15 @@ void ScriptOpcodes_Duckman::opEnterDebugger(ScriptThread *scriptThread, OpCall & // Used for debugging purposes in the original engine // This is not supported and only reachable by code not implemented here! //error("ScriptOpcodes_Duckman::opEnterDebugger() Debugger function called"); + _vm->_controls->disappearActors(); + // TODO more logic needed here } void ScriptOpcodes_Duckman::opLeaveDebugger(ScriptThread *scriptThread, OpCall &opCall) { // See opEnterDebugger //error("ScriptOpcodes_Duckman::opLeaveDebugger() Debugger function called"); + _vm->_controls->appearActors(); + // TODO more logic needed here } void ScriptOpcodes_Duckman::opDumpCurrentSceneFiles(ScriptThread *scriptThread, OpCall &opCall) { |