diff --git a/BurnOutSharp.Models/BFPK/Archive.cs b/BurnOutSharp.Models/BFPK/Archive.cs new file mode 100644 index 00000000..754511f0 --- /dev/null +++ b/BurnOutSharp.Models/BFPK/Archive.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace BurnOutSharp.Models.BFPK +{ + /// + /// BFPK custom archive format + /// + /// + public class Archive + { + /// + /// Header + /// + public Header Header { get; set; } + + /// + /// Files + /// + public FileEntry[] Files { get; set; } + } +} diff --git a/BurnOutSharp.Models/BFPK/FileEntry.cs b/BurnOutSharp.Models/BFPK/FileEntry.cs new file mode 100644 index 00000000..dce3a797 --- /dev/null +++ b/BurnOutSharp.Models/BFPK/FileEntry.cs @@ -0,0 +1,34 @@ +namespace BurnOutSharp.Models.BFPK +{ + /// + /// File entry + /// + /// + public class FileEntry + { + /// + /// Name size + /// + public int NameSize; + + /// + /// Name + /// + public string Name; + + /// + /// Uncompressed size + /// + public int UncompressedSize; + + /// + /// Offset + /// + public int Offset; + + /// + /// Compressed size + /// + public int CompressedSize; + } +} diff --git a/BurnOutSharp.Models/BFPK/Header.cs b/BurnOutSharp.Models/BFPK/Header.cs new file mode 100644 index 00000000..17fd5ae4 --- /dev/null +++ b/BurnOutSharp.Models/BFPK/Header.cs @@ -0,0 +1,27 @@ +using System.Runtime.InteropServices; + +namespace BurnOutSharp.Models.BFPK +{ + /// + /// Header + /// + /// + [StructLayout(LayoutKind.Sequential)] + public class Header + { + /// + /// "BFPK" + /// + public uint Magic; + + /// + /// Version + /// + public int Version; + + /// + /// Files + /// + public int Files; + } +}