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(); }
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."); } } }