[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