# 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.
