[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