use sylpheed_formats::{pak, ui_layout}; fn main(){ let mut a=std::env::args().skip(1); let pk=a.next().unwrap(); let ar=pak::PakArchive::open(pk).unwrap(); for t in a { let i:usize=t.parse().unwrap(); let by=ar.read(&ar.entries()[i]).unwrap(); let b=ui_layout::parse_build(&by).unwrap(); println!("=== entry {i} ==="); let order=ui_layout::derived_paint_order(&b,&by); for e in &b.elements { let k=ui_layout::sprite_layer_key(&b,&by,e); let pos=order.iter().position(|&x|x==e.index); println!(" [{}] {:<24} kind=0x{:<5x} sprite={:<24} key={:<12} paint#{:?}", e.index, e.name, e.kind, e.sprite.clone().unwrap_or_else(||"".into()), k.map(|v|format!("0x{v:08x}")).unwrap_or_else(||"NONE".into()), pos); } } }