caco 0.5.33

library for dealing with doom [et al] wad files
Documentation
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...");
}