re: every challenge mission is flown on a story mission's map
Applied the per-stage join to the other stage-resource fields. Of 338 distinct (field, value) pairs across the 22 stage objects, 31 are used by more than one stage. The strongest signal is CollisionMeshes: S24 CollisionSet_S11.bin SUBObjectiveSettings_S01 Anastasis Test S25 CollisionSet_S07.bin SUBObjectiveSettings_S07 Hargenteen Test S26 CollisionSet_S03.bin SUBObjectiveSettings_S06 Hargenteen Test S27 CollisionSet_S03.bin SUBObjectiveSettings_S03 Planet_Lebendorf Test S28 CollisionSet_S14.bin SUBObjectiveSettings_S01 Lebendorf EX5 S29 CollisionSet_S15.bin SUBObjectiveSettings_S15 Earth Test 6 of 6 challenge missions reuse a story stage's collision set. Control: S01-S16 are perfectly diagonal, CollisionSet_SNN <-> SUBObjectiveSettings_SNN, 16/16. Map, objectives and sky are borrowed independently - S24 flies S11's map with S01's objectives; S26 flies S03's map with S06's objectives under a Hargenteen sky belonging to neither; S28 flies S14's map with S01's objectives under S01's sky. Three of six mix, so "S24 is S11" would be wrong. S28 is the only stage with its own weapon table: 21 stages use EnumWeapon_Test.tbl (x132), the tutorials EnumWeapon_Tutorial.tbl (x36), and S28 alone EnumWeapon_EX5.tbl (x6). S28 was already the odd stage - the only rou_f004 flight - so this is a second hook on it. A datapoint for result-screens' open "what does EX_ mean": EX5 is also a variant suffix on real names - UN_f001_TCAF_DeltaSaber_T_EX5 and Weapon_TCAF_Ship_AAGun_EX5, 24 each. Not enough to fix the meaning. Method note: an unanchored EX[0-9] search over binary payloads returns EX0..EX9 at 100-180 hits each - pure noise from matching inside compressed data. Only prefix-anchored names are real. All fifteen artefacts byte-identical.
This commit is contained in:
@@ -6098,3 +6098,50 @@ Corrected in `asteroid-fields.md` and `INDEX.md`.
|
||||
|
||||
🟡 Not settled: whether the quaternion is object→world or world→object; the two
|
||||
unnamed `_Test` variant objects; what `Placement_*`/`RouteTest_*` are for.
|
||||
|
||||
---
|
||||
|
||||
## ✅✅ 2026-08-28 — every challenge mission is flown on a story mission's map
|
||||
|
||||
Item (a): apply the per-stage join to the other stage-resource fields. **Sharing
|
||||
is exactly what the file-name view hides**, and here it is, complete.
|
||||
|
||||
Of 338 distinct `(field, value)` pairs across the 22 stage objects, **31 are used
|
||||
by more than one stage.** The strongest signal is `CollisionMeshes`:
|
||||
|
||||
| stage | `CollisionMeshes` | `EnumerateSubobjective` | `BackGroundID` | `EnumerateWeapon` |
|
||||
|---|---|---|---|---|
|
||||
| S24 | `CollisionSet_S11.bin` | `SUBObjectiveSettings_S01` | `Anastasis` | `EnumWeapon_Test` |
|
||||
| S25 | `CollisionSet_S07.bin` | `SUBObjectiveSettings_S07` | `Hargenteen` | `EnumWeapon_Test` |
|
||||
| S26 | `CollisionSet_S03.bin` | `SUBObjectiveSettings_S06` | `Hargenteen` | `EnumWeapon_Test` |
|
||||
| S27 | `CollisionSet_S03.bin` | `SUBObjectiveSettings_S03` | `Planet_Lebendorf` | `EnumWeapon_Test` |
|
||||
| S28 | `CollisionSet_S14.bin` | `SUBObjectiveSettings_S01` | `Lebendorf` | **`EnumWeapon_EX5.tbl`** |
|
||||
| S29 | `CollisionSet_S15.bin` | `SUBObjectiveSettings_S15` | `Earth` | `EnumWeapon_Test` |
|
||||
|
||||
**6 of 6 challenge missions reuse a story stage's collision set.** Control:
|
||||
**S01–S16 are perfectly diagonal**, `CollisionSet_SNN` ↔
|
||||
`SUBObjectiveSettings_SNN`, **16/16**.
|
||||
|
||||
🔑 **Map, objectives and sky are borrowed independently** — S24 flies S11's map
|
||||
with S01's objectives; S26 flies S03's map with S06's objectives under a
|
||||
`Hargenteen` sky belonging to neither; S28 flies S14's map with S01's objectives
|
||||
under S01's sky. Three of six mix, so "S24 *is* S11" would be wrong.
|
||||
|
||||
🔑 **S28 is the only stage with its own weapon table** — 21 stages use
|
||||
`EnumWeapon_Test.tbl` (×132), the tutorials `EnumWeapon_Tutorial.tbl` (×36), and
|
||||
S28 alone `EnumWeapon_EX5.tbl` (×6). S28 was already the odd stage (the only
|
||||
`rou_f004` flight); this is a second hook on it.
|
||||
|
||||
❔ **A datapoint for [[result-screens]]'s open "what does `EX_` mean"**: `EX5` is
|
||||
also a **variant suffix on real names** — `UN_f001_TCAF_DeltaSaber_T_EX5` and
|
||||
`Weapon_TCAF_Ship_AAGun_EX5`, 24 each. Not yet enough to fix the meaning.
|
||||
|
||||
⚠️ **Method note worth keeping**: an *unanchored* `EX[0-9]` search over binary
|
||||
payloads returns `EX0`…`EX9` at 100–180 hits each — pure noise from matching
|
||||
inside compressed data. Only prefix-anchored names are real. (Sibling of "a
|
||||
prefix match is not an exact match".)
|
||||
|
||||
Written up in `docs/re/structures/stage-numbering-and-player-craft.md`.
|
||||
|
||||
🟡 Not settled: what `EX` stands for; the two unnamed `_Test` variant objects;
|
||||
what `Placement_*`/`RouteTest_*` are for.
|
||||
|
||||
@@ -119,3 +119,45 @@ running 0…27.
|
||||
`<lang>\GP_HANGAR_ARSENAL_3D.tbl` all resolve, so the method works).
|
||||
* Why the numbering skips S17 and parks the tutorials at S18–S23 is a production
|
||||
fact this cannot reach.
|
||||
|
||||
## ✅ Every challenge mission is flown on a story mission's map (2026-08-28)
|
||||
|
||||
Joining the stage records **per stage** rather than per file name — the same move
|
||||
that showed S28 borrowing S14's asteroid table ([[asteroid-fields]]):
|
||||
|
||||
| stage | `CollisionMeshes` | `EnumerateSubobjective` | `BackGroundID` | `EnumerateWeapon` |
|
||||
|---|---|---|---|---|
|
||||
| S24 | **`CollisionSet_S11.bin`** | `SUBObjectiveSettings_S01` | `Anastasis` (S11's) | `EnumWeapon_Test` |
|
||||
| S25 | **`CollisionSet_S07.bin`** | `SUBObjectiveSettings_S07` | `Hargenteen` (S07's) | `EnumWeapon_Test` |
|
||||
| S26 | **`CollisionSet_S03.bin`** | `SUBObjectiveSettings_S06` | `Hargenteen` | `EnumWeapon_Test` |
|
||||
| S27 | **`CollisionSet_S03.bin`** | `SUBObjectiveSettings_S03` | `Planet_Lebendorf` (S03's) | `EnumWeapon_Test` |
|
||||
| S28 | **`CollisionSet_S14.bin`** | `SUBObjectiveSettings_S01` | `Lebendorf` (S01's) | **`EnumWeapon_EX5.tbl`** |
|
||||
| S29 | **`CollisionSet_S15.bin`** | `SUBObjectiveSettings_S15` | `Earth` (S15's) | `EnumWeapon_Test` |
|
||||
|
||||
**6 of 6 challenge missions reuse a story stage's collision set**, and the control
|
||||
is exact: **S01–S16 are perfectly diagonal**, `CollisionSet_SNN` ↔
|
||||
`SUBObjectiveSettings_SNN` for their own `NN`, **16/16**. (The 22 stage objects
|
||||
are the 16 story + 6 challenge; the tutorials share tables, as
|
||||
[[stage-mission-tables]] records.)
|
||||
|
||||
🔑 **Map, objectives and sky are borrowed independently.** S24 flies **S11's map**
|
||||
with **S01's objectives**; S26 flies **S03's map** with **S06's objectives** under
|
||||
a `Hargenteen` sky that belongs to neither; S28 flies **S14's map** with **S01's
|
||||
objectives** under **S01's sky**. Three of the six mix sources, so "S24 *is* S11"
|
||||
would be wrong — the re-dressing is per field.
|
||||
|
||||
🔑 **S28 is the only stage on the disc with its own weapon table.** All 21 others
|
||||
use `EnumWeapon_Test.tbl` (×132) and the tutorials `EnumWeapon_Tutorial.tbl`
|
||||
(×36); S28 alone declares **`EnumWeapon_EX5.tbl`** (×6, one per language pack).
|
||||
A field with exactly one distinctive value is an identification hook, and S28 was
|
||||
already the odd stage — the only one flying `rou_f004`.
|
||||
|
||||
❔ **A datapoint for the open "what does `EX_` mean"** ([[result-screens]]): `EX5`
|
||||
is also a **variant suffix on real unit and weapon names** —
|
||||
`UN_f001_TCAF_DeltaSaber_T_EX5` and `Weapon_TCAF_Ship_AAGun_EX5`, 24 occurrences
|
||||
each (4 per pack). So `EX5` names a *variant*, and one stage's weapon list is
|
||||
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 100–180 hits each — pure noise from matching inside
|
||||
compressed data. Only the prefix-anchored names above are real.
|
||||
|
||||
Reference in New Issue
Block a user