From aca6dd808b19072b653ce81384490c8b08edbedd Mon Sep 17 00:00:00 2001 From: Joel de Vahl Date: Tue, 25 Sep 2007 19:48:52 +0000 Subject: new mixer and ppc fixes --- src/engine/datafile.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'src/engine/datafile.c') diff --git a/src/engine/datafile.c b/src/engine/datafile.c index fddd522d..c11082ac 100644 --- a/src/engine/datafile.c +++ b/src/engine/datafile.c @@ -92,8 +92,10 @@ DATAFILE *datafile_load(const char *filename) return 0; } } - - /* TODO: swap the header */ + +#if defined(CONF_ARCH_ENDIAN_BIG) + swap_endian(&header, sizeof(int), sizeof(header)/sizeof(int)); +#endif if(header.version != 3 && header.version != 4) { dbg_msg("datafile", "wrong version. version=%x", header.version); @@ -129,16 +131,10 @@ DATAFILE *datafile_load(const char *filename) dbg_msg("datafile", "couldn't load the whole thing, wanted=%d got=%d", size, readsize); return 0; } -/* + #if defined(CONF_ARCH_ENDIAN_BIG) - unsigned *dst = (unsigned*)df; - unsigned char *src = (unsigned char*)df; - for(unsigned i = 0; i < swapsize; i++) - { - unsigned j = i << 2; - dst[i] = src[j] | src[j+1]<<8 | src[j+2]<<16 | src[j+3]<<24; - } -#endif*/ + swap_endian(df->data, sizeof(int), header.swaplen); +#endif if(DEBUG) dbg_msg("datafile", "item_size=%d", df->header.item_size); -- cgit 1.4.1