[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