using System.Runtime.InteropServices; namespace SabreTools.Data.Models.MoPaQ { /// /// This structure contains size of the patch, flags and also MD5 of the patch. /// /// [StructLayout(LayoutKind.Sequential)] public sealed class PatchInfo { /// /// Length of patch info header, in bytes /// public uint Length; /// /// Flags. 0x80000000 = MD5 (?) /// public uint Flags; /// /// Uncompressed size of the patch file /// public uint DataSize; /// /// MD5 of the entire patch file after decompression /// /// 0x10 bytes [MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x10)] public byte[] MD5 = new byte[0x10]; /// /// The sector offset table (variable length) /// /// 0 entries /// TODO: Determine the number of entries [MarshalAs(UnmanagedType.ByValArray, SizeConst = 0)] public uint[] SectorOffsetTable = []; } }