[Scummvm-git-logs] scummvm master -> 89ec9e676252a805aebf4062454e69faea39bf1d

csnover csnover at users.noreply.github.com
Mon Apr 24 05:14:02 CEST 2017


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
82d9cacba0 SCI32: Allow resource maps with missing corresponding volumes
89ec9e6762 SCI32: Remove SCI3 TODO


Commit: 82d9cacba0e7c2c6f5b0ce4d07f8f44a2044488f
    https://github.com/scummvm/scummvm/commit/82d9cacba0e7c2c6f5b0ce4d07f8f44a2044488f
Author: Colin Snover (github.com at zetafleet.com)
Date: 2017-04-23T22:11:05-05:00

Commit Message:
SCI32: Allow resource maps with missing corresponding volumes

GK2 on Steam comes with an extra bogus resource map file which
would previously cause ScummVM to refuse to load the game due to
a mismatch in the number of map & volume files. This does not
cause any harm, but is a pain for users (since it requires them to
manually delete the file, and it will be recreated if a user runs
the Steam game file integrity check), so allow the game to load
with a warning instead.

Changed paths:
    engines/sci/resource.cpp


diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index f5edda9..92b90d0 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -615,8 +615,7 @@ int ResourceManager::addAppropriateSources() {
 		SearchMan.listMatchingMembers(mapFiles, "resmap.0??");
 		SearchMan.listMatchingMembers(files, "ressci.0??");
 
-		// We need to have the same number of maps as resource archives
-		if (mapFiles.empty() || files.empty() || mapFiles.size() != files.size())
+		if (mapFiles.empty() || files.empty())
 			return 0;
 
 		if (Common::File::exists("resaud.001")) {
@@ -626,16 +625,23 @@ int ResourceManager::addAppropriateSources() {
 		for (Common::ArchiveMemberList::const_iterator mapIterator = mapFiles.begin(); mapIterator != mapFiles.end(); ++mapIterator) {
 			Common::String mapName = (*mapIterator)->getName();
 			int mapNumber = atoi(strrchr(mapName.c_str(), '.') + 1);
+			bool foundVolume = false;
 
 			for (Common::ArchiveMemberList::const_iterator fileIterator = files.begin(); fileIterator != files.end(); ++fileIterator) {
 				Common::String resName = (*fileIterator)->getName();
 				int resNumber = atoi(strrchr(resName.c_str(), '.') + 1);
 
 				if (mapNumber == resNumber) {
+					foundVolume = true;
 					addSource(new VolumeResourceSource(resName, addExternalMap(mapName, mapNumber), mapNumber));
 					break;
 				}
 			}
+
+			// GK2 on Steam comes with an extra bogus resource map file
+			if (!foundVolume) {
+				warning("Could not find corresponding volume for %s", mapName.c_str());
+			}
 		}
 
 		// SCI2.1 resource patches


Commit: 89ec9e676252a805aebf4062454e69faea39bf1d
    https://github.com/scummvm/scummvm/commit/89ec9e676252a805aebf4062454e69faea39bf1d
Author: Colin Snover (github.com at zetafleet.com)
Date: 2017-04-23T22:13:53-05:00

Commit Message:
SCI32: Remove SCI3 TODO

SCI3 resources appear to already be properly handled.

Changed paths:
    engines/sci/resource.cpp


diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index 92b90d0..f61a8db 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -1150,8 +1150,6 @@ ResVersion ResourceManager::detectMapVersion() {
 	byte buff[6];
 	ResourceSource *rsrc= 0;
 
-	// TODO: Add SCI3 support
-
 	for (Common::List<ResourceSource *>::iterator it = _sources.begin(); it != _sources.end(); ++it) {
 		rsrc = *it;
 





More information about the Scummvm-git-logs mailing list