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 ee1364a245
commit 93fd8214db
2 changed files with 77 additions and 0 deletions

View File

@@ -6499,3 +6499,34 @@ sets, abandoned for the shared `test` table" is a reading, not a measurement.
116 of 130 referenced values are bare `Equip_EnumGameModel_wep_NN.tbl` names from
`PlayerLOD`/`WingmanLOD`/`PlayerMotion`/`WingmanMotion` (58 distinct each); only
the 14 stage-tagged values use the `+` form.
---
## ✅❌ 2026-08-28 — challenge LOD tables are `_test` + set dressing; orphan count corrected to 6
Item (a).
**The five bespoke challenge tables are exact supersets of `_test`** — 10 of 10
(5 stages × 2 families) with **zero removals**; extras are +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`.
🔑 **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`.
⚠️ This does **not** revive "`rot_n001` is on the disc": that refutation concerned
the **bare** name (still 0 exact); only the `_break` form occurs, as recorded.
**Self-correction — 6 orphan tables, not 8.** `name_hash` is case-**insensitive**,
so `_test` and `_Test` are the *same pak entry*
(`EnumLODSet` → 3485720498, `EnumGameModel` → 4020329537 for both spellings). The
family has **10 distinct keys**, and the unreferenced set is **S01, S02, S16 × 2
= 6**.
🟡 **The six are not stale copies.** They are far smaller (120/129/178 vs 676
`EnumLODSet` fields) yet each holds **45 entries `_test` lacks**
`LOD_Effect_eff_e0033/_e0058/_e0059/_e0060/_n0071`, and S16 adds five
`rou_e106_*` boss parts (cf. `stage16-boss`). The live table is **not** a
superset of the abandoned ones. `Tutorial` has the same shape: 66 fields, 3
unique.

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.