Assemble the whole cockpit in a single window

The main game window becomes the cockpit shell (enlarged, clipping
children); every display folds in as a chrome-less child pane in the
pod interior arrangement:

  [ MFD UL ] [ MFD UC ] [ MFD UR ]
  [ plasma (reduced) ][ viewscreen (centered) ]
  [ MFD LL ] [   Map  ] [ MFD LR ]

The 3D scene presents into a black STATIC viewscreen child via
Present's hDestWindowOverride (new gMainPresentWindow global) - no
swap-chain changes, and STATIC's transparent hit-testing keeps mouse
input over the 3D view flowing to the game window. MFDSplitView gains a
parent/child mode; PlasmaScreen::Position reparents the glass into the
shell. Main window class background goes black for the cockpit gaps.

Verified by screenshot: live green gauges (LIFT CUT / BOOST / CHUTE /
trigger-program screens) with their red button strips, the 3D canyon in
the centered viewscreen, plasma score glass at its left, map with lit
amber preset lamps - one window, 976x1132 client at 50% scale.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-12 14:52:26 -05:00
co-authored by Claude Fable 5
parent 775ee130a7
commit aa24968c3d
12 changed files with 222 additions and 96 deletions
+9 -6
View File
@@ -50,12 +50,15 @@ so press-feedback works like the real button field.
`Video8BitBuffered` surface into a desktop "Plasma Display" window in
plasma orange — verified drawing live game content (score readout).
See BUILD.md §4 for bindings and the desktop `environ.ini`.
-**7-display cockpit in-engine** (`L4MFDSPLIT=1`): the five MFDs the pod
packed into the color channels of two video outputs, plus the
portrait-mounted map, now open as their own windows (green-screen MFDs,
90°-rotated map), rendered CPU-side from the shared gauge canvas — the
external BitBlt-mirror wrapper is obsolete. Verified visually (MFD score
readout, full tactical map).
-**7-display cockpit in-engine, single window** (`L4MFDSPLIT=1`): the
five channel-packed MFDs, the portrait map, the plasma glass and the 3D
viewscreen all assemble inside one cockpit window in the pod interior
arrangement (MFD row / plasma+viewscreen band / MFD-map row), with each
display's physical button bank around it. The 3D scene presents into
the viewscreen child pane; MFDs/map render CPU-side from the gauge
canvas. The external BitBlt-mirror wrapper is obsolete. Verified
visually: live gauges (LIFT CUT/BOOST/CHUTE), tactical map with lit
preset lamps, 3D scene in the viewscreen.
-**Cockpit buttons on the displays** (2026-07-12): each split window
carries its physical button bank — 4+4 red buttons per MFD, 6 amber per
map side (Secondary/Screen columns; addresses per vRIO `CockpitLayout`,