dump_assets/
dump_assets.rs1use brdb::{Brdb, IntoReader};
2use std::collections::BTreeMap;
3use std::path::PathBuf;
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5 let p = PathBuf::from(std::env::args().nth(1).unwrap());
6 let db = Brdb::open(&p)?.into_reader();
7 let gd = db.global_data()?;
8 let mut by_type: BTreeMap<String, Vec<String>> = BTreeMap::new();
9 for (ty, name) in &gd.external_asset_references {
10 by_type.entry(ty.clone()).or_default().push(name.clone());
11 }
12 println!("=== external_asset_references: {} total, {} types ===",
13 gd.external_asset_references.len(), by_type.len());
14 for (ty, names) in &by_type {
15 println!("\n[{}] ({})", ty, names.len());
16 for n in names { println!(" {}", n); }
17 }
18 println!("\n=== external_asset_types ===");
19 let mut ts: Vec<_> = gd.external_asset_types.iter().collect();
20 ts.sort();
21 for t in ts { println!(" {}", t); }
22 Ok(())
23}