public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation) { //AssertPointer(hkx, br); //br.ReadUInt64s(1); // blah Name = new HKCString(hkx, section, source, br, variation); LockTranslation = br.ReadInt32(); if (variation != HKXVariation.HKXDS1) { br.ReadInt32(); // Padding? } }
public override void Read(HKX hkx, HKXSection section, BinaryReaderEx br, HKXVariation variation) { SectionOffset = (uint)br.Position; AssertPointer(hkx, br); AssertPointer(hkx, br); //br.ReadUInt64s(1); // Name Name = new HKCString(hkx, section, this, br, variation); ParentIndices = new HKArray <HKShort>(hkx, section, this, br, variation); Bones = new HKArray <Bone>(hkx, section, this, br, variation); Transforms = new HKArray <Transform>(hkx, section, this, br, variation); ReferenceFloats = new HKArray <HKFloat>(hkx, section, this, br, variation); br.ReadUInt64s(2); // unused array br.ReadUInt64s(2); // unused array br.ReadUInt64s(2); // unused array br.ReadUInt64s(2); // unused array br.ReadUInt64s(1); // padding DataSize = (uint)br.Position - SectionOffset; ResolveDestinations(hkx, section); }