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

sev- sev at scummvm.org
Thu Apr 29 11:13:06 UTC 2021


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

Summary:
473a312b0e GUI: Fixing another corner case in mass add
2f912109f5 AGOS: Added detection for unextracted Italian 4CD feeble. Bugreport #12495
0d50189563 AGOS: Added detection for unextracted 4CD Polish feeble. Bugreport #12496
f3da93a476 TONY: Rewamped the detection fully, so there are no false positives


Commit: 473a312b0eca76a63c9c3ebb4fceae7a7c1a6555
    https://github.com/scummvm/scummvm/commit/473a312b0eca76a63c9c3ebb4fceae7a7c1a6555
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2021-04-29T13:12:16+02:00

Commit Message:
GUI: Fixing another corner case in mass add

Changed paths:
    gui/massadd.cpp


diff --git a/gui/massadd.cpp b/gui/massadd.cpp
index c0ce120c53..d9c7e02a31 100644
--- a/gui/massadd.cpp
+++ b/gui/massadd.cpp
@@ -212,7 +212,7 @@ void MassAddDialog::handleTickle() {
 
 					if ((*dom)["engineid"] == result.engineId &&
 						(*dom)["gameid"] == result.gameId &&
-					    (*dom)["platform"] == resultPlatformCode &&
+					    dom->getValOrDefault("platform") == resultPlatformCode &&
 					    dom->getValOrDefault("language") == resultLanguageCode) {
 						duplicate = true;
 						break;


Commit: 2f912109f512255468a2e77a40a4fd101208f6ef
    https://github.com/scummvm/scummvm/commit/2f912109f512255468a2e77a40a4fd101208f6ef
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2021-04-29T13:12:16+02:00

Commit Message:
AGOS: Added detection for unextracted Italian 4CD feeble. Bugreport #12495

Changed paths:
    engines/agos/detection_tables.h


diff --git a/engines/agos/detection_tables.h b/engines/agos/detection_tables.h
index 501495816f..542c8460cb 100644
--- a/engines/agos/detection_tables.h
+++ b/engines/agos/detection_tables.h
@@ -3094,6 +3094,29 @@ static const AGOSGameDescription gameDescriptions[] = {
 		GF_OLD_BUNDLE | GF_TALKIE
 	},
 
+	// The Feeble Files - German Windows 4CD (with InstallShield cab)
+	// Provided by goodoldgeorge Bugreport #12495
+	{
+		{
+			"feeble",
+			"4CD/unextracted",
+
+			{
+				{ "data1.cab",	GAME_CABFILE,	"fa49e1f9910e519ebdcae365da10697e", 26296986},
+				{ "0882.vga",				0,	"6655780ef361ed92d0a99d50217502f3", 713180},
+				AD_LISTEND
+			},
+			Common::IT_ITA,
+			Common::kPlatformWindows,
+			ADGF_NO_FLAGS,
+			GUIO3(GUIO_NOSUBTITLES, GUIO_NOMUSIC, GUIO_NOASPECT)
+		},
+
+		GType_FF,
+		GID_FEEBLEFILES,
+		GF_OLD_BUNDLE | GF_TALKIE | GF_PACKED
+	},
+
 	// The Feeble Files - Polish Windows 4CD
 	{
 		{


Commit: 0d5018956358773c54a534e46b39447901b48176
    https://github.com/scummvm/scummvm/commit/0d5018956358773c54a534e46b39447901b48176
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2021-04-29T13:12:16+02:00

Commit Message:
AGOS: Added detection for unextracted 4CD Polish feeble. Bugreport #12496

Changed paths:
    engines/agos/detection_tables.h


diff --git a/engines/agos/detection_tables.h b/engines/agos/detection_tables.h
index 542c8460cb..1ead4caf88 100644
--- a/engines/agos/detection_tables.h
+++ b/engines/agos/detection_tables.h
@@ -3140,6 +3140,29 @@ static const AGOSGameDescription gameDescriptions[] = {
 		GF_OLD_BUNDLE | GF_TALKIE
 	},
 
+	// The Feeble Files - German Windows 4CD (with InstallShield cab)
+	// Provided by goodoldgeorge Bugreport #12496
+	{
+		{
+			"feeble",
+			"4CD/unextracted",
+
+			{
+				{ "data1.cab",	GAME_CABFILE,	"7722489a6609e8bba40272f64502494e", 28938871},
+				{ "0882.vga",				0,	"6655780ef361ed92d0a99d50217502f3", 713180},
+				AD_LISTEND
+			},
+			Common::PL_POL,
+			Common::kPlatformWindows,
+			ADGF_NO_FLAGS,
+			GUIO3(GUIO_NOSUBTITLES, GUIO_NOMUSIC, GUIO_NOASPECT)
+		},
+
+		GType_FF,
+		GID_FEEBLEFILES,
+		GF_OLD_BUNDLE | GF_TALKIE | GF_PACKED
+	},
+
 	// The Feeble Files - Spanish Windows 4CD
 	{
 		{


Commit: f3da93a476c7d596e0976b8ef5c8f7adcd6be840
    https://github.com/scummvm/scummvm/commit/f3da93a476c7d596e0976b8ef5c8f7adcd6be840
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2021-04-29T13:12:17+02:00

Commit Message:
TONY: Rewamped the detection fully, so there are no false positives

Changed paths:
    engines/tony/detection.cpp
    engines/tony/detection_tables.h


diff --git a/engines/tony/detection.cpp b/engines/tony/detection.cpp
index 050fd7078d..2132653a89 100644
--- a/engines/tony/detection.cpp
+++ b/engines/tony/detection.cpp
@@ -33,9 +33,17 @@ static const PlainGameDescriptor tonyGames[] = {
 
 #include "tony/detection_tables.h"
 
+static const char *const directoryGlobs[] = {
+	"roasted",
+	"voices",
+	0
+};
+
 class TonyMetaEngineDetection : public AdvancedMetaEngineDetection {
 public:
 	TonyMetaEngineDetection() : AdvancedMetaEngineDetection(Tony::gameDescriptions, sizeof(Tony::TonyGameDescription), tonyGames) {
+		_maxScanDepth = 2;
+		_directoryGlobs = directoryGlobs;
 	}
 
 	const char *getEngineId() const override {
diff --git a/engines/tony/detection_tables.h b/engines/tony/detection_tables.h
index 94b9c4d1a5..3ef6e77b82 100644
--- a/engines/tony/detection_tables.h
+++ b/engines/tony/detection_tables.h
@@ -24,13 +24,16 @@ namespace Tony {
 
 static const TonyGameDescription gameDescriptions[] = {
 	{
-		// Tony Tough English not installed
+		// Tony Tough English
 		{
 			"tony",
 			0,
-			// TODO: AdvancedDetector seems to have a problem where it thinks data1.cab is unrecognized.
-			// Is it perhaps because the Agos engine also has detection entries for data1.cab?
-			AD_ENTRY1s("data1.cab", "ce82907242166bfb594d97bdb68f96d2", 4350),
+			{
+				{ "roasted.mpc", 0, "57c4a3860cf899443c357e0078ea6f49", 366773 },
+				{ "roasted.mpr", 0, "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071 },
+				{ "voices.vdb",  0, "aebc6eb607ee19cc94bfe9c11898bb8c", 243003502 },
+				AD_LISTEND
+			},
 			Common::EN_ANY,
 			Common::kPlatformWindows,
 			ADGF_NO_FLAGS,
@@ -39,13 +42,16 @@ static const TonyGameDescription gameDescriptions[] = {
 	},
 
 	{
-		// Tony Tough Czech not installed
+		// Tony Tough Czech
 		{
 			"tony",
 			0,
-			// TODO: AdvancedDetector seems to have a problem where it thinks data1.cab is unrecognized.
-			// Is it perhaps because the Agos engine also has detection entries for data1.cab?
-			AD_ENTRY1s("data1.cab", "c6d5dd8f0c1241a6e3f7861b7f27bf7b", 4350),
+			{
+				{ "roasted.mpc", 0, "a8283a101878f3ca105f1f83f07e2c40", 386491 },
+				{ "roasted.mpr", 0, "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071 },
+				{ "voices.vdb",  0, "3384bdcb70d1e1ecedbde26e79683ede", 299019523 },
+				AD_LISTEND
+			},
 			Common::CZ_CZE,
 			Common::kPlatformWindows,
 			ADGF_NO_FLAGS,
@@ -53,40 +59,17 @@ static const TonyGameDescription gameDescriptions[] = {
 		},
 	},
 
-	{
-		// Tony Tough English Demo
-		{
-			"tony",
-			"Extracted Demo",
-			AD_ENTRY2s("roasted.mpr", "06203dbbc85fdd1e6dc8fc211c1a6207", 14972409,
-					   "roasted.mpc", "1e247922ec869712bfd96625bc4d3c7c", 39211),
-			Common::EN_ANY,
-			Common::kPlatformWindows,
-			ADGF_DEMO,
-			GUIO1(GUIO_NOMIDI)
-		},
-	},
-
-	{
-		// Tony Tough English Demo (Compressed)
-		{
-			"tony",
-			"Demo",
-			AD_ENTRY1s("data1.cab", "7d8b6d308f96aee3968ad7910fb11e6d", 58660608),
-			Common::EN_ANY,
-			Common::kPlatformWindows,
-			ADGF_DEMO | GF_COMPRESSED,
-			GUIO1(GUIO_NOMIDI)
-		},
-	},
-
 	{
 		// Tony Tough French "Collection Aventure" provided by Strangerke
 		{
 			"tony",
 			0,
-			AD_ENTRY2s("roasted.mpr", "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071,
-					   "roasted.mpc", "e890c6a41238827bdfa9874a65618b69", 374135),
+			{
+				{ "roasted.mpc", 0, "e890c6a41238827bdfa9874a65618b69", 374135 },
+				{ "roasted.mpr", 0, "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071 },
+				{ "voices.vdb",  0, "aebc6eb607ee19cc94bfe9c11898bb8c", 243003502 },
+				AD_LISTEND
+			},
 			Common::FR_FRA,
 			Common::kPlatformWindows,
 			ADGF_NO_FLAGS,
@@ -99,8 +82,12 @@ static const TonyGameDescription gameDescriptions[] = {
 		{
 			"tony",
 			0,
-			AD_ENTRY2s("roasted.mpr", "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071,
-					   "roasted.mpc", "ccf7ab939a34de1b13df538596431684", 389554),
+			{
+				{ "roasted.mpc", 0, "ccf7ab939a34de1b13df538596431684", 389554 },
+				{ "roasted.mpr", 0, "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071 },
+				{ "voices.vdb",  0, "6a3c2f5426ab762bf4dc9826796aa320", 279745055 },
+				AD_LISTEND
+			},
 			Common::DE_DEU,
 			Common::kPlatformWindows,
 			ADGF_NO_FLAGS,
@@ -109,13 +96,17 @@ static const TonyGameDescription gameDescriptions[] = {
 	},
 
 	{
-		// Tony Tough Italian provided by Fabio Barzagli
+		// Tony Tough German "Gamestar" provided in bug #6138
 		{
 			"tony",
 			0,
-			AD_ENTRY2s("roasted.mpr", "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071,
-					   "roasted.mpc", "1dc896cdb945170d7408598f803411c1", 380001),
-			Common::IT_ITA,
+			{
+				{ "roasted.mpc", 0, "187de6f88f4083808cb66342ab55a7fd", 389904 },
+				{ "roasted.mpr", 0, "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071 },
+				{ "voices.vdb",  0, 0, -1 },	// FIXME
+				AD_LISTEND
+			},
+			Common::DE_DEU,
 			Common::kPlatformWindows,
 			ADGF_NO_FLAGS,
 			GUIO1(GUIO_NOMIDI)
@@ -123,12 +114,16 @@ static const TonyGameDescription gameDescriptions[] = {
 	},
 
 	{
-		// Tony Tough Italian provided by Giovanni Bajo
+		// Tony Tough Italian provided by Fabio Barzagli
 		{
 			"tony",
 			0,
-			AD_ENTRY2s("roasted.mpr", "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071,
-					   "roasted.mpc", "6202816f991b15af82aab84e3e4be011", 380183),
+			{
+				{ "roasted.mpc", 0, "1dc896cdb945170d7408598f803411c1", 380001 },
+				{ "roasted.mpr", 0, "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071 },
+				{ "voices.vdb",  0, "f9f1ac8f63a909bb3ed972490dae65c4", 286130226 },
+				AD_LISTEND
+			},
 			Common::IT_ITA,
 			Common::kPlatformWindows,
 			ADGF_NO_FLAGS,
@@ -137,13 +132,17 @@ static const TonyGameDescription gameDescriptions[] = {
 	},
 
 	{
-		// Tony Tough Polish provided by Fabio Barzagli
+		// Tony Tough Italian provided by Giovanni Bajo
 		{
 			"tony",
 			0,
-			AD_ENTRY2s("roasted.mpr", "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071,
-					   "roasted.mpc", "89733ea710669acc8e7900b115f4afef", 389625),
-			Common::PL_POL,
+			{
+				{ "roasted.mpc", 0, "6202816f991b15af82aab84e3e4be011", 380183 },
+				{ "roasted.mpr", 0, "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071 },
+				{ "voices.vdb",  0, "f9f1ac8f63a909bb3ed972490dae65c4", 286130226 },
+				AD_LISTEND
+			},
+			Common::IT_ITA,
 			Common::kPlatformWindows,
 			ADGF_NO_FLAGS,
 			GUIO1(GUIO_NOMIDI)
@@ -155,8 +154,12 @@ static const TonyGameDescription gameDescriptions[] = {
 		{
 			"tony",
 			0,
-			AD_ENTRY2s("roasted.mpr", "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071,
-					   "roasted.mpc", "c212a81e34edf92bc177a80f24780bd2", 380200),
+			{
+				{ "roasted.mpc", 0, "c212a81e34edf92bc177a80f24780bd2", 380200 },
+				{ "roasted.mpr", 0, "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071 },
+				{ "voices.vdb",  0, "544b1db3a41b0f89567267d0664183bb", 321349288 },
+				AD_LISTEND
+			},
 			Common::PL_POL,
 			Common::kPlatformWindows,
 			ADGF_NO_FLAGS,
@@ -165,13 +168,17 @@ static const TonyGameDescription gameDescriptions[] = {
 	},
 
 	{
-		// Tony Tough German "Gamestar" provided in bug #6138
+		// Tony Tough Polish provided by Fabio Barzagli
 		{
 			"tony",
 			0,
-			AD_ENTRY2s("roasted.mpr", "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071,
-					   "roasted.mpc", "187de6f88f4083808cb66342ab55a7fd", 389904),
-			Common::DE_DEU,
+			{
+				{ "roasted.mpc", 0, "89733ea710669acc8e7900b115f4afef", 389625 },
+				{ "roasted.mpr", 0, "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071 },
+				{ "voices.vdb",  0, "544b1db3a41b0f89567267d0664183bb", 310906270 },
+				AD_LISTEND
+			},
+			Common::PL_POL,
 			Common::kPlatformWindows,
 			ADGF_NO_FLAGS,
 			GUIO1(GUIO_NOMIDI)
@@ -179,13 +186,17 @@ static const TonyGameDescription gameDescriptions[] = {
 	},
 
 	{
-		// Tony Tough Czech provided in bug #6137
+		// Tony Tough Russian, reported in bug #6589
 		{
 			"tony",
 			0,
-			AD_ENTRY2s("roasted.mpr", "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071,
-					   "roasted.mpc", "a8283a101878f3ca105f1f83f07e2c40", 386491),
-			Common::CZ_CZE,
+			{
+				{ "roasted.mpc", 0, "377d6e24adeedc6c5c09c31b92231218", 391536 },
+				{ "roasted.mpr", 0, "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071 },
+				{ "voices.vdb",  0, "af4061f49b934086710f0d41e6250a15", 325225827 },
+				AD_LISTEND
+			},
+			Common::RU_RUS,
 			Common::kPlatformWindows,
 			ADGF_NO_FLAGS,
 			GUIO1(GUIO_NOMIDI)
@@ -193,46 +204,57 @@ static const TonyGameDescription gameDescriptions[] = {
 	},
 
 	{
-		// Tony Tough English Unpacked
+		// Tony Tough English Demo
 		{
 			"tony",
-			0,
-			AD_ENTRY2s("roasted.mpr", "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071,
-					   "roasted.mpc", "57c4a3860cf899443c357e0078ea6f49", 366773),
+			"Extracted Demo",
+			{
+				{ "roasted.mpc", 0, "1e247922ec869712bfd96625bc4d3c7c", 39211 },
+				{ "roasted.mpr", 0, "06203dbbc85fdd1e6dc8fc211c1a6207", 14972409 },
+				{ "voices.vdb",  0, "f9f1ac8f63a909bb3ed972490dae65c4", 20189260 },
+				AD_LISTEND
+			},
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_NO_FLAGS,
+			ADGF_DEMO,
 			GUIO1(GUIO_NOMIDI)
 		},
 	},
 
+#if 0
+	// Disabling this detection entry. The package contains _only_ standard list
+	// of InnoSetup files:
+	//
+	// DATA.TAG     SETUP.INI    _ISDEL.EXE   _sys1.cab    data1.cab    layout.bin
+	// setup.bmp    setup.lid    SETUP.EXE    _INST32I.EX_ _setup.dll   _user1.cab
+	// lang.dat     os.dat       setup.ins
+	//
+	// As a result, adding this entry will lead to a false "unknown variant for tony-demo"
+	// For practically all games which use InnoSetup.
+	//
+	// The current AdvancedDetector code always will show the end user the detected
+	// game AND this entry, which is very annoying
+	//
+	// The only potential solution is to make AD work with the InnoSetup archives,
+	// that is, make it look inside of the archive and if it contains the matching
+	// file names, only then report it as an unknown variant.
 	{
-		// Tony Tough German "Shoe Box", reported in bug #6174
+		// Tony Tough English Demo (Compressed)
 		{
 			"tony",
-			0,
-			AD_ENTRY2s("roasted.mpr", "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071,
-					   "roasted.mpc", "bc3471f098e591dc509dcad401a8d8a5", 389554),
+			"Demo",
+			{
+				{ "data1.cab", 0, "7d8b6d308f96aee3968ad7910fb11e6d", 58660608 },
+				{ "data.tag", 0, "e9af151040745e83081e691356abeed7", 137 },
+				AD_LISTEND
+			},
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_NO_FLAGS,
-			GUIO1(GUIO_NOMIDI)
-		},
-	},
-
-	{
-		// Tony Tough Russian, reported in bug #6589
-		{
-			"tony",
-			0,
-			AD_ENTRY2s("roasted.mpr", "06203dbbc85fdd1e6dc8fc211c1a6207", 135911071,
-					   "roasted.mpc", "377d6e24adeedc6c5c09c31b92231218", 391536),
-			Common::RU_RUS,
-			Common::kPlatformWindows,
-			ADGF_NO_FLAGS,
+			ADGF_DEMO | GF_COMPRESSED,
 			GUIO1(GUIO_NOMIDI)
 		},
 	},
+#endif
 
 	{ AD_TABLE_END_MARKER }
 };




More information about the Scummvm-git-logs mailing list