Beispiel #1
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.MaterialsPointer              = reader.ReadUInt64();
            this.MaterialColoursPointer        = reader.ReadUInt64();
            this.Unknown_100h                  = reader.ReadUInt32();
            this.Unknown_104h                  = reader.ReadUInt32();
            this.Unknown_108h                  = reader.ReadUInt32();
            this.Unknown_10Ch                  = reader.ReadUInt32();
            this.Unknown_110h                  = reader.ReadUInt32();
            this.Unknown_114h                  = reader.ReadUInt32();
            this.PolygonMaterialIndicesPointer = reader.ReadUInt64();
            this.MaterialsCount                = reader.ReadByte();
            this.MaterialColoursCount          = reader.ReadByte();
            this.Unknown_122h                  = reader.ReadUInt16();
            this.Unknown_124h                  = reader.ReadUInt32();
            this.Unknown_128h                  = reader.ReadUInt32();
            this.Unknown_12Ch                  = reader.ReadUInt32();

            // read reference data
            this.Materials = reader.ReadBlockAt <SimpleArray <BoundMaterial> >(
                this.MaterialsPointer, // offset
                this.MaterialsCount
                );
            this.MaterialColours = reader.ReadBlockAt <SimpleArray <uint> >(
                this.MaterialColoursPointer, // offset
                this.MaterialColoursCount
                );
            this.PolygonMaterialIndices = reader.ReadBlockAt <SimpleArray <byte> >(
                this.PolygonMaterialIndicesPointer, // offset
                this.PrimitivesCount
                );
        }
        /// <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.Type        = reader.ReadByte();
            this.Unknown_11h = reader.ReadByte();
            this.Unknown_12h = reader.ReadUInt16();
            this.Unknown_14h = reader.ReadUInt32();
            this.Unknown_18h = reader.ReadUInt32();
            this.Unknown_1Ch = reader.ReadUInt32();
            this.Unknown_20h = reader.ReadUInt32();
            this.Unknown_24h = reader.ReadUInt32();
            this.Unknown_28h = reader.ReadUInt32();
            this.Unknown_2Ch = reader.ReadUInt32();
            this.Unknown_30h = reader.ReadUInt32();
            this.Unknown_34h = reader.ReadUInt32();
            this.Unknown_38h = reader.ReadUInt32();
            this.Unknown_3Ch = reader.ReadUInt32();
            this.Unknown_40h = reader.ReadUInt32();
            this.Unknown_44h = reader.ReadUInt32();
            this.Unknown_48h = reader.ReadUInt32();
            this.Unknown_4Ch = reader.ReadUInt32();
            this.Unknown_50h = reader.ReadUInt32();
            this.Unknown_54h = reader.ReadUInt32();
            this.Unknown_58h = reader.ReadUInt32();
            this.Unknown_5Ch = reader.ReadUInt32();
            this.Unknown_60h = reader.ReadUInt32();
            this.Unknown_64h = reader.ReadUInt32();
            this.Unknown_68h = reader.ReadUInt32();
            this.Unknown_6Ch = reader.ReadUInt32();
        }
Beispiel #3
0
        /// <summary>
        /// Reads the data-block from a stream.
        /// </summary>
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            // read structure data
            this.Unknown_0h         = reader.ReadUInt32();
            this.Unknown_4h         = reader.ReadUInt32();
            this.VirtualPagesCount  = reader.ReadByte();
            this.PhysicalPagesCount = reader.ReadByte();
            this.Unknown_Ah         = reader.ReadUInt16();
            this.Unknown_Ch         = reader.ReadUInt32();

            if (VirtualPagesCount > 0)
            {
                this.VirtualPagesPointers = new ulong[VirtualPagesCount];
                for (int i = 0; i < VirtualPagesCount; i++)
                {
                    this.VirtualPagesPointers[i] = reader.ReadUInt64();
                }
            }

            if (PhysicalPagesCount > 0)
            {
                this.PhysicalPagesPointers = new ulong[PhysicalPagesCount];
                for (int i = 0; i < PhysicalPagesCount; i++)
                {
                    this.PhysicalPagesPointers[i] = reader.ReadUInt64();
                }
            }
        }
Beispiel #4
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.Width       = reader.ReadUInt16();
            this.Height      = reader.ReadUInt16();
            this.Depth       = reader.ReadUInt16();
            this.Stride      = reader.ReadUInt16();
            this.Format      = reader.ReadUInt32();
            this.Unknown_5Ch = reader.ReadByte();
            this.Levels      = reader.ReadByte();
            this.Unknown_5Eh = reader.ReadUInt16();
            this.Unknown_60h = reader.ReadUInt32();
            this.Unknown_64h = reader.ReadUInt32();
            this.Unknown_68h = reader.ReadUInt32();
            this.Unknown_6Ch = reader.ReadUInt32();
            this.DataPointer = reader.ReadUInt64();
            this.Unknown_78h = reader.ReadUInt32();
            this.Unknown_7Ch = reader.ReadUInt32();
            this.Unknown_80h = reader.ReadUInt32();
            this.Unknown_84h = reader.ReadUInt32();
            this.Unknown_88h = reader.ReadUInt32();
            this.Unknown_8Ch = reader.ReadUInt32();

            // read reference data
            this.Data = reader.ReadBlockAt <TextureData_GTA5_pc>(
                this.DataPointer, // offset
                this.Format,
                this.Width,
                this.Height,
                this.Levels,
                this.Stride
                );
        }
Beispiel #5
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.Type = reader.ReadByte();
            this.Unknown_11h = reader.ReadByte();
            this.Unknown_12h = reader.ReadUInt16();
            this.Unknown_14h = reader.ReadUInt32();
            this.Unknown_18h = reader.ReadUInt32();
            this.Unknown_1Ch = reader.ReadUInt32();
            this.Unknown_20h = reader.ReadUInt32();
            this.Unknown_24h = reader.ReadUInt32();
            this.Unknown_28h = reader.ReadUInt32();
            this.Unknown_2Ch = reader.ReadUInt32();
            this.Unknown_30h = reader.ReadUInt32();
            this.Unknown_34h = reader.ReadUInt32();
            this.Unknown_38h = reader.ReadUInt32();
            this.Unknown_3Ch = reader.ReadUInt32();
            this.Unknown_40h = reader.ReadUInt32();
            this.Unknown_44h = reader.ReadUInt32();
            this.Unknown_48h = reader.ReadUInt32();
            this.Unknown_4Ch = reader.ReadUInt32();
            this.Unknown_50h = reader.ReadUInt32();
            this.Unknown_54h = reader.ReadUInt32();
            this.Unknown_58h = reader.ReadUInt32();
            this.Unknown_5Ch = reader.ReadUInt32();
            this.Unknown_60h = reader.ReadUInt32();
            this.Unknown_64h = reader.ReadUInt32();
            this.Unknown_68h = reader.ReadUInt32();
            this.Unknown_6Ch = reader.ReadUInt32();
        }
