use crate::Settings; use anyhow::{bail, Result}; use larian_formats::{format::Write, lspk}; use std::path::PathBuf; impl Settings { pub(crate) fn pack_helper(mod_files_root: PathBuf, destination: Option) -> Result<()> { let writer = lspk::Writer::with_mod_root_path(mod_files_root)?; let destination = destination.or_else(|| { writer.mod_file_name().map(|p| { let mut path = PathBuf::from(p); path.set_extension("pak"); path }) }); let Some(destination) = destination else { bail!( "No destination file name specified, and no meta.lsx found in `Mods/` subdirectory" ); }; writer.write(destination)?; Ok(()) } }