[Scummvm-cvs-logs] SF.net SVN: scummvm:[52172] scummvm/trunk/engines/sci/sci.cpp

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Tue Aug 17 22:36:28 CEST 2010


Revision: 52172
          http://scummvm.svn.sourceforge.net/scummvm/?rev=52172&view=rev
Author:   thebluegr
Date:     2010-08-17 20:36:28 +0000 (Tue, 17 Aug 2010)

Log Message:
-----------
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

Modified Paths:
--------------
    scummvm/trunk/engines/sci/sci.cpp

Modified: scummvm/trunk/engines/sci/sci.cpp
===================================================================
--- scummvm/trunk/engines/sci/sci.cpp	2010-08-17 20:33:22 UTC (rev 52171)
+++ scummvm/trunk/engines/sci/sci.cpp	2010-08-17 20:36:28 UTC (rev 52172)
@@ -173,6 +173,8 @@
 	g_sci = 0;
 }
 
+extern void showScummVMDialog(const Common::String &message);
+
 Common::Error SciEngine::run() {
 	g_eventRec.registerRandomSource(_rng, "sci");
 
@@ -288,6 +290,26 @@
 		}
 	}
 
+	// 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();


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list