re: BackGroundID is an identity, not a file name; its sibling names the asset
The one value class that resolved to neither a record nor a file resolves to
neither because it is neither. BackGroundID lives on StageResource (174 records
carry it) directly beside BackGroundPackage, and that sibling holds the real
asset: game:\hidden\Resource3D\BG_<something>.xpr.
My earlier suffix sweep had a real bug: it tried BG_ and .xpr as alternatives,
never as a pair, so BG_Acheron.xpr was never in the search space. A
one-transform-at-a-time sweep cannot find a two-transform name.
But the obvious follow-on hypothesis - "the package is BG_<id>.xpr" - is also
refuted: it holds in only 12 of the 24 StageResource records carrying both
fields. Hargenteen spans six packages (BG_Hargenteen{,_near,_far,_dead}.xpr plus
BG_Acheron.xpr and BG_Stg26.xpr), and BG_Acheron.xpr serves both the Acheron id
(S09) and the Hargenteen id (S25). The relation is many-to-many in both
directions, roughly 18 distinct packages across 10 ids.
So the id is a logical place - Acheron, Earth, Hargenteen, Lebendorf - and the
package is the mesh actually loaded, chosen per stage from that place's _near /
_far / _dead variants. Two details fall out: PD is the Prometheus Driver
(BG_P_Driver.xpr, on S16, the boss stage), and the challenge stages that
re-dress a story sky carry bespoke BG_Stg24/26/27.xpr packages while keeping the
story stage's id - the same borrow-and-re-dress pattern already recorded for
maps and objectives.
Not settled: Original carries no BackGroundPackage at all; whether that means no
sky or an engine default is unknown.
All fifteen artefacts byte-identical.
This commit is contained in:
@@ -6380,3 +6380,30 @@ strings for all ten backgrounds — and also 0 for `Formation_4_Bird`,
|
||||
`AI_Structure`, `NP_ArrowHead`, `ACROPOLIS`, `CollisionSet_S03.bin`, all of which
|
||||
*do* resolve in data. The executable names no data value, so the negative
|
||||
discriminates nothing.
|
||||
|
||||
---
|
||||
|
||||
## ✅❌ 2026-08-28 — `BackGroundID` is an identity; the sibling field names the asset
|
||||
|
||||
Item (a). The one value class that resolved to neither record nor file resolves
|
||||
to neither **because it is neither**. `BackGroundID` lives on `StageResource`
|
||||
(174 records) directly beside **`BackGroundPackage`**, which holds the real asset
|
||||
`game:\hidden\Resource3D\BG_<something>.xpr`.
|
||||
|
||||
⚠️ **My earlier suffix sweep had a bug**: it tried `BG_` and `.xpr` as
|
||||
alternatives, never as a pair, so `BG_Acheron.xpr` was never in the search space.
|
||||
**A one-transform-at-a-time sweep cannot find a two-transform name.**
|
||||
|
||||
❌ **"the package is `BG_<id>.xpr`" is refuted** — true in only **12 of 24**
|
||||
records. `Hargenteen` spans six packages (`_near`/`_far`/`_dead`, plus
|
||||
`BG_Acheron.xpr` and `BG_Stg26.xpr`); `BG_Acheron.xpr` serves two different ids.
|
||||
**Many-to-many both ways**, ~18 packages across 10 ids.
|
||||
|
||||
🔑 The id is a **logical place** (Acheron, Earth, Hargenteen, Lebendorf) and the
|
||||
package is the mesh actually loaded, chosen per stage from that place's variants.
|
||||
`PD` = the Prometheus Driver (`BG_P_Driver.xpr`, S16). The challenge stages that
|
||||
re-dress a story sky carry bespoke `BG_Stg24/26/27.xpr` while keeping the story
|
||||
id — the same borrow-and-re-dress pattern already seen for maps and objectives.
|
||||
|
||||
🟡 Not settled: `Original` carries **no** `BackGroundPackage` — whether that is
|
||||
"no sky" or an engine default is unknown.
|
||||
|
||||
@@ -273,3 +273,45 @@ exact strings for all ten, but it also contains **0** for `Formation_4_Bird`,
|
||||
of which *does* resolve in data. The executable names no data value at all, so
|
||||
this negative does not distinguish backgrounds from anything else. **Powerless,
|
||||
not evidence** — recorded so it is not re-run.
|
||||
|
||||
### ✅ `BackGroundID` is an identity, not a file name — its sibling names the asset
|
||||
|
||||
The sweep above left `BackGroundID` as the one class resolving to neither a
|
||||
record nor a file. It resolves to **neither because it is neither**: the field
|
||||
lives on `StageResource` (174 records carry it) directly beside
|
||||
**`BackGroundPackage`**, and *that* sibling holds the asset —
|
||||
`game:\hidden\Resource3D\BG_<something>.xpr`.
|
||||
|
||||
⚠️ **My earlier suffix test had a real bug.** It tried `BG_` and `.xpr` as
|
||||
alternatives, never as a **pair**, so `BG_Acheron.xpr` was outside the search
|
||||
space. **A one-transform-at-a-time sweep cannot find a two-transform name.**
|
||||
|
||||
❌ **But "the package is `BG_<id>.xpr`" is refuted too** — it holds in only
|
||||
**12 of the 24** `StageResource` records that carry both fields:
|
||||
|
||||
| `BackGroundID` | packages actually used |
|
||||
|---|---|
|
||||
| `Hargenteen` | `BG_Hargenteen{,_near,_far,_dead}.xpr`, **`BG_Acheron.xpr`**, `BG_Stg26.xpr` |
|
||||
| `Acheron` | `BG_Acheron.xpr`, `BG_Acheron_near.xpr` |
|
||||
| `Lebendorf` | `BG_Lebendorf.xpr`, `BG_Lebendorf_near.xpr` |
|
||||
| `Earth` | `BG_Earth.xpr`, `BG_Earth_far.xpr` |
|
||||
| `Planet_Lebendorf` | `BG_Planet_Lebendorf.xpr`, `BG_Stg27.xpr` |
|
||||
| `Anastasis` | `BG_Anastasis.xpr`, `BG_Stg24.xpr` |
|
||||
| `PD` | **`BG_P_Driver.xpr`** |
|
||||
| `Original` | **none — the field is absent** |
|
||||
|
||||
🔑 So the id is a **logical place** — the game's own locations, Acheron, Earth,
|
||||
Hargenteen, Lebendorf — and the package is the **mesh actually loaded**, picked
|
||||
per stage from `_near` / `_far` / `_dead` variants of that place. The relation is
|
||||
**many-to-many in both directions**: `Hargenteen` spans six packages, and
|
||||
`BG_Acheron.xpr` serves both `Acheron` (S09) and `Hargenteen` (S25). Roughly 18
|
||||
distinct packages across 10 ids.
|
||||
|
||||
Two details the table hands over: **`PD` is the Prometheus Driver**
|
||||
(`BG_P_Driver.xpr`, on S16 — the boss stage, cf. [[stage16-boss]]), and the three
|
||||
challenge stages that re-dress a story sky carry **bespoke `BG_Stg24/26/27.xpr`**
|
||||
packages while keeping the story stage's id — the same borrow-and-re-dress
|
||||
pattern [[stage-numbering-and-player-craft]] found for maps and objectives.
|
||||
|
||||
🟡 **`Original` has no `BackGroundPackage` at all.** Whether that means "no sky"
|
||||
or "whatever the engine defaults to" is not settled here.
|
||||
|
||||
Reference in New Issue
Block a user