diff options
author | Filippos Karapetis | 2010-11-10 14:28:45 +0000 |
---|---|---|
committer | Filippos Karapetis | 2010-11-10 14:28:45 +0000 |
commit | 9d1006c7a3503cd603a9266e6ae589fe8c090d83 (patch) | |
tree | 023a6b5fc47f527294327c68a44ff463b46888bb /engines/sci | |
parent | 380121fb556bf137fe78a2acbf3baa112a2fad19 (diff) | |
download | scummvm-rg350-9d1006c7a3503cd603a9266e6ae589fe8c090d83.tar.gz scummvm-rg350-9d1006c7a3503cd603a9266e6ae589fe8c090d83.tar.bz2 scummvm-rg350-9d1006c7a3503cd603a9266e6ae589fe8c090d83.zip |
SCI3: Some changes
- Placed the SCI3 version detection in the proper place
- Some new types of SCI3 MT-32 patches (e.g. in the Lighthouse SCI3 demo) are
ignored, for now
svn-id: r54188
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/resource.cpp | 10 | ||||
-rw-r--r-- | engines/sci/sound/drivers/midi.cpp | 12 |
2 files changed, 12 insertions, 10 deletions
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp index 6501fa27b6..e9a88df541 100644 --- a/engines/sci/resource.cpp +++ b/engines/sci/resource.cpp @@ -2079,10 +2079,9 @@ void ResourceManager::detectSciVersion() { } else if (!heaps->empty()) { s_sciVersion = SCI_VERSION_2_1; return; -// Enable SCI3 games by uncommenting the below lines -// } else { -// s_sciVersion = SCI_VERSION_3; -// return; + } else { + s_sciVersion = SCI_VERSION_3; + return; } } @@ -2170,9 +2169,6 @@ 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; error("detectSciVersion(): Unable to detect the game's SCI version"); diff --git a/engines/sci/sound/drivers/midi.cpp b/engines/sci/sound/drivers/midi.cpp index 6611753420..a8f20dc0e2 100644 --- a/engines/sci/sound/drivers/midi.cpp +++ b/engines/sci/sound/drivers/midi.cpp @@ -893,10 +893,16 @@ int MidiPlayer_Midi::open(ResourceManager *resMan) { res = resMan->findResource(ResourceId(kResourceTypePatch, 1), 0); if (res) { - if (!isMt32GmPatch(res->data, res->size)) + if (!isMt32GmPatch(res->data, res->size)) { mapMt32ToGm(res->data, res->size); - else - error("MT-32 patch has wrong type"); + } else { + if (getSciVersion() <= SCI_VERSION_2_1) { + error("MT-32 patch has wrong type"); + } else { + // Happens in the SCI3 interactive demo of Lighthouse + warning("TODO: Ignoring new SCI3 type of MT-32 patch for now (size = %d)", res->size); + } + } } else { // No MT-32 patch present, try to read from MT32.DRV Common::File f; |