[Scummvm-git-logs] scummvm master -> 7e3f13a921bf8a9b309d7439be8a204edf79e538

aquadran noreply at scummvm.org
Sun Jul 19 19:32:00 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:
7e3f13a921 WINTERMUTE: Rework packages for 'Project Joe', 'Mystic Triddle', 'Monday Starts on Saturday'


Commit: 7e3f13a921bf8a9b309d7439be8a204edf79e538
    https://github.com/scummvm/scummvm/commit/7e3f13a921bf8a9b309d7439be8a204edf79e538
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2026-07-19T21:31:47+02:00

Commit Message:
WINTERMUTE: Rework packages 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 8077b52a051..b32445a48b2 100644
--- a/engines/wintermute/base/base_file_manager.cpp
+++ b/engines/wintermute/base/base_file_manager.cpp
@@ -251,12 +251,15 @@ 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)) {
 			warning("getChildren() failed for path: %s", it->getName().c_str());
 		}
+
+		// Sort packages in alphabetical order
+		Common::sort(files.begin(), files.end());
+
 		for (Common::FSList::const_iterator fileIt = files.begin(); fileIt != files.end(); ++fileIt) {
 			if (!fileIt)
 				continue;
@@ -275,19 +278,10 @@ bool BaseFileManager::registerPackages() {
 				searchSignature = true;
 			}
 
-			// 'Project Joe' and 'Mystic Triddle'
-			// Put package as last
+			// W/A: skip package in 'Project Joe' and 'Mystic Triddle'
 			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);
+				(BaseEngine::instance().getGameId() == "projectjoe" ||
+				 BaseEngine::instance().getGameId() == "mystictriddle")) {
 				continue;
 			}
 
@@ -390,13 +384,6 @@ 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