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.
167 lines
6.3 KiB
Plaintext
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.
|