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

sdelamarre noreply at scummvm.org
Thu Jul 24 20:17:47 UTC 2025


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

Summary:
8b23996f25 ENGINES: Fix a bug related to game add-ons detection
5608ca5265 GOB: Add Adibou1 add-ons directories to the search path
d6dd799961 GOB: Add some Adibou1 add-ons to detection tables


Commit: 8b23996f259591f4514402c36fdcd1eaf5574cfc
    https://github.com/scummvm/scummvm/commit/8b23996f259591f4514402c36fdcd1eaf5574cfc
Author: Simon Delamarre (simon.delamarre14 at gmail.com)
Date: 2025-07-24T22:09:49+02:00

Commit Message:
ENGINES: Fix a bug related to game add-ons detection

Sub-directories not matching any add-on and such as dirMustBeGameAddOn(subdir)
is false were not properly ignored.

Changed paths:
    engines/engine.cpp


diff --git a/engines/engine.cpp b/engines/engine.cpp
index fe69372146b..ed3a2eed40a 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -1209,14 +1209,17 @@ Common::ErrorCode Engine::updateAddOns(const MetaEngine *metaEngine) const {
 			}
 
 			int idx = 0;
-			if (detectedAddOns.empty() && dirMustBeGameAddOn(subdir)) {
-				Common::U32String msgFormat(_("The directory '%s' looks like an add-on for the game '%s', but ScummVM could not find any matching add-on in it."));
-				Common::U32String msg = Common::U32String::format(msgFormat,
-																  subdirNode.getPath().toString(Common::Path::kNativeSeparator).c_str(),
-																  ConfMan.getActiveDomainName().c_str());
+			if (detectedAddOns.empty()) {
+				if (dirMustBeGameAddOn(subdir)) {
+					Common::U32String msgFormat(_("The directory '%s' looks like an add-on for the game '%s', but ScummVM could not find any matching add-on in it."));
+					Common::U32String msg = Common::U32String::format(msgFormat,
+																	  subdirNode.getPath().toString(Common::Path::kNativeSeparator).c_str(),
+																	  ConfMan.getActiveDomainName().c_str());
+
+					GUI::MessageDialog alert(msg);
+					alert.runModal();
+				}
 
-				GUI::MessageDialog alert(msg);
-				alert.runModal();
 				continue;
 			} else if (detectedAddOns.size() == 1) {
 				// Exact match


Commit: 5608ca5265504ea2be335a3cfd666b3b9a387083
    https://github.com/scummvm/scummvm/commit/5608ca5265504ea2be335a3cfd666b3b9a387083
Author: Simon Delamarre (simon.delamarre14 at gmail.com)
Date: 2025-07-24T22:17:15+02:00

Commit Message:
GOB: Add Adibou1 add-ons directories to the search path

That way, we will be able to advise the users to copy them in a
subdirectory, instead of having them in the main directory, which
works better with add-on detection and integrity check features.

Changed paths:
    engines/gob/init.h
    engines/gob/init_v2.cpp


diff --git a/engines/gob/init.h b/engines/gob/init.h
index 934ca821adf..22178b6d853 100644
--- a/engines/gob/init.h
+++ b/engines/gob/init.h
@@ -75,6 +75,7 @@ public:
 	~Init_v2() override;
 
 	void initVideo() override;
+	void initGame() override;
 };
 
 class Init_v3 : public Init_v2 {
diff --git a/engines/gob/init_v2.cpp b/engines/gob/init_v2.cpp
index a8548e0e35b..4a0c7a42019 100644
--- a/engines/gob/init_v2.cpp
+++ b/engines/gob/init_v2.cpp
@@ -25,6 +25,7 @@
  *
  */
 
+#include "common/config-manager.h"
 #include "common/endian.h"
 
 #include "gob/gob.h"
@@ -72,4 +73,24 @@ void Init_v2::initVideo() {
 	_vm->_draw->_transparentCursor =  1;
 }
 
+void Init_v2::initGame() {
+	if (_vm->getGameType() == kGameTypeAdibou1) {
+		const Common::FSNode gameDataDir(ConfMan.getPath("path"));
+
+		// Add additional applications directories (e.g. "Read/Count 4-5 years").
+		Common::FSList subdirs;
+		gameDataDir.getChildren(subdirs, Common::FSNode::kListDirectoriesOnly);
+		for (const Common::FSNode &subdirNode : subdirs) {
+			Common::FSDirectory subdir(subdirNode);
+			if (subdir.hasFile("c51.stk") || subdir.hasFile("c61.stk") || subdir.hasFile("l51.stk") || subdir.hasFile("l61.stk")) {
+				debugC(1, kDebugFileIO, "Found Adibou/Adi application subdirectory \"%s\", adding it to the search path", subdir.getFSNode().getName().c_str());
+				SearchMan.addSubDirectoryMatching(gameDataDir, subdir.getFSNode().getName(), 0, 4, true);
+			}
+		}
+	}
+
+	Init::initGame();
+}
+
+
 } // End of namespace Gob


Commit: d6dd79996191a32233646e9e6fb81d4796937121
    https://github.com/scummvm/scummvm/commit/d6dd79996191a32233646e9e6fb81d4796937121
Author: Simon Delamarre (simon.delamarre14 at gmail.com)
Date: 2025-07-24T22:17:15+02:00

Commit Message:
GOB: Add some Adibou1 add-ons to detection tables

Changed paths:
    engines/gob/detection/tables.h
    engines/gob/detection/tables_adibou1.h


diff --git a/engines/gob/detection/tables.h b/engines/gob/detection/tables.h
index 3c96451ef89..f23efba6692 100644
--- a/engines/gob/detection/tables.h
+++ b/engines/gob/detection/tables.h
@@ -73,6 +73,10 @@ static const PlainGameDescriptor gobGames[] = {
 	{"adi4", "ADI 4"},
 	{"adi5", "ADI 5"},
 	{"adibou1", "Adibou 1"},
+	{"adibou1read45", "Adibou 1 Read 4-5 years"},
+	{"adibou1count45", "Adibou 1 Count 4-5 years"},
+	{"adibou1read67", "Adibou 1 Read 6-7 years"},
+	{"adibou1count67", "Adibou 1 Count 6-7 years"},
 	{"adibou2", "Adibou 2"},
 	{"adibou2readcount45", "Adibou 2 Read/Count 4-5 years"},
 	{"adibou2readcount67", "Adibou 2 Read/Count 6-7 years"},
diff --git a/engines/gob/detection/tables_adibou1.h b/engines/gob/detection/tables_adibou1.h
index 6304e42057a..8e9b403645a 100644
--- a/engines/gob/detection/tables_adibou1.h
+++ b/engines/gob/detection/tables_adibou1.h
@@ -156,5 +156,150 @@
 },
 
 // Italian: Adibù
+// (missing)
+
+// -- Add-ons : Read 4-5 years --
+{
+	{
+		"adibou1read45",
+		"", // Je lis 4-5 ans"
+		AD_ENTRY1s("l51.stk", "8eb81211f8ee163885cc8b31d04d9380", 325445),
+		FR_FRA,
+		kPlatformDOS,
+		ADGF_ADDON,
+		GUIO0()
+	},
+	kFeaturesAdLib  | kFeatures16Colors,
+	0, 0, 0
+},
+
+{
+	{
+		"adibou1read45",
+		"", // Je lis 4-5 ans"
+		AD_ENTRY1s("l51.stk", "50004db83a88750d582113e0669a9604", 1437256),
+		FR_FRA,
+		kPlatformDOS,
+		ADGF_ADDON,
+		GUIO0()
+	},
+	kFeaturesAdLib,
+	0, 0, 0
+},
+
+// -- Add-ons : Count 4-5 years --
+{
+	{
+		"adibou1count45",
+		"", // Je calcule 4-5 ans"
+		AD_ENTRY1s("c51.stk", "c57292304c2657000bd92dbaee33b52b", 330329),
+		FR_FRA,
+		kPlatformDOS,
+		ADGF_ADDON,
+		GUIO0()
+	},
+	kFeaturesAdLib | kFeatures16Colors,
+	0, 0, 0
+},
+
+{
+	{
+		"adibou1count45",
+		"", // Je calcule 4-5 ans"
+		AD_ENTRY1s("c51.stk", "264e5426bd06d5fedd8edf7c08302984", 359953),
+		FR_FRA,
+		kPlatformDOS,
+		ADGF_ADDON,
+		GUIO0()
+	},
+	kFeaturesAdLib | kFeatures16Colors,
+	0, 0, 0
+},
+
+{
+	{
+		"adibou1count45",
+		"", // Je calcule 4-5 ans"
+		AD_ENTRY1s("c51.stk", "afefebef6256fe4f72bdbdc30fdc0f2d", 1313166),
+		FR_FRA,
+		kPlatformDOS,
+		ADGF_ADDON,
+		GUIO0()
+	},
+	kFeaturesAdLib,
+	0, 0, 0
+},
+
+// -- Add-ons : Read 6-7 years --
+{
+	{
+		"adibou1read67",
+		"", // Je lis 6-7 ans"
+		AD_ENTRY1s("l61.stk", "d236b4268d8265b958a90a41eae0f15a", 356444),
+		FR_FRA,
+		kPlatformDOS,
+		ADGF_ADDON,
+		GUIO0()
+	},
+	kFeaturesAdLib | kFeatures16Colors,
+	0, 0, 0
+},
+
+{
+	{
+		"adibou1read67",
+		"", // Je lis 6-7 ans"
+		AD_ENTRY1s("l61.stk", "1c993aa788b4159bbc9591921854d428", 353121),
+		FR_FRA,
+		kPlatformDOS,
+		ADGF_ADDON,
+		GUIO0()
+	},
+	kFeaturesAdLib | kFeatures16Colors,
+	0, 0, 0
+},
+
+{
+	{
+		"adibou1read67",
+		"", // Je lis 6-7 ans"
+		AD_ENTRY1s("l61.stk", "71ff03db9aa9d3be05ac6050d7d5e681", 1396282),
+		FR_FRA,
+		kPlatformDOS,
+		ADGF_ADDON,
+		GUIO0()
+	},
+	kFeaturesAdLib,
+	0, 0, 0
+},
+
+// -- Add-ons : Count 6-7 years --
+{
+	{
+		"adibou1count67",
+		"", // Je calcule 6-7 ans"
+		AD_ENTRY1s("c61.stk", "f5ef0318f342083f835426718b74c89a", 318641),
+		FR_FRA,
+		kPlatformDOS,
+		ADGF_ADDON,
+		GUIO0()
+	},
+	kFeaturesAdLib | kFeatures16Colors,
+	0, 0, 0
+},
+
+{
+	{
+		"adibou1count67",
+		"", // Je calcule 6-7 ans"
+		AD_ENTRY1s("c61.stk", "b6849f45151b8dfe48d873fbd468b679", 1242750),
+		FR_FRA,
+		kPlatformDOS,
+		ADGF_ADDON,
+		GUIO0()
+	},
+	kFeaturesAdLib,
+	0, 0, 0
+},
 
 #endif // GOB_DETECTION_TABLES_ADIBOU1_H




More information about the Scummvm-git-logs mailing list