sylpheed-port caught that a reader counting the Q2 row gets twelve entries with no slot for the boot splashes -- in a row already corrected once for an ordinal-versus-entry error. Verified off the disc: the splashes are 10/13 (palogo_sqex, publisher) and 11/14 (palogo_gamearts/seta/anima, developer). The row said 'in entry space 10/11 are the publisher and developer splashes', which names one half of each of two different pairs rather than a pair. All eight screens now enumerated, with the per-entry names committed as reference data. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
15 lines
740 B
Rust
15 lines
740 B
Rust
use sylpheed_formats::{pak::PakArchive, ui_layout};
|
|
use std::path::PathBuf;
|
|
fn main(){
|
|
let root=PathBuf::from(std::env::var("SYLPHEED_DISC").unwrap());
|
|
let ar=PakArchive::open(root.join("dat/GP_TITLE.pak")).unwrap();
|
|
for (i,e) in ar.entries().iter().enumerate(){
|
|
let Ok(by)=ar.read(e) else { println!("{i:2} <unreadable>"); continue };
|
|
let names: Vec<String> = ui_layout::parse_build(&by)
|
|
.map(|b| b.sprites.keys().take(2).cloned().collect()).unwrap_or_default();
|
|
let rec: Vec<String> = ui_layout::parse_build(&by)
|
|
.map(|b| b.records.keys().take(2).cloned().collect()).unwrap_or_default();
|
|
println!("{i:2} {} B sprites {:?} records {:?}", by.len(), names, rec);
|
|
}
|
|
}
|