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.