# 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) ## `_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.