This branch predates CI on `main`. `cargo fmt --all` only; no behaviour. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
28 lines
1001 B
Rust
28 lines
1001 B
Rust
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(|| "<none>".into()),
|
|
k.map(|v| format!("0x{v:08x}"))
|
|
.unwrap_or_else(|| "NONE".into()),
|
|
pos
|
|
);
|
|
}
|
|
}
|
|
}
|