use sylpheed_formats::{game_data, localization::TextIndex, PakArchive}; fn main(){ let disc=std::env::var("SYLPHEED_DISC").unwrap(); let pak=PakArchive::open(format!("{disc}/dat/GP_MAIN_GAME_E.pak")).unwrap(); let text=TextIndex::build(&pak); let msgs=game_data::load_demo_messages(&pak); println!("{} dialogue lines total\n", msgs.len()); for m in msgs.iter().filter(|m|m.character.is_some()&&!m.page_keys.is_empty()).take(8){ let who=m.character.as_deref().unwrap_or("?").trim_start_matches("Character"); let line:String=m.page_keys.iter().filter_map(|k|text.get(k)).collect::>().join(" "); println!(" {who:10} [{}] “{}”", m.voice_clip.as_deref().unwrap_or("-"), line.chars().take(64).collect::()); } }