aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/detection.cpp18
-rw-r--r--engines/sci/exereader.cpp2
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;
}