re: _all/_child is not a convention (1 of 166); eff_n0071 is a live explosion
Refuted, and it was my own suggestion from last turn. Across all 166 .xpr
packages the _child suffix occurs in ONE file, Stage_S24.xpr, with exactly one
stem, stg24_04, 20 occurrences. Across the 105394 distinct parsed pak names -
record names, field names and string values - names ending _all or _child occur
ZERO times. So the pair is mesh-internal to a single model and never reaches the
data tables; the tables only ever name the bare stg24_04. n = 1 is not a
convention, and the multi-part mesh mechanism the corpus actually owns is
xbg7-mesh's grouped index/vertex pools, which is a different thing.
The orphan tables' five unique effects split three ways, chased through PARSED
names rather than .xpr bytes:
eff_n0071 LIVE - Generic.GameResourceID in DefTables.pak and
an Explosion record's ExplosionFxModel in all six
GP_MAIN_GAME_* archives (x6 = one user)
eff_e0033 a mesh in Base.xpr, but no data reference
eff_e0058/_e0059/_e0060 neither a mesh nor any reference
So one "abandoned" entry is not abandoned: the orphan LOD tables list an effect
the shipped _test table omits while the game still binds it elsewhere.
Control recorded so the negative has force: effect names bind through a whole
family of fields - Effect_Paralyze (2874 values), HitFxModel (738), ShellModel
(516), JetFxModel_000/001/002, MuzzleFlashFxModel_Loop - so a value that
resolves through none of them really is unreferenced, not merely missed by a
narrow search.
All fifteen artefacts byte-identical.
This commit is contained in:
@@ -405,3 +405,46 @@ long and distinctive and the match was expanded to the full trailing token, and
|
||||
they establish **presence**, not a resource enumeration. Also `grep -c` counts
|
||||
*lines*, not occurrences; the counts above come from `grep -o | wc -l` after that
|
||||
was caught.
|
||||
|
||||
### ❌ `parent` + `_all` + `_child` is **not** a convention — one stem, one file
|
||||
|
||||
The `stg24_04` composite invited the reading that this is the engine's standard
|
||||
composite-model shape. **Measured, it is not:**
|
||||
|
||||
* across all **166 `.xpr`** packages, the `_child` suffix occurs in **1 file**
|
||||
(`Stage_S24.xpr`), with exactly **one stem** (`stg24_04`), 20 occurrences;
|
||||
* across the **105 394 distinct parsed pak names** (record names, field names and
|
||||
string values), names ending `_all` or `_child` occur **0 times**.
|
||||
|
||||
So the pair is **mesh-internal to one model** and never appears in the data
|
||||
tables at all — the tables only ever name the bare `stg24_04`. **n = 1 is not a
|
||||
convention**, and the multi-part mesh mechanism the corpus does own is
|
||||
[[xbg7-mesh]]'s grouped index/vertex pools, which is a different thing entirely.
|
||||
|
||||
### ✅ The orphan tables' five effects split three ways
|
||||
|
||||
Chasing each of the five `_test` lacks, through **parsed** names this time rather
|
||||
than `.xpr` bytes:
|
||||
|
||||
| effect | in an `.xpr` | referenced in data |
|
||||
|---|---|---|
|
||||
| `eff_n0071` | — | **YES — live** |
|
||||
| `eff_e0033` | `Base.xpr` | no |
|
||||
| `eff_e0058`, `_e0059`, `_e0060` | **no** | no |
|
||||
|
||||
🔑 **`eff_n0071` is a live explosion effect.** It appears as a
|
||||
`Generic.GameResourceID` in `DefTables.pak` and as an **`Explosion` record's
|
||||
`ExplosionFxModel`** in all six `GP_MAIN_GAME_*` archives — ×6, i.e. **one user**
|
||||
under the per-pak-copy rule. So one of the "abandoned" entries is not abandoned;
|
||||
the orphan LOD tables list an effect the shipped `_test` table omits even though
|
||||
the game still binds it elsewhere.
|
||||
|
||||
The other four are declared **only by their own field names in the orphan
|
||||
tables** — `eff_e0033` at least has a mesh in `Base.xpr`; `_e0058`, `_e0059` and
|
||||
`_e0060` have neither a mesh nor any other reference.
|
||||
|
||||
⚠️ Control for the "referenced in data" column: effect names are bound through a
|
||||
whole family of fields — `Effect_Paralyze` (2 874 values), `HitFxModel` (738),
|
||||
`ShellModel` (516), `JetFxModel_000/001/002`, `MuzzleFlashFxModel_Loop` — so a
|
||||
value that resolved through none of them really is unreferenced, not merely
|
||||
missed by a narrow search.
|
||||
|
||||
Reference in New Issue
Block a user