[Scummvm-git-logs] scummvm branch-2-1 -> 8e0a12f62a12ac5781594851e3d31a00b91fa573

bluegr bluegr at gmail.com
Sat Sep 28 16:25:09 CEST 2019


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:
9939f0b072 SCI32: Fixed several uninitialized reads in Hoyle 5
56d6a383b5 SCI: Add The Sect of Achturan fanmade game - bug #11072
8e0a12f62a SCI32: Extend the Hoyle 5 bridge slider workaround


Commit: 9939f0b07285a88f0d6473cb848f52bacdaa9745
    https://github.com/scummvm/scummvm/commit/9939f0b07285a88f0d6473cb848f52bacdaa9745
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2019-09-28T17:24:05+03:00

Commit Message:
SCI32: Fixed several uninitialized reads in Hoyle 5

Closes bugs #11167, #11168, #11169, #11170, #11171, #11172 #11173

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


diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index b5ae01a..52d805f 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -80,6 +80,7 @@ const SciWorkaroundEntry arithmeticWorkarounds[] = {
 	{ GID_FANMADE,        516,  983,  0,             "Wander", "setTarget",                       NULL,     0,     0, { WORKAROUND_FAKE,   0 } }, // op_mul: The Legend of the Lost Jewel Demo (fan made): called with object as second parameter when attacked by insects - bug #5124
 	{ GID_GK1,            800,64992,  0,                "Fwd", "doit",                            NULL,     0,     0, { WORKAROUND_FAKE,   1 } }, // op_gt: when Mosely finds Gabriel and Grace near the end of the game, compares the Grooper object with 7
 	{ GID_HOYLE4,         700,   -1,  1,               "Code", "doit",                            NULL,     0,     0, { WORKAROUND_FAKE,   1 } }, // op_add: while bidding in Bridge, an object ("Bid") is added to an object in another segment ("hand3")
+	{ GID_HOYLE5,         700,  733,  0, "Declarer_Second_NT", "think",                           NULL,     0,     0, { WORKAROUND_FAKE,   1 } }, // op_or: while playing Bridge - bug #11173
 	{ GID_ICEMAN,         199,  977,  0,            "Grooper", "doit",                            NULL,     0,     0, { WORKAROUND_FAKE,   0 } }, // op_add: While dancing with the girl
 	{ GID_MOTHERGOOSE256,  -1,  999,  0,              "Event", "new",                             NULL,     0,     0, { WORKAROUND_FAKE,   0 } }, // op_and: constantly during the game (SCI1 version)
 	{ GID_MOTHERGOOSE256,  -1,    4,  0,              "rm004", "doit",                            NULL,     0,     0, { WORKAROUND_FAKE,   0 } }, // op_or: when going north and reaching the castle (rooms 4 and 37) - bug #5101
@@ -190,6 +191,17 @@ static const uint16 sig_uninitread_hoyle5_4[] = {
 	SIG_END
 };
 
+//                Game: Hoyle 5
+//      Calling method: LeadSeat_NoTrump::think
+//   Subroutine offset: 0x22e (script 753)
+// Applies to at least: English PC
+static const uint16 sig_uninitread_hoyle5_5[] = {
+	0x7e, SIG_ADDTOOFFSET(2),        // line N
+	0x7d, 0x73, 0x74, 0x67, 0x62, 0x64, 0x6c, 0x6e, 0x74,
+		  0x2e, 0x73, 0x63, 0x00,               // file "stgbdlnt.sc"
+	SIG_END
+};
+
 //                Game: Jones in the fast lane
 //      Calling method: weekendText::draw
 //   Subroutine offset: 0x03d3 (script 232)
@@ -391,6 +403,15 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = {
 	{ GID_HOYLE5,        400,   400,  1,            "GinHand", "calcRuns",                        NULL,     4,     4, { WORKAROUND_FAKE,   0 } }, // when starting Gin
 	{ GID_HOYLE5,        700,   700,  1,         "BridgeHand", "calcQTS",                         NULL,     3,     3, { WORKAROUND_FAKE,   0 } }, // when an opponent is playing in Bridge
 	{ GID_HOYLE5,        700,   747,  0,   "LeadReturn_Trump", "think",                           NULL,    17,    17, { WORKAROUND_FAKE,   0 } }, // when an opponent is playing in Bridge
+	{ GID_HOYLE5,        700,  1115,  0,    "attitudeSliderF", "select",                          NULL,     1,     1, { WORKAROUND_FAKE,   0 } }, // when adjusting the attitude slider in Bridge - bug #11166
+	{ GID_HOYLE5,        700,   710,  1, "BridgeStrategyPlay", "checkSplitTops",                  NULL,    10,    10, { WORKAROUND_FAKE,   0 } }, // when playing Bridge - bug #11167
+	{ GID_HOYLE5,        700,   713,  0,            "n2_tree", "doit",                            NULL,     1,     1, { WORKAROUND_FAKE,   0 } }, // when playing Bridge - bug #11169
+	{ GID_HOYLE5,        700,   715,  0,            "c2_tree", "doit",                            NULL,    21,    21, { WORKAROUND_FAKE,   0 } }, // when playing Bridge - bug #11170
+	{ GID_HOYLE5,        700,   716,  0,        "other1_tree", "doit",                            NULL,    10,    10, { WORKAROUND_FAKE,   0 } }, // when playing Bridge - bug #11168
+	{ GID_HOYLE5,        700,   716,  0,        "other1_tree", "doit",                            NULL,    69,    69, { WORKAROUND_FAKE,   0 } }, // when playing Bridge - bug #11168
+	{ GID_HOYLE5,        700,   730,  1,      "BridgeDefense", "beatTheirBest",                   NULL,     3,     3, { WORKAROUND_FAKE,   0 } }, // when playing Bridge - bug #11171
+	{ GID_HOYLE5,        700,   752,  0, "LeadReturn_NoTrump", "makeContractMinusAce",            NULL,     2,     2, { WORKAROUND_FAKE,   0 } }, // when playing Bridge - bug #11172
+	{ GID_HOYLE5,        700,   753,  0,   "LeadSeat_NoTrump", "think",        sig_uninitread_hoyle5_5,     4,     4, { WORKAROUND_FAKE,   0 } }, // when playing Bridge
 	{ GID_HOYLE5,       1100,    18,  0,               "Tray", "init",                            NULL,     0,     0, { WORKAROUND_FAKE,   0 } }, // when playing Poker
 	{ GID_HOYLE5,       1100,  1100,  0,         "anteButton", "handleEvent",                     NULL,     1,     1, { WORKAROUND_FAKE,   0 } }, // when exiting Poker
 	{ GID_HOYLE5,       6029,  6029,  1,        "ControlIcon", "select",                          NULL,     1,     1, { WORKAROUND_FAKE,   0 } }, // Solitaire: when changing any slider in the Card Flip mini-game's options window


Commit: 56d6a383b539786837cf4fae07dcdb2e32327b5b
    https://github.com/scummvm/scummvm/commit/56d6a383b539786837cf4fae07dcdb2e32327b5b
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2019-09-28T17:24:06+03:00

Commit Message:
SCI: Add The Sect of Achturan fanmade game - bug #11072

Changed paths:
    engines/sci/detection_tables.h


diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h
index ea611f1..6110278 100644
--- a/engines/sci/detection_tables.h
+++ b/engines/sci/detection_tables.h
@@ -5199,6 +5199,7 @@ static const struct ADGameDescription SciGameDescriptions[] = {
 	FANMADE("The Farm Nightmare", "fb6cbfddaa7c055e2c3d8cf4c683a7db", 906, "50655e8b8925f717e698e08f006f40be", 338303),
 	FANMADE("The Gem Scenario", "ef5f61f4d2c6d31122d3e2baf89ad976", 642, "2f16be390dd90c3d7ca1c8a594ac0bfa", 244794),
 	FANMADE("The Legend of the Lost Jewel", "ba1bca315e3818c5626eda51bcfbcccf", 636, "9b0736d69924af0cff32a0f78db96855", 300398),
+	FANMADE("The Sect of Achturan", "130ee6a9137005cdd4a26c38fa21576a", 1626, "1faf42afbfdb782f61ceaa1ee6243b76", 961705),
 	FANMADE("Winter Wonderland", "c1ffaf8327462effd4ad21eeed9eea59", 504, "5d48666dc62f90d852a1d0de6e69195f", 305076),
 
 	// FIXME: The vga demo does not have a resource.000/001 file.


Commit: 8e0a12f62a12ac5781594851e3d31a00b91fa573
    https://github.com/scummvm/scummvm/commit/8e0a12f62a12ac5781594851e3d31a00b91fa573
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2019-09-28T17:24:07+03:00

Commit Message:
SCI32: Extend the Hoyle 5 bridge slider workaround

This fixes the other sliders in the Bridge game. Thanks to sluicebox

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


diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index 52d805f..394a316 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -403,7 +403,7 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = {
 	{ GID_HOYLE5,        400,   400,  1,            "GinHand", "calcRuns",                        NULL,     4,     4, { WORKAROUND_FAKE,   0 } }, // when starting Gin
 	{ GID_HOYLE5,        700,   700,  1,         "BridgeHand", "calcQTS",                         NULL,     3,     3, { WORKAROUND_FAKE,   0 } }, // when an opponent is playing in Bridge
 	{ GID_HOYLE5,        700,   747,  0,   "LeadReturn_Trump", "think",                           NULL,    17,    17, { WORKAROUND_FAKE,   0 } }, // when an opponent is playing in Bridge
-	{ GID_HOYLE5,        700,  1115,  0,    "attitudeSliderF", "select",                          NULL,     1,     1, { WORKAROUND_FAKE,   0 } }, // when adjusting the attitude slider in Bridge - bug #11166
+	{ GID_HOYLE5,        700,  1115,  0,                 NULL, "select",                          NULL,     1,     1, { WORKAROUND_FAKE,   0 } }, // when adjusting the attitude slider in Bridge - bug #11166
 	{ GID_HOYLE5,        700,   710,  1, "BridgeStrategyPlay", "checkSplitTops",                  NULL,    10,    10, { WORKAROUND_FAKE,   0 } }, // when playing Bridge - bug #11167
 	{ GID_HOYLE5,        700,   713,  0,            "n2_tree", "doit",                            NULL,     1,     1, { WORKAROUND_FAKE,   0 } }, // when playing Bridge - bug #11169
 	{ GID_HOYLE5,        700,   715,  0,            "c2_tree", "doit",                            NULL,    21,    21, { WORKAROUND_FAKE,   0 } }, // when playing Bridge - bug #11170





More information about the Scummvm-git-logs mailing list