tools: walk to EXTRAS by cursor movement, and size-match against several builds
menu_blend_capture.sh counted two DOWNs to reach EXTRAS, which is wrong twice over -- EXTRAS is the fifth item, and on 2026-08-31 four DOWNs landed on OPTIONS because one press was dropped. It now presses until the cursor stops moving, which needs no item count and no row calibration. Its title deadline follows the same change as title_blend_capture.sh, 1200 s not 420. ui_blend_map.py takes a comma-separated build list, because the live title is TWO builds composited -- 4 draws the art, 2 draws the PRESS (A) plate -- and a one-build size table cannot name the elements of a title capture. frame_alpha_census takes its builds from argv for the same reason. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
This commit is contained in:
@@ -39,7 +39,11 @@ fn census(name: &str, img: &t8ad::T8adImage) {
|
||||
fn main() {
|
||||
let root = PathBuf::from(std::env::var("SYLPHEED_DISC").expect("SYLPHEED_DISC"));
|
||||
let ar = PakArchive::open(root.join("dat/GP_TITLE.pak")).expect("GP_TITLE");
|
||||
for build in [5usize, 6] {
|
||||
// Builds default to the two the port ships and can be overridden, so the
|
||||
// same census serves the title (4) and the `PRESS (A)` plate (2).
|
||||
let args: Vec<usize> = std::env::args().skip(1).filter_map(|a| a.parse().ok()).collect();
|
||||
let builds: Vec<usize> = if args.is_empty() { vec![5, 6] } else { args };
|
||||
for build in builds {
|
||||
let by = ar.read(&ar.entries()[build]).expect("entry");
|
||||
let b = ui_layout::parse_build(&by).expect("build");
|
||||
println!("=== GP_TITLE build {build} ===");
|
||||
|
||||
Reference in New Issue
Block a user