re: where .prt screen parts live; the five mission banners are a real exception

Read first, as the rule now requires: ui-prm-primitives.md,
ui-rat-layout.md, ui-screen-runtime.md -- they own the .prt/RATC/T8aD
stack but describe element names inside bundles, not where parts live.

A .prt IS a pak entry, under a LANGUAGE directory.  Of 376 distinct
.prt names referenced on the disc, 241 resolve as archive entries --
220 under eng\ and jpn\, 38 under each of the other four.  prbase.prt
resolves under all six; palogo1.prt under two.

All five pgmsg_*.prt resolve under nothing, across 15 prefixes that
include every language dir, so this is not the missing-prefix mistake
again.

A lead, refuted by its own control: four of the five have a same-stem
_sub.rat sub-bundle inside every per-language 2D pak, and pgmsg_update
has none -- but only 4 of 376 .prt stems have a _sub.rat, and
prbase.prt, which does ship as an entry, has none.  Not the container
convention, not adopted.

An intermediate pass nearly reported 'the five appear only in the
manifest'; that was wrong because the token census was truncated by a
slice and the RATC hits were pgmsg_start_sub.rat, a longer token.

New artefact and regenerator; the other six regenerate byte-identical.
This commit is contained in:
Sylpheed RE agent
2026-08-27 14:01:24 +00:00
parent 9d25a3a582
commit 94065d40ec
4 changed files with 167 additions and 1 deletions

View File

@@ -0,0 +1,39 @@
# Where `.prt` screen parts live
# Regenerate: python3 tools/re-capture/prt_parts.py
# See docs/re/structures/mission-script-manifest.md
## `.prt` IS a pak entry name -- under a LANGUAGE directory
distinct .prt names referenced anywhere : 376
resolving as a pak entry : 241
prefix 'eng\\' 220
prefix 'jpn\\' 220
prefix 'fra\\' 38
prefix 'deu\\' 38
prefix 'ita\\' 38
prefix 'esp\\' 38
prefix '' 21
## the five mission-banner parts
pgmsg_start.prt resolves under: NOTHING
pgmsg_end.prt resolves under: NOTHING
pgmsg_update.prt resolves under: NOTHING
pgmsg_failed.prt resolves under: NOTHING
pgmsg_restart.prt resolves under: NOTHING
prbase.prt resolves under: ['eng\\', 'jpn\\', 'fra\\', 'deu\\', 'ita\\', 'esp\\']
palogo1.prt resolves under: ['eng\\', 'jpn\\']
## `<stem>_sub.rat` sub-bundles inside RATC
distinct _sub.rat names: 11
pgmsg_end_sub.rat in 6 archives ['GP_MAIN_GAME_D2D.pak', 'GP_MAIN_GAME_E2D.pak']
pgmsg_failed_sub.rat in 6 archives ['GP_MAIN_GAME_D2D.pak', 'GP_MAIN_GAME_E2D.pak']
pgmsg_restart_sub.rat in 6 archives ['GP_MAIN_GAME_D2D.pak', 'GP_MAIN_GAME_E2D.pak']
pgmsg_start_sub.rat in 6 archives ['GP_MAIN_GAME_D2D.pak', 'GP_MAIN_GAME_E2D.pak']
piface_sub.rat in 1 archives ['GP_MISSION_LOG.pak']
pjeff03_sub.rat in 2 archives ['GP_BUNK.pak', 'GP_DEBRIEFING_PILOTLOG.pak']
pjex_eff07_sub.rat in 4 archives ['GP_BUNK.pak', 'GP_DEBRIEFING_PILOTLOG.pak']
pjex_eff08_sub.rat in 4 archives ['GP_BUNK.pak', 'GP_DEBRIEFING_PILOTLOG.pak']
pqeff20_sub.rat in 1 archives ['GP_SYSTEM.pak']
pqeff21_sub.rat in 1 archives ['GP_SYSTEM.pak']
pqeff22_sub.rat in 1 archives ['GP_SYSTEM.pak']
CONTROL .prt stems that have a _sub.rat: 4 / 376 -- so this is NOT the general
container convention; `prbase` has a .prt entry and no _sub.rat.