Beispiel #6
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.Type              = reader.ReadByte();
            this.Unknown_11h       = reader.ReadByte();
            this.Unknown_12h       = reader.ReadUInt16();
            this.Unknown_14h       = reader.ReadUInt32();
            this.NamePointer       = reader.ReadUInt64();
            this.NameLength1       = reader.ReadUInt16();
            this.NameLength2       = reader.ReadUInt16();
            this.Unknown_24h       = reader.ReadUInt32();
            this.Unknown_28h       = reader.ReadUInt32();
            this.Unknown_2Ch       = reader.ReadUInt32();
            this.Unknown_30h       = reader.ReadUInt32();
            this.Unknown_34h       = reader.ReadUInt32();
            this.TagsPointer       = reader.ReadUInt64();
            this.PropertiesPointer = reader.ReadUInt64();
            this.Unknown_48h       = reader.ReadUInt32();
            this.Unknown_4Ch       = reader.ReadUInt32();

            // read reference data
            this.Name = reader.ReadBlockAt <string_r>(
                this.NamePointer // offset
                );
            this.Tags = reader.ReadBlockAt <Tags>(
                this.TagsPointer // offset
                );
            this.Properties = reader.ReadBlockAt <ResourceHashMap <Property> >(
                this.PropertiesPointer // offset
                );
        }
Beispiel #7
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.Unknown_20h       = reader.ReadUInt32();
            this.Unknown_24h       = reader.ReadUInt32();
            this.Unknown_28h       = reader.ReadUInt32();
            this.Unknown_2Ch       = reader.ReadUInt32();
            this.Unknown_30h       = reader.ReadUInt32();
            this.Unknown_34h       = reader.ReadUInt32();
            this.Unknown_38h       = reader.ReadUInt32();
            this.Unknown_3Ch       = reader.ReadUInt32();
            this.Unknown_40h       = reader.ReadUInt32();
            this.Unknown_44h       = reader.ReadUInt32();
            this.Unknown_48h       = reader.ReadUInt32();
            this.Unknown_4Ch       = reader.ReadUInt32();
            this.Unknown_50h       = reader.ReadUInt32();
            this.Unknown_54h       = reader.ReadUInt32();
            this.Unknown_58h       = reader.ReadUInt32();
            this.Unknown_5Ch       = reader.ReadUInt32();
            this.Unknown_60h       = reader.ReadUInt32();
            this.Unknown_64h       = reader.ReadUInt32();
            this.Unknown_68h       = reader.ReadUInt32();
            this.Unknown_6Ch       = reader.ReadUInt32();
            this.Unknown_70h       = reader.ReadUInt32();
            this.Unknown_74h       = reader.ReadUInt32();
            this.JointTypesPointer = reader.ReadUInt64();
            this.p2 = reader.ReadUInt64();
            this.c1 = reader.ReadByte();
            this.JointTypesCount = reader.ReadByte();
            this.Unknown_8Ah     = reader.ReadUInt16();
            this.Unknown_8Ch     = reader.ReadUInt32();
            this.Unknown_90h     = reader.ReadUInt32();
            this.Unknown_94h     = reader.ReadUInt32();
            this.Unknown_98h     = reader.ReadUInt32();
            this.Unknown_9Ch     = reader.ReadUInt32();
            this.Unknown_A0h     = reader.ReadUInt32();
            this.Unknown_A4h     = reader.ReadUInt32();
            this.Unknown_A8h     = reader.ReadUInt32();
            this.Unknown_ACh     = reader.ReadUInt32();

            // read reference data
            this.JointTypes = reader.ReadBlockAt <ResourcePointerArray64 <JointType> >(
                this.JointTypesPointer, // offset
                this.JointTypesCount
                );
            this.p2data = reader.ReadBlockAt <ResourceSimpleArray <RAGE_Vector4> >(
                this.p2, // offset
                this.c1
                );
        }
 /// <summary>
 /// Reads the data-block from a stream.
 /// </summary>
 public override void Read(ResourceDataReader reader, params object[] parameters)
 {
     // read structure data
     this.Flags = reader.ReadUInt32();
     this.Stride = reader.ReadUInt16();
     this.Unknown_6h = reader.ReadByte();
     this.Count = reader.ReadByte();
     this.Types = reader.ReadUInt64();
 }
 /// <summary>
 /// Reads the data-block from a stream.
 /// </summary>
 public override void Read(ResourceDataReader reader, params object[] parameters)
 {
     // read structure data
     this.Flags      = reader.ReadUInt32();
     this.Stride     = reader.ReadUInt16();
     this.Unknown_6h = reader.ReadByte();
     this.Count      = reader.ReadByte();
     this.Types      = reader.ReadUInt64();
 }
Beispiel #10
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.type = reader.ReadByte();
     this.Unknown_9h = reader.ReadByte();
     this.Unknown_Ah = reader.ReadUInt16();
     this.Unknown_Ch = reader.ReadUInt32();
 }
 /// <summary>
 /// Reads the data-block from a stream.
 /// </summary>
 public override void Read(ResourceDataReader reader, params object[] parameters)
 {
     // read structure data
     this.Flags           = (VertexDeclarationFlags)reader.ReadUInt16();
     this.Unknown_2h      = reader.ReadUInt16();
     this.Stride          = reader.ReadUInt16();
     this.Unknown_6h      = reader.ReadByte();
     this.ComponentsCount = reader.ReadByte();
     this.Types           = (VertexDeclarationTypes)reader.ReadUInt64();
 }
Beispiel #12
0
 /// <summary>
 /// Reads the data-block from a stream.
 /// </summary>
 public override void Read(ResourceDataReader reader, params object[] parameters)
 {
     // read structure data
     this.EntryNameHash      = reader.ReadInt32();
     this.DataOffset         = reader.ReadInt32();
     this.DataType           = (StructureEntryDataType)reader.ReadByte();
     this.Unknown_9h         = reader.ReadByte();
     this.ReferenceTypeIndex = reader.ReadInt16();
     this.ReferenceKey       = reader.ReadInt32();
 }
Beispiel #13
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.type       = reader.ReadByte();
     this.Unknown_9h = reader.ReadByte();
     this.Unknown_Ah = reader.ReadUInt16();
     this.Unknown_Ch = reader.ReadUInt32();
 }
