[Scummvm-cvs-logs] CVS: scummvm/scumm/imuse_digi dimuse_sndmgr.cpp,1.59,1.60
Pawel Kolodziejski
aquadran at users.sourceforge.net
Fri Jan 28 03:04:10 CET 2005
Update of /cvsroot/scummvm/scummvm/scumm/imuse_digi
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9906
Modified Files:
dimuse_sndmgr.cpp
Log Message:
added support for mp3 compressed bundles
Index: dimuse_sndmgr.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_sndmgr.cpp,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- dimuse_sndmgr.cpp 27 Jan 2005 16:48:30 -0000 1.59
+++ dimuse_sndmgr.cpp 28 Jan 2005 11:03:34 -0000 1.60
@@ -23,6 +23,7 @@
#include "common/util.h"
#include "sound/voc.h"
#include "sound/vorbis.h"
+#include "sound/mp3.h"
#include "scumm/scumm.h"
#include "scumm/imuse_digi/dimuse.h"
#include "scumm/imuse_digi/dimuse_sndmgr.h"
@@ -563,12 +564,24 @@
} else if ((soundHandle->bundle) && (soundHandle->compressed)) {
*buf = (byte *)malloc(size);
char fileName[24];
- sprintf(fileName, "%s_reg%03d.ogg", soundHandle->name, region);
+ sprintf(fileName, "%s_reg%03d", soundHandle->name, region);
if (scumm_stricmp(fileName, soundHandle->lastFileName) != 0) {
int32 offs = 0, len = 0;
- File *oggFile = soundHandle->bundle->getFile(fileName, offs, len);
+ File *cmpFile;
+ bool oggMode = false;
+ sprintf(fileName, "%s_reg%03d.mp3", soundHandle->name, region);
+ cmpFile = soundHandle->bundle->getFile(fileName, offs, len);
+ if (!cmpFile) {
+ sprintf(fileName, "%s_reg%03d.ogg", soundHandle->name, region);
+ cmpFile = soundHandle->bundle->getFile(fileName, offs, len);
+ assert(cmpFile);
+ oggMode = true;
+ }
if (!soundHandle->compressedStream) {
- soundHandle->compressedStream = makeVorbisStream(oggFile, len);
+ if (oggMode)
+ soundHandle->compressedStream = makeVorbisStream(cmpFile, len);
+ else
+ soundHandle->compressedStream = makeMP3Stream(cmpFile, len);
assert(soundHandle->compressedStream);
assert(soundHandle->compressedStream->getRate() == 22050);
assert(soundHandle->compressedStream->isStereo());
More information about the Scummvm-git-logs
mailing list