aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/resource.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2010-11-09 19:37:42 +0000
committerFilippos Karapetis2010-11-09 19:37:42 +0000
commit1a85ce8e036a292b3d2569d8044b787e76ce48f9 (patch)
treeef6a631b35fa012598d89323b2e63cc7fa3a2c85 /engines/sci/resource.cpp
parent45f4f84e03320cdcac569405b6209b5e763f0bdf (diff)
downloadscummvm-rg350-1a85ce8e036a292b3d2569d8044b787e76ce48f9.tar.gz
scummvm-rg350-1a85ce8e036a292b3d2569d8044b787e76ce48f9.tar.bz2
scummvm-rg350-1a85ce8e036a292b3d2569d8044b787e76ce48f9.zip
SCI: Some slight work on SCI3
- Enabled the SCI3 game entries for testing purposes - The resource manager is initialized fully now (with a slight hack) - Added a hack for the demo of Shivers 2 (which seemingly has no scripts or vocabularies) - The engine will stop before parsing any game scripts in SCI3 games, and opens the console for resource manager-related functionality svn-id: r54167
Diffstat (limited to 'engines/sci/resource.cpp')
-rw-r--r--engines/sci/resource.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index f08c72a833..cb3b2807e6 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -824,6 +824,13 @@ void ResourceManager::init(bool initFromFallbackDetector) {
_mapVersion = detectMapVersion();
_volVersion = detectVolVersion();
+
+ // TODO/FIXME: Remove once SCI3 resource detection is finished
+ if ((_mapVersion == kResVersionSci3 || _volVersion == kResVersionSci3) && (_mapVersion != _volVersion)) {
+ warning("FIXME: Incomplete SCI3 detection: setting map and volume version to SCI3");
+ _mapVersion = _volVersion = kResVersionSci3;
+ }
+
if ((_volVersion == kResVersionUnknown) && (_mapVersion != kResVersionUnknown)) {
warning("Volume version not detected, but map version has been detected. Setting volume version to map version");
_volVersion = _mapVersion;
@@ -1046,6 +1053,8 @@ ResVersion ResourceManager::detectMapVersion() {
byte buff[6];
ResourceSource *rsrc= 0;
+ // TODO: Add SCI3 support
+
for (Common::List<ResourceSource *>::iterator it = _sources.begin(); it != _sources.end(); ++it) {
rsrc = *it;
@@ -2150,12 +2159,12 @@ void ResourceManager::detectSciVersion() {
case kResVersionSci11:
s_sciVersion = SCI_VERSION_1_1;
return;
+ case kResVersionSci3:
+ s_sciVersion = SCI_VERSION_3;
+ return;
default:
s_sciVersion = SCI_VERSION_NONE;
- if (_volVersion == kResVersionSci3)
- error("detectSciVersion(): Detected an SCI3 game, currently unsupported");
- else
- error("detectSciVersion(): Unable to detect the game's SCI version");
+ error("detectSciVersion(): Unable to detect the game's SCI version");
}
}