aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2009-07-16 02:27:26 +0000
committerPaul Gilbert2009-07-16 02:27:26 +0000
commitaeb2aa6630b49a89992e4f317610b3275ee80ed6 (patch)
tree07e77f0d3da859ba1b48a5ce6d813443c66c0ad5
parentc9ebf96d65fb983141c7c544d8cafc346dd2310c (diff)
downloadscummvm-rg350-aeb2aa6630b49a89992e4f317610b3275ee80ed6.tar.gz
scummvm-rg350-aeb2aa6630b49a89992e4f317610b3275ee80ed6.tar.bz2
scummvm-rg350-aeb2aa6630b49a89992e4f317610b3275ee80ed6.zip
Game script fix for bug #2525010 - in the GRA version, the luggage blocked Rincewind's exit from the Inn, leaving him in a non-walkable area
svn-id: r42521
-rw-r--r--engines/tinsel/pcode.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/tinsel/pcode.cpp b/engines/tinsel/pcode.cpp
index ac7bf9970f..581c999848 100644
--- a/engines/tinsel/pcode.cpp
+++ b/engines/tinsel/pcode.cpp
@@ -116,12 +116,21 @@ static uint32 hMasterScript;
const byte fragment1[] = {(byte)OP_ZERO, (byte) OP_GSTORE | OPSIZE16, 206, 0};
const int fragment1_size = 4;
+const byte fragment2[] = {OP_LIBCALL | OPSIZE8, 110};
+const int fragment2_size = 2;
+
const WorkaroundEntry workaroundList[] = {
// Global 206 in DW1-SCN is whether Rincewind is trying to take the book back to the present.
// In the GRA version, it was global 373, and was reset when he is returned to the past, but
// was forgotten in the SCN version, so this ensures the flag is properly reset
{TINSEL_V1, true, 427942095, 1, fragment1_size, fragment1},
+
+ // In DW1-GRA, Rincewind exiting the Inn is blocked by the luggage. Whilst you can then move
+ // into walkable areas, saving and restoring the game, it will error if you try to move.
+ // This fragment turns off NPC blocking for the Outside Inn room so that the luggage won't block
+ {TINSEL_V1, false, 444622076, 0, fragment2_size, fragment2},
+
{TINSEL_V0, false, 0, 0, 0, NULL}
};