[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