aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/detection.cpp
diff options
context:
space:
mode:
authorMatthew Hoops2010-05-10 18:29:13 +0000
committerMatthew Hoops2010-05-10 18:29:13 +0000
commit7344ac20d7461245103279a8b48f853371018a79 (patch)
treee102b3a50960e5c4845f8ef2e3a1e30868e93897 /engines/sci/detection.cpp
parentb9813063ad3cfca5f7ff7a731eccca0bb32159e0 (diff)
downloadscummvm-rg350-7344ac20d7461245103279a8b48f853371018a79.tar.gz
scummvm-rg350-7344ac20d7461245103279a8b48f853371018a79.tar.bz2
scummvm-rg350-7344ac20d7461245103279a8b48f853371018a79.zip
Add support for loading SCI games from Mac resource forks. The games themselves do not work yet as some (not all) of the data is in BE order instead of LE. They currently error out because it thinks the relocation block is outside of the script.
svn-id: r48998
Diffstat (limited to 'engines/sci/detection.cpp')
-rw-r--r--engines/sci/detection.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp
index 3c526dd1cd..b574484319 100644
--- a/engines/sci/detection.cpp
+++ b/engines/sci/detection.cpp
@@ -223,7 +223,7 @@ const ADGameDescription *SciMetaEngine::fallbackDetect(const Common::FSList &fsl
Common::String filename = file->getName();
filename.toLowercase();
- if (filename.contains("resource.map") || filename.contains("resmap.00")) {
+ if (filename.contains("resource.map") || filename.contains("resmap.00") || filename.contains("Data1")) {
// HACK: resource.map is located in the same directory as the other resource files,
// therefore add the directory here, so that the game files can be opened later on
// We now add the parent directory temporary to our SearchMan so the engine code
@@ -259,6 +259,12 @@ const ADGameDescription *SciMetaEngine::fallbackDetect(const Common::FSList &fsl
|| filename.contains("ressci.000") || filename.contains("ressci.001"))
foundRes000 = true;
+ // Data1 contains both map and volume for SCI1.1+ Mac games
+ if (filename.contains("Data1")) {
+ foundResMap = foundRes000 = true;
+ s_fallbackDesc.platform = Common::kPlatformMacintosh;
+ }
+
// Determine the game platform
// The existence of any of these files indicates an Amiga game
if (filename.contains("9.pat") || filename.contains("spal") ||