From 29ada821344e905fb685e79efa08a6d88b85eb14 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Wed, 21 Feb 2007 11:46:35 +0000 Subject: Bypass the copy protection screens in floppy disk releases of Simon the Sorcerer 1 and 2, with permission from Adventure Soft. svn-id: r25760 --- engines/agos/agos.cpp | 2 ++ engines/agos/agos.h | 1 + engines/agos/script.cpp | 8 ++++++++ 3 files changed, 11 insertions(+) (limited to 'engines/agos') 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() { -- cgit v1.2.3