diff options
author | Fabio Battaglia | 2009-05-31 14:41:54 +0000 |
---|---|---|
committer | Fabio Battaglia | 2009-05-31 14:41:54 +0000 |
commit | be224386484793c519840cff0b752e9fd2a430b1 (patch) | |
tree | 4960393156b45f737be4525e5c6b8dc492e35b57 | |
parent | 11a5875aa8da7868fe3d83b6be0c023550fd3628 (diff) | |
download | scummvm-rg350-be224386484793c519840cff0b752e9fd2a430b1.tar.gz scummvm-rg350-be224386484793c519840cff0b752e9fd2a430b1.tar.bz2 scummvm-rg350-be224386484793c519840cff0b752e9fd2a430b1.zip |
tinsel: workaround for "missing red dragon in Act IV" bug in Discworld PSX
svn-id: r41068
-rw-r--r-- | engines/tinsel/tinsel.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/engines/tinsel/tinsel.cpp b/engines/tinsel/tinsel.cpp index cdd6f1ffb7..47602b5862 100644 --- a/engines/tinsel/tinsel.cpp +++ b/engines/tinsel/tinsel.cpp @@ -521,6 +521,19 @@ void SetNewScene(SCNHANDLE scene, int entrance, int transition) { 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 @@ bool ChangeScene(bool bReset) { } else if (--CountOut == 0) { if (!TinselV2) ClearScreen(); - + StartNewScene(NextScene.scene, NextScene.entry); NextScene.scene = 0; |