gitaroo.jpg







Models are inside XGM files.
Models use ASCII (text) headers followed by the data.
Model Data format:
.....
ASCII Header:
triFanCount
4Byte#ofTriangleFans

ASCII Header:
triFanData
4ByteAmountofData
{Number of Vertexes in First Section,number of vertexes in second section...}

ASCII Header:
triStripCount
4Byte#ofTriStrips

ASCII Header:
triStripData
4ByteAmountofSections
{Number of Vertexes in First Section,number of vertexes in second section...}

ASCII Header:
triListCount
4Byte#ofTriangles

ASCII Header:
triListData
4ByteAmountofSections
{Number of Vertexes in First Section,number of vertexes in second section...}

...........
ASCII Header:
density
4ByteFloatingPointNumber

ASCII Header:
vertices
(which in Hexadecimal is
76 65 72 74 69 63 65 73)
Followed by the 4Byte VertexType
Followed by the 4ByteNumberofVertexes

Type 01 00 00 00 Vertex Format:
{4ByteFloatingPointVertexes(X,Y,Z), 4ByteFloatingPointWeight}

Type 03 00 00 00 Vertex Format:
{4ByteFloatingPointVertexes(X,Y,Z), 4ByteFloatingPointWeight, 4ByteFloatingPointNormalMappings(X,Y,Z)}

Type 07 00 00 00 Vertex Format:
{4ByteFloatingPointVertexes(X,Y,Z), 4ByteFloatingPointWeight, 4ByteFloatingPointNormalMappings(X,Y,Z), Unknown4ByteFloatMappings(X,Y,Z), 4ByteFloatWeight#2}

Type 0B 00 00 00 Vertex Format:
{4ByteFloatingPointVertexes(X,Y,Z), 4ByteFloatingPointWeight, 4ByteFloatingPointNormalMappings(X,Y,Z), 4ByteFloatingPointTextureUVCoords(U,V)}

Type 0F 00 00 00 Vertex Format:
{4ByteFloatingPointVertexes(X,Y,Z), 4ByteFloatingPointWeight, 4ByteFloatingPointNormalMappings(X,Y,Z), Unknown4ByteFloatMappings(X,Y,Z), 4ByteFloatWeight#2, 4ByteFloatingPointTextureUVCoords(U,V)}

Models are (or at least sometimes), in Tristrips, with a few strips per mesh (need to add data on tristrip information section))