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

mthreepwood at users.sourceforge.net mthreepwood at users.sourceforge.net
Fri Aug 21 21:48:48 CEST 2009


Revision: 43608
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43608&view=rev
Author:   mthreepwood
Date:     2009-08-21 19:48:48 +0000 (Fri, 21 Aug 2009)

Log Message:
-----------
Fix detection of some later SCI32 games (RESMAP.001) and some cleanup.

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

Modified: scummvm/trunk/engines/sci/resource.cpp
===================================================================
--- scummvm/trunk/engines/sci/resource.cpp	2009-08-21 19:45:49 UTC (rev 43607)
+++ scummvm/trunk/engines/sci/resource.cpp	2009-08-21 19:48:48 UTC (rev 43608)
@@ -356,6 +356,8 @@
 #ifdef ENABLE_SCI32
 	else if (Common::File::exists("RESMAP.000"))
 		map = addExternalMap("RESMAP.000");
+	else if (Common::File::exists("RESMAP.001"))
+		map = addExternalMap("RESMAP.001");
 #endif
 	else
 		return 0;
@@ -746,16 +748,13 @@
 	while (!fileStream->eos()) {
 		directoryType = fileStream->readByte();
 		directoryOffset = fileStream->readUint16LE();
-		
+
 		// Only SCI32 has directory type < 0x80
-		if (directoryType < 0x80 && mapDetected != kResVersionUnknown && mapDetected != kResVersionSci32)
+		if (directoryType < 0x80 && (mapDetected == kResVersionUnknown || mapDetected == kResVersionSci32))
 			mapDetected = kResVersionSci32;
-		else
+		else if ((directoryType < 0x80) || (directoryType > 0xA0 && directoryType != 0xFF))
 			break;
 		
-		if (directoryType > 0xA0 && directoryType != 0xFF)
-			break;
-		
 		// Offset is above file size? -> definitely not SCI1/SCI1.1
 		if (directoryOffset > fileStream->size())
 			break;


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