Changeset - r13181:08022d034d1c
[Not reviewed]
master
0 1 0
frosch - 15 years ago 2009-10-04 18:52:34
frosch@openttd.org
(svn r17698) -Fix (r17140) [FS#3205]: Convert endian after loading sounds from file.
1 file changed with 10 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/sound.cpp
Show inline comments
 
@@ -130,6 +130,16 @@ static bool SetBankSource(MixerChannel *
 
		}
 
	}
 

	
 
#if TTD_ENDIAN == TTD_BIG_ENDIAN
 
	if (sound->bits_per_sample == 16) {
 
		uint num_samples = sound->file_size / 2;
 
		int16 *samples = (int16 *)mem;
 
		for (uint i = 0; i < num_samples; i++) {
 
			samples[i] = BSWAP16(samples[i]);
 
		}
 
	}
 
#endif
 

	
 
	assert(sound->bits_per_sample == 8 || sound->bits_per_sample == 16);
 
	assert(sound->channels == 1);
 
	assert(sound->file_size != 0 && sound->rate != 0);
0 comments (0 inline, 0 general)