re: every bound effect vs every declared effect; a Shift-JIS dev placeholder
The Explosion substructure's field list was already in the corpus, so the open
part was whether the effect names RESOLVE. Declared x used, sweeping 34 binder
field names (*FxModel*, *EffectName, Effect_*, ShellModel, CoverModel,
SilhouetteModel) against every name declared by a LOD_Effect_<n> or
GameModel_<n> field anywhere on the disc:
declared not declared
used 172 58
not used 318 -
490 declared, 230 used. Top binders: Effect_Paralyze 2874, ShellModel 996,
HitFxModel 738, JetFxModel_000 408, MuzzleFlashFxModel_Loop 384.
The 58-cell is almost one field. 53 of the 58 are bound by SilhouetteModel
alone and are all rou_f###_wep* names - the arsenal item silhouettes already
documented in arsenal-item-weapon-chain. They are undeclared because they are
the wrong KIND: each resolves as its own standalone package, rou_f001_wep_01.xpr
and friends, never as a LOD-table entry. Nothing is missing; the sweep was
reading an asset-file name as though it were an effect name. That leaves four
genuinely undeclared effects - eff_e0044, eff_f0002, eff_f0002_barn, eff_h308 -
none of which resolves as a record or field name either.
One "effect name" in that cell is not a name at all. Bound by Effect_Explosion
and Effect_Flare, 72 occurrences = 12 users, its bytes are 95 B6 8E 9A 97 F1 -
Shift-JIS for the word "character string". A developer's placeholder. This
exposes a reader defect worth fixing before these strings reach a port:
unitgroup.py hands the value back as Latin-1 mojibake, so an IDXD string field
can carry Shift-JIS and our decode does not know it.
Following the silhouettes into the ISO tree turned up a convention that IS real:
59 of the 166 .xpr packages end _hangar.xpr, and 59 of 59 have a bare twin of
the same stem. The direct contrast to yesterday's refutation, where _all/_child
was 1 of 166 with a single stem. Suffix conventions in this corpus are worth
testing precisely because they are not all real.
Controls reproduced from the previous iteration: eff_n0071 is declared and used
6x (= one user under the per-pak-copy rule); eff_e0033 is declared and used 0x,
sitting in the 318-cell. That cell is expected rather than alarming - the
EnumLODSet/EnumGameModel family is overwhelmingly equipment, which no unit
datasheet binds.
All fifteen artefacts byte-identical.
This commit is contained in:
@@ -6586,3 +6586,35 @@ the shipped `_test` table omits while the game still binds it elsewhere.
|
||||
`Effect_Paralyze` (2 874), `HitFxModel` (738), `ShellModel` (516),
|
||||
`JetFxModel_00N`, `MuzzleFlashFxModel_Loop` — so a value resolving through none
|
||||
of them is genuinely unreferenced, not missed by a narrow search.
|
||||
|
||||
---
|
||||
|
||||
## ✅ 2026-08-28 — every bound effect vs every declared effect; a Shift-JIS placeholder
|
||||
|
||||
Item (a). The `Explosion` field list was already in
|
||||
`unit-substructure-records.md`; the untested part was whether the effect names
|
||||
**resolve**. Declared × used over **34 binder fields**:
|
||||
|
||||
| | declared | not declared |
|
||||
|---|---|---|
|
||||
| **used** | **172** | **58** |
|
||||
| **not used** | **318** | — |
|
||||
|
||||
🔑 **The 58-cell is almost one field**: 53 are bound by `SilhouetteModel` and
|
||||
are all `rou_f###_wep*` arsenal silhouettes ([[arsenal-item-weapon-chain]]) —
|
||||
undeclared because they are **the wrong KIND**, each resolving as its own
|
||||
package (`rou_f001_wep_01.xpr`), never as a LOD entry. Four effects are
|
||||
genuinely undeclared: `eff_e0044`, `eff_f0002`, `eff_f0002_barn`, `eff_h308`.
|
||||
|
||||
🔑 **`文字列` is a dev placeholder.** One "effect name" is Shift-JIS
|
||||
`95 B6 8E 9A 97 F1` = *"character string"*, bound by `Effect_Explosion` /
|
||||
`Effect_Flare` 72× = 12 users. ⚠️ **Reader defect**: `unitgroup.py` returns it
|
||||
as Latin-1 mojibake — IDXD string fields can be Shift-JIS.
|
||||
|
||||
✅ **`_hangar` IS a convention — 59 of 166 `.xpr`, 59/59 with a bare twin.**
|
||||
The direct contrast to yesterday's `_all`/`_child` refutation (1 of 166). Suffix
|
||||
conventions here are worth testing precisely because they are not all real.
|
||||
|
||||
⚠️ Controls reproduced: `eff_n0071` declared + used 6× (= one user);
|
||||
`eff_e0033` declared + used 0×. The 318-cell is expected — the LOD family is
|
||||
overwhelmingly *equipment*, which no unit datasheet binds.
|
||||
|
||||
Reference in New Issue
Block a user