[Scummvm-git-logs] scummvm master -> ddc2fa6c2b301ab364ae8c1e6e04cc084bf35ecf

tnm23 noreply at scummvm.org
Fri Sep 25 12:17:02 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:
ddc2fa6c2b ZVISION: Bugfix for defect #17127


Commit: ddc2fa6c2b301ab364ae8c1e6e04cc084bf35ecf
    https://github.com/scummvm/scummvm/commit/ddc2fa6c2b301ab364ae8c1e6e04cc084bf35ecf
Author: Thomas N McEwan (46427621+tnm23 at users.noreply.github.com)
Date: 2026-09-25T13:15:17+01:00

Commit Message:
ZVISION: Bugfix for defect #17127
DVD versions of Nemesis now correctly load zassets directory when parsing ZIX file.

Changed paths:
    engines/zvision/file/file_manager.cpp


diff --git a/engines/zvision/file/file_manager.cpp b/engines/zvision/file/file_manager.cpp
index a8de55becfe..587fe0a3ad1 100644
--- a/engines/zvision/file/file_manager.cpp
+++ b/engines/zvision/file/file_manager.cpp
@@ -141,12 +141,18 @@ bool FileManager::loadZix(const Common::Path &zixPath, const Common::FSNode &gam
 		return false;
 
 	Common::String line;
+	bool NemesisDVD = false;
 
-	// Skip first block
+	// Process first block
 	while (!zixFile.eos()) {
 		line = zixFile.readLine();
 		if (line.matchString("----------*", true))
 			break;
+		// WORKAROUND: Detect buggy DVD .zix file for Zork Nemesis
+		else if (line.matchString("005131*", true)) {
+			debugC(1, kDebugFile, "Nemesis DVD ZIX file detected.");
+			NemesisDVD = true;
+		}
 	}
 
 	if (zixFile.eos())
@@ -198,6 +204,11 @@ bool FileManager::loadZix(const Common::Path &zixPath, const Common::FSNode &gam
 				}
 			}
 			else {
+				// WORKAROUND for missing line in DVD version of Zork Nemesis
+				if(NemesisDVD && path.getLastComponent().toString().hasSuffixIgnoreCase("global")) {
+					debugC(1, kDebugFile, "Adding directory %s to search manager.", path.getParent().toString().c_str());
+					SearchMan.addSubDirectoryMatching(gameDataDir,path.getParent().toString());
+				}
 				debugC(1, kDebugFile, "Adding directory %s to search manager.", path.toString().c_str());
 				SearchMan.addSubDirectoryMatching(gameDataDir,path.toString());
 			}




More information about the Scummvm-git-logs mailing list