public hkxClassTableEntry(hkxClassTable parent, Subfile basis, int pos) { ID = BitConverter.ToUInt32(basis.filebytes, pos); pos += 4; unk = basis.filebytes[pos]; pos++; offset = pos - parent.sectionOffset; while (basis.filebytes[pos] != 0x00) { name += (char)basis.filebytes[pos]; pos++; } pos++; endOffset = pos; }
public hkxFile(Subfile basis) { basis.hkx = this; obj = new List <string>(); cumulativeVertCount = 0; byte[] withoutHeader = new byte[basis.filebytes.Length - 0x20]; Array.Copy(basis.filebytes, 0x20, withoutHeader, 0x00, basis.filebytes.Length - 0x20); basis.filebytes = withoutHeader; classTable = new hkxClassTable(basis, 0x40); dataSection = new hkxDataSection(basis, 0x70); foreach (hkxDataSection.hkxVirtualFixupEntry virtualFixupEntry in dataSection.virtualFixupTable) { ParseHavokObject(basis, virtualFixupEntry); } System.IO.File.WriteAllLines(basis.filename + ".obj", obj.ToArray()); }