Пример #1
0
 public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
 {
     Unk0  = br.ReadUInt32();
     Unk4  = br.ReadUInt32();
     Unk8  = br.ReadUInt32();
     UnkC  = br.ReadUInt32();
     Unk10 = br.ReadUInt32();
     Unk14 = br.ReadUInt32();
     Unk18 = br.ReadUInt32();
     Unk1C = br.ReadUInt32();
     Unk20 = br.ReadUInt32();
     Unk24 = br.ReadUInt32();
     Unk28 = br.ReadUInt32();
     Unk2C = br.ReadUInt32();
     Unk30 = br.ReadUInt32();
     Unk34 = br.ReadUInt32();
     Unk38 = br.ReadUInt32();
     Unk3C = br.ReadUInt32();
     Unk40 = br.ReadUInt32();
     Unk44 = br.ReadUInt32();
     Unk48 = br.ReadUInt32();
     Unk4C = br.ReadUInt32();
     Unk50 = br.ReadUInt32();
     Unk54 = br.ReadUInt32();
     Unk58 = br.ReadUInt32();
     Unk5C = br.ReadUInt32();
     Unk60 = br.ReadUInt32();
     Unk64 = br.ReadUInt32();
     Unk68 = br.ReadUInt32();
     Unk6C = br.ReadUInt32();
 }
Пример #2
0
 public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
 {
     BBX = br.ReadByte();
     BBY = br.ReadByte();
     BBZ = br.ReadByte();
     IDX = br.ReadByte();
 }
Пример #3
0
            public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
            {
                CompressedBVH     = new HKArray <CompressedChunkBVHNode>(hkx, section, source, br, variation);
                BoundingBoxMin    = br.ReadVector4();
                BoundingBoxMax    = br.ReadVector4();
                SmallVertexOffset = br.ReadVector3();
                SmallVertexScale  = br.ReadVector3();

                SmallVerticesBase = br.ReadUInt32();

                uint vertexIndices = br.ReadUInt32();

                VertexIndicesIndex  = (int)(vertexIndices >> 8);
                VertexIndicesLength = (byte)(vertexIndices & 0xFF);

                uint unk50 = br.ReadUInt32();

                ByteIndicesIndex  = (int)(unk50 >> 8);
                ByteIndicesLength = (byte)(unk50 & 0xFF);

                uint unk54 = br.ReadUInt32();

                Unk54Index  = (int)(unk54 >> 8);
                Unk54Length = (byte)(unk54 & 0xFF);

                Unk58 = br.ReadUInt32();
                Unk5C = br.ReadUInt32();
            }
Пример #4
0
 public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
 {
     Idx0 = br.ReadByte();
     Idx1 = br.ReadByte();
     Idx2 = br.ReadByte();
     Idx3 = br.ReadByte();
 }
Пример #5
0
 public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
 {
     StartEdgeIndex     = br.ReadInt32();
     StartUserEdgeIndex = br.ReadInt32();
     NumEdges           = br.ReadInt16();
     NumUserEdges       = br.ReadInt16();
     ClusterIndex       = br.ReadInt16();
     br.ReadInt16(); // Padding
 }
Пример #6
0
 public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
 {
     Position = new HKVector4();
     Position.Read(hkx, section, source, br, variation);
     Rotation = new HKVector4();
     Rotation.Read(hkx, section, source, br, variation);
     Scale = new HKVector4();
     Scale.Read(hkx, section, source, br, variation);
 }
Пример #7
0
 public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
 {
     A            = br.ReadInt32();
     B            = br.ReadInt32();
     OppositeEdge = br.ReadUInt32();
     OppositeFace = br.ReadUInt32();
     Flags        = br.ReadByte();
     br.ReadByte(); // Padding
     UserEdgeCost = br.ReadInt16();
 }
Пример #8
0
 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?
     }
 }
Пример #9
0
 public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
 {
     // Just get what we are interested in
     //AssertPointer(hkx, br);
     ShapeReference = source.ResolveGlobalReference(hkx, section, br);
     br.ReadUInt32();
     br.ReadUInt32();
     br.ReadUInt16();
     br.ReadUInt16();
     br.ReadUInt32();
     br.ReadUInt32();
     br.ReadUInt32();
     AssertPointer(hkx, br);
     br.ReadUInt64();
     Position.Read(hkx, section, source, br, variation);
     Orientation.Read(hkx, section, source, br, variation);
     br.ReadUInt64();
     AssertPointer(hkx, br);
 }
Пример #10
0
            public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
            {
                SourceObject = source;

                // Placeholder replaced with data pointer upon load in C++
                uint pointerOffset = (uint)br.Position - source.SectionOffset;

                if (hkx.Header.PointerSize == 8)
                {
                    br.AssertUInt64(0);
                }
                else
                {
                    br.AssertUInt32(0);
                }
                Size = br.ReadUInt32();

                uint capAndFlags = br.ReadUInt32();

                Capacity = capAndFlags & 0x00FFFFFF;
                Flags    = (byte)((capAndFlags & 0xFF000000) >> 24);

                // Resolve pointer to array data
                LocalFixup fu = source.ResolveLocalFixup(section, pointerOffset);

                if (fu != null)
                {
                    Data = new HKXLocalReference();
                    Data.SourceLocalOffset = pointerOffset;
                    Data.SourceObject      = source;
                    Data.DestLocalOffset   = 0;
                    var data = new HKArrayData <T>();
                    br.StepIn(fu.Dst);
                    data.Read(hkx, section, br, variation, Size);
                    Data.DestObject = data;
                    Data.Section    = section;
                    br.StepOut();

                    section.LocalReferences.Add(Data);
                    fu.Reference = Data;
                }
            }
Пример #11
0
 public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
 {
     Cost       = br.ReadUInt16();
     Flags      = br.ReadUInt16();
     TargetNode = br.ReadUInt32();
 }
Пример #12
0
 public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
 {
     StartEdgeIndex = br.ReadInt32();
     NumEdges       = br.ReadInt32();
 }
Пример #13
0
 public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
 {
     vertex = br.ReadUInt32();
 }
Пример #14
0
 public HKArray(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
 {
     Read(hkx, section, source, br, variation);
 }
Пример #15
0
 public abstract void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation);
Пример #16
0
 public override void Read(HKX hkx, HKXSection section, HKXObject source, BinaryReaderEx br, HKXVariation variation)
 {
     Vector = br.ReadVector4();
 }