[Scummvm-cvs-logs] CVS: scummvm sound.cpp,1.93,1.94
Pawe? Ko?odziejski
aquadran at users.sourceforge.net
Sun May 19 08:19:04 CEST 2002
Update of /cvsroot/scummvm/scummvm
In directory usw-pr-cvs1:/tmp/cvs-serv7697
Modified Files:
sound.cpp
Log Message:
The Dig: 16 bit samples and mixer
Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sound.cpp,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -d -r1.93 -r1.94
--- sound.cpp 17 May 2002 21:58:59 -0000 1.93
+++ sound.cpp 19 May 2002 15:18:44 -0000 1.94
@@ -125,23 +125,23 @@
}
if (bits == 12) {
uint32 s_size = (size * 2) / 3;
- byte * buffer = (byte*)malloc (s_size);
+ byte * buffer = (byte*)malloc (s_size + 4);
uint32 l = 0, r = 0, tmp;
for (; l < size; l += 3)
{
tmp = (ptr[l + 1] & 0x0f) << 8;
tmp = (tmp | ptr[l + 0]) << 4;
tmp -= 0x8000;
-// buffer[r++] = (uint8)(tmp & 0xff);
buffer[r++] = (uint8)((tmp >> 8) & 0xff);
+ buffer[r++] = (uint8)(tmp & 0xff);
tmp = (ptr[l + 1] & 0xf0) << 4;
tmp = (tmp | ptr[l + 2]) << 4;
tmp -= 0x8000;
-// buffer[r++] = (uint8)(tmp & 0xff);
buffer[r++] = (uint8)((tmp >> 8) & 0xff);
+ buffer[r++] = (uint8)(tmp & 0xff);
}
- _mixer->play_raw(NULL, buffer, s_size, rate, SoundMixer::FLAG_AUTOFREE);
+ _mixer->play_raw(NULL, buffer, s_size, rate, SoundMixer::FLAG_AUTOFREE | SoundMixer::FLAG_16BITS);
}
} else {
warning("DIG: ignoring stereo sample");
More information about the Scummvm-git-logs
mailing list