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

Hkz at users.sourceforge.net Hkz at users.sourceforge.net
Sun May 31 16:41:55 CEST 2009


Revision: 41068
          http://scummvm.svn.sourceforge.net/scummvm/?rev=41068&view=rev
Author:   Hkz
Date:     2009-05-31 14:41:54 +0000 (Sun, 31 May 2009)

Log Message:
-----------
tinsel: workaround for "missing red dragon in Act IV" bug in Discworld PSX

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

Modified: scummvm/trunk/engines/tinsel/tinsel.cpp
===================================================================
--- scummvm/trunk/engines/tinsel/tinsel.cpp	2009-05-31 14:01:47 UTC (rev 41067)
+++ scummvm/trunk/engines/tinsel/tinsel.cpp	2009-05-31 14:41:54 UTC (rev 41068)
@@ -521,6 +521,19 @@
 
 		HookScene.scene = 0;
 	}
+
+	// Workaround for "Missing Red Dragon in square" bug in Discworld 1 PSX, act IV.
+	// This happens with the original interpreter on PSX too: the red dragon in Act IV 
+	// doesn't show up inside the square at the right time. Original game required the
+	// player to go in and out the square until the dragon appears (wasting hours).
+	// I'm forcing the load of the right scene by checking that the player has (or has not) the
+	// right items: player must have Mambo the swamp dragon, and mustn't have fireworks (used on
+	// the swamp dragon previously to "load it up").
+	if (TinselV1PSX && NextScene.scene == 0x1800000 && NextScene.entry == 2) {
+		if ((IsInInventory(261, INV_1) || IsInInventory(261, INV_2)) && 
+			(!IsInInventory(232, INV_1) && !IsInInventory(232, INV_2)))
+			NextScene.entry = 1;
+	}
 }
 
 /**
@@ -672,7 +685,7 @@
 		} else if (--CountOut == 0) {
 			if (!TinselV2)
 				ClearScreen();
-
+		
 			StartNewScene(NextScene.scene, NextScene.entry);
 			NextScene.scene = 0;
 


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