private void ParseHeader(Stream stream) { header = new vertexFileHeader_t(); stream.Position = fileOffsetPosition; header.id = DataParser.ReadInt(stream); header.version = DataParser.ReadInt(stream); // MODEL_VERTEX_FILE_VERSION header.checksum = DataParser.ReadLong(stream); // same as studiohdr_t, ensures sync header.numLODs = DataParser.ReadInt(stream); // num of valid lods header.numLODVertices = new int[MAX_NUM_LODS]; // num verts for desired root lod (size is MAX_NUM_LODS = 8) for (int i = 0; i < header.numLODVertices.Length; i++) { header.numLODVertices[i] = DataParser.ReadInt(stream); } header.numFixups = DataParser.ReadInt(stream); // num of vertexFileFixup_t header.fixupTableStart = DataParser.ReadInt(stream); // offset from base to fixup table header.vertexDataStart = DataParser.ReadInt(stream); // offset from base to vertex block header.tangentDataStart = DataParser.ReadInt(stream); // offset from base to tangent block }