diff options
author | Matthew Hoops | 2009-02-19 23:01:04 +0000 |
---|---|---|
committer | Matthew Hoops | 2009-02-19 23:01:04 +0000 |
commit | f0aa58da1f0ddad2a201007fb5b0b6a08d5acb60 (patch) | |
tree | 4a66a77d6b9f53ea76cdabaf99b60189f053b02e /engines | |
parent | cf559f631ba32cd15861f72fa91fb1c932fd8ce8 (diff) | |
download | scummvm-rg350-f0aa58da1f0ddad2a201007fb5b0b6a08d5acb60.tar.gz scummvm-rg350-f0aa58da1f0ddad2a201007fb5b0b6a08d5acb60.tar.bz2 scummvm-rg350-f0aa58da1f0ddad2a201007fb5b0b6a08d5acb60.zip |
- 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.
svn-id: r38566
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/detection.cpp | 18 | ||||
-rw-r--r-- | engines/sci/exereader.cpp | 2 |
2 files changed, 10 insertions, 10 deletions
diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp index a434649136..92dcee64d8 100644 --- a/engines/sci/detection.cpp +++ b/engines/sci/detection.cpp @@ -171,7 +171,6 @@ static const struct SciGameDescription SciGameDescriptions[] = { }, #endif -#if 0 // Codename: Iceman - English Amiga (from www.back2roots.org) {{"iceman", "", { {"resource.map", 0, "035829b391709a4e542d7c7b224625f6", 6000}, @@ -183,9 +182,8 @@ static const struct SciGameDescription SciGameDescriptions[] = { {"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 @@ const ADGameDescription *SciMetaEngine::fallbackDetect(const Common::FSList &fsl // 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; } diff --git a/engines/sci/exereader.cpp b/engines/sci/exereader.cpp index efb4969973..21e55760e1 100644 --- a/engines/sci/exereader.cpp +++ b/engines/sci/exereader.cpp @@ -52,7 +52,7 @@ bool isGameExe(Common::SeekableReadStream *exeStream) { } // 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; } |