crates/sylpheed-export read dat/GP_TITLE.pak and nothing else. authored/flow.json records LOAD GAME, TUTORIAL, OPTIONS and NEW GAME's difficulty chain as MEASURED destinations that are blocked because 'not a GP_TITLE build, so there is no screen file to go to'. The blocker was neither the disc nor the reader -- examples/probe_archives.rs finds screen builds in 24 archives using the EXISTING detector -- it was that constant. The list now comes from authored/screen_names.json export_archives, whose 'archives' map was ALREADY keyed by archive path. Absent, it defaults to dat/GP_TITLE.pak, so an old authored tree exports what it always did. Sprite groups are mapped per archive rather than derived from the filename: sprites live at sprites/<group>/<screen>/, unnamed builds are named build_NN by entry index which restarts at 0 in every archive, so two archives sharing a group would collide. An unmapped archive is rejected rather than given a directory a typo could invent. NO BEHAVIOUR CHANGE, and verified as such before anything is added: exported to a separate tree with the current authored data and diffed -- export/screens and export-probe/screens are IDENTICAL, manifest screen list identical. The archive list itself is unchanged in this commit. Adding one is next, and separately, so any regression is attributable to the archive rather than to the refactor.
3.2 KiB
409x144px
3.2 KiB
409x144px