From 9be52cb2e9a305319ba754d82617b95daa26223e Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Fri, 28 Aug 2026 06:43:52 +0000 Subject: [PATCH] re: the archive.pak+entry dictionary is 20 keys and misses the 2D blocker entirely A path that names its own archive is a free name->key fact, since a pak TOC holds only hashes. Swept them disc-wide and aimed the result at the 2D / GP_READY_ROOM blocker. Seven fields carry a game: value - BackGroundPackage 18, StageResourcePackage 23, TBL_3D 6, LodEnumTable 7, MotionEnumTable 7, one PATH, one anonymous - giving 63 distinct paths in two forms: 42 file-form (41 present on the extracted ISO, the single miss being the bare directory game:\hidden\Resource3D\, which is not a file) and 21 archive+entry (20 of 20 resolve inside the archive they name; the 21st is sound.pak+ with an empty entry). The blocker test is a measured zero. The six 2D paks and GP_READY_ROOM hold 1817 distinct keys between them and NONE is named by a + path. The dictionary's total reach is 20 of 16630 keys, 0.12%, and every one lands in DefTables or GP_HANGAR_ARSENAL - archives that are already partly named. The route is exhausted rather than unlucky: these paths exist only in the seven fields above, and none of those fields ever addresses a 2D or ready-room asset. The blocker keeps its earlier structural reason (six identical 711-key TOCs, 0 of 711 shared with any other archive). The full dictionary is recorded: 6 x \GP_HANGAR_ARSENAL_3D.tbl in GP_HANGAR_ARSENAL.pak, and EnumGameModel_* plus EnumLODSet_* for S24, S26, S27, S28, S29, Tutorial and test in DefTables.pak. Left unexplained: both DefTables families are seven names with S25 absent and no story stage present at all. All fifteen artefacts byte-identical. --- docs/re/BACKLOG.md | 28 +++++++++++++++++++ docs/re/structures/archive-naming.md | 41 ++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/docs/re/BACKLOG.md b/docs/re/BACKLOG.md index f6135a7..9ca8b1b 100644 --- a/docs/re/BACKLOG.md +++ b/docs/re/BACKLOG.md @@ -6440,3 +6440,31 @@ structurally (six identical 711-key TOCs). Both stand. ✅ **`WingmanIconID_1…3` = `PGHUD_WING2/3/4`**, HUD names from the `PG*` roster; `WingmanIconID_0` is never valued. + +--- + +## ❌ 2026-08-28 — the `archive.pak+entry` dictionary is 20 keys and misses the blocker entirely + +Item (a). A path naming its own archive is a free name→key fact, so I swept them +disc-wide and aimed the result at the 🔴 2D / `GP_READY_ROOM` blocker. + +**7 fields** carry a `game:` value (`BackGroundPackage` 18, `StageResourcePackage` +23, `TBL_3D` 6, `LodEnumTable` 7, `MotionEnumTable` 7, one `PATH`, one anon) — +**63 distinct paths**: 42 file-form (**41 on the ISO**, the miss being the bare +directory `game:\hidden\Resource3D\`) and 21 archive+entry (**20 of 20** resolve; +the 21st is `sound.pak+`, empty entry). + +❌ **Blocker test: 0 of 1 817.** The six 2D paks plus `GP_READY_ROOM` hold 1 817 +keys; none is named by a `+` path. Total dictionary reach: **20 of 16 630 keys +(0.12 %)**, all inside `DefTables` or `GP_HANGAR_ARSENAL`. + +The route is **exhausted, not unlucky** — these paths live in seven fields, none +of which ever addresses a 2D or ready-room asset. The blocker keeps its earlier +structural reason. + +Full dictionary: 6 × `\GP_HANGAR_ARSENAL_3D.tbl` in `GP_HANGAR_ARSENAL.pak`, +and `EnumGameModel_*` + `EnumLODSet_*` for `S24, S26, S27, S28, S29, Tutorial, +test` in `DefTables.pak`. + +❔ Unexplained: both `DefTables` families are seven names with **S25 absent** and +no story stage at all. diff --git a/docs/re/structures/archive-naming.md b/docs/re/structures/archive-naming.md index fc27825..8fcac29 100644 --- a/docs/re/structures/archive-naming.md +++ b/docs/re/structures/archive-naming.md @@ -287,3 +287,44 @@ the archive's own artwork vocabulary**. So they cannot seed the dictionary attac * Why `DefTables` (8.9 %) and `GP_HANGAR_ARSENAL` (22.6 %) sit in the middle; probably just that most of their entries are tables referenced by records this harvest does not treat as filenames. Not chased. + +## ❌ The `archive.pak+entry` dictionary does not touch the 2D blocker — 0 of 1 817 + +`StageResource` turned up a path form that names an archive *and* an entry +inside it ([[stage-definition-table]]). Since a pak TOC holds only hashes, any +such path is a **free name→key fact**, so it is worth asking whether the disc +carries enough of them to crack the two blocked archives. + +Swept disc-wide, **7 fields** carry a `game:` value — `BackGroundPackage` (18), +`StageResourcePackage` (23), `TBL_3D` (6), `LodEnumTable` (7), +`MotionEnumTable` (7), plus one `PATH` and one anonymous. That is **63 distinct +paths in two forms**: + +* **file form, 42** — 41 exist on the extracted ISO; the one miss is the bare + directory `game:\hidden\Resource3D\`, which is not a file. +* **`archive+entry` form, 21** — **20 of 20** resolve inside the archive they + name (the 21st is `sound.pak+` with an empty entry). + +🔑 **The whole dictionary is 20 keys**, and here it is in full: + +| archive | entry | +|---|---| +| `GP_HANGAR_ARSENAL.pak` | `deu\`, `eng\`, `esp\`, `fra\`, `ita\`, `jpn\` + `GP_HANGAR_ARSENAL_3D.tbl` | +| `DefTables.pak` | `EnumGameModel_{S24,S26,S27,S28,S29,Tutorial,test}.tbl` | +| `DefTables.pak` | `EnumLODSet_{S24,S26,S27,S28,S29,Tutorial,test}.tbl` | + +❌ **The blocker test is a measured zero.** The six 2D paks and `GP_READY_ROOM` +hold **1 817** distinct keys between them; **0** are named by any `+` path. The +dictionary's total reach is **20 of 16 630 keys (0.12 %)**, and every one lands +in `DefTables` or `GP_HANGAR_ARSENAL` — archives that are already partly named. + +**The route is exhausted, not merely unlucky**: these paths exist only in the +seven fields above, and none of those fields ever addresses a 2D or ready-room +asset. The blocker stands on its earlier structural reason (six identical 711-key +TOCs, 0 of 711 shared with any other archive). + +❔ **One asymmetry left unexplained**: both `DefTables` families list +`S24, S26, S27, S28, S29, Tutorial, test` — **seven each, with S25 absent** and +no story stage present at all. Whether the other stages' `EnumLODSet` tables are +referenced by a bare name elsewhere, or simply not referenced by path, is not +settled here.