//! Dump each resupply voice bank's sub-waves to `.xma` RIFFs for decoding. use sylpheed_formats::{slb, PakArchive}; fn main() { let disc = std::env::var("SYLPHEED_DISC").expect("set SYLPHEED_DISC"); let out = std::env::var("OUT_DIR_X").unwrap_or_else(|_| "/tmp/voicebanks".into()); std::fs::create_dir_all(&out).unwrap(); let snd = PakArchive::open(format!("{disc}/dat/sound.pak")).expect("sound.pak"); for n in 450..=454 { let path = format!("eng\\etc\\VOICE_D_{n}.slb"); let Some(entry) = snd.find_by_name(&path) else { continue }; let bytes = snd.read(entry).expect("read"); for (i, r) in slb::to_xma_riffs(&bytes).iter().enumerate() { let f = format!("{out}/VOICE_D_{n}_{i}.xma"); std::fs::write(&f, r).unwrap(); println!("{f} {} bytes", r.len()); } } }