[Scummvm-cvs-logs] scummvm master -> c9873dae4312be326c04ab1081db6b57da237daa

bluegr md5 at scummvm.org
Fri Aug 26 01:01:37 CEST 2011


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

Summary:
c9873dae43 SCI: Fixed bug #3366295 - "SCI: User-translated files are ignored"


Commit: c9873dae4312be326c04ab1081db6b57da237daa
    https://github.com/scummvm/scummvm/commit/c9873dae4312be326c04ab1081db6b57da237daa
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2011-08-25T15:56:50-07:00

Commit Message:
SCI: Fixed bug #3366295 - "SCI: User-translated files are ignored"

Thanks to tinekefrineke and tdhs for pinpointing the actual problem in the
resource manager

Changed paths:
    engines/sci/resource.cpp



diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index f18b6c9..1b8b7b2 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -1721,15 +1721,19 @@ int ResourceManager::readResourceMapSCI1(ResourceSource *map) {
 			if (!resource) {
 				addResource(resId, source, fileOffset);
 			} else {
-				// if resource is already present, change it to new content
-				//  this is needed at least for pharkas/german. This version
-				//  contains several duplicate resources INSIDE the resource
-				//  data files like fonts, views, scripts, etc. And if we use
-				//  the first entries, half of the game will be english and
-				//  umlauts will also be missing :P
-				resource->_source = source;
-				resource->_fileOffset = fileOffset;
-				resource->size = 0;
+				// If the resource is already present in a volume, change it to
+				// the new content (but only in a volume, so as not to overwrite
+				// external patches - refer to bug #3366295).
+				// This is needed at least for the German version of Pharkas.
+				// That version contains several duplicate resources INSIDE the
+				// resource data files like fonts, views, scripts, etc. Thus,
+				// if we use the first entries in the resource file, half of the
+				// game will be English and umlauts will also be missing :P
+				if (resource->_source->getSourceType() == kSourceVolume) {
+					resource->_source = source;
+					resource->_fileOffset = fileOffset;
+					resource->size = 0;
+				}
 			}
 		}
 	}






More information about the Scummvm-git-logs mailing list