Beispiel #14
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_8h  = reader.ReadUInt64();
            this.Hash        = reader.ReadUInt32();
            this.Type        = reader.ReadByte();
            this.Unknown_15h = reader.ReadByte();
            this.Unknown_16h = reader.ReadUInt16();
        }
Beispiel #15
0
 /// <summary>
 /// Reads the data-block from a stream.
 /// </summary>
 public override void Read(ResourceDataReader reader, params object[] parameters)
 {
     // read structure data
     this.Unknown_0h = reader.ReadUInt32();
     this.Unknown_4h = reader.ReadUInt32();
     this.SystemPagesCount = reader.ReadByte();
     this.GraphicsPagesCount = reader.ReadByte();
     this.Unknown_Ah = reader.ReadUInt16();
     this.Unknown_Ch = reader.ReadUInt32();
     this.Unknown_10h = reader.ReadUInt32();
 }
        /// <summary>
        /// Reads the data-block from a stream.
        /// </summary>
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            // read structure data
            this.DataType = reader.ReadByte();
            this.Unknown_1h = reader.ReadByte();
            this.Unknown_2h = reader.ReadUInt16();
            this.Unknown_4h = reader.ReadUInt32();
            this.DataPointer = reader.ReadUInt64();

            // DONT READ DATA...
        }
        /// <summary>
        /// Reads the data-block from a stream.
        /// </summary>
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            // read structure data
            this.DataType    = reader.ReadByte();
            this.Unknown_1h  = reader.ReadByte();
            this.Unknown_2h  = reader.ReadUInt16();
            this.Unknown_4h  = reader.ReadUInt32();
            this.DataPointer = reader.ReadUInt64();

            // DONT READ DATA...
        }
 /// <summary>
 /// Reads the data-block from a stream.
 /// </summary>
 public override void Read(ResourceDataReader reader, params object[] parameters)
 {
     // read structure data
     this.Unknown_0h         = reader.ReadUInt32();
     this.Unknown_4h         = reader.ReadUInt32();
     this.SystemPagesCount   = reader.ReadByte();
     this.GraphicsPagesCount = reader.ReadByte();
     this.Unknown_Ah         = reader.ReadUInt16();
     this.Unknown_Ch         = reader.ReadUInt32();
     this.Unknown_10h        = reader.ReadUInt32();
 }
Beispiel #19
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.Type                  = reader.ReadByte();
            this.Unknown_11h           = reader.ReadByte();
            this.Unknown_12h           = reader.ReadUInt16();
            this.BoundingSphereRadius  = reader.ReadSingle();
            this.Unknown_18h           = reader.ReadUInt32();
            this.Unknown_1Ch           = reader.ReadUInt32();
            this.BoundingBoxMax        = reader.ReadBlock <RAGE_Vector3>();
            this.Margin                = reader.ReadSingle();
            this.BoundingBoxMin        = reader.ReadBlock <RAGE_Vector3>();
            this.Unknown_3Ch           = reader.ReadUInt32();
            this.BoundingBoxCenter     = reader.ReadBlock <RAGE_Vector3>();
            this.MaterialIndex         = reader.ReadByte();
            this.ProceduralId          = reader.ReadByte();
            this.RoomId_And_PedDensity = reader.ReadByte();
            this.Unknown_4Fh           = reader.ReadByte();
            this.CenterGravity         = reader.ReadBlock <RAGE_Vector3>();
            this.PolyFlags             = reader.ReadByte();
            this.MaterialColorIndex    = reader.ReadByte();
            this.Unknown_5Eh           = reader.ReadUInt16();
            this.Unknown_60h           = reader.ReadSingle();
            this.Unknown_64h           = reader.ReadSingle();
            this.Unknown_68h           = reader.ReadSingle();
            this.BoundingBoxVolume     = reader.ReadSingle();
        }
Beispiel #20
0
        public IResourceSystemBlock GetType(ResourceDataReader reader, params object[] parameters)
        {
            reader.Position += 8;
            var type = reader.ReadByte();

            reader.Position -= 9;

            switch (type)
            {
            case 1: return(new PropertyAttributeFloat());

            case 2: return(new PropertyAttributeInt());

            case 3: return(new PropertyAttributeBool());

            case 4: return(new PropertyAttributeString());

            case 6: return(new PropertyAttributeVector3());

            case 8: return(new PropertyAttributeQuaternion());

            case 12: return(new PropertyAttributeHashString());

            default: throw new Exception("Unknown attribute type");
            }
        }
Beispiel #21
0
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            // read structure data
            this.BucketsPointer = reader.ReadUInt64();
            this.BucketsCount   = reader.ReadUInt16();
            this.Count          = reader.ReadUInt16();
            this.Unknown_Ch     = reader.ReadUInt16();
            this.Unknown_Eh     = reader.ReadByte();
            this.Initialized    = reader.ReadByte();

            // read reference data
            this.Buckets = reader.ReadBlockAt <ResourcePointerArray64 <HashMapEntry> >(
                this.BucketsPointer, // offset
                this.BucketsCount
                );
        }
Beispiel #22
0
        public IResourceSystemBlock GetType(ResourceDataReader reader, params object[] parameters)
        {
            reader.Position += 16;
            var type = reader.ReadByte();

            reader.Position -= 17;

            switch (type)
            {
            case 0: return(new BoundSphere());

            case 1: return(new BoundCapsule());

            case 3: return(new BoundBox());

            case 4: return(new BoundGeometry());

            case 8: return(new BoundBVH());

            case 10: return(new BoundComposite());

            case 12: return(new BoundDisc());

            case 13: return(new BoundCylinder());

            case 15: return(new BoundPlane());

            default: throw new Exception("Unknown bound type");
            }
        }
Beispiel #23
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.ReadInt32();
            this.Unknown_14h           = reader.ReadInt16();
            this.HasUselessData        = reader.ReadByte();
            this.Unknown_17h           = reader.ReadByte();
            this.Unknown_18h           = reader.ReadInt32();
            this.RootBlockIndex        = reader.ReadInt32();
            this.StructureInfosPointer = reader.ReadInt64();
            this.EnumInfosPointer      = reader.ReadInt64();
            this.DataBlocksPointer     = reader.ReadInt64();
            this.NamePointer           = reader.ReadInt64();
            this.UselessPointer        = reader.ReadInt64();
            this.StructureInfosCount   = reader.ReadInt16();
            this.EnumInfosCount        = reader.ReadInt16();
            this.DataBlocksCount       = reader.ReadInt16();
            this.Unknown_4Eh           = reader.ReadInt16();
            this.Unknown_50h           = reader.ReadInt32();
            this.Unknown_54h           = reader.ReadInt32();
            this.Unknown_58h           = reader.ReadInt32();
            this.Unknown_5Ch           = reader.ReadInt32();
            this.Unknown_60h           = reader.ReadInt32();
            this.Unknown_64h           = reader.ReadInt32();
            this.Unknown_68h           = reader.ReadInt32();
            this.Unknown_6Ch           = reader.ReadInt32();

            // read reference data
            this.StructureInfos = reader.ReadBlockAt <ResourceSimpleArray <StructureInfo> >(
                (ulong)this.StructureInfosPointer, // offset
                this.StructureInfosCount
                );
            this.EnumInfos = reader.ReadBlockAt <ResourceSimpleArray <EnumInfo> >(
                (ulong)this.EnumInfosPointer, // offset
                this.EnumInfosCount
                );
            this.DataBlocks = reader.ReadBlockAt <ResourceSimpleArray <DataBlock> >(
                (ulong)this.DataBlocksPointer, // offset
                this.DataBlocksCount
                );
            this.Name = reader.ReadBlockAt <string_r>(
                (ulong)this.NamePointer // offset
                );
        }
