Spore:00E6BCE5
From SimsWiki
copied from: http://www.customsims3.com/forum1/YaBB.pl?num=1214408105
// Header: // DWord Version == 7 or 8; // DWord float_count [Big Endian] // float_count floats (float_count*4 bytes) [purpose unknown] // DWord [purpose unknown] // float array[7] [quaternion + position data] // DWord [purpose unknown] (not present in vers. 8) // // Faces: // DWord group_count [number of face groups] // for each of group_count: // DWord type_value [type value = 4L] // DWord facect [face point count (triangle faces * 3)] // DWord type_value_b [type value = 0x10L] // DWord facebytes [face section byte count (faces * 3 * sizeof(word))] // Word point_array[facect] [the vertex indices for each triangle point] // there is only one vertex pool, so the index value of groups subsequent // to the first start at offsets > 0. // // Vertex Format // // DWord section_type [section type = 1L] // DWord VFmtCount [number of data sets] // for each of VFmtCount: // Word pad [pad word, zero] // Word offset [offset of field in each vertex data] // Word ftype [field type] // bit 2 (0x04) indicates a short count // bits 0 and 1 are the count, minus one // so 0x00 is one long or float, 0x01 is two longs, 0x02 is three longs, 0c03 is four longs // and 0x04 is one short, 0x05 two shorts, 0x06 three shorts and 0x07 is four shorts // Word pad2 [pad word, zero] // DWord data_type [field data type] // known types, and usual sizes, are: // 0x00 vertex (three floats) // 0x02 normal (three floats) // 0x06 UV (two floats) // 0x0E bone assignments (four words) // 0x0F skin weights (four floats) // 0x13 bumpmap normals (three floats) // // the last four bytes or the vertex format are arranged thus: // DWord terminator1 [terminator, usually one] // DWord terminator2 [terminator, usually zero] // these may be a section_type with zero sets, indicating multiple lists may // be possible, but I had no examples of multiple vertex formats // // Vertex Data Pool // // DWord VertexCount [number of vertices in pool] // DWord poolsize [vertex bytes pool size, must equal VertexSize (from vertex format data) * VertexCount] // Byte vdata[poolsize] // the arrangement of the bytes in the vertex pool are given by the vertex format. // thus, the pool is an array of data structures described by the vertex format. // // remainder of file: purpose unknown