From 9df74402e5474652b7a041bc4f9d9ec4ac6a0db6 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 17 Aug 2010 20:36:28 +0000 Subject: 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 --- engines/sci/sci.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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(); -- cgit v1.2.3