aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2011-10-15 01:00:58 +0300
committerFilippos Karapetis2011-10-15 01:00:58 +0300
commitb956b2414986de7813a7920b6e03c1fde971cc6e (patch)
tree950aabcb868d5d4fd8121c4e1f9aa8e707bfaa92 /engines
parent88472151b4e5da4c4f29532d2839568d7805c374 (diff)
downloadscummvm-rg350-b956b2414986de7813a7920b6e03c1fde971cc6e.tar.gz
scummvm-rg350-b956b2414986de7813a7920b6e03c1fde971cc6e.tar.bz2
scummvm-rg350-b956b2414986de7813a7920b6e03c1fde971cc6e.zip
SCI: Added a heuristic to distinguish Mac SCI1.1 from SCI2.1 versions
This removes the hack that checks for the existence of resource.cfg
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/resource.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index bdd7d6692b..d1eb350c94 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -2181,15 +2181,16 @@ void ResourceManager::detectSciVersion() {
}
if (_volVersion == kResVersionSci11Mac) {
- // SCI32 doesn't have the resource.cfg file, so we can figure out
- // which of the games are SCI1.1. Note that there are no Mac SCI2 games.
- // Yes, that means that GK1 Mac is SCI2.1 and not SCI2.
+ Resource *res = testResource(ResourceId(kResourceTypeScript, 64920));
+ // Distinguish between SCI1.1 and SCI32 games here. SCI32 games will
+ // always include script 64920 (the Array class). Note that there are
+ // no Mac SCI2 games. Yes, that means that GK1 Mac is SCI2.1 and not SCI2.
// TODO: Decide between SCI2.1 and SCI3
- if (Common::File::exists("resource.cfg"))
- s_sciVersion = SCI_VERSION_1_1;
- else
+ if (res)
s_sciVersion = SCI_VERSION_2_1;
+ else
+ s_sciVersion = SCI_VERSION_1_1;
return;
}