use mmd::{DefaultConfig, Error}; use std::env; use std::fs::File; use std::io::BufReader; fn main() -> Result<(), Error> { let filename = env::args().skip(1).next().unwrap(); println!("Inspect file: {}", filename); use mmd::pmx::reader::*; let header = HeaderReader::new(BufReader::new(File::open(filename)?))?; println!("{}", header); let vertices = VertexReader::<_>::new(header)?; println!("\nVertex count: {}", vertices.count); let surfaces = SurfaceReader::<_>::new(vertices)?; println!("\nSurface count: {}", surfaces.count); let mut textures = TextureReader::new(surfaces)?; println!("\nTextures:"); for (i, t) in textures.iter().enumerate() { println!("{}) {}", i, t?); } let mut materials = MaterialReader::<_>::new(textures)?; println!("\nMaterials:"); for (i, m) in materials.iter::().enumerate() { println!("\n{}) {}", i, m?); } let mut bones = BoneReader::<_>::new(materials)?; println!("\n\nBones:"); for (i, b) in bones.iter::().enumerate() { println!("\n{}) {}", i, b?); } let mut morphs = MorphReader::<_>::new(bones)?; println!("\n\nMorphs:"); for (i, b) in morphs.iter::().enumerate() { println!("\n{}) {}", i, b?); } Ok(()) }