re: the in-game HUD config -- 16 records, 419 asset paths, a per-stage ResourceTable

Checked first: no docs/re file mentions ArmsStatus, RangeFinder, Radar,
Sight, Wing, NamePlate or ResourceTable.  Only HudResource had been
opened; the other fifteen records had not.

The six IDXD entries of GP_MAIN_GAME_E2D.pak: two carry the 16-record
HUD config, two the 13-record ObjectiveMarker_*/TutorialMarker_* set,
one Face (52 portrait sprites), one ResourceTable.  Between them they
name 419 distinct asset paths -- the whole flight HUD -- with new
subdirectory prefixes throughout (ArmsSt, ActvArm, RangeF, Marker,
Manuva, Map, Speed, Radar, Sight, Wing, Hitmark, Lockon, Info).

The decisive control uses the config's own exact path strings, so no
guessing is left in the loop: 419 distinct .prt/.t32/.tbl values, ZERO
resolve as a pak entry under 10 prefixes, and the four config filenames
resolve to nothing either.  The .t32 sprites certainly exist -- 574 T8aD
in that pak.  So the 2D pak is not addressed by name_hash of the name
its config uses.

This supersedes the earlier framing: the 28 'dangling' .prt names were
never a missing-asset story; they are 28 of a set where none of the 419
resolves.

ResourceTable is 58 positional fields = 29 pairs, alternating
HudResource.tbl / HudMarkerResource.tbl, identical in all six language
paks, with exactly one override at pair index 25 -- HudResource_S26.tbl.
Reading: indexed by stage number minus 1, so index 25 is S26, the one
stage with its own HUD config.  Arithmetic exact, indexing unproven, not
adopted.

New structure doc, artefact and regenerator; the other seven regenerate
byte-identical.
This commit is contained in:
Sylpheed RE agent
2026-08-27 14:53:49 +00:00
parent 8f3973b1c9
commit 152704afeb
5 changed files with 883 additions and 0 deletions

View File

@@ -827,6 +827,44 @@ unknown, what evidence exists, and what the first step would be. Move an item in
field; the stat keys in records not opened here (`MegaTons`, `BulletLimit`,
`CrewCount`, `HP_CLASS`); why the roster lists 59 of 131.
***(2026-08-27) THE WHOLE IN-GAME HUD CONFIG IS OPEN — 16 records, 419 asset
paths, a per-stage `ResourceTable` — and NONE of it is name-hash addressed.**
[structures/hud-config](structures/hud-config.md), artefact
`data/hud-config.txt` (697 lines), regenerator `tools/re-capture/hud_config.py`.
Checked first: no `docs/re/` file mentions `ArmsStatus`, `RangeFinder`,
`Radar`, `Sight`, `Wing`, `NamePlate` or `ResourceTable`. Only `HudResource`
had been opened; the other **fifteen** records had not.
The six IDXD entries of `GP_MAIN_GAME_E2D.pak`: two carry the 16-record HUD
config (`ArmsStatus` 16, `Map` 3, `ArmsItem` 1, `RangeFinder` 10, `Marker` 27,
`Manuva` 15, `Number` 10, `HudResource` 24, `NamePlate` 60, `ActiveArm` 13,
`Information` 15, `Wing` 23, `ArmsItemFile` 59, `Radar` 29, `Speed` 9,
`Sight` 35), two the 13-record `ObjectiveMarker_*`/`TutorialMarker_*` set, one
`Face` (52 portrait sprites), one `ResourceTable`.
🔑 New subdirectory prefixes throughout: `ArmsSt\`, `ActvArm\`, `RangeF\`,
`Marker\`, `Manuva\`, `Map\`, `Speed\`, `Radar\`, `Sight\`, `Wing\`,
`Hitmark\`, `Lockon\`, `Info\`. `Number` is `%d`-templated
(`pghud_speed_num%d.t32`, `pgtimer_num%d.t32`, `pglockon_%d.t32`).
🧪 **THE DECISIVE CONTROL — the config's own exact path strings, no guessing
left: 419 distinct `.prt`/`.t32`/`.tbl` values, ZERO resolve as a pak entry**
under 10 prefixes; the four config FILENAMES resolve to nothing either. The
`.t32` sprites certainly exist (574 T8aD in that pak). **So the 2D pak is not
addressed by `name_hash` of the name its config uses.**
⚠️ This SUPERSEDES the earlier framing: the 28 "dangling" `.prt` names were
never a missing-asset story — they are 28 of a set where none of the 419
resolves. The right statement is "**the in-game asset namespace is not the
archive namespace**".
**`ResourceTable` = 58 positional fields = 29 PAIRS**, alternating
`HudResource.tbl`/`HudMarkerResource.tbl`, identical in all six language paks,
with **exactly one override at pair index 25: `HudResource_S26.tbl` /
`HudMarkerResource_S26.tbl`**.
🟡 The reading — indexed by stage number 1, so 29 entries cover S1..S29 and
index 25 is **S26, the one stage with its own HUD config**. The arithmetic is
exact and the `_S26` suffix names the same stage, but nothing proves the
indexing. **Not adopted.**
🟡 Not settled: **how the 574 T8aD / 130 RATC entries ARE addressed** — that is
now the question; what `HudMarkerResource.tbl` pairs to (by content, not hash);
`Parameters` and `Enumerate_ObjectiveMarkers` are in the artefact but unread.
* ❌✅ **(2026-08-27) THE "VARIANT INSIDE A PARENT BUNDLE" READING IS REFUTED —
and the in-game screen config is `HudResource`, the counterpart of
`tables.pak`. 28 `.prt` names exist NOWHERE on the disc.**