[Scummvm-cvs-logs] SF.net SVN: scummvm: [31716] scummvm/trunk/engines/made/sound.cpp
john_doe at users.sourceforge.net
john_doe at users.sourceforge.net
Fri Apr 25 13:02:38 CEST 2008
Revision: 31716
http://scummvm.svn.sourceforge.net/scummvm/?rev=31716&view=rev
Author: john_doe
Date: 2008-04-25 04:02:37 -0700 (Fri, 25 Apr 2008)
Log Message:
-----------
(Poissbly) fixed sound glitches due to a non-implemented decoding variant.
Modified Paths:
--------------
scummvm/trunk/engines/made/sound.cpp
Modified: scummvm/trunk/engines/made/sound.cpp
===================================================================
--- scummvm/trunk/engines/made/sound.cpp 2008-04-25 10:43:47 UTC (rev 31715)
+++ scummvm/trunk/engines/made/sound.cpp 2008-04-25 11:02:37 UTC (rev 31716)
@@ -34,7 +34,7 @@
int16 prevSample = 0, workSample = 0;
byte soundBuffer[1025];
- byte soundBuffer3[1024];
+ byte deltaSoundBuffer[1024];
int16 soundBuffer2[16];
byte deltaType, type;
uint16 workChunkSize, byteCount, bitCount;
@@ -106,17 +106,24 @@
}
- if (deltaType == 1) {
- for (i = 0; i < chunkSize - 1; i += 2) {
- l = i / 2;
- soundBuffer3[i] = soundBuffer[l];
- soundBuffer3[i + 1] = (soundBuffer[l + 1] + soundBuffer[l]) / 2;
+ if (deltaType > 0) {
+ if (deltaType == 1) {
+ for (i = 0; i < chunkSize - 1; i += 2) {
+ l = i / 2;
+ deltaSoundBuffer[i] = soundBuffer[l];
+ deltaSoundBuffer[i + 1] = (soundBuffer[l] + soundBuffer[l + 1]) / 2;
+ }
+ } else if (deltaType == 2) {
+ for (i = 0; i < chunkSize - 1; i += 4) {
+ l = i / 4;
+ deltaSoundBuffer[i] = soundBuffer[l];
+ deltaSoundBuffer[i + 2] = (soundBuffer[l] + soundBuffer[l + 1]) / 2;
+ deltaSoundBuffer[i + 1] = (deltaSoundBuffer[i + 2] + soundBuffer[l]) / 2;
+ deltaSoundBuffer[i + 3] = (deltaSoundBuffer[i + 2] + soundBuffer[l + 1]) / 2;
+ }
}
- for (i = 0; i < chunkSize; i++) {
- soundBuffer[i] = soundBuffer3[i];
- }
- } else if (deltaType == 2) {
- debug(2, "****************************************");
+ for (i = 0; i < chunkSize; i++)
+ soundBuffer[i] = deltaSoundBuffer[i];
}
prevSample = workSample;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list