use std::{env, fs::File};
use caco::wad::DoomWad;
use caco::agnostic::{FlatClod, FlatClodMut};
fn main() {
let args = env::args().skip(1).collect::<Vec<String>>();
if args.len() != 3 {
eprintln!("please provide two input wads and an output wad\ncargo run --example concat_wads 1.wad 2.wad out.wad");
std::process::exit(1);
}
let mut first_wad = File::open(&args[0])
.expect(&format!("couldn't open {}", &args[0]));
let mut second_wad = File::open(&args[1])
.expect(&format!("couldn't open {}", &args[1]));
let mut out_wad = File::create(&args[2])
.expect(&format!("couldn't open {}", &args[2]));
let mut wad1 = DoomWad::load(&mut first_wad).expect("input wad was invalid format");
let wad2 = DoomWad::load(&mut second_wad).expect("input wad was invalid format");
for l in wad2.all_clumps() {
wad1.append_clump(l.clone());
}
wad1.save(&mut out_wad).expect("couldn't save wad out...");
}