repak/src/lib.rs
2023-01-03 14:20:35 +00:00

57 lines
1.3 KiB
Rust

#![allow(dead_code)]
mod entry;
mod error;
mod ext;
mod footer;
mod index;
mod pak;
pub use {entry::*, error::*, ext::*, footer::*, index::*, pak::*};
pub const MAGIC: u32 = 0x5A6F12E1;
#[repr(u32)]
#[derive(
Default,
Copy,
Clone,
PartialEq,
Eq,
PartialOrd,
Debug,
strum::Display,
strum::FromRepr,
strum::EnumIter,
)]
pub enum Version {
Unknown, // unknown (mostly just for padding :p)
Initial, // initial specification
NoTimestamps, // timestamps removed
CompressionEncryption, // compression and encryption support
IndexEncryption, // index encryption support
RelativeChunkOffsets, // offsets are relative to header
DeleteRecords, // record deletion support
EncryptionKeyGuid, // include key GUID
FNameBasedCompression, // compression names included
FrozenIndex, // frozen index byte included
#[default]
PathHashIndex, // more compression methods
}
// strum shouldn't need to be installed
impl Version {
pub fn iter() -> VersionIter {
<Version as strum::IntoEnumIterator>::iter()
}
}
#[derive(Default, Copy, Clone, PartialEq, Eq, Debug, strum::Display, strum::EnumString)]
pub enum Compression {
#[default]
None,
Zlib,
ZlibBiasMemory,
ZlibBiasSpeed,
Gzip,
Oodle,
}