Exemplo n.º 1
0
                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;
                }
Exemplo n.º 2
0
        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());
        }