mirror of
https://github.com/G2-Games/lbee-utils.git
synced 2025-04-19 15:22:53 -05:00
57 lines
1.6 KiB
Rust
57 lines
1.6 KiB
Rust
use std::{fs::File, io::{BufWriter, Read}};
|
|
use luca_pak::Pak;
|
|
|
|
fn main() {
|
|
let mut clog = colog::default_builder();
|
|
clog.filter(None, log::LevelFilter::Info);
|
|
clog.init();
|
|
|
|
/*
|
|
let paths = std::fs::read_dir(".")
|
|
.unwrap()
|
|
.filter_map(|res| res.ok())
|
|
.map(|dir_entry| dir_entry.path())
|
|
.filter_map(|path| {
|
|
if path.extension().map_or(false, |ext| ext.to_ascii_lowercase() == "pak") {
|
|
Some(path)
|
|
} else {
|
|
None
|
|
}
|
|
})
|
|
.collect::<Vec<_>>();
|
|
|
|
let mut pak_files = vec![];
|
|
for path in paths {
|
|
let pak = Pak::open(&path).unwrap();
|
|
pak_files.push(pak)
|
|
}
|
|
|
|
pak_files.sort_by_key(|x| x.header().flags().0 & 0xF);
|
|
|
|
for pak in pak_files {
|
|
println!(
|
|
"{:#032b} - {} - {:?}",
|
|
pak.header().flags().0,
|
|
pak.unknown_pre_data.len(),
|
|
pak.path(),
|
|
);
|
|
}
|
|
*/
|
|
|
|
let mut pak = Pak::open("MANUAL.PAK").unwrap();
|
|
//println!("{:#?}", pak.header());
|
|
//println!("{:#032b}", pak.header().flags().0);
|
|
|
|
/*
|
|
for (i, entry) in pak.entries().iter().enumerate() {
|
|
println!("{i:03}: {:06.2} kB - {}", entry.len() as f32 / 1_000.0, entry.name().as_ref().unwrap());
|
|
entry.save("./output/").unwrap();
|
|
}
|
|
*/
|
|
|
|
let rep_cz_data: Vec<u8> = std::fs::read("en_manual01_Linkto_2_6").unwrap();
|
|
pak.replace(4, &rep_cz_data).unwrap();
|
|
|
|
let mut output = BufWriter::new(File::create("MANUAL-modified.PAK").unwrap());
|
|
pak.encode(&mut output).unwrap();
|
|
}
|