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

mthreepwood at users.sourceforge.net mthreepwood at users.sourceforge.net
Fri Feb 20 00:01:04 CET 2009


Revision: 38566
          http://scummvm.svn.sourceforge.net/scummvm/?rev=38566&view=rev
Author:   mthreepwood
Date:     2009-02-19 23:01:04 +0000 (Thu, 19 Feb 2009)

Log Message:
-----------
- Do not break after finding an executable in SCI fallback detection, as we may not have found the resource files yet.
- Re-enabled codename iceman amiga and fix amiga fallback detection.

Modified Paths:
--------------
    scummvm/trunk/engines/sci/detection.cpp
    scummvm/trunk/engines/sci/exereader.cpp

Modified: scummvm/trunk/engines/sci/detection.cpp
===================================================================
--- scummvm/trunk/engines/sci/detection.cpp	2009-02-19 22:02:22 UTC (rev 38565)
+++ scummvm/trunk/engines/sci/detection.cpp	2009-02-19 23:01:04 UTC (rev 38566)
@@ -171,7 +171,6 @@
 	},
 #endif
 
-#if 0
 	// Codename: Iceman - English Amiga (from www.back2roots.org)
 	{{"iceman", "", {
 		{"resource.map", 0, "035829b391709a4e542d7c7b224625f6", 6000},
@@ -183,9 +182,8 @@
 		{"resource.005", 0, "605b67a9ef199a9bb015745e7c004cf4", 478384},
 		{NULL, 0, NULL, 0}}, Common::EN_ANY, Common::kPlatformAmiga, 0},
 		{},
-		SCI_VERSION(0, 000, 685)	// FIXME: some versions are v. 0.000.668
+		SCI_VERSION(0, 000, 685)
 	},
-#endif
 
 	// Codename: Iceman - English DOS
 	{{"iceman", "", {
@@ -1683,17 +1681,19 @@
 
 		// Check if it's a known executable name
 		if (filename.contains("scidhuv") || filename.contains("sciv") ||
-			filename.contains("sierra") || filename.contains("sciw")) {
+			filename.contains("sierra") || filename.contains("sciw") ||
+			filename.contains("prog")) {
+			
+			if (foundExe) // We already found a valid exe, no need to check this one.
+				continue;
+			
 			// Is it really an executable file?
 			Common::SeekableReadStream *fileStream = file->createReadStream();
 			bool isExe = isGameExe(fileStream);
 
-			if (isExe && readSciVersionFromExe(fileStream, &exeVersion)) {
-				// All ok, we got the version from the executable successfully
+			if (isExe && readSciVersionFromExe(fileStream, &exeVersion)) // All ok, we got the version from the executable successfully	
 				foundExe = true;
-				delete fileStream;
-				break;
-			} 
+				
 			delete fileStream;
 		}
 

Modified: scummvm/trunk/engines/sci/exereader.cpp
===================================================================
--- scummvm/trunk/engines/sci/exereader.cpp	2009-02-19 22:02:22 UTC (rev 38565)
+++ scummvm/trunk/engines/sci/exereader.cpp	2009-02-19 23:01:04 UTC (rev 38566)
@@ -52,7 +52,7 @@
 	}
 
 	// Check if it's an Amiga executable
-	if ((magic[0] == 0x03 && magic[1] == 0xF3) ||
+	if ((magic[2] == 0x03 && magic[3] == 0xF3) ||
 		(magic[0] == 0x7F && magic[1] == 'E' && magic[2] == 'L' && magic[3] == 'F')) {
 		return true;
 	}


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