[Scummvm-git-logs] scummvm branch-2-1 -> 80c935eb58f4ae508b6fdfc3b41546457d1fed21

sluicebox 22204938+sluicebox at users.noreply.github.com
Fri Jan 3 22:32:49 UTC 2020


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
80c935eb58 SCI32: Fix GK2 Chapter 4 Georg letter topic


Commit: 80c935eb58f4ae508b6fdfc3b41546457d1fed21
    https://github.com/scummvm/scummvm/commit/80c935eb58f4ae508b6fdfc3b41546457d1fed21
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2020-01-03T14:29:23-08:00

Commit Message:
SCI32: Fix GK2 Chapter 4 Georg letter topic

Changed paths:
    engines/sci/engine/script_patches.cpp


diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp
index 9d18343..890d360 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -3561,6 +3561,35 @@ static const uint16 gk2XaverBlackWolfkPatch[] = {
 	PATCH_END
 };
 
+// Chapter 4 has a bug in many versions of GK2 that is effectively a deadend.
+//  Asking Georg about "Ludwig's letter to the Conductor" is required to finish
+//  the chapter. This topic becomes available after looking at the "Ludwig and
+//  Wagner" plaque in Herrenchiemsee and then clicking again to read it aloud.
+//  The problem is that the rest of the game only cares about looking at the 
+//  plaque. If Herrenchiemsee is completed without reading the plaque then the
+//  Hint feature claims everything is done and the player appears to be stuck.
+//
+// We fix this as Sierra did by making Georg's letter topic available upon just
+//  looking at the plaque, which is consistent with the rest of the scripts.
+//  Although Sierra advertised this fix in the readme for GK2PAT 1.11, the patch
+//  file seems to be missing, but appears in later versions and the GOG release.
+//
+// Applies to: English PC 1.0, 1.1, 1.11 Patch, Mac
+// Responsible method: Heap in script 8520
+static const uint16 gk2GeorgLetterTopicSignature[] = {
+	SIG_MAGICDWORD,             // tLtr2Conductor
+	SIG_UINT16(0x0211),         // sceneNum = 529
+	SIG_UINT16(0x012a),         // flagNum = 298
+	SIG_UINT16(0x0283),         // readyFlagNum = 643
+	SIG_END
+};
+
+static const uint16 gk2GeorgLetterTopicPatch[] = {
+	PATCH_ADDTOOFFSET(+4),
+	PATCH_UINT16(0x026f),       // readyFlagNum = 623
+	PATCH_END
+};
+
 // In early versions of GK2, clicking on the holy water basket after using the
 //  holy water locks up the game. The script is supposed to test the flag that's
 //  set when getting the water but some code mistakenly tests inventory instead.
@@ -3664,6 +3693,7 @@ static const SciScriptPatcherEntry gk2Signatures[] = {
 	{  true,  1020, "fix holy water lockup",                               2, gk2HolyWaterLockupSignature,       gk2HolyWaterLockupPatch },
 	{  true,  3210, "fix police station deadend",                          1, gk2PoliceStationDeadendSignature,  gk2PoliceStationDeadendPatch },
 	{  true,  4320, "fix xaver black wolf topic",                          1, gk2XaverBlackWolfSignature,        gk2XaverBlackWolfkPatch },
+	{  true,  8520, "fix georg letter topic",                              1, gk2GeorgLetterTopicSignature,      gk2GeorgLetterTopicPatch },
 	{  true,  8616, "fix wagner painting message",                         2, gk2WagnerPaintingMessageSignature, gk2WagnerPaintingMessagePatch },
 	{  true,  8617, "fix wagner painting message",                         2, gk2WagnerPaintingMessageSignature, gk2WagnerPaintingMessagePatch },
 	{  true, 64990, "increase number of save games (1/2)",                 1, sci2NumSavesSignature1,            sci2NumSavesPatch1 },




More information about the Scummvm-git-logs mailing list