MeshType of format 
Character rendering 

Filename extension 
.mesh 

Byte order 
Big endian 

Extended from 
.bmf 

Type ID 
9 
Meshes define a textured polygon model whose vertices wrap around the bones of a
skeleton.
Meshes follow the following format:
 Version  A 4byte unsigned integer specifying the version number of this mesh file; should be equal to 2
 Bone count  A 4byte unsigned integer specifying the number of bones referred to by this mesh
 Bone names  A consecutive list of Pascal strings specifying all bones referred to by this mesh
 Face count  A 4byte unsigned integer specifying the number of triangle faces defined in this mesh
 Faces  For each face:
 Vertex A index  A 4byte unsigned integer specifying the zerobased index of a real vertex in Real Vertices used by this face
 Vertex B index  A 4byte unsigned integer specifying the zerobased index of a real vertex in Real Vertices used by this face
 Vertex C index  A 4byte unsigned integer specifying the zerobased index of a real vertex in Real Vertices used by this face
 Note: All vertices referred to by the faces are real vertices.
 Note: Faces oriented outside are defined in clockwise order. Thus, during rendering, you can enable backface culling such that front faces are defined in clockwise order.
 Binding count  A 4byte unsigned integer specifying the number of bone bindings defined in this mesh; each bone should have exactly one binding
 Bindings  For each bone binding:
 Bone index  A 4byte unsigned integer specifying the zerobased index of the bone in Bone names which this binding corresponds to
 First real vertex index  A 4byte unsigned integer specifying the zerobased index of the first real vertex in Real Vertices to be wrapped around this bone
 Real vertex count  A 4byte unsigned integer specifying the number of real vertices in Real Vertices starting from index First real vertex index to be wrapped around this bone
 First blend vertex index  A 4byte unsigned integer specifying the zerobased index of the first blend vertex in Blend Vertices to be wrapped around this bone
 Blend vertex count  A 4byte unsigned integer specifying the number of blend vertices in Blend Vertices starting from index First blend vertex index to be wrapped around this bone
 Real vertex count  A 4byte unsigned integer specifying the number of real vertices defined in this mesh
 Texture vertices  Texture vertices are defined for real vertices only. For each real vertex:
 u  A 32bit littleendian float specifying the u texture coordinate of this vertex
 v  A 32bit littleendian float specifying the v texture coordinate of this vertex
 These values assume topdown textures, meaning that for bottomup textures, you have to flip the coordinates by negating V.
 Blend vertex count  A 4byte unsigned integer specifying the number of blend vertices defined in this mesh
 Blend vertex properties  For each blend vertex:
 Weight  A 4byte unsigned integer in Q1.15 fixedpoint format specifying the percentage, from 0.0 (represented by 0x0000) to 1.0 (represented by 0x8000), of the distance that this blend vertex tugs its corresponding real vertex by, starting from the location of the real vertex (corresponding to the weight 0x0000 or 0.0) and ending at the "reachfor" location of this blend vertex (corresponding to the weight 0x8000 or 1.0). *After* wrapping the real and blend vertices around their respective bones on the skeleton, perform the following calculation: Real_Vertex_Location_After_Blending = Weight*Blend_Vertex_Location + (1Weight)*Real_Vertex_Location_Before_Blending.
 Other vertex index  A 4byte unsigned integer specifying the zerobased index of which vertex in Real Vertices to influence the location of
 Blend vertices themselves are not rendered. They simply affect the locations of real vertices.
 Note: Some real vertices on one bone may be blended by the blend vertices on other bones.
 Total vertex count  A 4byte unsigned integer specifying the total number of both real and blend vertices defined in this mesh
 Real vertices  For each real vertex:
 Position  Three 32bit littleendian floats: x,y,z
 Normal vector  Three 32bit littleendian floats: x,y,z
 Blend vertices  For each blend vertex:
 Position  Three 32bit littleendian floats: x,y,z
 Normal vector  Three 32bit littleendian floats: x,y,z
v · d · eFormats used by The Sims Online 

 Generalpurpose compression    Archive    Audio    Video    Character rendering    Object    Sound logic    Other game resources    Files    Other  
