aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/dialogs.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/dialogs.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/dialogs.cpp')
-rw-r--r--engines/mohawk/dialogs.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/engines/mohawk/dialogs.cpp b/engines/mohawk/dialogs.cpp
index 22a9d2d6c6..6cb455917e 100644
--- a/engines/mohawk/dialogs.cpp
+++ b/engines/mohawk/dialogs.cpp
@@ -80,7 +80,8 @@ enum {
kZipCmd = 'ZIPM',
kTransCmd = 'TRAN',
kWaterCmd = 'WATR',
- kDropCmd = 'DROP'
+ kDropCmd = 'DROP',
+ kMapCmd = 'SMAP'
};
#ifdef ENABLE_MYST
@@ -90,6 +91,12 @@ MystOptionsDialog::MystOptionsDialog(MohawkEngine_Myst* vm) : GUI::OptionsDialog
_transitionsCheckbox = new GUI::CheckboxWidget(this, 15, 30, 300, 15, _("~T~ransitions Enabled"), 0, kTransCmd);
_dropPageButton = new GUI::ButtonWidget(this, 15, 60, 100, 25, _("~D~rop Page"), 0, kDropCmd);
+ // Myst ME only has maps
+ if (_vm->getFeatures() & GF_ME)
+ _showMapButton = new GUI::ButtonWidget(this, 15, 95, 100, 25, _("~S~how Map"), 0, kMapCmd);
+ else
+ _showMapButton = 0;
+
new GUI::ButtonWidget(this, 95, 160, 120, 25, _("~O~K"), 0, GUI::kOKCmd);
new GUI::ButtonWidget(this, 225, 160, 120, 25, _("~C~ancel"), 0, GUI::kCloseCmd);
}
@@ -102,6 +109,10 @@ void MystOptionsDialog::open() {
_dropPageButton->setEnabled(_vm->_gameState->_globals.heldPage != 0);
+ if (_showMapButton)
+ _showMapButton->setEnabled(_vm->_scriptParser &&
+ _vm->_scriptParser->getMap());
+
_zipModeCheckbox->setState(_vm->_gameState->_globals.zipMode);
_transitionsCheckbox->setState(_vm->_gameState->_globals.transitions);
}
@@ -118,6 +129,10 @@ void MystOptionsDialog::handleCommand(GUI::CommandSender *sender, uint32 cmd, ui
_vm->_needsPageDrop = true;
close();
break;
+ case kMapCmd:
+ _vm->_needsShowMap = true;
+ close();
+ break;
case GUI::kCloseCmd:
close();
break;