diff --git a/modules/pack/src/sd0/fs.rs b/modules/pack/src/sd0/fs.rs index 098dded1..2bbc284f 100644 --- a/modules/pack/src/sd0/fs.rs +++ b/modules/pack/src/sd0/fs.rs @@ -26,6 +26,8 @@ use super::{ pub struct Converter { /// Whether to generate 'si0' files pub generate_segment_index: bool, + /// Compression level (0-9). Defaults to best (9) if not set. + pub compression: Option, } const fn compress_bound(source_len: usize) -> usize { @@ -52,7 +54,10 @@ impl Converter { let mut start: u32 = 0; let mut compressed_start: u32 = 0; - let level = Compression::best(); + let level = self + .compression + .map(Compression::new) + .unwrap_or_else(Compression::best); let mut cmp = flate2::Compress::new(level, true); output_file.write_all(b"sd0\x01\xff")?; diff --git a/modules/pack/src/txt/gen.rs b/modules/pack/src/txt/gen.rs index eb32eb7b..c6fdaaf3 100644 --- a/modules/pack/src/txt/gen.rs +++ b/modules/pack/src/txt/gen.rs @@ -88,7 +88,7 @@ pub fn push_command(config: &mut Config, cmd: Command) { Command::RemFile { filename } => { let pack = config.pack_files.iter_mut().next_back().unwrap(); pack.args.push(PackFileArg { - effect: ArgEffect::Include, + effect: ArgEffect::Exclude, name: filename, kind: crate::pki::gen::ArgKind::File, })