[Scummvm-cvs-logs] CVS: scummvm/simon sound.cpp,1.93,1.94

kirben kirben at users.sourceforge.net
Sun Nov 13 02:02:02 CET 2005


Update of /cvsroot/scummvm/scummvm/simon
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8135/simon

Modified Files:
	sound.cpp 
Log Message:

Fix sound looping regression in simon2 (Windows).
Sound flags were been reset.



Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/sound.cpp,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -d -r1.93 -r1.94
--- sound.cpp	12 Nov 2005 06:01:24 -0000	1.93
+++ sound.cpp	13 Nov 2005 10:01:40 -0000	1.94
@@ -126,13 +126,15 @@
 
 	_file->seek(_offsets[sound], SEEK_SET);
 
-	// Try to load the WAVE data into an audio stream
-	AudioStream *stream = makeWAVStream(*_file);
-	if (!stream) {
-		error("playWav(%d): can't read WAVE header", sound);
+	byte wavFlags;
+	int size, rate;
+	if (!loadWAVFromStream(*_file, size, rate, wavFlags)) {
+		error("playSound: Not a valid WAV file");
 	}
 
-	_mixer->playInputStream(Audio::Mixer::kSFXSoundType, handle, stream);
+	byte *buffer = (byte *)malloc(size);
+	_file->read(buffer, size);
+	_mixer->playRaw(handle, buffer, size, rate, flags | wavFlags);
 }
 
 void VocSound::playSound(uint sound, Audio::SoundHandle *handle, byte flags) {
@@ -141,10 +143,10 @@
 
 	_file->seek(_offsets[sound], SEEK_SET);
 
-	int size, samples_per_sec;
-	byte *buffer = loadVOCFromStream(*_file, size, samples_per_sec);
+	int size, rate;
+	byte *buffer = loadVOCFromStream(*_file, size, rate);
 
-	_mixer->playRaw(handle, buffer, size, samples_per_sec, flags | Audio::Mixer::FLAG_AUTOFREE);
+	_mixer->playRaw(handle, buffer, size, rate, flags | Audio::Mixer::FLAG_AUTOFREE);
 }
 
 void RawSound::playSound(uint sound, Audio::SoundHandle *handle, byte flags) {





More information about the Scummvm-git-logs mailing list