[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