[Scummvm-git-logs] scummvm master -> dcc4a1bc67e5f4e7376ede3b40e717c1394f540e

csnover csnover at users.noreply.github.com
Tue Jun 20 02:57:43 CEST 2017


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

Summary:
5d04679124 SCI32: Add workaround for invalid kPalVarySetStart call in PQ4
71e2f9d6fb SCI32: Add workaround for uninitialised read in PQ4
dcc4a1bc67 SCI32: Add workaround for invalid kFrameOut call in PQ4


Commit: 5d046791248ff643c834eb403837a31fc2a40143
    https://github.com/scummvm/scummvm/commit/5d046791248ff643c834eb403837a31fc2a40143
Author: Colin Snover (github.com at zetafleet.com)
Date: 2017-06-19T19:56:48-05:00

Commit Message:
SCI32: Add workaround for invalid kPalVarySetStart call in PQ4

Fixes Trac#9845.

Changed paths:
    engines/sci/engine/kernel_tables.h
    engines/sci/engine/workarounds.cpp
    engines/sci/engine/workarounds.h


diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h
index e077668..cb1f2ed 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -281,7 +281,7 @@ static const SciKernelMapSubEntry kPalVary_subops[] = {
 	{ SIG_SCI32,           5, MAP_CALL(PalVarySetTime),            "i",                    NULL },
 	{ SIG_SCI32,           6, MAP_CALL(PalVaryPauseResume),        "i",                    NULL },
 	{ SIG_SCI32,           7, MAP_CALL(PalVarySetTarget),          "i",                    NULL },
-	{ SIG_SCI32,           8, MAP_CALL(PalVarySetStart),           "i",                    NULL },
+	{ SIG_SCI32,           8, MAP_CALL(PalVarySetStart),           "i",                    kPalVarySetStart_workarounds },
 	{ SIG_SCI32,           9, MAP_CALL(PalVaryMergeStart),         "i",                    kPalVaryMergeStart_workarounds },
 #endif
 	SCI_SUBOPENTRY_TERMINATOR
diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index 1b3cd35..a3c0005 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -772,6 +772,12 @@ const SciWorkaroundEntry kPalVarySetPercent_workarounds[] = {
 };
 
 //    gameID,           room,script,lvl,          object-name, method-name, local-call-signature, index,                workaround
+const SciWorkaroundEntry kPalVarySetStart_workarounds[] = {
+	{ GID_PQ4,           170,   170,  0,             "getHit", "changeState",               NULL,     0, { WORKAROUND_STILLCALL, 0 } }, // Three extra parameters passed during the gunfight at the end of day 1
+	SCI_WORKAROUNDENTRY_TERMINATOR
+};
+
+//    gameID,           room,script,lvl,          object-name, method-name, local-call-signature, index,                workaround
 const SciWorkaroundEntry kPalVaryMergeStart_workarounds[] = {
 	{ GID_PQ4,           170,   170,  0,             "getHit", "changeState",               NULL,     0, { WORKAROUND_STILLCALL, 0 } }, // Three extra parameters passed during the gunfight at the end of day 1
 	SCI_WORKAROUNDENTRY_TERMINATOR
diff --git a/engines/sci/engine/workarounds.h b/engines/sci/engine/workarounds.h
index 5b716fd..a965a14 100644
--- a/engines/sci/engine/workarounds.h
+++ b/engines/sci/engine/workarounds.h
@@ -90,6 +90,7 @@ extern const SciWorkaroundEntry kMoveCursor_workarounds[];
 extern const SciWorkaroundEntry kNewWindow_workarounds[];
 extern const SciWorkaroundEntry kPalVarySetVary_workarounds[];
 extern const SciWorkaroundEntry kPalVarySetPercent_workarounds[];
+extern const SciWorkaroundEntry kPalVarySetStart_workarounds[];
 extern const SciWorkaroundEntry kPalVaryMergeStart_workarounds[];
 extern const SciWorkaroundEntry kPlatform32_workarounds[];
 extern const SciWorkaroundEntry kRandom_workarounds[];


Commit: 71e2f9d6fb03ed599153e279bdfb5493957f28e3
    https://github.com/scummvm/scummvm/commit/71e2f9d6fb03ed599153e279bdfb5493957f28e3
Author: Colin Snover (github.com at zetafleet.com)
Date: 2017-06-19T19:56:48-05:00

Commit Message:
SCI32: Add workaround for uninitialised read in PQ4

Fixes Trac#9847.

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


diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index a3c0005..b41dbe1 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -360,6 +360,7 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = {
 	{ GID_PEPPER,         -1,   894,  0,            "Package", "doVerb",                          NULL,     3, { WORKAROUND_FAKE,   0 } }, // using the hand on the book in the inventory - bug #5154
 	{ GID_PEPPER,        150,   928,  0,           "Narrator", "startText",                       NULL,     0, { WORKAROUND_FAKE,   0 } }, // happens during the non-interactive demo of Pepper
 	{ GID_PQ4,            -1,    25,  0,         "iconToggle", "select",                          NULL,     1, { WORKAROUND_FAKE,   0 } }, // when toggling the icon bar to auto-hide or not
+	{ GID_PQ4,           170,   170, -1,        "hideAndSeek", "handleEvent",                     NULL,     1, { WORKAROUND_FAKE,   0 } }, // when clicking to move right while still moving left during the Emo shootout - bug #9847
 	{ GID_PQ4,           275, 64964, -1,              "DPath", "init",                            NULL,     1, { WORKAROUND_FAKE,   0 } }, // when Sherry walks out of the morgue on day 3
 	{ GID_PQ4,           240, 64964, -1,              "DPath", "init",                            NULL,     1, { WORKAROUND_FAKE,   0 } }, // when encountering Sherry and the reporter outside the morgue at the end of day 3
 	{ GID_PQSWAT,         -1, 64950,  0,                 NULL, "handleEvent",                     NULL,     0, { WORKAROUND_FAKE,   0 } }, // Using any menus in-game


Commit: dcc4a1bc67e5f4e7376ede3b40e717c1394f540e
    https://github.com/scummvm/scummvm/commit/dcc4a1bc67e5f4e7376ede3b40e717c1394f540e
Author: Colin Snover (github.com at zetafleet.com)
Date: 2017-06-19T19:56:48-05:00

Commit Message:
SCI32: Add workaround for invalid kFrameOut call in PQ4

Fixes Trac#9848.

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


diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index b41dbe1..ae6e2f7 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -625,6 +625,8 @@ const SciWorkaroundEntry kFindKey_workarounds[] = {
 
 //    gameID,           room,script,lvl,          object-name, method-name, local-call-signature, index,                workaround
 const SciWorkaroundEntry kFrameOut_workarounds[] = {
+	{ GID_PQ4,           360,   360,  0,       "csFrontInset", "init",                      NULL,     0, { WORKAROUND_STILLCALL, 1 } }, // When clicking hand on the impounded white car on day 4 - bug #9848
+	{ GID_PQ4,           360,   360,  0,       "csFrontInset", "dispose",                   NULL,     0, { WORKAROUND_STILLCALL, 1 } }, // When clicking hand on the impounded white car on day 4
 	{ GID_PQ4,           360,   360,  0,        "copCarInset", "init",                      NULL,     0, { WORKAROUND_STILLCALL, 1 } }, // When clicking hand on the impounded police car on day 3
 	{ GID_PQ4,           360,   360,  0,        "copCarInset", "dispose",                   NULL,     0, { WORKAROUND_STILLCALL, 1 } }, // When exiting the impounded police car on day 3
 	{ GID_PQ4,           275,   275,  0,        "checkSherry", "changeState",               NULL,     0, { WORKAROUND_STILLCALL, 1 } }, // When encountering Sherry and Sam in the morgue on day 3





More information about the Scummvm-git-logs mailing list