[Scummvm-git-logs] scummvm branch-2-3 -> c016cb57cd446f0d76a6aec5f43ea02a4d565f3e
zeldin-of-two-factors
80979729+zeldin-of-two-factors at users.noreply.github.com
Mon Sep 20 21:31:35 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:
da5e8c667d PLUGINS: Make detection plugin filename check case insensitive
e8ed75d884 PLUGINS: In uncached mode, try plugin which matches engine name first
6f746e51a8 DC: Enable options to save more memory
c016cb57cd DC: Preserve appDomain when reloading config on disc swap
Commit: da5e8c667d3273c7144786a1349a9c229a772825
https://github.com/scummvm/scummvm/commit/da5e8c667d3273c7144786a1349a9c229a772825
Author: Marcus Comstedt (marcus at mc.pp.se)
Date: 2021-09-20T23:30:44+02:00
Commit Message:
PLUGINS: Make detection plugin filename check case insensitive
Plugin filenames are all upper case on Dreamcast due to the ISO 9660
filesystem. It doesn't seem likely that making the check case
insensitive would cause any problems even on a file system that
is case sensitive.
Changed paths:
base/plugins.cpp
diff --git a/base/plugins.cpp b/base/plugins.cpp
index 85e46837f7..14870561a6 100644
--- a/base/plugins.cpp
+++ b/base/plugins.cpp
@@ -369,7 +369,7 @@ void PluginManagerUncached::init() {
#ifndef DETECTION_STATIC
if (!foundDetectPlugin && (*pp)->isFilePluginProvider()) {
Common::String pName = (*p)->getFileName();
- if (pName.hasSuffix(detectPluginName)) {
+ if (pName.hasSuffixIgnoreCase(detectPluginName)) {
_detectionPlugin = (*p);
foundDetectPlugin = true;
debug(9, "Detection plugin found!");
Commit: e8ed75d884726763fd03eddad34663ff98918e3b
https://github.com/scummvm/scummvm/commit/e8ed75d884726763fd03eddad34663ff98918e3b
Author: Marcus Comstedt (marcus at mc.pp.se)
Date: 2021-09-20T23:30:49+02:00
Commit Message:
PLUGINS: In uncached mode, try plugin which matches engine name first
Trying all engine plugins in alphabetical order is a time consuming
process, so start by trying the plugin which has the same name as the
engine id first, if it exists, as it will usually be the right one.
In the rare case that it would be the wrong one there is no problem;
the code will simply fall through to the old scanning and then record
the correct plugin in the engine_plugin_files domain where it will be
found the next time the plugin is needed.
Changed paths:
base/plugins.cpp
diff --git a/base/plugins.cpp b/base/plugins.cpp
index 14870561a6..b0675c6e5a 100644
--- a/base/plugins.cpp
+++ b/base/plugins.cpp
@@ -409,6 +409,20 @@ bool PluginManagerUncached::loadPluginFromEngineId(const Common::String &engineI
}
}
}
+ // Check for a plugin with the same name as the engine before starting
+ // to scan all plugins
+ Common::String tentativeEnginePluginFilename = engineId;
+#ifdef PLUGIN_SUFFIX
+ tentativeEnginePluginFilename += PLUGIN_SUFFIX;
+#endif
+ for (PluginList::iterator p = _allEnginePlugins.begin(); p != _allEnginePlugins.end(); ++p) {
+ Common::String filename = (*p)->getFileName();
+ if (filename.hasSuffixIgnoreCase(tentativeEnginePluginFilename)) {
+ if (loadPluginByFileName(filename)) {
+ return true;
+ }
+ }
+ }
return false;
}
Commit: 6f746e51a8d10c3c053769608cc85279548bd595
https://github.com/scummvm/scummvm/commit/6f746e51a8d10c3c053769608cc85279548bd595
Author: Marcus Comstedt (marcus at mc.pp.se)
Date: 2021-09-20T23:30:56+02:00
Commit Message:
DC: Enable options to save more memory
Changed paths:
configure
diff --git a/configure b/configure
index f01de2e01f..2312e063dd 100755
--- a/configure
+++ b/configure
@@ -2878,6 +2878,10 @@ EOF
dreamcast)
append_var DEFINES "-D__DC__"
append_var DEFINES "-DNONSTANDARD_PORT"
+ _detection_features_full=no
+ if test "$_dynamic_modules" = yes ; then
+ _detection_features_static=no
+ fi
;;
ds)
_optimization_level=-Os
@@ -3321,6 +3325,7 @@ if test -n "$_host"; then
_backend="dc"
_build_scalers=no
_build_aspect=no
+ _tinygl=no
# These two are needed due to shortcomings of the
# detection systems. Do not remove until auto-
# detection works correctly.
@@ -4110,6 +4115,7 @@ POST_OBJS_FLAGS :=
dreamcast)
_plugin_prefix=""
_plugin_suffix=".plg"
+ append_var DEFINES "-DUNCACHED_PLUGINS"
_mak_plugins='
PLUGIN_EXTRA_DEPS = $(abspath $(srcdir)/backends/platform/dc/plugin.x $(srcdir)/backends/platform/dc/plugin.syms) $(EXECUTABLE) backends/platform/dc/plugin_head.o
PLUGIN_LDFLAGS = -ml -m4-single-only -nostartfiles -Wl,-q,-T$(srcdir)/backends/platform/dc/plugin.x,--just-symbols,$(EXECUTABLE),--retain-symbols-file,$(srcdir)/backends/platform/dc/plugin.syms backends/platform/dc/plugin_head.o
Commit: c016cb57cd446f0d76a6aec5f43ea02a4d565f3e
https://github.com/scummvm/scummvm/commit/c016cb57cd446f0d76a6aec5f43ea02a4d565f3e
Author: Marcus Comstedt (marcus at mc.pp.se)
Date: 2021-09-20T23:31:03+02:00
Commit Message:
DC: Preserve appDomain when reloading config on disc swap
This is needed to prevent essential settings like
always_run_fallback_detection_extern from being removed.
Changed paths:
backends/platform/dc/selector.cpp
diff --git a/backends/platform/dc/selector.cpp b/backends/platform/dc/selector.cpp
index d2d7b4cd85..7f03eaa687 100644
--- a/backends/platform/dc/selector.cpp
+++ b/backends/platform/dc/selector.cpp
@@ -216,7 +216,11 @@ static int findGames(Game *games, int max, bool use_ini)
int curr_game = 0, curr_dir = 0, num_dirs = 0;
if (use_ini) {
+ Common::ConfigManager::Domain *appDomain =
+ ConfMan.getDomain(Common::ConfigManager::kApplicationDomain);
+ Common::ConfigManager::Domain savedAppDomain = *appDomain;
ConfMan.loadDefaultConfigFile();
+ *appDomain = savedAppDomain;
const Common::ConfigManager::DomainMap &game_domains = ConfMan.getGameDomains();
for(Common::ConfigManager::DomainMap::const_iterator i =
game_domains.begin(); curr_game < max && i != game_domains.end(); i++) {
More information about the Scummvm-git-logs
mailing list