re: _EXn is the n-th challenge stage; the Extra0n join is refuted

Reading the docs first paid: unit-substructure-records already had
UN_e001_ADAN_Elan_EX4 and arsenal-item-weapon-chain already had _T_EX5_el, so
last pass's "the only two _EX5 names on the disc" was too narrow. Withdrawn and
replaced by a census.

Every name ENDING in _EX<digit> across all 41 archives, taken from parsed IDXD
record names, field names and string values (never a raw byte scan): 26 names,
two digits only - _EX4 (7 units, 6 ADAN + 1 TCAF) and _EX5 (4 TCAF units + 1
weapon), each with a UnitName_/WeaponCannonName_ twin.

The stage join is exact. _EX4 appears only in tables S27 declares
(EnumUnit_S27.tbl, UnitGroup_S27.tbl); _EX5 only in S28's (EnumUnit_S28.tbl,
UnitGroup_S28.tbl, EnumWeapon_EX5.tbl); the other 20 stages have neither. The
challenge missions are S24-S29 in order, so S27 is challenge #4 and S28 is
challenge #5: _EXn names the n-th challenge ("EXtra") mission's bespoke
variants. S28 declares both schemes at once - EnumUnit_S28.tbl by stage number,
EnumWeapon_EX5.tbl by challenge index, for the same mission.

Refuted: _EXn is not the Extra0n numbering. There are four Extra slots but _EX5
exists, and under that reading Extra04 would be S29, which has no _EX assets.

Makes available but does not settle result-screens' open "what does EX_ mean":
"the challenge-mission debriefing" fits its evidence that the EX_ twin drops
overview_rank/overview_medals. Recorded there as a reading, not adopted.

All fifteen artefacts byte-identical.
This commit is contained in:
Sylpheed RE agent
2026-08-28 04:34:11 +00:00
parent 82a3207745
commit 4b676fc2e9
3 changed files with 97 additions and 1 deletions

View File

@@ -6186,3 +6186,41 @@ S28's own weapon table is a single `_EX5` AA-gun variant, and the only other
🟡 Not settled: what `EX` stands for; the two unnamed `_Test` variant objects;
what `Placement_*`/`RouteTest_*` are for.
---
## ✅❌ 2026-08-28 — `_EXn` is the n-th challenge stage; the `Extra0n` join is refuted
Item (a) continued. Reading the docs first paid: `unit-substructure-records`
already had `UN_e001_ADAN_Elan_EX4` and `arsenal-item-weapon-chain` already had
`_T_EX5_el`, so last pass's "the only two `_EX5` names on the disc" was too
narrow — withdrawn and replaced by a census.
✅ Every name **ending in** `_EX<digit>` across all 41 archives, taken from
parsed record names / field names / string values: **26 names, two digits only**
`_EX4` (7 units, 6 ADAN + 1 TCAF) and `_EX5` (4 TCAF units + 1 weapon), each
with a `UnitName_`/`WeaponCannonName_` twin.
**The stage join is exact.** `_EX4` appears only in tables **S27** declares
(`EnumUnit_S27.tbl`, `UnitGroup_S27.tbl`); `_EX5` only in **S28**'s
(`EnumUnit_S28.tbl`, `UnitGroup_S28.tbl`, `EnumWeapon_EX5.tbl`); **the other 20
stages have neither.** The challenge missions are S24S29 in order, so S27 is
challenge **#4** and S28 challenge **#5**: `_EXn` = the n-th challenge
("EXtra") mission's bespoke variants. S28 declares both schemes at once —
`EnumUnit_S28.tbl` by stage number, `EnumWeapon_EX5.tbl` by challenge index.
**Refuted: `_EXn` is not the `Extra0n` numbering.** There are four `Extra`
slots but `_EX5` exists, and under that reading `Extra04` = S29, which has no
`_EX` assets. (The six leaderboard modes do map onto the six challenge stages;
`_EXn` counts stages.)
🟡 Makes available, not adopted: `result-screens`' open "what does `EX_` mean" —
"the challenge-mission debriefing" now fits its own evidence that the `EX_` twin
drops `overview_rank`/`overview_medals`. Consistency, not proof; the selection
has not been shown.
🟡 Not settled: the four weapons declared by no weapon table — three of them
(`_NoseGun_None`, `_NoseGun_Ttrl`, `Weapon_ADAN_Attacker_S_GunTurret`) are
already in `unit-substructure-records`' "26 weapons no turret mounts", so they
are unmounted **and** undeclared; `_Laser_Ttrl` is not on that list and is the
one still to place.

