[Scummvm-git-logs] scummvm master -> 531042c1e122ac6af23c5527f91127e37e9a26b0
sev-
noreply at scummvm.org
Mon Jul 21 10:05:39 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:
fb28da228c WAGE: Remove non-WAGE based title from detection table
b55f8af6eb WAGE: Add "Volcano I" and alt version of "The Tower" to detection
531042c1e1 WAGE: Add fallback detection
Commit: fb28da228c528a245744fce4a2ba34db7b6f2a1c
https://github.com/scummvm/scummvm/commit/fb28da228c528a245744fce4a2ba34db7b6f2a1c
Author: Alikhan Balpykov (luxrage1990 at gmail.com)
Date: 2025-07-21T12:05:35+02:00
Commit Message:
WAGE: Remove non-WAGE based title from detection table
Changed paths:
engines/wage/detection_tables.h
diff --git a/engines/wage/detection_tables.h b/engines/wage/detection_tables.h
index 9fc6917f4ba..6d465cfb769 100644
--- a/engines/wage/detection_tables.h
+++ b/engines/wage/detection_tables.h
@@ -197,7 +197,6 @@ static const ADGameDescription gameDescriptions[] = {
FANGAME("MacWanker 1.0", "2fd407020adf527d1193f3351d7244b5", 178005),
FANGAME("Magic Rings", "263e2c90af61f0798bf41f6a1e3f6345", 108788),
FANGAMEN("Mansion!", "Mansion! 1.0", "c993619e5bd99ccca6e3ce28d93be33a", 389857),
- FANGAMEN("Master's Familiar", "xn--Masters Familiar v2.3 -245mphaaa", "d5ee3e1ff136482ef1de7935a0ac3918", 142827), // Original file name "Masterâs Familiar v2.3 â¢â¢â¢â¢"
FANGAMEN("Maze of the Questing Beast", "MQB", "03775e1894809f24234aeaab18f39451", 134444),
FANGAMEN("Maze of the Questing Beast Solutions", "MQB Solutions", "8a27e515f12162cc8b85e4f2bd16a1e5", 37606),
FANGAME("Messy House", "32ca71f2ff37997407cead590c2dd306", 176864),
Commit: b55f8af6eb1bf20370d04c7334f111ca3cc5572e
https://github.com/scummvm/scummvm/commit/b55f8af6eb1bf20370d04c7334f111ca3cc5572e
Author: Alikhan Balpykov (luxrage1990 at gmail.com)
Date: 2025-07-21T12:05:35+02:00
Commit Message:
WAGE: Add "Volcano I" and alt version of "The Tower" to detection
Changed paths:
engines/wage/detection_tables.h
diff --git a/engines/wage/detection_tables.h b/engines/wage/detection_tables.h
index 6d465cfb769..f1e465e61c8 100644
--- a/engines/wage/detection_tables.h
+++ b/engines/wage/detection_tables.h
@@ -311,6 +311,7 @@ static const ADGameDescription gameDescriptions[] = {
FANGAMEND("Time Star", "xn--Time Star-eh2e", "761e91f3da7217dc9516879a8ba08fd9", 210562), // Original file name "Time Starâ¢"
FANGAMEN("Time Streak!!", "xn--Time Streak!!-8q9g", "e90f123a113e38c83c205b5fe50521fb", 483488), // Original file name "Time Streak!!â¢"
FANGAME("The Tower", "4cd8755ccb5bbeaf2e5f7848a8daa033", 556283),
+ FANGAME("The Tower", "r:a79282051dd190bb8d41c7600bdc157e", 733539), // alt version
FANGAMEND("Tombworld", "xn--Demo TombWorld-8ra", "695734292024290d5d0aa6a66ff628f6", 663996), // Original file name "Demo TombWorld©"
FANGAMEND("Tombworld", "DemoTombWorld", "4b3f56cfa595eab3919a918767e11870", 387403), // alt version
BIGGAME("twisted", "", "Twisted! 1.1", "7226874582d7e5fa13004340e9c5ba2b", 957878),
@@ -318,6 +319,7 @@ static const ADGameDescription gameDescriptions[] = {
BIGGAME("twisted", "", "Twisted! 1.6", "6e0be4c7d83231e56a431dc4ef7bf978", 960698),
FANGAME("The Village", "fd35cad8c61064d6c8aaadab7070ccad", 314572),
FANGAME("The Village", "b84ac84be610498c4de5d9bd4fd36175", 314620), // alt version
+ FANGAMEN("Volcano I", "Volcano", "r:d55531ddaa800b77e8f3da6385283183", 101635),
FANGAMEN("Volcano", "Volcano 2.4", "d04eba23fe7d566fba0c9b34242d8f10", 227431),
FANGAMEN("Volcano II", "xn--Volcano II-0y6e", "7941c08b34bc2408b98c0004c7154aeb", 82735), // Original file name "Volcano IIâ "
FANGAMEN("Who Shot Brownie Dog?", "xn--Who Shot Brownie Dogv1.01-lba88n", "4e7a950567c73e98e4478e5683e943ca", 195923),
Commit: 531042c1e122ac6af23c5527f91127e37e9a26b0
https://github.com/scummvm/scummvm/commit/531042c1e122ac6af23c5527f91127e37e9a26b0
Author: Alikhan Balpykov (luxrage1990 at gmail.com)
Date: 2025-07-21T12:05:35+02:00
Commit Message:
WAGE: Add fallback detection
Changed paths:
engines/wage/detection.cpp
diff --git a/engines/wage/detection.cpp b/engines/wage/detection.cpp
index 30bbabc2b49..db64aeaaee5 100644
--- a/engines/wage/detection.cpp
+++ b/engines/wage/detection.cpp
@@ -22,6 +22,9 @@
#include "base/plugins.h"
+#include "common/file.h"
+#include "common/macresman.h"
+
#include "engines/advancedDetector.h"
static const PlainGameDescriptor wageGames[] = {
@@ -40,7 +43,19 @@ static const PlainGameDescriptor wageGames[] = {
#include "wage/detection_tables.h"
#include "wage/detection.h"
+static ADGameDescription s_fallbackDesc = {
+ "wage",
+ "",
+ AD_ENTRY1(0, 0),
+ Common::EN_ANY,
+ Common::kPlatformMacintosh,
+ ADGF_NO_FLAGS,
+ GUIO0()
+};
+
class WageMetaEngineDetection : public AdvancedMetaEngineDetection<ADGameDescription> {
+ mutable Common::String _filenameStr;
+
public:
WageMetaEngineDetection() : AdvancedMetaEngineDetection(Wage::gameDescriptions, wageGames) {
_md5Bytes = 2 * 1024 * 1024;
@@ -58,6 +73,53 @@ public:
const char *getOriginalCopyright() const override {
return "World Builder (C) Silicon Beach Software";
}
+
+ ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist, ADDetectedGameExtraInfo **extra) const override;
};
+ADDetectedGame WageMetaEngineDetection::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist, ADDetectedGameExtraInfo **extra) const {
+ SearchMan.addDirectory("WageMetaEngineDetection::fallbackDetect", fslist.begin()->getParent());
+
+ for (Common::FSList::const_iterator fs = fslist.begin(); fs != fslist.end(); ++fs) {
+ if (fs->isDirectory())
+ continue;
+
+ Common::Path filePath = Common::Path(fs->getPathInArchive());
+ Common::MacResManager resManager;
+ if (!resManager.open(filePath)) {
+ continue;
+ }
+
+ Common::MacFinderInfo finderInfo;
+ if (resManager.getFileFinderInfo(filePath, finderInfo)) {
+ if (READ_BE_UINT32(finderInfo.type) != MKTAG('A', 'P', 'P', 'L')) {
+ continue;
+ }
+ if (READ_BE_UINT32(finderInfo.creator) != MKTAG('W', 'E', 'D', 'T')) {
+ continue;
+ }
+
+ Common::Path outPath(fs->getFileName());
+ _filenameStr = outPath.toString();
+
+ s_fallbackDesc.filesDescriptions[0].fileName = _filenameStr.c_str();
+
+ ADDetectedGame game;
+ game.desc = &s_fallbackDesc;
+
+ FileProperties tmp;
+ if (getFileProperties(allFiles, kMD5MacResFork, filePath, tmp)) {
+ game.hasUnknownFiles = true;
+ game.matchedFiles[filePath] = tmp;
+ }
+
+ SearchMan.remove("WageMetaEngineDetection::fallbackDetect");
+ return game;
+ }
+ }
+
+ SearchMan.remove("WageMetaEngineDetection::fallbackDetect");
+ return ADDetectedGame();
+}
+
REGISTER_PLUGIN_STATIC(WAGE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, WageMetaEngineDetection);
More information about the Scummvm-git-logs
mailing list