diff options
author | Travis Howell | 2007-02-21 11:46:35 +0000 |
---|---|---|
committer | Travis Howell | 2007-02-21 11:46:35 +0000 |
commit | 29ada821344e905fb685e79efa08a6d88b85eb14 (patch) | |
tree | 8e51dcb9b29db9a2af6686d2a6be03c4caaa2f62 /engines | |
parent | b5b45131c2c4fdacc7da77ffa63eadc3a9f72dc7 (diff) | |
download | scummvm-rg350-29ada821344e905fb685e79efa08a6d88b85eb14.tar.gz scummvm-rg350-29ada821344e905fb685e79efa08a6d88b85eb14.tar.bz2 scummvm-rg350-29ada821344e905fb685e79efa08a6d88b85eb14.zip |
Bypass the copy protection screens in floppy disk releases of Simon the Sorcerer 1 and 2, with permission from Adventure Soft.
svn-id: r25760
Diffstat (limited to 'engines')
-rw-r--r-- | engines/agos/agos.cpp | 2 | ||||
-rw-r--r-- | engines/agos/agos.h | 1 | ||||
-rw-r--r-- | engines/agos/script.cpp | 8 |
3 files changed, 11 insertions, 0 deletions
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() { |