Files
Sylpheed/docs/re/data/prt-parts.txt
Sylpheed RE agent 8f3973b1c9 re: the variant reading is refuted; HudResource is the in-game screen config
Censused the 32 bundle-less in-game .prt names with the 68 as control:
4 of 32 appear as an element of some 2D bundle, against 58 of 68.
Being an element is normal for a part that exists; these are not
elements either.  Last iteration's 'not adopted' reading is refuted.
28 names are neither a bundle nor an element.

They are not unreferenced: a HudResource record inside the 2D paks' own
IDXD entries names them -- the in-game screen config, parallel to
tables.pak for menus.  GP_MAIN_GAME_E2D.pak has 6 IDXD entries; two
carry HudResource (24 named fields) beside ArmsStatus, Map, ArmsItem,
RangeFinder, Marker, Manuva, Number; two more carry the
ObjectiveMarker_*/TutorialMarker_* set.

Its values carry subdirectory prefixes -- Hitmark\, Lockon\ -- which my
hand-written prefix list never had.  So I rebuilt the negative the right
way round: harvested every IDXD field value containing a backslash, kept
the 60 commonest directories, and re-swept.  241/376 with the hand list;
241 with hand + harvested -- zero new resolutions.  After the language\
miss, this is the closure that counts: the prefix list came from the
disc, not from me.

Still open: whether the 28 are cut features or assembled at runtime from
sprites.  Nothing static separates those two.

Artefact +45 lines / 0 deletions; the other six regenerate
byte-identical.
2026-08-27 14:42:20 +00:00

167 lines
6.3 KiB
Plaintext

# 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\\']
## WHO REFERENCES a part decides whether it ships as an entry
cross-tab (referenced by tables.pak?, resolves as an entry?):
tables=True resolves=True 241
tables=False resolves=False 100
tables=True resolves=False 35
=> resolving IMPLIES referenced by tables.pak: 0 counterexamples of 376
the 35 referenced-but-absent parts:
02d.prt
02d_scr.prt
pgfacewin.prt
pgfacewin_base.prt
pgfacewin_dead.prt
pgfacewin_em.prt
pgfacewin_tr.prt
pgmenu_btn00.prt
pgmenu_btn00f.prt
pgmenu_btn01.prt
pgmenu_btn01f.prt
pgmenu_btn10.prt
pgmenu_btn10f.prt
pgmenu_btn11.prt
pgmenu_btn11f.prt
pgmenu_btn12.prt
pgmenu_btn12f.prt
pgmenu_btn20.prt
pgmenu_btn20f.prt
pgmenu_btn21.prt
pgmenu_btn21f.prt
pgmenu_btn22.prt
pgmenu_btn22f.prt
pgmenu_btn30.prt
pgmenu_btn30f.prt
pgmenu_item0.prt
pgmenu_item1.prt
pgmenu_item2.prt
pgmenu_item3.prt
pgmenu_pad.prt
pgtextwin.prt
phinfo1.prt
phinfo2.prt
phinfo3.prt
psview_release.prt
pg* parts: 135, of which 6 resolve: ['pgloading.prt', 'pgloading2.prt', 'pgmsg_scr.prt', 'pgpause.prt', 'pgpause_ttrl.prt', 'pgpbase.prt']
## AN EMBEDDED PART IS A TOP-LEVEL RATC BUNDLE, named by its element prefix
RATC bundle element-prefixes: 363 distinct (2D paks: 114)
in-game-only .prt (100): match a 2D bundle prefix 68 ; any bundle prefix 68
CONTROL shipped .prt (241): match a 2D bundle prefix 0 ; any bundle prefix 13
in-game .prt with NO 2D bundle (32):
pggauge_armor_eff1.prt
pggauge_shield_eff1.prt
pghud_GAremainder.prt
pghud_OBremainder.prt
pghud_arms_active1em.prt
pghud_arms_active1oh.prt
pghud_arms_active2em.prt
pghud_arms_active2oh.prt
pghud_arms_active3em.prt
pghud_arms_active3oh.prt
pghud_range_bar_em.prt
pghud_range_main.prt
pghud_range_nose.prt
pghud_subtarget.prt
pghud_target_locator_easy.prt
pghud_wing_act_attack.prt
pghud_wing_act_dispersion.prt
pghud_wing_act_formation.prt
pghud_wing_act_guard.prt
pghud_wing_alert.prt
pghud_wing_damage.prt
pgmanuva_eff1.prt
pgmanuva_eff2.prt
pgmanuva_eff3.prt
pgmark_em_ob_s.prt
pgmsg_update.prt
pgremaining.prt
pgtarget_G_missile.prt
pgtarget_cannon.prt
pgtarget_gun.prt
pgtarget_laser.prt
pgtimer.prt
## REFUTED the bundle-less names are NOT variants declared in a parent bundle
in-game names WITHOUT their own bundle (32): appear as an ELEMENT of some 2D bundle: 4
CONTROL in-game names WITH a bundle (68): appear as an element: 58
neither a bundle nor an element -- 28 names:
pggauge_armor_eff1.prt
pggauge_shield_eff1.prt
pghud_GAremainder.prt
pghud_OBremainder.prt
pghud_arms_active1em.prt
pghud_arms_active1oh.prt
pghud_arms_active2em.prt
pghud_arms_active2oh.prt
pghud_arms_active3em.prt
pghud_arms_active3oh.prt
pghud_range_bar_em.prt
pghud_range_main.prt
pghud_range_nose.prt
pghud_subtarget.prt
pghud_target_locator_easy.prt
pghud_wing_act_dispersion.prt
pghud_wing_alert.prt
pghud_wing_damage.prt
pgmanuva_eff2.prt
pgmanuva_eff3.prt
pgmark_em_ob_s.prt
pgmsg_update.prt
pgremaining.prt
pgtarget_G_missile.prt
pgtarget_cannon.prt
pgtarget_gun.prt
pgtarget_laser.prt
pgtimer.prt
## CONTROL a prefix list harvested from the DATA adds nothing
directory prefixes taken from IDXD path values: 60
jpn\Voice\ x2699
eng\Voice\ x2382
jpn\etc\ x2220
eng\etc\ x1821
Sight\ x420
game:\hidden\ x348
Radar\ x348
Marker\ x324
.prt resolving with the hand list 241 ; with hand+harvested 241 (of 376)
## `<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.