diff options
Diffstat (limited to 'src/engine/client/snd.cpp')
| -rw-r--r-- | src/engine/client/snd.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/engine/client/snd.cpp b/src/engine/client/snd.cpp index fa8ba07c..5944655e 100644 --- a/src/engine/client/snd.cpp +++ b/src/engine/client/snd.cpp @@ -447,6 +447,13 @@ int snd_load_wav(const char *filename) snd.data = (short*)mem_alloc(chunk_size, 1); file.read(snd.data, chunk_size); snd.num_samples = chunk_size/(2); +#if defined(CONF_ARCH_ENDIAN_BIG) + for(unsigned i = 0; i < (unsigned)snd.num_samples; i++) + { + unsigned j = i << 1; + snd.data[i] = ((short)((char*)snd.data)[j]) + ((short)((char*)snd.data)[j+1] << 8); + } +#endif snd.sustain_start = -1; snd.sustain_end = -1; snd.last_played = 0; |