[Scummvm-cvs-logs] scummvm master -> cc3475598621b0dc294b85ff18edb803c386abee

bluegr bluegr at gmail.com
Wed Oct 30 08:43:39 CET 2013


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:
cc34755986 SCI: Fix script bug #3615119 - "SCI: Crazy Nick Laura Bow - Uninitialized read error 2"


Commit: cc3475598621b0dc294b85ff18edb803c386abee
    https://github.com/scummvm/scummvm/commit/cc3475598621b0dc294b85ff18edb803c386abee
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2013-10-30T00:42:56-07:00

Commit Message:
SCI: Fix script bug #3615119 - "SCI: Crazy Nick Laura Bow - Uninitialized read error 2"

Changed paths:
    engines/sci/engine/seg_manager.cpp
    engines/sci/engine/workarounds.cpp



diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp
index 97e33f2..a059bee 100644
--- a/engines/sci/engine/seg_manager.cpp
+++ b/engines/sci/engine/seg_manager.cpp
@@ -262,8 +262,14 @@ const char *SegManager::getObjectName(reg_t pos) {
 	const char *name = 0;
 	if (nameReg.getSegment())
 		name  = derefString(nameReg);
-	if (!name)
-		return "<invalid name>";
+	if (!name) {
+		// Crazy Nick Laura Bow is missing some object names needed for the static
+		// selector vocabulary
+		if (g_sci->getGameId() == GID_CNICK_LAURABOW && pos == make_reg(1, 0x2267))
+			return "Character";
+		else
+			return "<invalid name>";
+	}
 
 	return name;
 }
diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index 764a080..16437d0 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -55,6 +55,7 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = {
 	{ GID_CASTLEBRAIN,   280,   280,  0,         "programmer", "dispatchEvent",  -1,    0, { WORKAROUND_FAKE, 0xf } }, // pressing 'q' on the computer screen in the robot room, and closing the help dialog that pops up (bug #3039656). Moves the cursor to the view with the ID returned (in this case, the robot hand)
 	{ GID_CNICK_KQ,       -1,     0,  1,          "Character", "say",            -1,   -1, { WORKAROUND_FAKE,   0 } }, // checkers/backgammon, like in hoyle 3 - temps 504 and 505 - bug #3606025
 	{ GID_CNICK_KQ,       -1,   700,  0,           "gcWindow", "open",           -1,   -1, { WORKAROUND_FAKE,   0 } }, // when entering the control menu, like in hoyle 3
+	{ GID_CNICK_LAURABOW, -1,     0,  1,          "Character", "say",            -1,   -1, { WORKAROUND_FAKE,   0 } }, // Yatch, like in hoyle 3 - temps 504 and 505 - bug #3615119
 	{ GID_CNICK_LAURABOW, -1,   700,  0,                 NULL, "open",           -1,   -1, { WORKAROUND_FAKE,   0 } }, // when entering control menu - bug #3615118 (same as the gcWindow workaround for Hoyle 3)
 	{ GID_CNICK_LAURABOW,100,   110,  0,                 NULL, "doit",           -1,   -1, { WORKAROUND_FAKE,   0 } }, // when changing the "Dominoes per hand" setting - bug #3615130
 	{ GID_CNICK_LONGBOW,   0,     0,  0,          "RH Budget", "init",           -1,    1, { WORKAROUND_FAKE,   0 } }, // when starting the game






More information about the Scummvm-git-logs mailing list