big endian fix

svn-id: r11710
This commit is contained in:
Robert Göffringmann 2003-12-17 11:39:19 +00:00
parent eeb15c0433
commit 215c8e3fc6

View File

@ -197,13 +197,13 @@ uint32 SwordSound::expandSpeech(void *src, void *dest, uint32 srcSize) {
uint32 srcPos = 0;
while (srcPos < srcSize) {
if (compData[srcPos] < 0) {
uint16 len = (uint16)(-compData[srcPos]);
if ((int16)FROM_LE_16(compData[srcPos]) < 0) {
uint16 len = (uint16)(-(int16)FROM_LE_16(compData[srcPos]));
for (uint32 cnt = 0; cnt < len; cnt++)
*expData++ = compData[srcPos + 1];
srcPos += 2;
} else {
uint32 len = (uint32)compData[srcPos];
uint32 len = FROM_LE_16(compData[srcPos]);
memcpy(expData, compData + srcPos + 1, len * 2);
expData += len;
srcPos += len + 1;