[Scummvm-cvs-logs] CVS: scummvm/scumm sound.cpp,1.465,1.466
Max Horn
fingolfin at users.sourceforge.net
Wed May 25 12:42:29 CEST 2005
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22695
Modified Files:
sound.cpp
Log Message:
cleanup
Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.465
retrieving revision 1.466
diff -u -d -r1.465 -r1.466
--- sound.cpp 21 May 2005 14:28:21 -0000 1.465
+++ sound.cpp 25 May 2005 19:40:30 -0000 1.466
@@ -1292,6 +1292,7 @@
uint32 pos, total_size, size, tag, basetag, max_total_size;
int pri, best_pri;
uint32 best_size = 0, best_offs = 0;
+ byte *ptr;
debugC(DEBUG_RESOURCE, "readSoundResource(%d)", idx);
@@ -1304,13 +1305,16 @@
debugC(DEBUG_RESOURCE, " basetag: %s, total_size=%d", tag2str(TO_BE_32(basetag)), total_size);
- if (basetag == MKID('MIDI') || basetag == MKID('iMUS')) {
+ switch (basetag) {
+ case MKID('MIDI'):
+ case MKID('iMUS'):
if (_midiDriver != MD_PCSPK && _midiDriver != MD_PCJR) {
_fileHandle->seek(-8, SEEK_CUR);
_fileHandle->read(res.createResource(type, idx, total_size + 8), total_size + 8);
return 1;
}
- } else if (basetag == MKID('SOU ')) {
+ break;
+ case MKID('SOU '):
best_pri = -1;
while (pos < total_size) {
tag = fileReadDword();
@@ -1342,7 +1346,7 @@
case MKID('GMD '):
pri = 4;
break;
- case MKID('MAC '):
+ case MKID('MAC '): // Occurs in Mac MI2, FOA
pri = 2;
break;
case MKID('SPK '):
@@ -1369,44 +1373,33 @@
if (best_pri != -1) {
_fileHandle->seek(best_offs - 8, SEEK_SET);
- _fileHandle->read(res.createResource(type, idx, best_size), best_size);
+ ptr = res.createResource(type, idx, best_size);
+ _fileHandle->read(ptr, best_size);
return 1;
}
- } else if (basetag == MKID('Mac0')) {
+ break;
+ case MKID('Mac0'):
_fileHandle->seek(-12, SEEK_CUR);
total_size = _fileHandle->readUint32BE() - 8;
- byte *ptr = (byte *)calloc(total_size, 1);
+ ptr = (byte *)calloc(total_size, 1);
_fileHandle->read(ptr, total_size);
// dumpResource("sound-", idx, ptr);
convertMac0Resource(type, idx, ptr, total_size);
free(ptr);
return 1;
- } else if (basetag == MKID('Mac1')) {
- _fileHandle->seek(-12, SEEK_CUR);
- total_size = _fileHandle->readUint32BE();
- _fileHandle->read(res.createResource(type, idx, total_size), total_size - 8);
- return 1;
- } else if (basetag == MKID('RIFF')) {
- _fileHandle->seek(-12, SEEK_CUR);
- total_size = _fileHandle->readUint32BE();
- _fileHandle->read(res.createResource(type, idx, total_size), total_size - 8);
- return 1;
- } else if (basetag == MKID('HSHD')) {
- _fileHandle->seek(-12, SEEK_CUR);
- total_size = _fileHandle->readUint32BE();
- _fileHandle->read(res.createResource(type, idx, total_size), total_size - 8);
- return 1;
- } else if (basetag == MKID('TALK')) {
- _fileHandle->seek(-12, SEEK_CUR);
- total_size = _fileHandle->readUint32BE();
- _fileHandle->read(res.createResource(type, idx, total_size), total_size - 8);
- return 1;
- } else if (basetag == MKID('DIGI')) {
+
+ case MKID('Mac1'):
+ case MKID('RIFF'):
+ case MKID('HSHD'):
+ case MKID('TALK'):
+ case MKID('DIGI'):
+ case MKID('Crea'):
_fileHandle->seek(-12, SEEK_CUR);
total_size = _fileHandle->readUint32BE();
_fileHandle->read(res.createResource(type, idx, total_size), total_size - 8);
return 1;
- } else if (basetag == MKID('FMUS')) {
+
+ case MKID('FMUS'): {
// Used in 3DO version of puttputt joins the parade and probably others
// Specifies a separate file to be used for music from what I gather.
int tmpsize;
@@ -1440,19 +1433,17 @@
dmuFile.seek(-8, SEEK_CUR);
dmuFile.read(res.createResource(type, idx, total_size), total_size);
dmuFile.close();
+ }
return 1;
- } else if (basetag == MKID('Crea')) {
- _fileHandle->seek(-12, SEEK_CUR);
- total_size = _fileHandle->readUint32BE();
- _fileHandle->read(res.createResource(type, idx, total_size), total_size - 8);
- return 1;
- } else if (FROM_LE_32(basetag) == max_total_size) {
- _fileHandle->seek(-12, SEEK_CUR);
- total_size = _fileHandle->readUint32BE();
- _fileHandle->seek(-8, SEEK_CUR);
- _fileHandle->read(res.createResource(type, idx, total_size), total_size);
- return 1;
- } else {
+
+ default:
+ if (FROM_LE_32(basetag) == max_total_size) {
+ _fileHandle->seek(-12, SEEK_CUR);
+ total_size = _fileHandle->readUint32BE();
+ _fileHandle->seek(-8, SEEK_CUR);
+ _fileHandle->read(res.createResource(type, idx, total_size), total_size);
+ return 1;
+ }
warning("Unrecognized base tag 0x%08x in sound %d", basetag, idx);
}
res.roomoffs[type][idx] = 0xFFFFFFFF;
More information about the Scummvm-git-logs
mailing list