aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/mohawk/dialogs.cpp4
-rw-r--r--engines/mohawk/myst_state.cpp8
2 files changed, 12 insertions, 0 deletions
diff --git a/engines/mohawk/dialogs.cpp b/engines/mohawk/dialogs.cpp
index 6cb455917e..11e050aa72 100644
--- a/engines/mohawk/dialogs.cpp
+++ b/engines/mohawk/dialogs.cpp
@@ -113,6 +113,10 @@ void MystOptionsDialog::open() {
_showMapButton->setEnabled(_vm->_scriptParser &&
_vm->_scriptParser->getMap());
+ // Zip mode is disabled in the demo
+ if (_vm->getFeatures() & GF_DEMO)
+ _zipModeCheckbox->setEnabled(false);
+
_zipModeCheckbox->setState(_vm->_gameState->_globals.zipMode);
_transitionsCheckbox->setState(_vm->_gameState->_globals.transitions);
}
diff --git a/engines/mohawk/myst_state.cpp b/engines/mohawk/myst_state.cpp
index bab4b8dd51..3a8d233a26 100644
--- a/engines/mohawk/myst_state.cpp
+++ b/engines/mohawk/myst_state.cpp
@@ -320,6 +320,10 @@ void MystGameState::deleteSave(const Common::String &saveName) {
void MystGameState::addZipDest(uint16 stack, uint16 view) {
ZipDests *zipDests = 0;
+ // The demo has no zip dest storage
+ if (_vm->getFeatures() & GF_DEMO)
+ return;
+
// Select stack
switch (stack) {
case kChannelwoodStack:
@@ -362,6 +366,10 @@ bool MystGameState::isReachableZipDest(uint16 stack, uint16 view) {
if (!_globals.zipMode)
return false;
+ // The demo has no zip dest storage
+ if (_vm->getFeatures() & GF_DEMO)
+ return false;
+
// Select stack
ZipDests *zipDests;
switch (stack) {