Beispiel #1
0
        /// <summary>
        /// Reads the data-block from a stream.
        /// </summary>
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            // read structure data
            this.VFT         = reader.ReadUInt32();
            this.Unknown_4h  = reader.ReadUInt32();
            this.Unknown_8h  = reader.ReadUInt32();
            this.Unknown_Ch  = reader.ReadUInt32();
            this.Unknown_10h = reader.ReadUInt32();
            this.Unknown_14h = reader.ReadUInt32();
            this.Unknown_18h = reader.ReadUInt32();
            this.Unknown_1Ch = reader.ReadUInt32();
            this.ArticulatedBodyTypePointer = reader.ReadUInt64();
            this.Unknown_28h_Pointer        = reader.ReadUInt64();
            this.Unknown_30h          = reader.ReadBlock <RAGE_Vector4>();
            this.Unknown_40h          = reader.ReadBlock <RAGE_Vector4>();
            this.Unknown_50h          = reader.ReadBlock <RAGE_Vector4>();
            this.Unknown_60h          = reader.ReadBlock <RAGE_Vector4>();
            this.Unknown_70h          = reader.ReadBlock <RAGE_Vector4>();
            this.Unknown_80h          = reader.ReadBlock <RAGE_Vector4>();
            this.Unknown_90h          = reader.ReadBlock <RAGE_Vector4>();
            this.Unknown_A0h          = reader.ReadBlock <RAGE_Vector4>();
            this.Unknown_B0h          = reader.ReadBlock <RAGE_Vector4>();
            this.GroupNamesPointer    = reader.ReadUInt64();
            this.GroupsPointer        = reader.ReadUInt64();
            this.ChildrenPointer      = reader.ReadUInt64();
            this.Archetype1Pointer    = reader.ReadUInt64();
            this.Archetype2Pointer    = reader.ReadUInt64();
            this.BoundPointer         = reader.ReadUInt64();
            this.Unknown_F0h_Pointer  = reader.ReadUInt64();
            this.Unknown_F8h_Pointer  = reader.ReadUInt64();
            this.Unknown_100h_Pointer = reader.ReadUInt64();
            this.Unknown_108h_Pointer = reader.ReadUInt64();
            this.Unknown_110h_Pointer = reader.ReadUInt64();
            this.Count1        = reader.ReadByte();
            this.Count2        = reader.ReadByte();
            this.GroupsCount   = reader.ReadByte();
            this.Unknown_11Bh  = reader.ReadByte();
            this.Unknown_11Ch  = reader.ReadByte();
            this.ChildrenCount = reader.ReadByte();
            this.Count3        = reader.ReadByte();
            this.Unknown_11Fh  = reader.ReadByte();
            this.Unknown_120h  = reader.ReadUInt32();
            this.Unknown_124h  = reader.ReadUInt32();
            this.Unknown_128h  = reader.ReadUInt32();
            this.Unknown_12Ch  = reader.ReadUInt32();

            // read reference data
            this.ArticulatedBodyType = reader.ReadBlockAt <ArticulatedBodyType>(
                this.ArticulatedBodyTypePointer // offset
                );
            this.Unknown_28h_Data = reader.ReadBlockAt <ResourceSimpleArray <uint_r> >(
                this.Unknown_28h_Pointer, // offset
                this.ChildrenCount
                );
            this.GroupNames = reader.ReadBlockAt <ResourcePointerArray64 <fragNameStruct> >(
                this.GroupNamesPointer, // offset
                this.GroupsCount
                );
            this.Groups = reader.ReadBlockAt <ResourcePointerArray64 <FragTypeGroup> >(
                this.GroupsPointer, // offset
                this.GroupsCount
                );
            this.Children = reader.ReadBlockAt <ResourcePointerArray64 <FragTypeChild> >(
                this.ChildrenPointer, // offset
                this.ChildrenCount
                );
            this.Archetype1 = reader.ReadBlockAt <Archetype>(
                this.Archetype1Pointer // offset
                );
            this.Archetype2 = reader.ReadBlockAt <Archetype>(
                this.Archetype2Pointer // offset
                );
            this.Bound = reader.ReadBlockAt <Bound>(
                this.BoundPointer // offset
                );
            this.Unknown_F0h_Data = reader.ReadBlockAt <ResourceSimpleArray <RAGE_Vector4> >(
                this.Unknown_F0h_Pointer, // offset
                this.ChildrenCount
                );
            this.Unknown_F8h_Data = reader.ReadBlockAt <ResourceSimpleArray <RAGE_Vector4> >(
                this.Unknown_F8h_Pointer, // offset
                this.ChildrenCount
                );
            this.Unknown_100h_Data = reader.ReadBlockAt <Unknown_F_001>(
                this.Unknown_100h_Pointer // offset
                );
            this.Unknown_108h_Data = reader.ReadBlockAt <ResourceSimpleArray <byte_r> >(
                this.Unknown_108h_Pointer, // offset
                this.Count1
                );
            this.Unknown_110h_Data = reader.ReadBlockAt <ResourceSimpleArray <byte_r> >(
                this.Unknown_110h_Pointer, // offset
                this.Count2
                );
        }
