aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/illusions/bbdou/scriptopcodes_bbdou.cpp6
-rw-r--r--engines/illusions/bbdou/scriptopcodes_bbdou.h1
2 files changed, 6 insertions, 1 deletions
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);