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/engine | |
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/engine')
-rw-r--r-- | engines/sci/engine/seg_manager.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp index d509046a15..cd4baa0ac3 100644 --- a/engines/sci/engine/seg_manager.cpp +++ b/engines/sci/engine/seg_manager.cpp @@ -946,8 +946,18 @@ void SegManager::freeString(reg_t addr) { void SegManager::createClassTable() { Resource *vocab996 = _resMan->findResource(ResourceId(kResourceTypeVocab, 996), 1); - if (!vocab996) - error("SegManager: failed to open vocab 996"); + if (!vocab996) { + if (getSciVersion() <= SCI_VERSION_2_1) { + error("SegManager: failed to open vocab 996"); + } else { + // TODO/FIXME: The demo of Shivers 2 has no vocabularies or scripts! + // This is either a problem with the resource manager, or the game is + // simply not using SCI. Since we are not actually running game scripts + // in SCI3, stop here for now + warning("SegManager: failed to open vocab 996 in SCI3"); + return; + } + } int totalClasses = vocab996->size >> 2; _classTable.resize(totalClasses); |