Beispiel #2
0
        /// <summary>
        /// Reads the data-block from a stream.
        /// </summary>
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            base.Read(reader, parameters);

            // read structure data
            this.Unknown_10h = reader.ReadUInt32();
            this.Unknown_14h = reader.ReadUInt32();
            this.Unknown_18h = reader.ReadUInt32();
            this.Unknown_1Ch = reader.ReadUInt32();
            this.ArticulatedBodyTypePointer = reader.ReadUInt64();
            this.Unknown_28h_Pointer        = reader.ReadUInt64();
            this.Unknown_30h          = reader.ReadVector4();
            this.Unknown_40h          = reader.ReadVector4();
            this.Unknown_50h          = reader.ReadVector4();
            this.DampingLinearC       = reader.ReadVector4();
            this.DampingLinearV       = reader.ReadVector4();
            this.DampingLinearV2      = reader.ReadVector4();
            this.DampingAngularC      = reader.ReadVector4();
            this.DampingAngularV      = reader.ReadVector4();
            this.DampingAngularV2     = reader.ReadVector4();
            this.GroupNamesPointer    = reader.ReadUInt64();
            this.GroupsPointer        = reader.ReadUInt64();
            this.ChildrenPointer      = reader.ReadUInt64();
            this.Archetype1Pointer    = reader.ReadUInt64();
            this.Archetype2Pointer    = reader.ReadUInt64();
            this.BoundPointer         = reader.ReadUInt64();
            this.Unknown_F0h_Pointer  = reader.ReadUInt64();
            this.Unknown_F8h_Pointer  = reader.ReadUInt64();
            this.Unknown_100h_Pointer = reader.ReadUInt64();
            this.Unknown_108h_Pointer = reader.ReadUInt64();
            this.Unknown_110h_Pointer = reader.ReadUInt64();
            this.Count1        = reader.ReadByte();
            this.Count2        = reader.ReadByte();
            this.GroupsCount   = reader.ReadByte();
            this.Unknown_11Bh  = reader.ReadByte();
            this.Unknown_11Ch  = reader.ReadByte();
            this.ChildrenCount = reader.ReadByte();
            this.Count3        = reader.ReadByte();
            this.Unknown_11Fh  = reader.ReadByte();
            this.Unknown_120h  = reader.ReadUInt64();
            this.Unknown_128h  = reader.ReadUInt64();

            // read reference data
            this.ArticulatedBodyType = reader.ReadBlockAt <ArticulatedBodyType>(
                this.ArticulatedBodyTypePointer // offset
                );
            this.Unknown_28h_Data = reader.ReadBlockAt <SimpleArray <uint> >(
                this.Unknown_28h_Pointer, // offset
                this.ChildrenCount
                );
            this.GroupNames = reader.ReadBlockAt <FragTypeGroupNames>(
                this.GroupNamesPointer, // offset
                this.GroupsCount
                );
            this.Groups = reader.ReadBlockAt <ResourcePointerArray64 <FragTypeGroup> >(
                this.GroupsPointer, // offset
                this.GroupsCount
                );
            this.Children = reader.ReadBlockAt <ResourcePointerArray64 <FragTypeChild> >(
                this.ChildrenPointer, // offset
                this.ChildrenCount
                );
            this.Archetype1 = reader.ReadBlockAt <Archetype>(
                this.Archetype1Pointer // offset
                );
            this.Archetype2 = reader.ReadBlockAt <Archetype>(
                this.Archetype2Pointer // offset
                );
            this.Bound = reader.ReadBlockAt <Bound>(
                this.BoundPointer // offset
                );
            this.Unknown_F0h_Data = reader.ReadBlockAt <SimpleArray <Vector4> >(
                this.Unknown_F0h_Pointer, // offset
                this.ChildrenCount
                );
            this.Unknown_F8h_Data = reader.ReadBlockAt <SimpleArray <Vector4> >(
                this.Unknown_F8h_Pointer, // offset
                this.ChildrenCount
                );
            this.Unknown_100h_Data = reader.ReadBlockAt <Unknown_F_001>(
                this.Unknown_100h_Pointer // offset
                );
            this.Unknown_108h_Data = reader.ReadBlockAt <SimpleArray <byte> >(
                this.Unknown_108h_Pointer, // offset
                this.Count1
                );
            this.Unknown_110h_Data = reader.ReadBlockAt <SimpleArray <byte> >(
                this.Unknown_110h_Pointer, // offset
                this.Count2
                );
        }