Finally.... I found the problem that caused 3ds not to display on gcc-4.0 linux intel.
The readFloat is not portable. Also the bad code happens to work on Macs which have a different byte order than intel.
[code]
--- 3dsread.cpp 26 Feb 2003 08:12:19 -0000 1.10
+++ 3dsread.cpp 2 Jul 2005 05:44:24 -0000
@@ -56,8 +56,10 @@
static float readFloat(ifstream& in)
{
- int i = readInt(in);
- return *((float*) &i);
+ float ret;
+ in.read((char *) &ret, sizeof(float));
+ LE_TO_CPU_FLOAT(ret, ret);
+ return ret;
}