[Scummvm-cvs-logs] SF.net SVN: scummvm:[42374] scummvm/trunk/engines/sci/resource.cpp

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Sat Jul 11 08:43:01 CEST 2009


Revision: 42374
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42374&view=rev
Author:   thebluegr
Date:     2009-07-11 06:43:01 +0000 (Sat, 11 Jul 2009)

Log Message:
-----------
Applied slightly modified patch 2819002 - "SCI: resource-view-patch on SQ5/German fix"

Modified Paths:
--------------
    scummvm/trunk/engines/sci/resource.cpp

Modified: scummvm/trunk/engines/sci/resource.cpp
===================================================================
--- scummvm/trunk/engines/sci/resource.cpp	2009-07-11 06:34:25 UTC (rev 42373)
+++ scummvm/trunk/engines/sci/resource.cpp	2009-07-11 06:43:01 UTC (rev 42374)
@@ -883,6 +883,21 @@
 		debug("Patching %s failed - resource type mismatch", source->location_name.c_str());
 		return;
 	}
+
+	// Fixes SQ5/German, patch file special case logic taken from SCI View disassembly
+	if (patch_data_offset & 0x80) {
+		switch (patch_data_offset & 0x7F) {
+			case 0:
+				patch_data_offset = 24;
+				break;
+			case 1:
+				patch_data_offset = 2;
+				break;
+			default:
+				warning("Resource patch unsupported special case %X\n", patch_data_offset);
+		}
+	}
+
 	if (patch_data_offset + 2 >= fsize) {
 		debug("Patching %s failed - patch starting at offset %d can't be in file of size %d",
 		      source->location_name.c_str(), patch_data_offset + 2, fsize);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list