aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst_scripts.cpp
diff options
context:
space:
mode:
authorBastien Bouclet2011-05-15 14:53:05 +0200
committerBastien Bouclet2011-05-15 17:41:54 +0200
commite0e28aaeb24983b0e0700b5e561f0d9c991bfb4a (patch)
tree71cb2103ab5c09b868b9e6226be8e3a681657a81 /engines/mohawk/myst_scripts.cpp
parentd72037fb72b876b9cc0ca80d585a1a4939a68bd9 (diff)
downloadscummvm-rg350-e0e28aaeb24983b0e0700b5e561f0d9c991bfb4a.tar.gz
scummvm-rg350-e0e28aaeb24983b0e0700b5e561f0d9c991bfb4a.tar.bz2
scummvm-rg350-e0e28aaeb24983b0e0700b5e561f0d9c991bfb4a.zip
MOHAWK: Implement "Show Map" feature for Myst ME
Diffstat (limited to 'engines/mohawk/myst_scripts.cpp')
-rw-r--r--engines/mohawk/myst_scripts.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/engines/mohawk/myst_scripts.cpp b/engines/mohawk/myst_scripts.cpp
index a6351449b0..be5b7e1c76 100644
--- a/engines/mohawk/myst_scripts.cpp
+++ b/engines/mohawk/myst_scripts.cpp
@@ -145,6 +145,7 @@ void MystScriptParser::setupCommonOpcodes() {
OPCODE(44, o_restoreMainCursor);
// Opcode 45 Not Present
OPCODE(46, o_soundWaitStop);
+ OPCODE(51, o_exitMap);
// Opcodes 47 to 99 Not Present
OPCODE(0xFFFF, NOP);
@@ -922,4 +923,15 @@ void MystScriptParser::o_quit(uint16 op, uint16 var, uint16 argc, uint16 *argv)
_vm->quitGame();
}
+void MystScriptParser::showMap() {
+ if (_vm->getCurCard() != getMap()) {
+ _savedMapCardId = _vm->getCurCard();
+ _vm->changeToCard(getMap(), true);
+ }
+}
+
+void MystScriptParser::o_exitMap(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ _vm->changeToCard(_savedMapCardId, true);
+}
+
} // End of namespace Mohawk