From 71edfa3f0af96847a15c58ee5d6d9df25867c7df Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sat, 19 May 2018 00:10:06 +1000 Subject: ILLUSIONS: BBDOU: Add quit opcode (cherry picked from commit 32c2a9b) --- engines/illusions/bbdou/scriptopcodes_bbdou.cpp | 6 +++++- engines/illusions/bbdou/scriptopcodes_bbdou.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/engines/illusions/bbdou/scriptopcodes_bbdou.cpp b/engines/illusions/bbdou/scriptopcodes_bbdou.cpp index 1c8d4009dd..e70be8fdb9 100644 --- a/engines/illusions/bbdou/scriptopcodes_bbdou.cpp +++ b/engines/illusions/bbdou/scriptopcodes_bbdou.cpp @@ -138,7 +138,7 @@ void ScriptOpcodes_BBDOU::initOpcodes() { OPCODE(80, opAddMenuChoice); OPCODE(81, opDisplayMenu); OPCODE(82, opSwitchMenuChoice); - // TODO OPCODE(83, opQuitGame); + OPCODE(83, opQuitGame); OPCODE(84, opResetGame); // TODO OPCODE(85, opSaveGame); // TODO OPCODE(86, opRestoreGame); @@ -728,6 +728,10 @@ void ScriptOpcodes_BBDOU::opSwitchMenuChoice(ScriptThread *scriptThread, OpCall opCall._deltaOfs += _vm->_menuChoiceOfs; } +void ScriptOpcodes_BBDOU::opQuitGame(ScriptThread *scriptThread, OpCall &opCall) { + _vm->quitGame(); +} + void ScriptOpcodes_BBDOU::opResetGame(ScriptThread *scriptThread, OpCall &opCall) { _vm->_threads->terminateThreads(opCall._callerThreadId); _vm->reset(); diff --git a/engines/illusions/bbdou/scriptopcodes_bbdou.h b/engines/illusions/bbdou/scriptopcodes_bbdou.h index 31713828ee..a1118836e2 100644 --- a/engines/illusions/bbdou/scriptopcodes_bbdou.h +++ b/engines/illusions/bbdou/scriptopcodes_bbdou.h @@ -108,6 +108,7 @@ protected: void opAddMenuChoice(ScriptThread *scriptThread, OpCall &opCall); void opDisplayMenu(ScriptThread *scriptThread, OpCall &opCall); void opSwitchMenuChoice(ScriptThread *scriptThread, OpCall &opCall); + void opQuitGame(ScriptThread *scriptThread, OpCall &opCall); void opResetGame(ScriptThread *scriptThread, OpCall &opCall); void opDeactivateButton(ScriptThread *scriptThread, OpCall &opCall); void opActivateButton(ScriptThread *scriptThread, OpCall &opCall); -- cgit v1.2.3