diff options
-rw-r--r-- | scumm/script.cpp | 5 | ||||
-rw-r--r-- | scumm/script_v2.cpp | 9 | ||||
-rw-r--r-- | scumm/scummvm.cpp | 1 |
3 files changed, 14 insertions, 1 deletions
diff --git a/scumm/script.cpp b/scumm/script.cpp index 955da3f7e6..c2d9c321d0 100644 --- a/scumm/script.cpp +++ b/scumm/script.cpp @@ -657,6 +657,11 @@ void Scumm::stopObjectCode() { } void Scumm::runInventoryScript(int i) { + // FIXME demo mode in V1 Maniac Mansion shows quotes in this area + // during the introduction + if (_gameId == GID_MANIAC && _version == 1 && _demo_mode) + return; + if (_version <= 2) { redrawV2Inventory(); } else { diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp index 8bbe9f60ae..973b7f7281 100644 --- a/scumm/script_v2.cpp +++ b/scumm/script_v2.cpp @@ -840,7 +840,10 @@ void Scumm_v2::o2_verbOps() { vs = &_verbs[slot]; vs->verbid = verb; if (_version == 1) { - vs->color = 5; + if (_demo_mode) + vs->color = 4; + else + vs->color = 5; vs->hicolor = 7; vs->dimcolor = 11; } else { @@ -1311,8 +1314,12 @@ void Scumm_v2::o2_cutscene() { VAR(VAR_CURSORSTATE) = 200; + // FIXME demo mode in V1 Maniac Mansion shows quotes in this area + // during the introduction + if (!(_gameId == GID_MANIAC && _version == 1 && _demo_mode)) { // Hide inventory, freeze scripts, hide cursor setUserState(15); + } _sentenceNum = 0; stopScript(SENTENCE_SCRIPT); diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index f99ac2f159..88d4d84992 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -63,6 +63,7 @@ ScummDebugger *g_debugger; extern NewGui *g_gui; extern uint16 _debugLevel; +extern uint16 _demo_mode; static const VersionSettings scumm_settings[] = { /* Scumm Version 1 */ |