aboutsummaryrefslogtreecommitdiff
path: root/exporter/src/bin
diff options
context:
space:
mode:
Diffstat (limited to 'exporter/src/bin')
-rw-r--r--exporter/src/bin/toplevel.rs22
1 files changed, 22 insertions, 0 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(())
+}