Beispiel #24
0
 /// <summary>
 /// Reads the data-block from a stream.
 /// </summary>
 public override void Read(ResourceDataReader reader, params object[] parameters)
 {
     // read structure data
     this.Unknown_0h = reader.ReadUInt32();
     this.Unknown_4h = reader.ReadUInt32();
     this.Unknown_8h = reader.ReadUInt32();
     this.Unknown_Ch = reader.ReadUInt32();
     this.cnt1 = reader.ReadByte();
     this.cnt2 = reader.ReadByte();
     this.Unknown_12h = reader.ReadUInt16();
     this.Unknown_14h = reader.ReadUInt32();
     this.Unknown_18h = reader.ReadUInt32();
     this.Unknown_1Ch = reader.ReadUInt32();
     this.Data = reader.ReadBlock<ResourceSimpleArray<RAGE_Matrix3>>(
         cnt1
         );
 }
        public byte Unknown_3Eh; // 0x00000000

        /// <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.RotationRate      = reader.ReadSingle();
            this.AngleThreshold    = reader.ReadSingle();
            this.Unknown_18h       = reader.ReadUInt64();
            this.ExtraForce        = reader.ReadVector4();
            this.Flags             = (ClothTuneFlags)reader.ReadUInt32();
            this.Weight            = reader.ReadSingle();
            this.DistanceThreshold = reader.ReadSingle();
            this.PinVert           = reader.ReadByte();
            this.NonPinVert0       = reader.ReadByte();
            this.NonPinVert1       = reader.ReadByte();
            this.Unknown_3Eh       = reader.ReadByte();
        }
Beispiel #26
0
 /// <summary>
 /// Reads the data-block from a stream.
 /// </summary>
 public override void Read(ResourceDataReader reader, params object[] parameters)
 {
     // read structure data
     this.Unknown_0h  = reader.ReadUInt32();
     this.Unknown_4h  = reader.ReadUInt32();
     this.Unknown_8h  = reader.ReadUInt32();
     this.Unknown_Ch  = reader.ReadUInt32();
     this.cnt1        = reader.ReadByte();
     this.cnt2        = reader.ReadByte();
     this.Unknown_12h = reader.ReadUInt16();
     this.Unknown_14h = reader.ReadUInt32();
     this.Unknown_18h = reader.ReadUInt32();
     this.Unknown_1Ch = reader.ReadUInt32();
     this.Data        = reader.ReadBlock <SimpleArray <Matrix3x4> >(
         cnt1
         );
 }
Beispiel #27
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.Type                 = reader.ReadByte();
            this.Unknown_11h          = reader.ReadByte();
            this.Unknown_12h          = reader.ReadUInt16();
            this.RadiusAroundCentroid = reader.ReadSingle();
            this.Unknown_18h          = reader.ReadUInt32();
            this.Unknown_1Ch          = reader.ReadUInt32();
            this.BoundingBoxMax       = reader.ReadVector3();
            this.Margin               = reader.ReadSingle();
            this.BoundingBoxMin       = reader.ReadVector3();
            this.RefCount             = reader.ReadUInt32();
            this.CentroidOffset       = reader.ReadVector3();
            this.MaterialId0          = reader.ReadUInt32();
            this.CGOffset             = reader.ReadVector3();
            this.MaterialId1          = reader.ReadUInt32();
            this.VolumeDistribution   = reader.ReadVector4();
        }
 /// <summary>
 /// Reads the data-block from a stream.
 /// </summary>
 public override void Read(ResourceDataReader reader, params object[] parameters)
 {
     // read structure data
     this.Time = reader.ReadUInt32();
     this.VelocityX = reader.ReadUInt16();
     this.VelocityY = reader.ReadUInt16();
     this.VelocityZ = reader.ReadUInt16();
     this.RightX = reader.ReadByte();
     this.RightY = reader.ReadByte();
     this.RightZ = reader.ReadByte();
     this.TopX = reader.ReadByte();
     this.TopY = reader.ReadByte();
     this.TopZ = reader.ReadByte();
     this.SteeringAngle = reader.ReadByte();
     this.GasPedalPower = reader.ReadByte();
     this.BrakePedalPower = reader.ReadByte();
     this.HandbrakeUsed = reader.ReadByte();
     this.PositionX = reader.ReadSingle();
     this.PositionY = reader.ReadSingle();
     this.PositionZ = reader.ReadSingle();
 }
Beispiel #29
0
        public ulong Unknown_278h; // 0x0000000000000000

        /// <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.Index         = reader.ReadUInt32();
            this.Type          = reader.ReadByte();
            this.Unknown_Dh    = reader.ReadByte();
            this.Unknown_Eh    = reader.ReadUInt16();
            this.Unknown_10h   = reader.ReadUInt32();
            this.Unknown_14h   = reader.ReadUInt32();
            this.KeyframeProp0 = reader.ReadBlock <KeyframeProp>();
            this.KeyframeProp1 = reader.ReadBlock <KeyframeProp>();
            this.KeyframeProp2 = reader.ReadBlock <KeyframeProp>();
            this.KeyframeProp3 = reader.ReadBlock <KeyframeProp>();
            this.Unknown_258h  = reader.ReadSingle();
            this.Unknown_25Ch  = reader.ReadUInt32();
            this.KeyframeProps = reader.ReadBlock <ResourcePointerList64 <KeyframeProp> >();
            this.Unknown_270h  = reader.ReadUInt64();
            this.Unknown_278h  = reader.ReadUInt64();
        }
