aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
blob: a23bdcd8ba1f9dd5b979f24e670a6a4f9f809437 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use std::{
    env::args,
    fs::File,
    io::{BufReader, copy},
};
use unity_tools::unityfs::UnityFS;

fn main() -> anyhow::Result<()> {
    env_logger::init_from_env("LOG");
    let file = BufReader::new(File::open(args().nth(1).unwrap())?);
    let mut fs = UnityFS::open(file)?;

    for node in fs.nodes().to_vec() {
        let mut reader = fs.read(&node)?;
        let mut writer = File::create(format!("/tmp/{}", node.name))?;
        copy(&mut reader, &mut writer)?;
    }

    Ok(())
}