[Scummvm-cvs-logs] CVS: scummvm/sword1 music.cpp,1.14,1.15

Torbj?rn Andersson eriktorbjorn at users.sourceforge.net
Sun Jan 4 08:21:01 CET 2004


Update of /cvsroot/scummvm/scummvm/sword1
In directory sc8-pr-cvs1:/tmp/cvs-serv29747

Modified Files:
	music.cpp 
Log Message:
Deal gracefully with missing music files.


Index: music.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword1/music.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- music.cpp	3 Jan 2004 20:42:18 -0000	1.14
+++ music.cpp	4 Jan 2004 16:19:15 -0000	1.15
@@ -90,8 +90,10 @@
 	uint8 wavHeader[WAVEHEADERSIZE];
 	stop();
 	_file.open(filename);
-	if (!_file.isOpen())
+	if (!_file.isOpen()) {
+		warning("Music file %s could not be opened", filename);
 		return false;
+	}
 	_file.read(wavHeader, WAVEHEADERSIZE);
 	_stereo = (READ_LE_UINT16(wavHeader + 0x16) == 2);
 	_rate = READ_LE_UINT16(wavHeader + 0x18);
@@ -159,9 +161,10 @@
 		}
 		char fName[20];
 		sprintf(fName, "music/%s.wav", _tuneList[tuneId]);
-		_handles[newStream].play(fName, loopFlag != 0);
-		delete _converter[newStream];
-		_converter[newStream] = makeRateConverter(_handles[newStream].getRate(), _mixer->getOutputRate(), _handles[newStream].isStereo(), false);
+		if (_handles[newStream].play(fName, loopFlag != 0)) {
+			delete _converter[newStream];
+			_converter[newStream] = makeRateConverter(_handles[newStream].getRate(), _mixer->getOutputRate(), _handles[newStream].isStereo(), false);
+		}
 	} else {
 		if (_handles[0].streaming())
 			_handles[0].fadeDown();





More information about the Scummvm-git-logs mailing list