0ca6b5b01f140473914f665ab75833b78f6489d9
The polish-backlog item, implemented from vRIO KeyboardLampMirror: game-commanded RIO lamp states paint per-key RGB keyboards through Windows Dynamic Lighting (WinRT LampArray). Keys bound to lamp addresses in the active bindings profile glow with the panel palette (red banks, yellow Secondary/Screen columns), flash modes use the exact L4MFDVIEW formula so keyboard and on-screen buttons blink in step, unbound keys are blacked out so the board reads as the button field, and zone-lit keyboards fall back to a board-wide mirror of the strongest lamp. Advantage over vRIO: Dynamic Lighting grants LEDs to the FOREGROUND app - which is the game - so no Windows settings dance. Isolation: L4KEYLIGHT.cpp compiles /std:c++17 + DEFAULT packing + conformance (per-file vcxproj settings; the engine /Zp1 would break the WinRT ABI) with a scalars-only interface, and all WinRT work runs on a private worker thread (watcher, claiming, 100ms paint loop). On by default with a bindings map present; RP412KEYLIGHT=0 opts out; missing Dynamic Lighting logs once and stays dormant. Verified live on the dev laptop: claimed its 24-zone keyboard (board-wide mirror) during a race; race cycling with per-race start/stop of the mirror thread stays green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Red Planet 4.12
Red Planet is the VWE pod-racing game built on the in-house MUNGA engine
(Win32 / DirectX 9, MUNGA_L4 platform layer). The 4.12 line is the
consumer port: a version of Red Planet that can be sold on Steam and played
over internet multiplayer, without cockpit-pod hardware.
Forked from RP411 (the arcade/cockpit 4.11 line) with full history preserved.
Goals
- Steam distribution — Steamworks integration, SteamPipe builds, store-ready packaging.
- Internet multiplayer — take the engine's LAN-era WinSock networking online (NAT traversal, matchmaking, latency tolerance).
- No cockpit required — keyboard / mouse / gamepad input and on-screen replacements for the pod's RIO panel and plasma display, drawing on vRIO.
- Self-hosted sessions — in-game race setup/join replacing the operator-driven TeslaConsole flow.
See docs/RP412-ROADMAP.md for the plan and the Steam-multiplayer logistics.
Building
Unchanged from 4.11 for now — see BUILD.md
(VS 2005/2008 + DirectX SDK June 2010, Release|Win32, output Release\rpl4opt.exe).
Toolchain modernization is a roadmap item.
Related repositories
| Repo | Role |
|---|---|
| RP411 | Upstream arcade source (this repo's base) |
| VRIO | Virtual RIO panel + vPLASMA display — input bindings and display emulation to fold in |
| TeslaSuite | TeslaConsole / Launcher / vPOD — the arcade session-control stack 4.12 replaces (and a reference for the Munga control protocol, TCP 1501) |
Languages
C++
86.5%
C
13%
PowerShell
0.3%
Assembly
0.2%