use anyhow::Result; use std::{env::args, fs::File, io::BufReader}; use unity_tools::{serialized_file::read_serialized_file_header, unityfs::UnityFS}; fn main() -> Result<()> { let file = BufReader::new(File::open(args().nth(1).unwrap())?); let mut fs = UnityFS::open(file)?; for node in fs.nodes().to_vec() { if node.name.ends_with(".resource") || node.name.ends_with(".resS") { continue; } let mut cab = fs.read(&node)?; let ch = read_serialized_file_header(&mut cab)?; if fs.unity_version.is_ascii() && ch.generator_version.is_ascii() && ch.format < 100 { println!( "{}\t{}\t{}\t{}", fs.file_version, fs.unity_version, ch.format, ch.generator_version ); } } Ok(()) }