re: Stage30-33 do not exist; AIParams is missing for exactly the tutorials
Probing pak entry names with name_hash across all 41 paks: UnitGroup_SNN.tbl exists for exactly S01-S16 and S18-S29 = 28 stages. S17 and S30-S33 are absent, so the 33-entry STAGENN_UNIT_MAX table is headroom over a 28-stage game. Control is built in: 28 hits from 33 probes shows the loop resolves entry names. Corroboration that fell out of it: AIParams_SNN.tbl exists for S01-S16 and S24-S29 but is missing for exactly S18-S23 -- the six stages the corpus identified as tutorials by a completely different route (their lone guard is request_next() != 1). Two unrelated methods, same six. Stage_SNN.tbl probes find 0, which is expected: stagetbl.py documents that the per-stage record is not name-addressed. Drops the [phase+356]/[phase+360] consumer question: 243 non-stack lwz reads from those offsets image-wide, and the only ISL-region hits are the two writers plus two vtable calls. Not a cheap static question. Docs only; artefacts byte-identical.
This commit is contained in:
@@ -692,6 +692,31 @@ unknown, what evidence exists, and what the first step would be. Move an item in
|
||||
🟡 Still open: who CONSUMES `[phase+356]`/`[phase+360]`; whether `Stage30`–`Stage33`
|
||||
exist; and the fallbacks behind the other 64 sections.
|
||||
|
||||
* ✅🟡 **(2026-08-27) `Stage30`–`Stage33` DO NOT EXIST — the 33-slot table is
|
||||
headroom; and the `[phase+356]/[phase+360]` consumer is NOT findable by offset.
|
||||
[structures/isl-condition-builtins](structures/isl-condition-builtins.md).**
|
||||
✅ Probing pak entry names (`name_hash` — the right hash for *entry* names)
|
||||
across all 41 paks: **`UnitGroup_SNN.tbl` exists for exactly S01–S16 and
|
||||
S18–S29 = 28 stages**; S17 and S30–S33 absent. The control is built in — 28
|
||||
hits from 33 probes proves the loop resolves entry names. So the 33-entry
|
||||
`STAGENN_UNIT_MAX` table is oversized headroom over a 28-stage game, and the
|
||||
gate's `!= 16` skip of STAGE17 lines up with a stage that genuinely has no data
|
||||
of any kind.
|
||||
🔑 **An independent corroboration fell out of it.** `AIParams_SNN.tbl` exists
|
||||
for S01–S16 and S24–S29 (22) — **missing for exactly S18–S23**, precisely the
|
||||
six stages the corpus identified as the TUTORIALS by a completely different
|
||||
route (their only dominating condition is `request_next() != 1`). Tutorials
|
||||
ship no AI parameters. Two unrelated methods, same six stages.
|
||||
🟡 `Stage_SNN.tbl` probes find 0 — expected, not a failure: `stagetbl.py`
|
||||
documents that the per-stage record is *not* name-addressed and must be found
|
||||
by content.
|
||||
🔴 **Dropping the `[phase+356]`/`[phase+360]` consumer.** Image-wide there are
|
||||
**243 non-stack `lwz` reads from +356/+360**, across UI, sound, render and
|
||||
script code — the offsets are far too common to attribute. Inside the ISL region
|
||||
the only hits are the two writers plus two **vtable calls** (`0x82273400` slot
|
||||
90, `0x82290ED8`). This needs type information the offset index does not carry;
|
||||
it is not a cheap static question and should not be reopened as one.
|
||||
|
||||
## ✅✅ SOLVED — the mission freeze was a modal sign-in dialog (2026-08-26)
|
||||
|
||||
`XamShowSigninUI` opens a modal dialog and `xeXamDispatchDialog` blocks the
|
||||
|
||||
Reference in New Issue
Block a user