jabyengine/src/Tools/psxcdgen_ex/src/main.rs

50 lines
1.3 KiB
Rust

use psxcdgen_ex::types::{iterator::{DirectoryIterator, DirectoryIteratorElement}, CDDesc, Data, Directory};
use tool_helper::Error;
fn populate() -> Result<CDDesc, Error> {
let mut desc = CDDesc::new();
let file = Data::new("Planschi.jpg")?;
let file2 = Data::new("Wuff.png")?;
let folder = {
let mut folder = Directory::new("Sub")?;
let sub_folder = {
let mut folder = Directory::new("SubSub")?;
folder.add_data(Data::new("Blubb.bin")?);
folder
};
folder.add_dir(sub_folder);
folder.add_data(Data::new("Schwimm.jpg")?);
folder.add_data(Data::new("Miau.png")?);
folder
};
desc.root.add_dir(folder);
desc.root.add_data(file);
desc.root.add_data(file2);
Ok(desc)
}
fn run_main() -> Result<(), Error> {
fn dump_dir(dir: DirectoryIterator) {
for element in dir {
match element {
DirectoryIteratorElement::Directory(dir) => println!("{}", dir),
DirectoryIteratorElement::Data(data) => println!("{}", data),
}
}
}
let desc = populate()?;
dump_dir(desc.root.iter());
Ok(())
}
fn main() {
match run_main() {
Ok(_) => println!("\n<== Planschbecken ==>"),
Err(error) => println!("{}", error)
}
}