[Scummvm-git-logs] scummvm master -> 7f457f8e944a273eb78023842f5192942a5042f0
sev-
noreply at scummvm.org
Wed Dec 7 21:58:53 UTC 2022
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:
e2b0259d29 BASE: Add function EngineManager::generateUniqueDomain
5854585b33 BASE: Add check to avoid domain override when launching from command line with -p argument
7f457f8e94 BASE: Refactor EngineManager::createTargetForGame
Commit: e2b0259d295418076dc4beb711581f0851390746
https://github.com/scummvm/scummvm/commit/e2b0259d295418076dc4beb711581f0851390746
Author: Roberto Sánchez (robertosanchez_9 at protonmail.com)
Date: 2022-12-07T22:58:48+01:00
Commit Message:
BASE: Add function EngineManager::generateUniqueDomain
Changed paths:
base/plugins.cpp
engines/metaengine.h
diff --git a/base/plugins.cpp b/base/plugins.cpp
index a30d3511a91..7a81e3ce415 100644
--- a/base/plugins.cpp
+++ b/base/plugins.cpp
@@ -757,6 +757,15 @@ void addStringToConf(const Common::String &key, const Common::String &value, con
} // End of anonymous namespace
+Common::String EngineManager::generateUniqueDomain(const Common::String gameId) {
+ Common::String domainName(gameId);
+ int suffixN = 1;
+ while (ConfMan.hasGameDomain(domainName)) {
+ domainName = gameId + Common::String::format("-%d", suffixN++);
+ }
+ return domainName;
+}
+
Common::String EngineManager::createTargetForGame(const DetectedGame &game) {
// The auto detector or the user made a choice.
// Pick a domain name which does not yet exist (after all, we
diff --git a/engines/metaengine.h b/engines/metaengine.h
index 0ea12169386..cf935828a2c 100644
--- a/engines/metaengine.h
+++ b/engines/metaengine.h
@@ -610,6 +610,9 @@ public:
/** Upgrade a target to the current configuration format. */
void upgradeTargetIfNecessary(const Common::String &target) const;
+ /** Generate valid, non-repeated domainName for game*/
+ Common::String generateUniqueDomain(const Common::String gameId);
+
private:
/** Find a game across all loaded plugins. */
QualifiedGameList findGameInLoadedPlugins(const Common::String &gameId) const;
Commit: 5854585b33119ab505769f7b9f659e93d3ee30a5
https://github.com/scummvm/scummvm/commit/5854585b33119ab505769f7b9f659e93d3ee30a5
Author: Roberto Sánchez (robertosanchez_9 at protonmail.com)
Date: 2022-12-07T22:58:48+01:00
Commit Message:
BASE: Add check to avoid domain override when launching from command line with -p argument
Changed paths:
base/commandLine.cpp
diff --git a/base/commandLine.cpp b/base/commandLine.cpp
index d1699f4a6a1..76d8985f91d 100644
--- a/base/commandLine.cpp
+++ b/base/commandLine.cpp
@@ -436,7 +436,7 @@ static QualifiedGameDescriptor findGameMatchingName(const Common::String &name)
}
static Common::String createTemporaryTarget(const Common::String &engineId, const Common::String &gameId) {
- Common::String domainName = gameId;
+ Common::String domainName = EngineMan.generateUniqueDomain(gameId);
ConfMan.addGameDomain(domainName);
ConfMan.set("engineid", engineId, domainName);
Commit: 7f457f8e944a273eb78023842f5192942a5042f0
https://github.com/scummvm/scummvm/commit/7f457f8e944a273eb78023842f5192942a5042f0
Author: Roberto Sánchez (robertosanchez_9 at protonmail.com)
Date: 2022-12-07T22:58:48+01:00
Commit Message:
BASE: Refactor EngineManager::createTargetForGame
Changed paths:
base/plugins.cpp
diff --git a/base/plugins.cpp b/base/plugins.cpp
index 7a81e3ce415..cefe7401168 100644
--- a/base/plugins.cpp
+++ b/base/plugins.cpp
@@ -773,15 +773,7 @@ Common::String EngineManager::createTargetForGame(const DetectedGame &game) {
Common::String domain = game.preferredTarget;
assert(!domain.empty());
- if (ConfMan.hasGameDomain(domain)) {
- int suffixN = 1;
- Common::String gameid(domain);
-
- while (ConfMan.hasGameDomain(domain)) {
- domain = gameid + Common::String::format("-%d", suffixN);
- suffixN++;
- }
- }
+ domain = generateUniqueDomain(domain);
// Add the name domain
ConfMan.addGameDomain(domain);
More information about the Scummvm-git-logs
mailing list