From d4be08c9e5e98a5a9b493de824640958c3ed63f7 Mon Sep 17 00:00:00 2001 From: Marrub Date: Fri, 22 Feb 2019 20:35:07 -0500 Subject: [PATCH] move main.rs to leela/main.rs --- Cargo.toml | 8 ++++++++ src/{ => leela}/main.rs | 20 ++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) rename src/{ => leela}/main.rs (94%) diff --git a/Cargo.toml b/Cargo.toml index 4c3859f..4ff4556 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,3 +27,11 @@ opt-level = 1 [profile.release] codegen-units = 1 lto = true + +[lib] +name = "maraiah" +path = "src/lib.rs" + +[[bin]] +name = "leela" +path = "src/leela/main.rs" diff --git a/src/main.rs b/src/leela/main.rs similarity index 94% rename from src/main.rs rename to src/leela/main.rs index 9606724..5e1e86f 100644 --- a/src/main.rs +++ b/src/leela/main.rs @@ -43,7 +43,7 @@ fn dump_chunk(opt: &Options, cid: Ident, cnk: &[u8], eid: u16) -> ResultS<()> make_chunk(opt, cid, cnk, eid)?; } - if opt.wad_chunks.contains(&cid) { + if opt.wad_wrt_all || opt.wad_chunks.contains(&cid) { match &cid { b"PICT" => { let im = pict::load_pict(cnk)?; @@ -68,7 +68,11 @@ fn dump_chunk(opt: &Options, cid: Ident, cnk: &[u8], eid: u16) -> ResultS<()> b"PRpx" => make_yaml(opt, &rd_array(cnk, phy::read_prpx)?)?, b"PXpx" => make_yaml(opt, &rd_array(cnk, phy::read_pxpx)?)?, b"WPpx" => make_yaml(opt, &rd_array(cnk, phy::read_wppx)?)?, - _ => (), + _ => { + if opt.wad_unknown && !opt.wad_all { + make_chunk(opt, cid, cnk, eid)?; + } + } } } @@ -246,6 +250,16 @@ fn main() -> ResultS<()> StoreTrue, "wad: Dump all chunks into a folder"); + arg!("--wad-write-all", + opt.wad_wrt_all, + StoreTrue, + "wad: Dump all known chunks"); + + arg!("--wad-dump-unknown", + opt.wad_unknown, + StoreTrue, + "wad: Dump all unknown chunks"); + arg!("--wad-write-header", opt.wad_header, StoreTrue, @@ -321,6 +335,8 @@ struct Options snd_dump: bool, snd_write: bool, wad_all: bool, + wad_unknown: bool, + wad_wrt_all: bool, wad_header: bool, wad_chunks: HashSet, wad_c_temp: String,