re: challenge LOD tables are _test + set dressing; orphan count corrected 8 -> 6

Diffed the field sets, the same move that cracked EnumWeapon_EX5.

The five bespoke challenge tables are EXACT SUPERSETS of _test - 10 of 10 (five
stages x the EnumLODSet and EnumGameModel families) with zero removals. Extras
run +2 to +9 and name the stage's own scenery: stg24_01..04, stg26_01..03,
stg27_01..02, stg29_01..02, plus rot_n001_break shared by S24, S26, S27, S28 and
Tutorial.

S28's nine extras independently confirm the player-craft result:
LOD_Frame_rou_f004, four rou_f004_mnv*/turn180 poses and three eff_j004_*
effects - the LOD table for the one stage that flies rou_f004. Two unrelated
tables agreeing on S28's oddity is a real cross-check.

This does NOT revive "rot_n001 is on the disc": that refutation concerned the
bare name, which still occurs 0 times exactly; only the _break form is real,
exactly as recorded.

Self-correction: 6 orphan tables, not 8. name_hash is case-INSENSITIVE, so _test
and _Test are the same pak entry - EnumLODSet hashes to 3485720498 and
EnumGameModel to 4020329537 for both spellings. The family therefore has 10
distinct keys, not 11 tags, and the unreferenced set is S01, S02, S16 x 2 = 6.

And the six are not stale copies of _test. They are far smaller (120, 129 and
178 EnumLODSet fields against _test's 676) yet each carries 4-5 entries _test
does NOT have: LOD_Effect_eff_e0033, _e0058, _e0059, _e0060, _n0071, and S16
adds five rou_e106_* boss parts matching stage16-boss. So the live table is not
a superset of the abandoned ones. Tutorial has the same shape: 66 fields, 3
unique.

All fifteen artefacts byte-identical.
This commit is contained in:
Sylpheed RE agent
2026-08-28 07:15:28 +00:00
parent 0536e287b5
commit d08e464897
2 changed files with 77 additions and 0 deletions

View File

@@ -322,3 +322,49 @@ per-stage LOD sets, abandoned when the story campaign was pointed at the shared
bare `Equip_EnumGameModel_wep_NN.tbl`-style names reached from `PlayerLOD`,
`WingmanLOD`, `PlayerMotion` and `WingmanMotion` (58 distinct each). Only the 14
stage-tagged values use the `+` path form.
### ✅ Each challenge LOD table is `_test` **plus its own set dressing**
Diffing the field sets — the same move that cracked `EnumWeapon_EX5` — the five
bespoke challenge tables are **exact supersets of `_test`, 10 of 10 with zero
removals** (five stages × the `EnumLODSet` and `EnumGameModel` families):
| stage | `EnumLODSet` extras | `EnumGameModel` extras |
|---|---:|---:|
| S24 | +5 | +5 |
| S26 | +4 | +4 |
| S27 | +3 | +3 |
| S28 | **+9** | +5 |
| S29 | +2 | +2 |
🔑 **The extras name the stage's own scenery**`…_stg24_01…04`, `…_stg26_01…03`,
`…_stg27_01…02`, `…_stg29_01…02` — plus `rot_n001_break`, shared by S24, S26, S27,
S28 and Tutorial.
🔑 **S28's extras independently confirm the player-craft finding.** Its nine are
`LOD_Frame_rou_f004`, four `rou_f004_mnv/turn180` motion poses, three
`eff_j004_f0N` effects and `rot_n001_break` — i.e. **the LOD table for the one
stage that flies `rou_f004`** carries exactly that craft and its poses
([[stage-numbering-and-player-craft]]). Two unrelated tables agreeing on S28's
oddity is a real cross-check.
⚠️ `rot_n001_break` here does **not** revive "`rot_n001` is on the disc" — that
refutation was about the **bare** name, which still occurs 0 times exactly; only
the `_break` form is real, exactly as recorded.
### ❌ Correction: **6** orphan tables, not 8 — `name_hash` is case-insensitive
The previous pass counted `_Test` and `_test` as two tags. They are **one pak
entry**: `name_hash` is case-insensitive, so
`name_hash("EnumLODSet_test.tbl") == name_hash("EnumLODSet_Test.tbl")`
**3485720498** for both, and **4020329537** for the `EnumGameModel` pair. The
family therefore has **10 distinct keys**, not 11 tags, and the unreferenced set
is **S01, S02, S16 × 2 = 6 tables**, not 8.
🟡 **And the six are not stale copies of `_test`.** They are far smaller — 120,
129 and 178 `EnumLODSet` fields against `_test`'s 676 — yet each carries **45
entries `_test` does not have**: `LOD_Effect_eff_e0033`, `_e0058`, `_e0059`,
`_e0060`, `_n0071` (and S16 adds five `rou_e106_*` boss parts, matching
[[stage16-boss]]). So the live table is not a superset of the abandoned ones;
whatever those effect entries were for, the shipped campaign table drops them.
`Tutorial` is the same shape — 66 fields, 3 of them unique.