From 308d89c215c471c944158044a1bc6e05c64cb5c9 Mon Sep 17 00:00:00 2001 From: sylph-decoder Date: Mon, 31 Aug 2026 01:38:26 +0000 Subject: [PATCH] tools: let the submenu sweep target NEW GAME, for the DIFFICULTY reset question DIFFICULTY opens on NORMAL, the second of four, so it is the screen that separates 'resets to the named item' from 'resets to the top item' -- the question sylpheed-port has had open for several iterations. The probe is safe on this path without modification: it presses A to enter, one DOWN, then B to leave, and never presses A inside a submenu, so it cannot reach SELECT DATA and the guest throw at PC 0x82307128. Noted in the source so nobody adds one. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v --- tools/re-capture/submenu_focus_sweep.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/re-capture/submenu_focus_sweep.py b/tools/re-capture/submenu_focus_sweep.py index f8300e7b..f69cdff3 100644 --- a/tools/re-capture/submenu_focus_sweep.py +++ b/tools/re-capture/submenu_focus_sweep.py @@ -39,7 +39,14 @@ from ring_row import ring_row, main_menu_item, NAMES LOG, OUT = sys.argv[1], sys.argv[2] W, H = 1280, 720 PAD = os.path.join(os.path.dirname(os.path.abspath(__file__)), "pad.py") -TARGETS = [1, 2, 3] # LOAD GAME, TUTORIAL, OPTIONS. NEW GAME excluded. +# LOAD GAME, TUTORIAL, OPTIONS by default. Overridable so NEW GAME (0) can be +# driven for the DIFFICULTY question. +# +# ⚠️ NEW GAME IS SAFE FOR *THIS* PROBE AND ONLY THIS ONE. Its forward path -- +# Ⓐ on a difficulty -> SELECT DATA -> guest throw at PC 0x82307128 -- crashes the +# game. This probe presses Ⓐ to ENTER, one DOWN, then Ⓑ to leave, and never +# presses Ⓐ inside a submenu, so it cannot reach SELECT DATA. Do not add an Ⓐ. +TARGETS = [int(x) for x in os.environ.get("SWEEP_TARGETS", "1,2,3").split(",")] T0 = time.time()