[Scummvm-cvs-logs] CVS: residual bits.h,1.4,1.5

Max Horn fingolfin at users.sourceforge.net
Mon Aug 25 14:55:08 CEST 2003


Update of /cvsroot/scummvm/residual
In directory sc8-pr-cvs1:/tmp/cvs-serv15107

Modified Files:
	bits.h 
Log Message:
BE floats are the same as LE floats, just byteswapped

Index: bits.h
===================================================================
RCS file: /cvsroot/scummvm/residual/bits.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- bits.h	24 Aug 2003 17:56:03 -0000	1.4
+++ bits.h	25 Aug 2003 19:20:51 -0000	1.5
@@ -59,8 +59,13 @@
 }
 
 inline float get_float(const char *data) {
-  #error get_float not implemented on BE machines yet
-  return *(reinterpret_cast<const float *>(data));
+  const unsigned char *udata = reinterpret_cast<const unsigned char *>(data);
+  unsigned char fdata[4];
+  fdata[0] = udata[3];
+  fdata[1] = udata[2];
+  fdata[2] = udata[1];
+  fdata[3] = udata[0];
+  return *(reinterpret_cast<const float *>(fdata));
 }
 
 #else





More information about the Scummvm-git-logs mailing list