[Scummvm-cvs-logs] CVS: scummvm/sound mixer.cpp,1.39,1.40
Max Horn
fingolfin at users.sourceforge.net
Sat Jul 27 06:17:09 CEST 2002
Update of /cvsroot/scummvm/scummvm/sound
In directory usw-pr-cvs1:/tmp/cvs-serv19153
Modified Files:
mixer.cpp
Log Message:
fixed some warnings, fixed clamped_add_16 to do the right thing now (wow, nobody noticed this.. :-)
Index: mixer.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sound/mixer.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- mixer.cpp 26 Jul 2002 23:30:35 -0000 1.39
+++ mixer.cpp 27 Jul 2002 13:16:32 -0000 1.40
@@ -230,7 +230,7 @@
_to_be_destroyed = false;
_realsize = size;
- /* adjust the magnitute to prevent division error */
+ // adjust the magnitude to prevent division error
while (size & 0xFFFF0000)
size >>= 1, rate = (rate >> 1) + 1;
@@ -304,8 +304,11 @@
static inline int clamped_add_16(int a, int b)
{
int val = a + b;
- if (val > 0xFFFF)
- return 0xFFFF;
+
+ if (val > 32767)
+ return 32767;
+ else if (val < -32768)
+ return -32768;
else
return val;
}
@@ -325,9 +328,9 @@
result = interp.interpolate(fp_pos);
*data = clamped_add_16(*data, result);
- *data++;
+ data++;
*data = clamped_add_16(*data, result);
- *data++;
+ data++;
fp_pos += fp_speed;
inc = fp_pos >> 16;
@@ -364,9 +367,9 @@
result = interp.interpolate(fp_pos);
*data = clamped_add_16(*data, result);
- *data++;
+ data++;
*data = clamped_add_16(*data, result);
- *data++;
+ data++;
fp_pos += fp_speed;
inc = fp_pos >> 16;
@@ -409,9 +412,9 @@
do {
do {
*data = clamped_add_16(*data, left.interpolate(fp_pos));
- *data++;
+ data++;
*data = clamped_add_16(*data, right.interpolate(fp_pos));
- *data++;
+ data++;
fp_pos += fp_speed;
inc = (fp_pos >> 16) << 1;
@@ -449,9 +452,9 @@
fp_pos += fp_speed;
*data = clamped_add_16(*data, sample);
- *data++;
+ data++;
*data = clamped_add_16(*data, sample);
- *data++;
+ data++;
s += (fp_pos >> 16) << 1;
fp_pos &= 0x0000FFFF;
@@ -482,9 +485,9 @@
fp_pos += fp_speed;
*data = clamped_add_16(*data, (((int16)(*(s) << 8) | *(s + 1)) * volume) / 32);
- *data++;
+ data++;
*data = clamped_add_16(*data, (((int16)(*(s + 2) << 8) | *(s + 3)) * volume) / 32);
- *data++;
+ data++;
s += (fp_pos >> 16) << 2;
fp_pos &= 0x0000FFFF;
@@ -504,7 +507,7 @@
return data;
}
-static int16 *(*mixer_helper_table[16]) (int16 *data, uint * len_ptr, byte **s_ptr,
+static int16 *(*mixer_helper_table[8]) (int16 *data, uint * len_ptr, byte **s_ptr,
uint32 *fp_pos_ptr, int fp_speed, const int16 *vol_tab,
byte *s_end) = {
mix_signed_mono_8, mix_unsigned_mono_8, mix_signed_stereo_8, mix_unsigned_stereo_8,
More information about the Scummvm-git-logs
mailing list