Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b14b37b13d | ||
|
|
8ae74cd2f1 |
@@ -115,6 +115,25 @@ each, so they cover the foot band too, and the hit test takes the first match
|
||||
what keeps 0x16/0x17/0x1F/0x1E reachable. That class of bug is why the verification below tests
|
||||
first-hit reachability, not mere presence.
|
||||
|
||||
**Protrusion bonus — `BT_RIO_PROTRUDE` (2026-08-14, player request) [T2 receipt+screenshot].**
|
||||
Players asked for more of the RIO buttons to clear the glass so a FLASHING lamp is easier to
|
||||
notice. `BTRioBankMetricsFor` now adds a flat **+10px** to `strip` AFTER the scale, so the bar
|
||||
reaches that much further out on every renderer; `BT_RIO_PROTRUDE=<px>` tunes it (`0` restores
|
||||
the pre-2026-08-14 geometry). Deliberately FLAT, not scaled: the surround runs the glass at half
|
||||
scale where the strip sits on the 6px floor — a scaled bonus would help least exactly where the
|
||||
lamps are smallest — and that floor already trades proportionality for legibility. Because only
|
||||
`strip` moves, this touches exactly the **red MFD** and **yellow radar** buttons (+ the radar
|
||||
foot row) and grows them **outward only**: the layout anchors the inboard edge, so under-glass
|
||||
depth, button WIDTH and the press targets are unchanged. The **blue flight cells** are laid out
|
||||
from `cellW/cellH` and never see it (receipt: their bank bounds are byte-identical). Verified by
|
||||
`BT_RIOBANK_LOG` A/B — e.g. Heat MFD top button `y 21→11, h 126→136` with its bottom edge fixed
|
||||
at 147, bank bounds `252→272` tall, no negative coordinates — plus a surround screenshot pair.
|
||||
Relation to **#172**: the alert RING (`BT_ALERT_RING`, default off) answered the same night-16
|
||||
complaint after a *"+8px grown-face bloom"* was rejected on the bench as "the button got fat";
|
||||
this is a different shape — the lamp keeps its width and simply shows more of its own bar — so
|
||||
the ring stays optional. Desktop-glass affordance only; the pod's buttons are physical and
|
||||
backlit and never had this problem.
|
||||
|
||||
## Sticky window placement — BT_GLASS_LAYOUT (2026-07-28) [T2 round-trip-verified]
|
||||
|
||||
The `BT_GLASS_PANELS` windows self-place in a pod-faithful ring around the main window
|
||||
|
||||
@@ -25,6 +25,46 @@ namespace
|
||||
const int minimumStrip = 6;
|
||||
const int defaultGap = 4;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// PROTRUSION BONUS (2026-08-14, player request). Flat pixels added to
|
||||
// the lamp strip AFTER the scale, so the visible bar reaches this much
|
||||
// further out of the glass on EVERY renderer.
|
||||
//
|
||||
// WHY FLAT, not scaled: the ask is on-screen noticeability of a
|
||||
// FLASHING lamp, and the surround runs the glass at half scale, where
|
||||
// the strip lands on the `minimumStrip` floor (~6px) -- a scaled bonus
|
||||
// would give the surround half the help exactly where the lamps are
|
||||
// smallest. The floor above already establishes legibility over strict
|
||||
// proportionality for this field; this is the same trade, sized by the
|
||||
// players. It is a DESKTOP-GLASS affordance: the pod's buttons are
|
||||
// physical and backlit and have never had this problem.
|
||||
//
|
||||
// Scope: only the strip -- so only the RED MFD buttons and the YELLOW
|
||||
// radar buttons/foot row grow, and they grow OUTWARD ONLY (the layout
|
||||
// anchors the inboard edge; under-glass depth is unchanged). The BLUE
|
||||
// flight cells are laid out from cellW/cellH and never see this.
|
||||
//
|
||||
// Relation to #172: the alert RING (BT_ALERT_RING, default off) was the
|
||||
// answer to the same night-16 complaint after a "+8px grown-face bloom"
|
||||
// was rejected on the bench as "the button got fat". This is a
|
||||
// different shape -- the lamp keeps its width and simply shows more of
|
||||
// its own bar -- and it is unconditional, so the ring stays optional.
|
||||
//-------------------------------------------------------------------
|
||||
const int defaultProtrude = 10;
|
||||
|
||||
int ProtrudeBonus()
|
||||
{
|
||||
static int cached = -1;
|
||||
if (cached < 0)
|
||||
{
|
||||
const char *e = getenv("BT_RIO_PROTRUDE"); // tune by eye; 0 = pre-2026-08-14
|
||||
cached = (e != 0) ? atoi(e) : defaultProtrude;
|
||||
if (cached < 0) cached = 0;
|
||||
if (cached > 200) cached = 200;
|
||||
}
|
||||
return cached;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Per-column horizontal nudge for the 4 MFD buttons, left->right, so
|
||||
// they line up with the (unevenly spaced) DISPLAY / PROGRAM / ...
|
||||
@@ -111,6 +151,7 @@ void
|
||||
|
||||
int strip = Scaled(nativeStrip, shortAxis, nativeShortAxis);
|
||||
if (strip < minimumStrip) strip = minimumStrip;
|
||||
strip += ProtrudeBonus(); // player-requested reach (see above)
|
||||
|
||||
out->strip = strip;
|
||||
out->gap = defaultGap;
|
||||
|
||||
@@ -394,6 +394,20 @@ static const char *kEnvironIniDefault =
|
||||
"# Phosphor colour of the mono MFDs, RRGGBB. Default is a green tube.\n"
|
||||
"#BT_COCKPIT_TINT=21FF42\n"
|
||||
"\n"
|
||||
"# How far the lit RIO buttons reach out past the edge of a display, in pixels.\n"
|
||||
"# The pod's buttons were physical and backlit; on glass they are a thin bar\n"
|
||||
"# along the display edge, and a FLASHING one is easy to miss. This is how much\n"
|
||||
"# more of that bar shows -- a LONGER bar, not a wider button: the button keeps\n"
|
||||
"# its width, the display picture still covers everything it did before, and the\n"
|
||||
"# whole display stays clickable. Red (MFD) and yellow (map) buttons only; the\n"
|
||||
"# blue flight block has no glass to hide behind, so it never changes.\n"
|
||||
"# 10 the default\n"
|
||||
"# 0 back to the original thin bar\n"
|
||||
"# 1-200 anything in between\n"
|
||||
"# Give it a NUMBER -- a word like 'on' counts as 0 and turns it off. In the\n"
|
||||
"# exploded view (BT_GLASS_PANELS) the windows grow to fit the longer buttons.\n"
|
||||
"#BT_RIO_PROTRUDE=10\n"
|
||||
"\n"
|
||||
"# ---- Display ----------------------------------------------------------------\n"
|
||||
"\n"
|
||||
"# The cockpit is fitted into the window at ONE uniform scale, centred, with\n"
|
||||
|
||||
Reference in New Issue
Block a user