Beispiel #30
0
 /// <summary>
 /// Reads the data-block from a stream.
 /// </summary>
 public override void Read(ResourceDataReader reader, params object[] parameters)
 {
     // read structure data
     this.Time            = reader.ReadUInt32();
     this.VelocityX       = reader.ReadUInt16();
     this.VelocityY       = reader.ReadUInt16();
     this.VelocityZ       = reader.ReadUInt16();
     this.RightX          = reader.ReadByte();
     this.RightY          = reader.ReadByte();
     this.RightZ          = reader.ReadByte();
     this.TopX            = reader.ReadByte();
     this.TopY            = reader.ReadByte();
     this.TopZ            = reader.ReadByte();
     this.SteeringAngle   = reader.ReadByte();
     this.GasPedalPower   = reader.ReadByte();
     this.BrakePedalPower = reader.ReadByte();
     this.HandbrakeUsed   = reader.ReadByte();
     this.PositionX       = reader.ReadSingle();
     this.PositionY       = reader.ReadSingle();
     this.PositionZ       = reader.ReadSingle();
 }
Beispiel #31
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.Geometries = reader.ReadBlock <ResourcePointerList64 <DrawableGeometry> >();
            this.GeometriesBoundsPointer = reader.ReadUInt64();
            this.ShaderMappingPointer    = reader.ReadUInt64();
            this.Unknown_28h             = reader.ReadByte();
            this.IsSkinned       = reader.ReadByte();
            this.Unknown_2Ah     = reader.ReadByte();
            this.RootBoneIndex   = reader.ReadByte();
            this.Mask            = reader.ReadByte();
            this.Unknown_2Dh     = reader.ReadByte();
            this.GeometriesCount = reader.ReadUInt16();

            // read reference data
            this.GeometriesBounds = reader.ReadBlockAt <SimpleArray <Aabb> >(
                this.GeometriesBoundsPointer, // offset
                this.GeometriesCount > 1 ? this.GeometriesCount + 1 : this.GeometriesCount
                );
            this.ShaderMapping = reader.ReadBlockAt <SimpleArray <ushort> >(
                this.ShaderMappingPointer, // offset
                this.GeometriesCount
                );
        }
Beispiel #32
0
        public IResourceSystemBlock GetType(ResourceDataReader reader, params object[] parameters)
        {
            reader.Position += 21;
            var type = reader.ReadByte();
            reader.Position -= 22;

            switch (type)
            {
                case 0: return new Unknown_F_031_type0();
                case 1: return new Unknown_F_031_type1();
                default: throw new Exception("Unknown type");
            }
        }
Beispiel #33
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_40h = reader.ReadUInt32();
            this.Unknown_44h = reader.ReadUInt32();
            this.Unknown_48h = reader.ReadUInt32();
            this.Unknown_4Ch = reader.ReadUInt32();
            this.Width = reader.ReadUInt16();
            this.Height = reader.ReadUInt16();
            this.Unknown_54h = reader.ReadUInt16();
            this.Stride = reader.ReadUInt16();
            this.Format = reader.ReadUInt32();
            this.Unknown_5Ch = reader.ReadByte();
            this.Levels = reader.ReadByte();
            this.Unknown_5Eh = reader.ReadUInt16();
            this.Unknown_60h = reader.ReadUInt32();
            this.Unknown_64h = reader.ReadUInt32();
            this.Unknown_68h = reader.ReadUInt32();
            this.Unknown_6Ch = reader.ReadUInt32();
            this.DataPointer = reader.ReadUInt64();
            this.Unknown_78h = reader.ReadUInt32();
            this.Unknown_7Ch = reader.ReadUInt32();
            this.Unknown_80h = reader.ReadUInt32();
            this.Unknown_84h = reader.ReadUInt32();
            this.Unknown_88h = reader.ReadUInt32();
            this.Unknown_8Ch = reader.ReadUInt32();
            
            // read reference data
            this.Data = reader.ReadBlockAt<TextureData_GTA5_pc>(
                this.DataPointer, // offset
                this.Format,
                this.Width,
                this.Height,
                this.Levels,
                this.Stride
            );
        }
Beispiel #34
0
        public uint Unknown_27Ch; // 0x00000000

        /// <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.ReadByte();
            this.Unknown_Dh    = reader.ReadByte();
            this.Unknown_Eh    = reader.ReadUInt16();
            this.Unknown_10h   = reader.ReadUInt32();
            this.Unknown_14h   = reader.ReadUInt32();
            this.KeyframeProp0 = reader.ReadBlock <KeyframeProp>();
            this.KeyframeProp1 = reader.ReadBlock <KeyframeProp>();
            this.KeyframeProp2 = reader.ReadBlock <KeyframeProp>();
            this.KeyframeProp3 = reader.ReadBlock <KeyframeProp>();
            this.Unknown_258h  = reader.ReadUInt32();
            this.Unknown_25Ch  = reader.ReadUInt32();
            this.KeyframeProps = reader.ReadBlock <ResourcePointerList64 <KeyframeProp> >();
            this.Unknown_270h  = reader.ReadUInt32();
            this.Unknown_274h  = reader.ReadUInt32();
            this.Unknown_278h  = reader.ReadUInt32();
            this.Unknown_27Ch  = reader.ReadUInt32();
        }
Beispiel #35
0
        public IResourceSystemBlock GetType(ResourceDataReader reader, params object[] parameters)
        {
            reader.Position += 16;
            var type = reader.ReadByte();

            reader.Position -= 17;

            switch (type)
            {
            case 6: return(new BoundComposite());

            default: throw new Exception("Unknown bound type");
            }
        }
Beispiel #36
0
        /// <summary>
        /// Reads the data-block from a stream.
        /// </summary>
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            // read structure data
            this.ParametersPointer      = reader.ReadUInt64();
            this.ShaderHash             = reader.ReadUInt32();
            this.Unknown_Ch             = reader.ReadUInt32();
            this.ParameterCount         = reader.ReadByte();
            this.DrawBucket             = reader.ReadByte();
            this.Unknown_12h            = reader.ReadUInt16();
            this.ParametersSize         = reader.ReadUInt16();
            this.ParametersTotalSize    = reader.ReadUInt16();
            this.SpsHash                = reader.ReadUInt32();
            this.Unknown_1Ch            = reader.ReadUInt32();
            this.Unknown_20h            = reader.ReadUInt32();
            this.Unknown_24h            = reader.ReadUInt16();
            this.Unknown_26h            = reader.ReadByte();
            this.TextureParametersCount = reader.ReadByte();
            this.Unknown_28h            = reader.ReadUInt32();
            this.Unknown_2Ch            = reader.ReadUInt32();

            // read reference data
            //this.Parameters = reader.ReadBlockAt<ResourceSimpleArray<ShaderParameter_GTA5_pc>>(
            //	this.ParametersPointer, // offset
            //	this.ParameterCount
            //);
            //this.ParameterHashes = reader.ReadBlockAt<SimpleArrayOFFSET<uint_r>>(
            //	this.ParametersPointer, // offset
            //	this.ParameterCount,
            //	this.TextureParametersCount
            //);


            this.ParametersList = reader.ReadBlockAt <ShaderParametersBlock_GTA5_pc>(
                this.ParametersPointer, // offset
                this.ParameterCount
                );
        }
