aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2010-08-17 20:36:28 +0000
committerFilippos Karapetis2010-08-17 20:36:28 +0000
commit9df74402e5474652b7a041bc4f9d9ec4ac6a0db6 (patch)
tree76998497c34c54b50b96ba730712d62f453a5a64 /engines
parent397df8f35090fd0b4815cec8809739de559882c4 (diff)
downloadscummvm-rg350-9df74402e5474652b7a041bc4f9d9ec4ac6a0db6.tar.gz
scummvm-rg350-9df74402e5474652b7a041bc4f9d9ec4ac6a0db6.tar.bz2
scummvm-rg350-9df74402e5474652b7a041bc4f9d9ec4ac6a0db6.zip
SCI: Added a warning dialog on game startup for versions of Longbow with known buggy scripts (containing game stopping bugs), which have been patched by Sierra
svn-id: r52172
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/sci.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 7a9a786121..54a28a80c4 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -173,6 +173,8 @@ SciEngine::~SciEngine() {
g_sci = 0;
}
+extern void showScummVMDialog(const Common::String &message);
+
Common::Error SciEngine::run() {
g_eventRec.registerRandomSource(_rng, "sci");
@@ -288,6 +290,26 @@ Common::Error SciEngine::run() {
}
}
+ // Show any special warnings for buggy scripts with severe game bugs,
+ // which have been patched by Sierra
+ if (getGameId() == GID_LONGBOW) {
+ // Longbow 1.0 has a buggy script which prevents the game
+ // from progressing during the Green Man riddle sequence.
+ // A patch for this buggy script has been released by Sierra,
+ // and is necessary to complete the game without issues.
+ // The patched script is included in Longbow 1.1.
+ // Refer to bug #3036609.
+ Resource *buggyScript = _resMan->findResource(ResourceId(kResourceTypeScript, 180), 0);
+
+ if (buggyScript->size == 12354 || buggyScript->size == 12362) {
+ showScummVMDialog("A known buggy game script has been detected, which could "
+ "prevent you from progressing later on in the game, during "
+ "the sequence with the Green Man's riddles. Please, apply "
+ "the latest patch for this game by Sierra to avoid possible "
+ "problems");
+ }
+ }
+
runGame();
ConfMan.flushToDisk();