diff options
-rw-r--r-- | README | 4 | ||||
-rw-r--r-- | engines/agos/agos.cpp | 2 | ||||
-rw-r--r-- | engines/agos/agos.h | 1 | ||||
-rw-r--r-- | engines/agos/script.cpp | 8 |
4 files changed, 15 insertions, 0 deletions
@@ -255,6 +255,10 @@ ScummVM will skip copy protection in the following games: * Inherit the Earth: Quest for the Orb (Floppy version) -- bypassed with kind permission from Wyrmkeep Entertainment, since it was bypassed in all CD releases of the game. + * Simon the Sorcerer 1 (Floppy version) + * Simon the Sorcerer 2 (Floppy version) + -- bypassed with kind permission from Adventure Soft, + since it was bypassed in all CD releases of the game. 3.2) Commodore64 games notes: diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp index 874bed1e11..851b089020 100644 --- a/engines/agos/agos.cpp +++ b/engines/agos/agos.cpp @@ -180,6 +180,7 @@ AGOSEngine::AGOSEngine(OSystem *syst) _drawImagesDebug = false; _dumpImages = false; + _copyProtection = false; _pause = false; _speech = false; _subtitles = false; @@ -558,6 +559,7 @@ int AGOSEngine::init() { _sound->effectsPause(_effectsPaused ^= 1); } + _copyProtection = ConfMan.getBool("copy_protection"); _language = Common::parseLanguage(ConfMan.get("language")); if (getGameType() == GType_PP) { diff --git a/engines/agos/agos.h b/engines/agos/agos.h index 8776aad14c..1bb2790fab 100644 --- a/engines/agos/agos.h +++ b/engines/agos/agos.h @@ -277,6 +277,7 @@ protected: uint16 _debugMode; uint16 _language; + bool _copyProtection; bool _pause; bool _startMainScript; bool _continousMainScript; diff --git a/engines/agos/script.cpp b/engines/agos/script.cpp index 6c9ccdf1c5..9684cd3450 100644 --- a/engines/agos/script.cpp +++ b/engines/agos/script.cpp @@ -875,6 +875,14 @@ void AGOSEngine::o_restoreIcons() { void AGOSEngine::o_freezeZones() { // 138: freeze zones freezeBottom(); + + if (!_copyProtection && !(getFeatures() & GF_TALKIE)) { + if ((getGameType() == GType_SIMON1 && _subroutine == 2924) || + (getGameType() == GType_SIMON2 && _subroutine == 1322)) { + _variableArray[135] = 3; + setScriptCondition(0); + } + } } void AGOSEngine::o_placeNoIcons() { |