[Scummvm-git-logs] scummvm master -> be0d3759dd9c8509b5646233ed3d237068cda222
aquadran
noreply at scummvm.org
Sun Jul 19 18:11:58 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
be0d3759dd WINTERMUTE: Fixed packages order for 'Project Joe', 'Mystic Triddle', 'Monday Starts on Saturday'
Commit: be0d3759dd9c8509b5646233ed3d237068cda222
https://github.com/scummvm/scummvm/commit/be0d3759dd9c8509b5646233ed3d237068cda222
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2026-07-19T20:11:45+02:00
Commit Message:
WINTERMUTE: Fixed packages order for 'Project Joe', 'Mystic Triddle', 'Monday Starts on Saturday'
Changed paths:
engines/wintermute/base/base_file_manager.cpp
diff --git a/engines/wintermute/base/base_file_manager.cpp b/engines/wintermute/base/base_file_manager.cpp
index 7b4a002dfd0..8077b52a051 100644
--- a/engines/wintermute/base/base_file_manager.cpp
+++ b/engines/wintermute/base/base_file_manager.cpp
@@ -251,6 +251,7 @@ bool BaseFileManager::registerPackages() {
// Register without using SearchMan, as otherwise the FSNode-based lookup in openPackage will fail
// and that has to be like that to support the detection-scheme.
Common::FSList files;
+ Common::FSList postponedfiles;
for (Common::FSList::const_iterator it = _packagePaths.begin(); it != _packagePaths.end(); ++it) {
debugC(kWintermuteDebugFileAccess, "Should register folder: %s %s", it->getPath().toString(Common::Path::kNativeSeparator).c_str(), it->getName().c_str());
if (!it->getChildren(files, Common::FSNode::kListFilesOnly)) {
@@ -274,10 +275,19 @@ bool BaseFileManager::registerPackages() {
searchSignature = true;
}
- // W/A: skip broken package in 'Project Joe' and 'Mystic Triddle'
+ // 'Project Joe' and 'Mystic Triddle'
+ // Put package as last
if (fileName == "master.dcp" &&
(BaseEngine::instance().getGameId() == "projectjoe" ||
BaseEngine::instance().getGameId() == "mystictriddle")) {
+ postponedfiles.push_back(*fileIt);
+ continue;
+ }
+ // 'Monday Starts on Saturday'
+ // Put package as last
+ if (fileName == "sdata.dcp" &&
+ BaseEngine::instance().getGameId() == "msos") {
+ postponedfiles.push_back(*fileIt);
continue;
}
@@ -380,6 +390,13 @@ bool BaseFileManager::registerPackages() {
debugC(kWintermuteDebugFileAccess, "Registering %s %s", fileIt->getPath().toString(Common::Path::kNativeSeparator).c_str(), fileIt->getName().c_str());
registerPackage((*fileIt), fileName, searchSignature);
}
+
+ for (Common::FSList::const_iterator fileIt = postponedfiles.begin(); fileIt != postponedfiles.end(); ++fileIt) {
+ debugC(kWintermuteDebugFileAccess, "Registering %s %s", fileIt->getPath().toString(Common::Path::kNativeSeparator).c_str(), fileIt->getName().c_str());
+ Common::String fileName = fileIt->getName();
+ fileName.toLowercase();
+ registerPackage((*fileIt), fileName, false);
+ }
}
// debugC(kWintermuteDebugFileAccess, " Registered %d files in %d package(s)", _files.size(), _packages.size());
More information about the Scummvm-git-logs
mailing list