[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