Displays: on-screen cockpit buttons + desktop plasma + the glass preset (steps 2d/2e)
NEW gated TUs: L4PADPANEL (GDI top-level window, all-W APIs: the pod button banks -- upper/lower aux, 12 secondary, specials/hat/handle, 63 buttons -- clickable via PadRIO::SetScreenButton with lamp-lit faces from GetLampState, 10 Hz repaint; created by the PadRIO ctor on BT_PAD_PANEL=1) and L4PLASMAWIN (PlasmaWindow : Video8BitBuffered -- the gauge renderer draws the 128x32 plasma into its pixelBuffer through the SAME code path as the serial device; Update() blits orange-on-black at L4PLASMASCALE, default x4). Gated seams: L4GREND.cpp L4PLASMA=SCREEN branch; btl4main.cpp -platform glass preset (PAD,KEYBOARD + BT_DEV_GAUGES + SCREEN plasma + panel; env always overrides; non-glass builds log+fall back to DEV); run.cmd glass token. MFD surfaces need NO new code: the existing dock-bottom / BT_DEV_GAUGES_WINDOW=1 / BT_DEV_GAUGES_DOCK=1 modes are the display story. Verified live: -platform glass boots GLASS profile, panel + plasma windows up, pad detected, dev gauges awake, mission loop clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,9 @@
|
||||
#include "..\munga\mission.h"
|
||||
#include "l4plasma.h"
|
||||
#include "..\munga\notation.h"
|
||||
#ifdef BT_GLASS
|
||||
#include "l4plasmawin.h"
|
||||
#endif
|
||||
|
||||
// #define LOCAL_TEST
|
||||
|
||||
@@ -100,8 +103,23 @@ L4GaugeRenderer::L4GaugeRenderer(bool windowed, int *secondaryIndex, int *aux1In
|
||||
// Tell("Plasma display created on COM1\n");
|
||||
// externalDisplay = new PlasmaDisplay(PCS_COM1);
|
||||
//}
|
||||
#ifdef BT_GLASS
|
||||
//
|
||||
// Glass cockpit (step 2d): L4PLASMA=SCREEN renders the 128x32
|
||||
// plasma into a desktop window instead of a serial device.
|
||||
// Any other value keeps the authentic serial path below.
|
||||
//
|
||||
if (_stricmp(plasma_string, "SCREEN") == 0)
|
||||
{
|
||||
Tell("Plasma display created on desktop window\n");
|
||||
externalDisplay = new PlasmaWindow();
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
Tell("Plasma display created on "); Tell(plasma_string); Tell("\n");
|
||||
externalDisplay = new PlasmaDisplay(plasma_string);
|
||||
}
|
||||
|
||||
if (externalDisplay != NULL)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user