diff --git a/docs/re/BACKLOG.md b/docs/re/BACKLOG.md index 6c1932e..f32db75 100644 --- a/docs/re/BACKLOG.md +++ b/docs/re/BACKLOG.md @@ -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 **4–5 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. diff --git a/docs/re/structures/stage-mission-tables.md b/docs/re/structures/stage-mission-tables.md index 9658251..5d7168e 100644 --- a/docs/re/structures/stage-mission-tables.md +++ b/docs/re/structures/stage-mission-tables.md @@ -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 **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; +whatever those effect entries were for, the shipped campaign table drops them. +`Tutorial` is the same shape — 66 fields, 3 of them unique.