diff options
-rw-r--r-- | exporter/src/bin/toplevel.rs | 22 | ||||
-rw-r--r-- | src/classes/audio_clip.rs | 7 |
2 files changed, 24 insertions, 5 deletions
diff --git a/exporter/src/bin/toplevel.rs b/exporter/src/bin/toplevel.rs new file mode 100644 index 0000000..2198469 --- /dev/null +++ b/exporter/src/bin/toplevel.rs @@ -0,0 +1,22 @@ +use std::{cmp::Reverse, collections::BTreeMap, env::args, fs::File, io::BufReader}; +use unity_tools::assetbundle::AssetBundle; + +fn main() -> anyhow::Result<()> { + env_logger::init_from_env("LOG"); + let file = BufReader::new(File::open(args().nth(1).unwrap()).unwrap()); + let mut bundle = AssetBundle::open(file, "samples")?; + + let mut counters = BTreeMap::<String, usize>::new(); + for ob in bundle.all_toplevel() { + *counters.entry(ob.class).or_default() += 1; + } + + let mut s = counters.into_iter().collect::<Vec<_>>(); + s.sort_by_key(|s| Reverse(s.1)); + + for (k, c) in s { + println!("{c:6} {k}"); + } + + Ok(()) +} diff --git a/src/classes/audio_clip.rs b/src/classes/audio_clip.rs index 8f027ad..ad9d5bb 100644 --- a/src/classes/audio_clip.rs +++ b/src/classes/audio_clip.rs @@ -5,7 +5,7 @@ use crate::{ unityfs::UnityFS, }; use anyhow::{Ok, Result, anyhow, bail}; -use log::{debug, info}; +use log::info; use serde::Serialize; use std::io::{Cursor, Read, Seek}; @@ -50,12 +50,9 @@ impl AudioClip { AudioCompressionFormat::Vorbis => { info!("reading vorbis FMOD sound bank"); let mut bank = FmodSoundBank::open(Cursor::new(data))?; - // Ok(buf.into_inner()) for i in 0..bank.streams.len() { - let data = bank.read_stream_raw(i)?; - // eprintln!("{data:?}") + let _data = bank.read_stream_raw(i)?; } - Ok(Vec::new()) } x => todo!("audio format {x:?}"), |