View File

@@ -69,7 +69,12 @@ the seven and neither of the two, which is what makes `EX_` the reduced variant
rather than a different screen.
🟡 Not settled: what `EX_` means (a second profile? the online/leaderboard
variant?) — `EX_BASE`, `EX_MAIN`, `EX_STAGE_RESULT` and `EX_FONT` are keys with
variant?) — **but see
[stage-numbering-and-player-craft](stage-numbering-and-player-craft.md):
`_EXn` on an asset name is measured to mean "the n-th challenge mission", which
makes "`EX_` = the challenge-mission debriefing" a consistent reading of why
this twin drops `overview_rank` and `overview_medals`. Not adopted — the
selection has not been shown** — `EX_BASE`, `EX_MAIN`, `EX_STAGE_RESULT` and `EX_FONT` are keys with
**no record of that name**, so the prefix is a screen-id convention, not a table.
And `PLAYER_AMMO_LESS_10` is unexplained.

View File

@@ -161,3 +161,56 @@ built for it. Not yet enough to say what the letters stand for.
⚠️ Method note: an **unanchored** `EX[0-9]` search over the binary payloads
returns `EX0``EX9` at 100180 hits each — pure noise from matching inside
compressed data. Only the prefix-anchored names above are real.
## ✅ `_EXn` is the n-th challenge stage — measured, 20 of 22 stages clean
Last pass left "what does `EX` mean" open, with `EnumWeapon_EX5.tbl` as the only
lead. Censusing every name that **ends in** `_EX<digit>` (optionally plus a
suffix), taken from parsed IDXD record names, field names and string values —
never a raw byte scan — the whole disc holds **26**, and only two digits exist:
| | distinct names | entities | faction |
|---|---:|---|---|
| `_EX4` | 14 | 7 units | 6 ADAN + 1 TCAF (`f003_ArrowHead`) |
| `_EX5` | 12 | 4 units + 1 weapon | all TCAF |
Each entity appears twice — the bare name and a `UnitName_…` /
`WeaponCannonName_…` twin — so 14 = 7 × 2 and 12 = 6 × 2.
**Joining each name to the stage whose declared tables contain it is exact:**
| stage | tables carrying the name | digit |
|---|---|---|
| S27 | `EnumUnit_S27.tbl`, `UnitGroup_S27.tbl` | **EX4** |
| S28 | `EnumUnit_S28.tbl`, `UnitGroup_S28.tbl`, `EnumWeapon_EX5.tbl` | **EX5** |
| the other **20** | — | none |
The challenge missions are S24S29 in order, so **S27 is challenge #4 and S28 is
challenge #5** — `_EXn` names the **n-th challenge ("EXtra") mission's bespoke
variants**. The two numbering schemes even sit side by side inside S28's own
declarations: `EnumUnit_S28.tbl` by stage number, `EnumWeapon_EX5.tbl` by
challenge index, for the same mission.
That also explains the shape of the previous finding. S28's weapon table is
bespoke because S28 needs `Weapon_TCAF_Ship_AAGun_EX5`; four of the six
challenge missions add no variants at all and reuse stock assets outright —
consistent with all six borrowing a story stage's `CollisionSet`.
### ❌ `_EXn` is **not** the `Extra0n` numbering
The tempting join is to [leaderboard-screen](leaderboard-screen.md)'s six
challenge modes — `ScoreAttack`, `TimeAttack`, `Extra01``Extra04`. It fails on
its own arithmetic: there are only **four** `Extra` slots but `_EX5` exists, and
under that reading `Extra04` would be S29, which has **no** `_EX` assets at all.
The six modes do map onto the six challenge stages one-for-one; `_EXn` simply
counts the **stages**, not the `Extra` slots.
### 🟡 A reading this makes available, not adopted
[result-screens](result-screens.md) leaves open what `EX_` means in
`EX_OVERVIEW` / `EX_STAGE_RESULT` / `EX_BASE` / `EX_MAIN`, noting the `EX_` twin
is the **reduced** variant — it lacks `overview_rank` and `overview_medals`.
"EX = the challenge missions" fits that exactly: a score/time attack has no
rank and no medals to show. **This is consistency, not proof** — nothing here
shows the code selects the `EX_` key list when a challenge mission ends. That
selection is the experiment that would settle it.