From 7ac19f4c9ff3d2babcd1382332a3f12a91467487 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 10 Aug 2026 17:31:59 +0200 Subject: [PATCH] feat: reach forward by the declared member count --- emulators/hypseus-singe.yml | 4 ++-- scripts/profile_sync.py | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/emulators/hypseus-singe.yml b/emulators/hypseus-singe.yml index 97608b2d..c63a60db 100644 --- a/emulators/hypseus-singe.yml +++ b/emulators/hypseus-singe.yml @@ -774,7 +774,7 @@ files: category: bios_zip required: true note: "Esh's Aurunmilla, stage 7 fix" - source_ref: "src/game/esh.cpp:168" + source_ref: "src/game/esh.cpp:168-183" validation: [size, crc32] contents: - name: "f8_is2-fixed.bin" @@ -798,7 +798,7 @@ files: category: bios_zip required: true note: "Esh's Aurunmilla, stage 7 fix for alternate set 2" - source_ref: "src/game/esh.cpp:212" + source_ref: "src/game/esh.cpp:212-227" validation: [size, crc32] contents: - name: "f8_is2-fixed.bin" diff --git a/scripts/profile_sync.py b/scripts/profile_sync.py index 4a3f2386..f269823e 100644 --- a/scripts/profile_sync.py +++ b/scripts/profile_sync.py @@ -729,8 +729,11 @@ def verify_at_pin(part: RefPart, pin_lines, tokens) -> PartResult: ) if not tokens: return PartResult(part, "ANCHORED", None, None, None, []) + # An archive ref cites the line declaring the set; its members follow, one + # per line, so the window reaches forward as far as the entry has members. + reach = SELF_CHECK_CONTEXT + len(tokens) lo = max(0, part.start - 1 - SELF_CHECK_CONTEXT) - hi = min(len(pin_lines), (part.end or part.start) + SELF_CHECK_CONTEXT) + hi = min(len(pin_lines), (part.end or part.start) + reach) window = "\n".join(pin_lines[lo:hi]).lower() if any(token in window for token in tokens): return PartResult(part, "ANCHORED", None, None, None, [])