[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