# Original 3.42 menu captures

These are screens rendered by the unchanged `installs/deluxe_dnk/MOAG.EXE`
(SHA-256 `6d8c922d59a873073796b367a2a40993fcaa5e763ed2ca907a945981f0c5bc32`)
in DOSBox 0.74-3. They are not screenshots of the C++ reconstruction.
`captures.json` records each input sequence and RGB hash. The capture tool uses
an isolated install, saves and X display; it never edits the supplied install.

Run `tools/capture_native_menus.py` with the analysis Python environment to
reproduce the captures. The `-r` return flag skips title animations; the first
Return dismisses its expected absent-report notice before the main screen.
The original main selection is Training Missions. A newly created Test Pilot
supplies the reproducible empty-career and named-menu state.

The sibling C++ project's `tools/generate_menu_reference.py` converts twenty of
these images into the portable `tests/reference/menus.txt` RGB-hash fixture.
Normal builds and tests do not need DOSBox, Python or these images.
`theatre-header.bin` preserves the first 48 bytes of a native, newly opened
Atkinsville theater; its embedded pilot record starts after this header.

Observations:

- Submenus retain their underlying screen, with separate paper/ink colours,
  shadowed text and a recoloured title plaque. The selected wording turns white;
  its shortcut remains yellow.
- Roster and theater selectors have simultaneous summary and choice panels.
- Training counts and wickedness have separate numeric editors. Training Fly
  first shows a briefing; combat Fly first selects/confirms an airfield.
- Insert switches the career overview and decorations to four statistical columns.
- Esc quits the main menu immediately. Deletion dialogs require Enter; another key
  cancels. A newly created pilot has a separate Yes/No activation question.
- Turning off inflight comments sets bit 0x40 at pilot-record offset 0x23b
  (a fresh pilot changes from 0x02 to 0x42).

Further conditional dialogs, populated award/score reports and live survey
ordering/range conversion are not established by the twenty empty/default-state
pixel comparisons alone.
