From da79ac1d4212f0fb56e2cd5f310ab1e9bd879ff6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 18 Apr 2018 21:05:43 -0400 Subject: TINSEL: Fix hang in DW1 GRA when using items on Temple big hammer --- NEWS | 1 + engines/tinsel/pcode.cpp | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/NEWS b/NEWS index 4dc5f8b119..222d57c4bb 100644 --- a/NEWS +++ b/NEWS @@ -27,6 +27,7 @@ For a more comprehensive changelog of the latest experimental code, see: Tinsel: - Fix loading Discworld 1 savegames from the launcher where Rincewind had a held item + - Script patch for hang in Discworld 1 GRA using items on Temple big hammer Tucker: - Fixed multiple graphic issues in Bud Tucker in Double Trouble. diff --git a/engines/tinsel/pcode.cpp b/engines/tinsel/pcode.cpp index dc19f39405..8899eea65b 100644 --- a/engines/tinsel/pcode.cpp +++ b/engines/tinsel/pcode.cpp @@ -156,6 +156,7 @@ static const byte fragment14[] = {OP_LIBCALL | OPSIZE8, 58, OP_IMM, FRAGMENT_DWORD((42 << 23)), OP_ONE, OP_ZERO, OP_LIBCALL | OPSIZE8, 44, OP_LIBCALL | OPSIZE8, 97, OP_JUMP | OPSIZE16, FRAGMENT_WORD(2220) }; +static const byte fragment15[] = { OP_JMPFALSE | OPSIZE16, FRAGMENT_WORD(154) }; #undef FRAGMENT_WORD @@ -226,6 +227,9 @@ const WorkaroundEntry workaroundList[] = { // quitting the game when no user input happens for a while {TINSEL_V1, true, true, Common::kPlatformPSX, 0, 2186, sizeof(fragment14), fragment14}, + // DW1-GRA: Fixes hang in Temple, when trying to use items on the big hammer + {TINSEL_V1, false, false, Common::kPlatformUnknown, 276915849, 0x98, sizeof(fragment15), fragment15}, + {TINSEL_V0, false, false, Common::kPlatformUnknown, 0, 0, 0, NULL} }; -- cgit v1.2.3