[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