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
This commit is contained in:
Filippos Karapetis 2010-11-10 14:28:45 +00:00
parent 380121fb55
commit 9d1006c7a3
2 changed files with 12 additions and 10 deletions

View File

@ -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");

View File

@ -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;