[Scummvm-cvs-logs] CVS: scummvm/simon sound.cpp,1.91.2.1,1.91.2.2

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


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

Modified Files:
      Tag: branch-0-8-0
	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.91.2.1
retrieving revision 1.91.2.2
diff -u -d -r1.91.2.1 -r1.91.2.2
--- sound.cpp	18 Oct 2005 02:11:26 -0000	1.91.2.1
+++ sound.cpp	13 Nov 2005 10:04:13 -0000	1.91.2.2
@@ -125,13 +125,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) {
@@ -140,10 +142,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