aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2003-08-14 08:47:47 +0000
committerTravis Howell2003-08-14 08:47:47 +0000
commit6d1272289901a8384f8abe3a53385a12a7812590 (patch)
tree2cb67f8e7c5dbf9ad4a8bfdeed6cd1ab08567b03 /scumm
parentc022f020f1dfa677f1d7d70ac1157b2e7d2c4c90 (diff)
downloadscummvm-rg350-6d1272289901a8384f8abe3a53385a12a7812590.tar.gz
scummvm-rg350-6d1272289901a8384f8abe3a53385a12a7812590.tar.bz2
scummvm-rg350-6d1272289901a8384f8abe3a53385a12a7812590.zip
Rearrange to be safer
svn-id: r9686
Diffstat (limited to 'scumm')
-rw-r--r--scumm/resource.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/scumm/resource.cpp b/scumm/resource.cpp
index a45f1738c4..5f0289c6e0 100644
--- a/scumm/resource.cpp
+++ b/scumm/resource.cpp
@@ -1484,20 +1484,7 @@ int Scumm::readSoundResourceSmallHeader(int type, int idx) {
}
}
- if (ro_offs != 0) {
- _fileHandle.seek(ro_offs - 2, SEEK_SET);
- _fileHandle.read(createResource(type, idx, ro_size + 2), ro_size + 2);
- return 1;
- } else if (((_midiDriver == MD_PCJR) || (_midiDriver == MD_PCSPK)) && wa_offs != 0) {
- if (_features & GF_OLD_BUNDLE) {
- _fileHandle.seek(wa_offs, SEEK_SET);
- _fileHandle.read(createResource(type, idx, wa_size), wa_size);
- } else {
- _fileHandle.seek(wa_offs - 6, SEEK_SET);
- _fileHandle.read(createResource(type, idx, wa_size + 6), wa_size + 6);
- }
- return 1;
- } else if (ad_offs != 0) {
+ if ((_midiDriver == MD_ADLIB) && 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
@@ -1518,6 +1505,19 @@ int Scumm::readSoundResourceSmallHeader(int type, int idx) {
_fileHandle.read(ptr, ad_size - 6);
return convertADResource(type, idx, ptr, ad_size - 6);
}
+ } else if (((_midiDriver == MD_PCJR) || (_midiDriver == MD_PCSPK)) && wa_offs != 0) {
+ if (_features & GF_OLD_BUNDLE) {
+ _fileHandle.seek(wa_offs, SEEK_SET);
+ _fileHandle.read(createResource(type, idx, wa_size), wa_size);
+ } else {
+ _fileHandle.seek(wa_offs - 6, SEEK_SET);
+ _fileHandle.read(createResource(type, idx, wa_size + 6), wa_size + 6);
+ }
+ return 1;
+ } else if (ro_offs != 0) {
+ _fileHandle.seek(ro_offs - 2, SEEK_SET);
+ _fileHandle.read(createResource(type, idx, ro_size + 2), ro_size + 2);
+ return 1;
}
res.roomoffs[type][idx] = 0xFFFFFFFF;
return 0;