aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/sound.cpp
diff options
context:
space:
mode:
authorTravis Howell2008-04-11 08:13:47 +0000
committerTravis Howell2008-04-11 08:13:47 +0000
commita525b5bdd5e7bebb6b342f060e2f1319e0705221 (patch)
tree161dbc3b9020ceb09bcb188bc09bca90e77aec5c /engines/scumm/sound.cpp
parent9f5eefdeec2904c8cf6a24a903c65c06a06f516b (diff)
downloadscummvm-rg350-a525b5bdd5e7bebb6b342f060e2f1319e0705221.tar.gz
scummvm-rg350-a525b5bdd5e7bebb6b342f060e2f1319e0705221.tar.bz2
scummvm-rg350-a525b5bdd5e7bebb6b342f060e2f1319e0705221.zip
Allow mixed Adlib/MIDI mode in VGA version of SOMI.
svn-id: r31483
Diffstat (limited to 'engines/scumm/sound.cpp')
-rw-r--r--engines/scumm/sound.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp
index ae337030e1..d7e3ec1508 100644
--- a/engines/scumm/sound.cpp
+++ b/engines/scumm/sound.cpp
@@ -2111,7 +2111,16 @@ int ScummEngine::readSoundResourceSmallHeader(int idx) {
}
}
- if ((_musicType == MDT_ADLIB) && ad_offs != 0) {
+ if ((_musicType == MDT_PCSPK) && wa_offs != 0) {
+ if (_game.features & GF_OLD_BUNDLE) {
+ _fileHandle->seek(wa_offs, SEEK_SET);
+ _fileHandle->read(_res->createResource(rtSound, idx, wa_size), wa_size);
+ } else {
+ _fileHandle->seek(wa_offs - 6, SEEK_SET);
+ _fileHandle->read(_res->createResource(rtSound, idx, wa_size + 6), wa_size + 6);
+ }
+ return 1;
+ } else if (ad_offs != 0) {
// AD resources have a header, instrument definitions and one MIDI track.
// We build an 'ADL ' resource from that:
// 8 bytes resource header
@@ -2133,15 +2142,6 @@ int ScummEngine::readSoundResourceSmallHeader(int idx) {
convertADResource(_res, _game, idx, ptr, ad_size);
free(ptr);
return 1;
- } else if ((_musicType == MDT_PCSPK) && wa_offs != 0) {
- if (_game.features & GF_OLD_BUNDLE) {
- _fileHandle->seek(wa_offs, SEEK_SET);
- _fileHandle->read(_res->createResource(rtSound, idx, wa_size), wa_size);
- } else {
- _fileHandle->seek(wa_offs - 6, SEEK_SET);
- _fileHandle->read(_res->createResource(rtSound, idx, wa_size + 6), wa_size + 6);
- }
- return 1;
} else if (ro_offs != 0) {
_fileHandle->seek(ro_offs - 2, SEEK_SET);
_fileHandle->read(_res->createResource(rtSound, idx, ro_size - 4), ro_size - 4);