Gitaroo+Man



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))