[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