rust_unreal_unpak/pak/
mod.rs1pub mod pak_file;
2pub(crate) mod pak_reader;
3
4macro_rules! get_size {
5 ($e:ty) => {
6 std::mem::size_of::<$e>() as isize
7 };
8}
9
10#[derive(Debug, PartialEq, Eq)]
11pub enum PakVersionSizes {
12 Size = get_size!(i32) * 2 + get_size!(u64) * 2 + 20 + 1 + 16,
14 SizeV8 = PakVersionSizes::Size as isize + (32 * 4),
15 SizeV8A = PakVersionSizes::SizeV8 as isize + 32,
16 SizeV9 = PakVersionSizes::SizeV8A as isize + 1
17}
18
19pub(crate) enum PakVersions {
20 Initial = 1,
21 NoTimestamps = 2,
22 CompressionEncryption = 3,
23 IndexEncryption = 4,
24 RelativeChunkOffsets = 5,
25 DeleteRecords = 6,
26 EncryptionKeyGuid = 7,
27 FNameBasedCompressionMethod = 8,
28 FrozenIndex = 9,
29
30 Last,
31}
32
33impl PakVersionSizes {
34 pub fn get_sizes() -> Vec<Self> {
35 return vec![
36 Self::Size,
37 Self::SizeV8,
38 Self::SizeV8A,
39 Self::SizeV9
40 ]
41 }
42}