Beispiel #37
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.Type                 = reader.ReadByte();
            this.Unknown_11h          = reader.ReadByte();
            this.Unknown_12h          = reader.ReadUInt16();
            this.BoundingSphereRadius = reader.ReadSingle();
            this.Unknown_18h          = reader.ReadUInt32();
            this.Unknown_1Ch          = reader.ReadUInt32();
            this.BoundingBoxMax       = reader.ReadBlock <RAGE_Vector3>();
            this.Unknown_2Ch          = reader.ReadSingle();
            this.BoundingBoxMin       = reader.ReadBlock <RAGE_Vector3>();
            this.Unknown_3Ch          = reader.ReadUInt32();
            this.BoundingBoxCenter    = reader.ReadBlock <RAGE_Vector3>();
            this.Unknown_4Ch          = reader.ReadUInt32();
            this.Center               = reader.ReadBlock <RAGE_Vector3>();
            this.Unknown_5Ch          = reader.ReadUInt32();
            this.Unknown_60h          = reader.ReadSingle();
            this.Unknown_64h          = reader.ReadSingle();
            this.Unknown_68h          = reader.ReadSingle();
            this.Unknown_6Ch          = reader.ReadUInt32();
        }
Beispiel #38
0
        /// <summary>
        /// Reads the data-block from a stream.
        /// </summary>
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            // read structure data
            this.ParametersPointer = reader.ReadUInt64();
            this.Unknown_8h = reader.ReadUInt32();
            this.Unknown_Ch = reader.ReadUInt32();
            this.ParameterCount = reader.ReadByte();
            this.Unknown_11h = reader.ReadByte();
            this.Unknown_12h = reader.ReadUInt16();
            this.Unknown_14h = reader.ReadUInt32();
            this.Unknown_18h = reader.ReadUInt32();
            this.Unknown_1Ch = reader.ReadUInt32();
            this.Unknown_20h = reader.ReadUInt32();
            this.Unknown_24h = reader.ReadUInt16();
            this.Unknown_26h = reader.ReadByte();
            this.TextureParametersCount = reader.ReadByte();
            this.Unknown_28h = reader.ReadUInt32();
            this.Unknown_2Ch = reader.ReadUInt32();

            // read reference data
            //this.Parameters = reader.ReadBlockAt<ResourceSimpleArray<ShaderParameter_GTA5_pc>>(
            //	this.ParametersPointer, // offset
            //	this.ParameterCount
            //);
            //this.ParameterHashes = reader.ReadBlockAt<SimpleArrayOFFSET<uint_r>>(
            //	this.ParametersPointer, // offset
            //	this.ParameterCount,
            //	this.TextureParametersCount
            //);


            this.ParametersList = reader.ReadBlockAt<ShaderParametersBlock_GTA5_pc>(
                this.ParametersPointer, // offset
                this.ParameterCount
            );
        }
Beispiel #39
0
        public IResourceSystemBlock GetType(ResourceDataReader reader, params object[] parameters)
        {
            reader.Position += 20;
            var type = reader.ReadByte();
            reader.Position -= 21;

            switch (type)
            {
                case 2: return new Unknown_P_007_Type2();
                case 4: return new Unknown_P_007_Type4();
                case 6: return new Unknown_P_007_Type6();
                case 7: return new Unknown_P_007_Type7();
                default: throw new Exception("Unknown type");
            }
        }
Beispiel #40
0
        public IResourceSystemBlock GetType(ResourceDataReader reader, params object[] parameters)
        {
            reader.Position += 16;
            var type = reader.ReadByte();

            reader.Position -= 17;

            switch (type)
            {
            case 1: return(new ClipAnimation());

            case 2: return(new ClipAnimations());

            default: throw new Exception("Unknown clip type");
            }
        }
Beispiel #41
0
        public IResourceSystemBlock GetType(ResourceDataReader reader, params object[] parameters)
        {
            reader.Position += 21;
            var type = reader.ReadByte();

            reader.Position -= 22;

            switch (type)
            {
            case 0: return(new Joint1DofType());

            case 1: return(new Joint3DofType());

            default: throw new Exception("Unknown type");
            }
        }
