re: the 95 BASE_INFO screens partitioned - BASE_INFO discriminates screen-config from table-read
Item (a): mine the screen population found last iteration. Resolving every one's key list via the string-xref join over its own body gives 298 distinct keys and a three-way split: 95 = 9 corpus-known + 48 new with a readable key list + 38 bare, where "bare" means BASE_INFO and nothing else. The bare 38 are the honest limit of the instrument - a screen whose only catalogued string is BASE_INFO cannot be named this way. The control turned the finding into a law. Only 9 of the 19 loaders the corpus documents appear among the 95, and which nine is not arbitrary. The nine that reference BASE_INFO all read a SCREEN's own configuration: debriefing, career, save, medals, evaluation list, gamma, POINT_RANKING, CLEAR_TIME_RANKING, hangar. The ten that do not all read a DATA TABLE: unit definitions, weapon datasheet, AIParams, stage settings, chatter, PlayerParams, ControlTweak, the PG* HUD roster, material slots, and the leaderboard. 9/9 and 10/10, both off-diagonals empty. The leaderboard falling on the table side is a check rather than an exception - its own doc records that all 18 of its names are tables.pak names, so it is a table reader that happens to paint a screen. That exclusion is what last commit's "universal screen marker" claim was missing. 48 new screens are named by their most distinctive keys, including the title screen (sub_821C4EB0: TITLE_SCREEN/TITLE_MENU/LOADING), the ready room (sub_821D6D28: SCRIPT_ID/SCRIPT_PATH, confirmed independently by its own error string silph::GamePart_ReadyRoom::Impl::PrepareScript), movie subtitles, the three menu modes STANDARD/EXTRA/TUTORIAL, the speaker window, loadout and gallery views, mission select, and an equip screen carrying the game's own typo EQUIIP_LIMITATION. One caution worth recording: a high key count is not a rich screen. The two 27-key entries sub_82297550 and sub_822A2F00 resolve to pure coordinate pairs (1080,163 / 734,502 / 1164,403) - a layout table, not configuration. Read the values before trusting the rank. Still open: the 38 bare screens, and whether the EX_ in EX_MENU_DISABLE_SKIP and EX_LETTERS is the same EXTRA mode word as +184. All seventeen artefacts byte-identical.
This commit is contained in:
@@ -6998,3 +6998,33 @@ functions: **10 inside the family, 85 outside** (`95 = 10 + 85`), including
|
||||
`sub_82286BC8` and `sub_822AE628`. **`BASE_INFO` is the universal screen-key-list
|
||||
marker; the vtable shape is only a weak filter.** Enumerate screens by
|
||||
`BASE_INFO`, not by vtable shape.
|
||||
|
||||
---
|
||||
|
||||
## ✅ 2026-08-28 — the 95 `BASE_INFO` screens partitioned; `BASE_INFO` discriminates screen-config from table-read
|
||||
|
||||
Item (a). Resolving every one's key list gives **298 distinct keys** and
|
||||
`95 = 9 corpus-known + 48 new with keys + 38 bare (BASE_INFO only)`.
|
||||
|
||||
🔑 **The control made it a law.** Only **9 of the 19** documented loaders are
|
||||
among the 95, and the split is exact: the **9** that read a *screen's own config*
|
||||
(debriefing, career, save, medals, evaluation list, gamma, `POINT_RANKING`,
|
||||
`CLEAR_TIME_RANKING`, hangar) reference `BASE_INFO`; the **10** that read a
|
||||
*data table* (unit defs, weapon datasheet, `AIParams`, stage settings, chatter,
|
||||
`PlayerParams`, `ControlTweak`, `PG*` HUD, material slots, **leaderboard**) do
|
||||
not. **9/9 and 10/10 — both off-diagonals empty.** The leaderboard falls on the
|
||||
table side correctly: its own doc records all 18 of its names as `tables.pak`
|
||||
names.
|
||||
|
||||
✅ **48 new screens named**, including the **title screen** (`sub_821C4EB0`), the
|
||||
**ready room** (`sub_821D6D28`, confirmed by its own error string
|
||||
`silph::GamePart_ReadyRoom::Impl::PrepareScript`), movie subtitles, the three
|
||||
menu modes, mission select, and an equip screen carrying the typo
|
||||
**`EQUIIP_LIMITATION`**.
|
||||
|
||||
⚠️ **A high key count is not a rich screen** — `sub_82297550` and `sub_822A2F00`
|
||||
(27 "keys" each) resolve to pure coordinate pairs (`1080,163`, `734,502`): a
|
||||
**layout table**, not configuration. Read the values before trusting the rank.
|
||||
|
||||
🟡 Open: the 38 bare screens cannot be named by key list. 🟡 Whether the `EX_`
|
||||
in `EX_MENU_DISABLE_SKIP` / `EX_LETTERS` is the `+184` `EXTRA` word.
|
||||
|
||||
Reference in New Issue
Block a user