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:
@@ -114,17 +114,27 @@ Two new environment options remove the hardware dependency entirely:
|
||||
desktop window ("Plasma Display", plasma orange, `L4PLASMASCALE` sets the
|
||||
pixel size, default 4). It opens directly below the main view;
|
||||
`L4PLASMAPOS=x,y` overrides. No COM port. Closing the window hides it.
|
||||
- **`L4MFDSPLIT=1`** — un-packs the 7-display cockpit. The pod hardware
|
||||
drove five monochrome MFDs from the color channels of two video outputs
|
||||
(window 3 = upper MFDs in R/G/B, window 4 = lower MFDs in R/G) and
|
||||
mounted the map display portrait. With split mode the game itself opens
|
||||
seven proper windows — main view, five green-screen MFDs ("MFD upper
|
||||
left/center/right", "MFD lower left/right") and the 90°-rotated "Map" —
|
||||
rendered CPU-side from the shared gauge canvas; the packed windows stay
|
||||
hidden. `L4MFDSCALE` sets the view size in percent of the gauge canvas
|
||||
(default 50). Default layout is the pod grid to the right of the main
|
||||
view; all windows are draggable. This replaces the external
|
||||
BitBlt-mirror launcher wrapper.
|
||||
- **`L4MFDSPLIT=1`** — assembles the **whole pod interior in one window**.
|
||||
The pod hardware drove five monochrome MFDs from the color channels of
|
||||
two video outputs (window 3 = upper MFDs in R/G/B, window 4 = lower
|
||||
MFDs in R/G) and mounted the map display portrait. In split mode the
|
||||
main game window becomes the cockpit shell and every display is a
|
||||
chrome-less child pane, arranged as in the pod:
|
||||
|
||||
```
|
||||
[ MFD UL ] [ MFD UC ] [ MFD UR ]
|
||||
[ plasma (reduced) ][ viewscreen (centered) ]
|
||||
[ MFD LL ] [ Map ] [ MFD LR ]
|
||||
```
|
||||
|
||||
MFDs render green-screen and the map full-color/rotated, CPU-side from
|
||||
the shared gauge canvas (the packed D3D windows stay hidden); the 3D
|
||||
scene presents into the viewscreen pane via `Present`'s
|
||||
`hDestWindowOverride` (`gMainPresentWindow`), so no swap-chain changes.
|
||||
Mouse clicks over the viewscreen fall through to the game window
|
||||
(STATIC pane hit-test transparency). `L4MFDSCALE` sets the MFD/map pane
|
||||
size in percent of the gauge canvas (default 50). This replaces the
|
||||
external BitBlt-mirror launcher wrapper.
|
||||
|
||||
Each split window also carries its display's **physical button bank**
|
||||
(geometry per vRIO's `CockpitLayout`): 4 red buttons above and below
|
||||
|
||||
Reference in New Issue
Block a user