diff options
author | Filippos Karapetis | 2010-11-09 19:37:42 +0000 |
---|---|---|
committer | Filippos Karapetis | 2010-11-09 19:37:42 +0000 |
commit | 1a85ce8e036a292b3d2569d8044b787e76ce48f9 (patch) | |
tree | ef6a631b35fa012598d89323b2e63cc7fa3a2c85 /engines/sci/resource.cpp | |
parent | 45f4f84e03320cdcac569405b6209b5e763f0bdf (diff) | |
download | scummvm-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.cpp | 17 |
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"); } } |