Skip to content

MNU — Menu Screen Layout (.MNU)

FA_2.LIB contains 12 .MNU files. Each defines one top-level in-game menu screen. All are Win32 PE DLLs (MZ stub + PE32 image) loaded by the FA engine at runtime; they import rendering functions from main.dll (= the game executable — see architecture.md) and embed their label strings directly in the PE data section.

Tools

fx

fx mnu info    <file.MNU>            # container check + CODE section geometry
fx mnu strings <file.MNU> [-n MIN]   # embedded menu label strings

Same MZ + Phar Lap PL container family as CAM (verified against MAINMENU.MNU); the codec delegates to the shared PL reader.

File Layout

All multi-byte integers are little-endian.

Win32 PE DLL (MZ DOS stub + PE32 image). All MNU files import rendering functions from main.dll (= the game executable):

Import Role
_DrawAction Clickable action button
_DrawRocker Toggle/rocker control
_DrawText Static text label

Label strings are embedded as null-terminated ASCII in the PE data section. The record/layout encoding that arranges them into menu trees has not been mapped — see Open Questions (the confirmed DLG dispatch-table layout is the obvious starting hypothesis, since both formats share the _Draw* import family).

File Inventory

File Screen
AR_MENU.MNU Aircraft reference browser
ARMPLANE.MNU Mission loadout / arm aircraft
CHOOSEM.MNU Mission type selection + preferences
FMENUD.MNU In-flight pause menu (full option tree)
MAINMENU.MNU Minimal campaign action bar
MB_MENU.MNU Mission briefing map controls
MC_MENU.MNU Mission creator / editor
MULTI.MNU Multiplayer lobby
QM_MENU.MNU Quick mission setup
SELMENU.MNU Aircraft / campaign selection bar
SM_MENU.MNU Single mission aircraft filter
V_MENU.MNU Vehicle reference browser

All 12 live in FA_2.LIB.

AR_MENU.MNU — Aircraft Reference Browser. Object category filter: Fighters, Bombers, Helicopters, SAMs, Tanks, Ships, Other vehicles, Structures, Missiles, Misc. Pagination: Next Page (PgDn), Prev Page (PgUp). Display: Show background in 3D view, H3D Eyewear toggle, 3D effect depth controls (Ctrl-=, Ctrl-[, Ctrl-]).

ARMPLANE.MNU — Mission Loadout Screen. Weapons, Unload All, Cheat (load anything anywhere). Navigation: Airbase, Next Aircraft, Previous Aircraft. Campaign: Campaign, Replay This Mission, Exit Campaign.

CHOOSEM.MNU — Mission Selection + Preferences. Mission types: Airbase Assault (plus others surfaced via DLG dialogs). Graphics prefs: Screen resolution — 320×200, 640×480, 800×600, 1024×768. Network: Serial, Modem, IPX/SPX Network, TCP/IP Network, Disconnect.

FMENUD.MNU — In-Flight Menu. End mission (Ctrl-Q), Exit to Windows (Alt-F4).

  • Control: Stick: Keyboard, Joystick, CH F-16 Flight Stick, CH F-16 Combat Stick, CH Flightstick Pro, Jane's Combat Stick, Microsoft Sidewinder 3D Pro. Rudder: Keyboard, Rudder pedals. Throttle: Keyboard, Throttle stick, Slews view, Vectors thrust.
  • Pref → Graphics: HUD pitch ladder, Dim/Brighten HUD (Shift-[/]), cockpit, rear-view mirrors, large windows, authentic radar CRT, target info (Ctrl-T), IR/Laser targeting, radio silence (Alt-S).
  • Pref → Time: Paused (Ctrl-P), Slow-motion (Shift-C), Accelerated time.
  • View: Front, Back, Track, Player↔Missile, Player↔Wingman, Player↔Target, Target↔Player, Fly-by, External, Missile; View transitions toggle.
  • Window: Envelope, Forward/IR-Laser (Shift-2), Other (Shift-3), Target/Radar (Shift-4/5), Navigation (Shift-6), System Status (Shift-7), Weapon Status (Shift-8), Radar (Shift-9), Radar Cross Section (Shift-0).
  • Cheat: Damage level (Invulnerable/Normal/Realistic), Unlimited ammo, Unlimited fuel, Easy aiming, No crashes, No spins, No turbulence, Pull extra G, Ignore weapon weights, No sun/redout/blackout/screen-shake.
  • AI: Enemy AI (Novice/Average/Unchanged), Ignore midair collisions, Easy targeting, Air combat guns only.
  • Show: Planes, SAM sites, AAA sites, Ships, Airports, Vehicles, Other, SAM threat ranges; altitude presets (Ready for takeoff, Final approach, 10,000 ft, 40,000 ft).
  • Multi: Reduce bullet/missile accuracy/damage, reduce engine thrust/radar look-down, weapon camera, player scores, display windows, pauses flight.

MAINMENU.MNU — Campaign Action Bar. Campaign, Replay This Mission, Exit Campaign — minimal bar overlaid on certain screens.

MB_MENU.MNU — Mission Briefing Map. Scroll (Left/Right/Up/Down), Center map at cursor/selection, Zoom in/out/Smart zoom. Waypoint: Delete, Create loop, Delete loop, Select prev/next waypoint. Show: Planes, SAM sites, AAA sites, Ships, Airports, Vehicles, Other, Mission items only, SAM threat ranges, Distance grid.

MC_MENU.MNU — Mission Creator / Editor. File: New mission (Ctrl-N), Load mission, Save mission. View: same scroll/zoom controls as MB_MENU. World: Set map, Set weather, Set friendly & enemy sides, Set screens; Friendly/Enemy Pilot/SAM skill (Novice/Average/Good/Expert). Object: Duplicate, Delete; Add/Remove from wing (Blue/Green/Black/White/Orange/ Purple/Yellow), Make wingleader; Add/Remove from group, Make groupleader. Waypoint: same controls as MB_MENU. Multiplayer: Time limit, Number of kills, End scenario conditions, Number of revives, Revive time delay, Revive distance. Aircraft era filter: Fly All, 1956-1976, 1956-1982, 1956-1996, 1956-Future.

QM_MENU.MNU / SM_MENU.MNU — Quick/Single Mission. Aircraft era filter: Fly all, 1956-1976, 1956-1982, 1956-1996, 1956-Future.

SELMENU.MNU — Selection Bar. Cheat: Allow Flying Any Plane. Campaign: Replay This Mission, Exit Campaign.

V_MENU.MNU — Vehicle Reference Browser. Same category structure as AR_MENU plus Weapons category.

Open Questions

1. Menu-tree / control layout encoding

Only the import surface and the embedded label strings are mapped. The CODE section structure that arranges labels into menu trees, binds shortcuts, and positions controls is undecoded — the confirmed DLG dispatch-table record format is the natural hypothesis to test first.

Status: open — re-static (#54)

Formats: DLG — dialog box overlays nested within menus; shares the _Draw* import family and likely the record encoding.