Beispiel #42
0
        public IResourceSystemBlock GetType(ResourceDataReader reader, params object[] parameters)
        {
            reader.Position += 8;
            var type = reader.ReadByte();
            reader.Position -= 9;

            switch (type)
            {
                case 1: return new Unknown_CL_004_type1();
                case 2: return new Unknown_CL_004_type2();
                case 3: return new Unknown_CL_004_type3();
                case 4: return new Unknown_CL_004_type4();
                case 6: return new Unknown_CL_004_type6();
                case 8: return new Unknown_CL_004_type8();
                default: throw new Exception("Unknown type");
            }
        }
        /// <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_70h = reader.ReadUInt32();
            this.Unknown_74h = reader.ReadUInt32();
            this.Unknown_78h_Pointer = reader.ReadUInt64();
            this.Unknown_80h = reader.ReadUInt32();
            this.Count1 = reader.ReadUInt32();
            this.PolygonsPointer = reader.ReadUInt64();
            this.Unknown_90h = reader.ReadUInt32();
            this.Unknown_94h = reader.ReadUInt32();
            this.Unknown_98h = reader.ReadUInt32();
            this.Unknown_9Ch = reader.ReadUInt32();
            this.Unknown_A0h = reader.ReadUInt32();
            this.Unknown_A4h = reader.ReadUInt32();
            this.Unknown_A8h = reader.ReadUInt32();
            this.Unknown_ACh = reader.ReadUInt32();
            this.VerticesPointer = reader.ReadUInt64();
            this.Unknown_B8h_Pointer = reader.ReadUInt64();
            this.Unknown_C0h_Pointer = reader.ReadUInt64();
            this.Unknown_C8h_Pointer = reader.ReadUInt64();
            this.VerticesCount = reader.ReadUInt32();
            this.PolygonsCount = reader.ReadUInt32();
            this.Unknown_D8h = reader.ReadUInt32();
            this.Unknown_DCh = reader.ReadUInt32();
            this.Unknown_E0h = reader.ReadUInt32();
            this.Unknown_E4h = reader.ReadUInt32();
            this.Unknown_E8h = reader.ReadUInt32();
            this.Unknown_ECh = reader.ReadUInt32();
            this.MaterialsPointer = reader.ReadUInt64();
            this.Unknown_F8h_Pointer = reader.ReadUInt64();
            this.Unknown_100h = reader.ReadUInt32();
            this.Unknown_104h = reader.ReadUInt32();
            this.Unknown_108h = reader.ReadUInt32();
            this.Unknown_10Ch = reader.ReadUInt32();
            this.Unknown_110h = reader.ReadUInt32();
            this.Unknown_114h = reader.ReadUInt32();
            this.Unknown_118h_Pointer = reader.ReadUInt64();
            this.MaterialsCount = reader.ReadByte();
            this.Count2 = reader.ReadByte();
            this.Unknown_122h = reader.ReadUInt16();
            this.Unknown_124h = reader.ReadUInt32();
            this.Unknown_128h = reader.ReadUInt32();
            this.Unknown_12Ch = reader.ReadUInt32();

            // read reference data
            this.p1data = reader.ReadBlockAt<ResourceSimpleArray<BoundVertex_GTA5_pc>>(
                this.Unknown_78h_Pointer, // offset
                this.VerticesCount
            );
            this.Polygons = reader.ReadBlockAt<ResourceSimpleArray<BoundPolygon_GTA5_pc>>(
                this.PolygonsPointer, // offset
                this.PolygonsCount
            );
            this.Vertices = reader.ReadBlockAt<ResourceSimpleArray<BoundVertex_GTA5_pc>>(
                this.VerticesPointer, // offset
                this.VerticesCount
            );
            this.Unknown_B8h_Data = reader.ReadBlockAt<ResourceSimpleArray<uint_r>>(
                this.Unknown_B8h_Pointer, // offset
                this.VerticesCount
            );
            this.Unknown_C0h_Data = reader.ReadBlockAt<ResourceSimpleArray<uint_r>>(
                this.Unknown_C0h_Pointer, // offset
                8
            );
            this.Unknown_C8h_Data = reader.ReadBlockAt<ResourceSimpleArrayArray64<uint_r>>(
                this.Unknown_C8h_Pointer, // offset
                8,
                this.Unknown_C0h_Data
            );
            this.Materials = reader.ReadBlockAt<ResourceSimpleArray<ulong_r>>(
                this.MaterialsPointer, // offset
                this.MaterialsCount
            );
            this.Unknown_F8h_Data = reader.ReadBlockAt<ResourceSimpleArray<uint_r>>(
                this.Unknown_F8h_Pointer, // offset
                this.Count2
            );
            this.PolygonMaterials = reader.ReadBlockAt<ResourceSimpleArray<byte_r>>(
                this.Unknown_118h_Pointer, // offset
                this.PolygonsCount
            );
        }
        /// <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.Unknown_20h_Pointer = 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.Unknown_20h_Data = reader.ReadBlockAt<Unknown_F_030>(
                this.Unknown_20h_Pointer // offset
            );
            this.Unknown_28h_Data = reader.ReadBlockAt<ResourceSimpleArray<uint_r>>(
                this.Unknown_28h_Pointer, // offset
                this.ChildrenCount
            );
            this.GroupNames = reader.ReadBlockAt<ResourcePointerArray64<fragNameStruct_GTA5_pc>>(
                this.GroupNamesPointer, // offset
                this.GroupsCount
            );
            this.Groups = reader.ReadBlockAt<ResourcePointerArray64<FragTypeGroup_GTA5_pc>>(
                this.GroupsPointer, // offset
                this.GroupsCount
            );
            this.Children = reader.ReadBlockAt<ResourcePointerArray64<FragTypeChild_GTA5_pc>>(
                this.ChildrenPointer, // offset
                this.ChildrenCount
            );
            this.Archetype1 = reader.ReadBlockAt<Archetype_GTA5_pc>(
                this.Archetype1Pointer // offset
            );
            this.Archetype2 = reader.ReadBlockAt<Archetype_GTA5_pc>(
                this.Archetype2Pointer // offset
            );
            this.Bound = reader.ReadBlockAt<Bound_GTA5_pc>(
                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_002>(
                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 #45
0
        public IResourceSystemBlock GetType(ResourceDataReader reader, params object[] parameters)
        {
            reader.Position += 16;
            var type = reader.ReadByte();
            reader.Position -= 17;

            switch (type)
            {
                case 1: return new Clip1_GTA5_pc();
                case 2: return new Clip2_GTA5_pc();
                default: throw new Exception("Unknown type");
            }
        }
Beispiel #46
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.Unknown_20h = reader.ReadUInt32();
			this.Unknown_24h = reader.ReadUInt32();
			this.Unknown_28h = reader.ReadUInt32();
			this.Unknown_2Ch = reader.ReadUInt32();
			this.DrawablePointer = reader.ReadUInt64();
			this.Unknown_28h_Pointer = reader.ReadUInt64();
			this.Unknown_30h_Pointer = reader.ReadUInt64();
			this.Count0 = reader.ReadUInt32();
			this.Unknown_4Ch = reader.ReadUInt32();
			this.Unknown_50h = reader.ReadUInt32();
			this.Unknown_54h = reader.ReadUInt32();
			this.NamePointer = reader.ReadUInt64();
			this.Unknown_60h_Pointer = reader.ReadUInt64();
			this.Count1 = reader.ReadUInt16();
			this.Count2 = reader.ReadUInt16();
			this.Unknown_6Ch = reader.ReadUInt32();
			this.Unknown_70h = reader.ReadUInt32();
			this.Unknown_74h = reader.ReadUInt32();
			this.Unknown_78h = reader.ReadUInt32();
			this.Unknown_7Ch = reader.ReadUInt32();
			this.Unknown_80h = reader.ReadUInt32();
			this.Unknown_84h = reader.ReadUInt32();
			this.Unknown_88h = reader.ReadUInt32();
			this.Unknown_8Ch = reader.ReadUInt32();
			this.Unknown_90h = reader.ReadUInt32();
			this.Unknown_94h = reader.ReadUInt32();
			this.Unknown_98h = reader.ReadUInt32();
			this.Unknown_9Ch = reader.ReadUInt32();
			this.Unknown_A0h = reader.ReadUInt32();
			this.Unknown_A4h = reader.ReadUInt32();
			this.Unknown_A8h_Pointer = reader.ReadUInt64();
			this.Unknown_B0h = reader.ReadUInt32();
			this.Unknown_B4h = reader.ReadUInt32();
			this.Unknown_B8h = reader.ReadUInt32();
			this.Unknown_BCh = reader.ReadUInt32();
			this.Unknown_C0h = reader.ReadUInt32();
			this.Unknown_C4h = reader.ReadUInt32();
			this.Unknown_C8h = reader.ReadUInt32();
			this.Unknown_CCh = reader.ReadUInt32();
			this.Unknown_D0h = reader.ReadUInt32();
			this.Unknown_D4h = reader.ReadUInt32();
			this.Unknown_D8h = reader.ReadByte();
			this.Count3 = reader.ReadByte();
			this.Unknown_DAh = reader.ReadUInt16();
			this.Unknown_DCh = reader.ReadUInt32();
			this.Unknown_E0h_Pointer = reader.ReadUInt64();
			this.Unknown_E8h = reader.ReadUInt32();
			this.Unknown_ECh = reader.ReadUInt32();
			this.PhysicsLODGroupPointer = reader.ReadUInt64();
			this.Unknown_F8h_Pointer = reader.ReadUInt64();
			this.Unknown_100h = reader.ReadUInt32();
			this.Unknown_104h = reader.ReadUInt32();
			this.Unknown_108h = reader.ReadUInt32();
			this.Unknown_10Ch = reader.ReadUInt32();
			this.LightAttributesPointer = reader.ReadUInt64();
			this.LightAttributesCount = reader.ReadUInt16();
			this.Count5 = reader.ReadUInt16();
			this.Unknown_11Ch = reader.ReadUInt32();
			this.Unknown_120h_Pointer = reader.ReadUInt64();
			this.Unknown_128h = reader.ReadUInt32();
			this.Unknown_12Ch = reader.ReadUInt32();

			// read reference data
			this.Drawable = reader.ReadBlockAt<FragDrawable_GTA5_pc>(
				this.DrawablePointer // offset
			);
			this.Unknown_28h_Data = reader.ReadBlockAt<ResourcePointerArray64<FragDrawable_GTA5_pc>>(
				this.Unknown_28h_Pointer, // offset
				this.Count0
			);
			this.Unknown_30h_Data = reader.ReadBlockAt<ResourcePointerArray64<string_r>>(
				this.Unknown_30h_Pointer, // offset
				this.Count0
			);
			this.Name = reader.ReadBlockAt<string_r>(
				this.NamePointer // offset
			);
			this.Unknown_60h_Data = reader.ReadBlockAt<ResourcePointerArray64<Unknown_F_011>>(
				this.Unknown_60h_Pointer, // offset
				this.Count1
			);
			this.Unknown_A8h_Data = reader.ReadBlockAt<Unknown_F_004>(
				this.Unknown_A8h_Pointer // offset
			);
			this.Unknown_E0h_Data = reader.ReadBlockAt<ResourcePointerArray64<Unknown_F_006>>(
				this.Unknown_E0h_Pointer, // offset
				this.Count3
			);
			this.PhysicsLODGroup = reader.ReadBlockAt<FragPhysicsLODGroup_GTA5_pc>(
				this.PhysicsLODGroupPointer // offset
			);
			this.Unknown_F8h_Data = reader.ReadBlockAt<FragDrawable_GTA5_pc>(
				this.Unknown_F8h_Pointer // offset
			);
			this.LightAttributes = reader.ReadBlockAt<ResourceSimpleArray<LightAttributes_GTA5_pc>>(
				this.LightAttributesPointer, // offset
				this.LightAttributesCount
			);
			this.Unknown_120h_Data = reader.ReadBlockAt<Unknown_F_003>(
				this.Unknown_120h_Pointer // offset
			);
		}
Beispiel #47
0
 public override void Read(ResourceDataReader reader, params object[] parameters)
 {
     Value = reader.ReadByte();
 }
Beispiel #48
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.Unknown_20h = reader.ReadUInt32();
            this.Unknown_24h = reader.ReadUInt32();
            this.Unknown_28h = reader.ReadUInt32();
            this.Unknown_2Ch = reader.ReadUInt32();
            this.Unknown_30h = reader.ReadUInt32();
            this.Unknown_34h = reader.ReadUInt32();
            this.Unknown_38h = reader.ReadUInt32();
            this.Unknown_3Ch = reader.ReadUInt32();
            this.Unknown_40h = reader.ReadUInt32();
            this.Unknown_44h = reader.ReadUInt32();
            this.Unknown_48h = reader.ReadUInt32();
            this.Unknown_4Ch = reader.ReadUInt32();
            this.Unknown_50h = reader.ReadUInt32();
            this.Unknown_54h = reader.ReadUInt32();
            this.Unknown_58h = reader.ReadUInt32();
            this.Unknown_5Ch = reader.ReadUInt32();
            this.Unknown_60h = reader.ReadUInt32();
            this.Unknown_64h = reader.ReadUInt32();
            this.Unknown_68h = reader.ReadUInt32();
            this.Unknown_6Ch = reader.ReadUInt32();
            this.Unknown_70h = reader.ReadUInt32();
            this.Unknown_74h = reader.ReadUInt32();
            this.p1 = reader.ReadUInt64();
            this.p2 = reader.ReadUInt64();
            this.c1 = reader.ReadByte();
            this.c2 = reader.ReadByte();
            this.Unknown_8Ah = reader.ReadUInt16();
            this.Unknown_8Ch = reader.ReadUInt32();
            this.Unknown_90h = reader.ReadUInt32();
            this.Unknown_94h = reader.ReadUInt32();
            this.Unknown_98h = reader.ReadUInt32();
            this.Unknown_9Ch = reader.ReadUInt32();
            this.Unknown_A0h = reader.ReadUInt32();
            this.Unknown_A4h = reader.ReadUInt32();
            this.Unknown_A8h = reader.ReadUInt32();
            this.Unknown_ACh = reader.ReadUInt32();

            // read reference data
            this.p1data = reader.ReadBlockAt<ResourcePointerArray64<Unknown_F_031>>(
                this.p1, // offset
                this.c2
            );
            this.p2data = reader.ReadBlockAt<ResourceSimpleArray<RAGE_Vector4>>(
                this.p2, // offset
                this.c1
            );
        }
Beispiel #49
0
        public IResourceSystemBlock GetType(ResourceDataReader reader, params object[] parameters)
        {
            reader.Position += 16;
            var type = reader.ReadByte();
            reader.Position -= 17;

            switch (type)
            {
                case 0: return new BoundSphere_GTA5_pc();
                case 1: return new BoundCapsule_GTA5_pc();
                case 3: return new BoundBox_GTA5_pc();
                case 4: return new BoundGeometry_GTA5_pc();
                case 8: return new BoundBVH_GTA5_pc();
                case 10: return new BoundComposite_GTA5_pc();
                case 12: return new BoundDisc_GTA5_pc();
                case 13: return new BoundCylinder_GTA5_pc();
                default: throw new Exception("Unknown bound type");
            }
        }