[Scummvm-cvs-logs] CVS: scummvm/sword2/driver d_sound.cpp,1.120,1.121

Torbjörn Andersson eriktorbjorn at users.sourceforge.net
Sat Sep 4 02:48:00 CEST 2004


Update of /cvsroot/scummvm/scummvm/sword2/driver
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8425/driver

Modified Files:
	d_sound.cpp 
Log Message:
Fixed a glitch in the music fade-out code.


Index: d_sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword2/driver/d_sound.cpp,v
retrieving revision 1.120
retrieving revision 1.121
diff -u -d -r1.120 -r1.121
--- d_sound.cpp	4 Sep 2004 09:27:17 -0000	1.120
+++ d_sound.cpp	4 Sep 2004 09:46:47 -0000	1.121
@@ -331,7 +331,7 @@
 inline bool MusicInputStream::eosIntern() const {
 	if (_looping)
 		return false;
-	return _pos >= _bufferEnd;
+	return _remove || _pos >= _bufferEnd;
 }
 
 int MusicInputStream::readBuffer(int16 *buffer, const int numSamples) {
@@ -409,12 +409,15 @@
 	if (_fading > 0) {
 		// Fade down
 		for (ptr = _buffer; ptr < buf; ptr++) {
-			if (--_fading <= 0) {
+			if (_fading > 0) {
+				_fading--;
+				*ptr = (*ptr * _fading) / _fadeSamples;
+			}
+			if (_fading == 0) {
 				_looping = false;
 				_remove = true;
-				break;
+				*ptr = 0;
 			}
-			*ptr = (*ptr * _fading) / _fadeSamples;
 		}
 	} else if (_fading < 0) {
 		// Fade up





More information about the Scummvm-git-logs mailing list