Example #1
0
 public override void FromFragment(ErpFragment fragment)
 {
     using var memData   = fragment.GetDataStream(true);
     using var reader    = new ErpBinaryReader(memData);
     Unknown             = reader.ReadInt32();
     ImageType           = (ErpGfxSurfaceFormat)reader.ReadInt32();
     Unknown2            = reader.ReadInt32();
     MipMapCount         = reader.ReadUInt32();
     Unknown3            = reader.ReadInt32();
     Unknown4            = reader.ReadInt32();
     SurfaceResourceName = reader.ReadString();
 }
Example #2
0
 public override void FromFragment(ErpFragment fragment)
 {
     using (var memData = fragment.GetDataStream(true))
         using (ErpBinaryReader reader = new ErpBinaryReader(memData))
         {
             Unknown     = reader.ReadInt32();
             Unknown2    = reader.ReadInt32();
             ImageType   = (ErpGfxSurfaceFormat)reader.ReadInt32();
             Width       = reader.ReadUInt32();
             Height      = reader.ReadUInt32();
             Unknown3    = reader.ReadInt32();
             MipMapCount = reader.ReadUInt32();
             ArraySize   = reader.ReadUInt32();
             Unknown4    = reader.ReadInt32();
         }
 }
        public override void FromFragment(ErpFragment fragment)
        {
            using (var memData = fragment.GetDataStream(true))
                using (ErpBinaryReader reader = new ErpBinaryReader(memData))
                {
                    Unknown     = reader.ReadInt32();
                    Unknown2    = reader.ReadInt32();
                    ImageType   = (ErpGfxSurfaceFormat)reader.ReadInt32();
                    Width       = reader.ReadUInt32();
                    Height      = reader.ReadUInt32();
                    Unknown3    = reader.ReadInt32();
                    MipMapCount = reader.ReadUInt32();
                    ArraySize   = reader.ReadUInt32();
                    Unknown4    = reader.ReadInt32();

                    _leftoverBytes = reader.BaseStream.Length - reader.BaseStream.Position;
                    if (_leftoverBytes == 4)
                    {
                        // noticed this extra field in F1 2020, not sure if in earlier ones
                        Unknown5 = reader.ReadInt32();
                    }
                    else if (_leftoverBytes > 0)
                    {
                        throw new NotSupportedException("The GfxSurfaceRes0 data is not supported.");
                    }
                }
        }