aboutsummaryrefslogtreecommitdiff
path: root/exporter/src/bin/probe.rs
blob: 043444d98d6829c0f114d94f99a83c1184c7491e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use anyhow::Result;
use std::{env::args, fs::File, io::BufReader};
use unity_tools::{serialized_file::SerializedFileHeader, unityfs::UnityFS};

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

    let node = fs.find_main_file().unwrap().to_owned();
    let mut cab = fs.read(&node)?;
    let ch = SerializedFileHeader::read(&mut cab)?;

    if fs.header.unity_version.is_ascii() && ch.generator_version.is_ascii() && ch.format < 100 {
        println!(
            "{}\t{}\t{}\t{}",
            fs.header.file_version, fs.header.unity_version, ch.format, ch.generator_version
        );
    }

    Ok(())
}