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

@@ -97,8 +97,42 @@ read, and closes them the same way.
in [sound-pak-contents](sound-pak-contents.md); worth repeating because it
doubles the apparent hit count of any prefix sweep.
## 🔎 Where `.prt` parts live — and why these five are the exception
Followed up the next iteration. Read first: `ui-prm-primitives.md`,
`ui-rat-layout.md`, `ui-screen-runtime.md` — they own the `.prt`/RATC/T8aD UI
stack and describe element names *inside* bundles, not where the parts live.
Artefact `../data/prt-parts.txt`, regenerator `tools/re-capture/prt_parts.py`.
**A `.prt` IS a pak entry — under a LANGUAGE directory.** Of the **376** distinct
`.prt` names referenced anywhere on the disc, **241 resolve** as an archive
entry: 220 under `eng\` and `jpn\`, 38 under each of the other four. My earlier
sweep had `eng\``esp\` in the list, so this is not the missing-prefix mistake
again — the five simply are not there.
| name | resolves under |
|---|---|
| `prbase.prt` | all six language dirs |
| `palogo1.prt` | `eng\`, `jpn\` |
| **all five `pgmsg_*.prt`** | **nothing, under any of 15 prefixes** |
🟡 **A partial lead, and its own refutation.** Four of the five have a
same-stem **`_sub.rat` sub-bundle** inside every per-language *2D* pak
(`pgmsg_start_sub.rat`, `_end_`, `_failed_`, `_restart_` — 6 archives each);
**`pgmsg_update` has none**. Tempting as "the parts live as RATC sub-bundles",
but the control kills the generalisation: **only 4 of 376 `.prt` stems have a
`_sub.rat` at all** (the other 7 belong to `GP_BUNK`, `GP_SYSTEM`,
`GP_MISSION_LOG`), and `prbase.prt` — which *does* ship as an entry — has no
`_sub.rat`. So `_sub.rat` is not the container convention; it is something these
four happen to have.
**Still not settled**: where the five mission-banner parts actually are. What is
now settled is that they are **not** pak entries while 241 of their siblings are,
and that `pgmsg_update` is the odd one out even among them.
## 🟡 Not settled
* Where the five `pgmsg_*.prt` screen parts live.
* Where the five `pgmsg_*.prt` screen parts live — see the section above for
how far that got.
* `dat\GP_TEST\` is named by the manifest and is not on the disc — a debug path
left in, not a missing asset. Not chased.