Player request. The radar's buttons are the yellow class, so an alerting lamp
pulsed yellow among yellows -- a brightness change only, which is the night-16
miss that already produced the #172 alert ring and the protrusion bonus. The
bright colour of a FLASHING radar button now becomes the house red
(230,70,70 -- the MFD family), so an alert reads as a COLOUR change.
Only the bright phase moves: dim and off keep the yellow family, so a radar
button that is not alerting looks exactly as before. Flashing is bits 0-1 of
the lamp word (0 = solid), i.e. the pod's own way of saying alert -- no new
state, just a different colour for the state it already had.
ONE decode, BTRadarLampBright(lampState) in L4VB16.h beside BTLampBrightnessOf,
consumed by all THREE desktop renderers -- CkLampColors (surround), PaintGlass
(exploded windows) and L4PADPANEL -- so they cannot drift apart the way the
button GEOMETRY did before L4RIOBANK. BT_RADAR_FLASH_RED=0 restores the yellow
bright.
GLASS-ONLY DEVIATION (#154-class): the pod's buttons are single-colour backlit
hardware and cannot change colour. This lives entirely in the three desktop
renderers; the serial RIO lamp path is untouched, so a real pod is unaffected
by construction.
Also adds the bench hook this needed: BT_LAMPTEST=<addr>[,<state>] forces one
lamp's state at PadRIO::GetLampState -- the single read point all three
renderers share -- so lamp rendering can be checked without inducing the fault
that would raise it. Default 0x33 is the Panic lamp's alert shape (flashFast +
state1Off + state2Bright).
Verified [T2] by pixel tally of the radar window with BT_LAMPTEST=0x1b
(GeneratorB's lamp, the night-16 one): 620 house-red px with the feature on, 0
with BT_RADAR_FLASH_RED=0, and the radar-yellow count falling by exactly that
many (2820 -> 2196). Screenshot: the one flashing lamp is red, every other
radar button still yellow.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>