Files
Sylpheed/docs/re/structures
Sylpheed RE agent af8292c940 re: the rest of StageResource - two more value kinds, one convention refuted
Swept all 19 StageResource fields by value kind.

Refuted: <X>ID + <X>Package is not a convention. The record has exactly one *ID
field (BackGroundID) and exactly one pairing stem. StageResourcePackage has no
StageResourceID; WingmanIconID_0..3 have no package. n = 1 is not a rule, so
last pass's generalisation is withdrawn.

Fourth kind - the game:\ external path. BackGroundPackage (18 values) and
StageResourcePackage (23) are neither records nor pak keys because they are ISO
file paths. Mapping game:\ to the extract root and \ to /, case-folded, 41 of 41
exist on the extracted disc (hidden/resource3d/BG_Acheron.xpr, Stage_S01.xpr,
...; 166 .xpr files in that directory).

Fifth form - game:\hidden\<archive>.pak+<entry>. LodEnumTable, MotionEnumTable
and TBL_3D name an archive AND an entry inside it, e.g.
game:\hidden\DefTables.pak+EnumLODSet_S24.tbl. Splitting on + and hashing the
right half against THAT archive's keys resolves 20 of 21; the one failure is
sound.pak+ with an empty entry name.

Some of those entry names carry an explicit <lang>\ prefix
(deu\GP_HANGAR_ARSENAL_3D.tbl, eng\, esp\), each present in 0 other archives, so
the language-prefix form is genuinely used by the engine. This does NOT unblock
the 2D naming problem: archive-naming refuted <lang>\ there structurally, since
the six 2D paks share one identical 711-key TOC and cannot carry per-language
names. Both facts stand.

The 4 never-shipped _Test tables - the residual of the 344-name census - are now
named: EnumCharacter_Test.tbl, EnumLocalString_Test.tbl, EnumSquadron_Test.tbl,
StageMessageSet_test.tbl (lower-case test on the last).

WingmanIconID_1..3 hold PGHUD_WING2/WING3/WING4, HUD element names from the PG*
roster; WingmanIconID_0 is never valued.

All fifteen artefacts byte-identical.
2026-08-28 06:28:14 +00:00
..