Cockpit 3a: PlasmaScreen on the desktop (L4PLASMA=SCREEN)

Renders BT's 128x32 plasma display into a desktop window instead of
streaming to serial hardware. L4PLASMASCREEN.* copied verbatim from
RP412; the L4GREND.cpp selector diff applied (BT's only divergence
there is a comment -- no collision).

Verified: a 'Plasma Display' window opens and the game ticks normally
beside it (L4GAUGE=640x480x16 L4PLASMA=SCREEN).

Phase 3b (single-window MFD-split cockpit) is DEFERRED -- blocked on
the missing BT cockpit-layout geometry and BT's unfinished upstream MFD
dev-composite; the L4VB16 hand-merge is HIGH-risk (BT's dev-gauge
docking overlaps RP412's split rewrite). See context/steamification.md
and docs/BT412-ROADMAP.md. (Phase 3 of the roadmap)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-14 08:23:43 -05:00
co-authored by Claude Fable 5
parent fe97746a51
commit 5285117d3b
6 changed files with 427 additions and 3 deletions
+11 -2
View File
@@ -7,6 +7,7 @@
#include "l4gauge.h"
#include "..\munga\mission.h"
#include "l4plasma.h"
#include "l4plasmascreen.h"
#include "..\munga\notation.h"
// #define LOCAL_TEST
@@ -100,8 +101,16 @@ L4GaugeRenderer::L4GaugeRenderer(bool windowed, int *secondaryIndex, int *aux1In
// Tell("Plasma display created on COM1\n");
// externalDisplay = new PlasmaDisplay(PCS_COM1);
//}
Tell("Plasma display created on "); Tell(plasma_string); Tell("\n");
externalDisplay = new PlasmaDisplay(plasma_string);
if (_stricmp(plasma_string, "SCREEN") == 0)
{
Tell("Plasma display created as an on-screen window\n");
externalDisplay = new PlasmaScreen();
}
else
{
Tell("Plasma display created on "); Tell(plasma_string); Tell("\n");
externalDisplay = new PlasmaDisplay(plasma_string);
}
if (externalDisplay != NULL)
{