Cockpit: pull the MFD red lamps fully outside the screens; drop the flight blocks clear
Playtest feedback: the red MFD lamp buttons were obstructed (only a thin sliver showed under the surface, crammed against the DISPLAY/PROGRAM legends), and the blue THROTTLE/JOYSTICK flight blocks overlapped the bottom MFDs. - Red lamps now sit FULLY OUTSIDE the MFD (kCkRedGap=3 off the edge, kCkRedH=24 tall) instead of reaching kCkRedCell into the display -- nothing occludes them and they read as real buttons, clear of the DISPLAY/PROGRAM legends. topBand grows to 223. - Flight blocks drop below the MFD's bottom red lamps (belowLamp) -- no overlap. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
129b27499d
commit
7052d9e5bb
@@ -203,13 +203,14 @@ enum {
|
||||
kCkMFDW = 320, kCkMFDH = 240,
|
||||
kCkRADW = 240, kCkRADH = 320,
|
||||
kCkOVL = 44, // (int)(0.14f * 320): corner overlap into the view
|
||||
kCkLamp = 16, // visible protruding lamp edge
|
||||
kCkRedCell = 64, // glass RedCellH(128) * 0.5: hidden hit depth into the MFD
|
||||
kCkLamp = 16, // radar rail / bottom-cell protrusion
|
||||
kCkRedH = 24, // MFD red lamp height -- sits fully OUTSIDE the surface
|
||||
kCkRedGap = 3, // gap between the red lamp and the MFD screen edge
|
||||
kCkRailW = 26, // radar side-rail width
|
||||
kCkGap = 2,
|
||||
kCkSideBand = kCkMFDW - kCkOVL, // 276
|
||||
kCkTopBand = (kCkMFDH - kCkOVL) + kCkLamp, // 212
|
||||
kCkBotBand = kCkRADH + kCkLamp // 336 (radar flush below view; lamps protrude)
|
||||
kCkSideBand = kCkMFDW - kCkOVL, // 276
|
||||
kCkTopBand = (kCkMFDH - kCkOVL) + kCkRedGap + kCkRedH, // 223 (fits the top red lamps)
|
||||
kCkBotBand = kCkRADH + kCkLamp // 336 (radar flush below view)
|
||||
};
|
||||
|
||||
// Canvas = view region + the surround bands.
|
||||
@@ -285,8 +286,10 @@ void BTCockpitComputeLayout(int canvasW, int canvasH, BTCockpitLayout *out)
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
int bx = sx + i * slotW;
|
||||
CkPushBtn(L, hi - i, bx, sy - kCkLamp, slotW - kCkGap, kCkRedCell + kCkLamp, 0, 0, 0);
|
||||
CkPushBtn(L, hi - 4 - i, bx, sy + kCkMFDH - kCkRedCell, slotW - kCkGap, kCkRedCell + kCkLamp, 0, 0, 0);
|
||||
// Lamps sit fully OUTSIDE the MFD (a small gap off the edge) so nothing
|
||||
// occludes them or the DISPLAY/PROGRAM legends -- 4 above, 4 below.
|
||||
CkPushBtn(L, hi - i, bx, sy - kCkRedGap - kCkRedH, slotW - kCkGap, kCkRedH, 0, 0, 0);
|
||||
CkPushBtn(L, hi - 4 - i, bx, sy + kCkMFDH + kCkRedGap, slotW - kCkGap, kCkRedH, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -315,8 +318,9 @@ void BTCockpitComputeLayout(int canvasW, int canvasH, BTCockpitLayout *out)
|
||||
"Hat L", "Pinky", "Middle", "Upper" }; // 0x40..0x47
|
||||
const int cw = 68, ch = 30, g = 4;
|
||||
int blockW = 4 * cw + 3 * g; // 284
|
||||
int thrX = L->surfX[2], thrY = L->surfY[2] + kCkMFDH + 6;
|
||||
int joyX = L->surfX[3] + kCkMFDW - blockW, joyY = L->surfY[3] + kCkMFDH + 6;
|
||||
int belowLamp = kCkMFDH + kCkRedGap + kCkRedH + 8; // clear the MFD's bottom red lamps
|
||||
int thrX = L->surfX[2], thrY = L->surfY[2] + belowLamp;
|
||||
int joyX = L->surfX[3] + kCkMFDW - blockW, joyY = L->surfY[3] + belowLamp;
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
int c = i % 4, r = i / 4;
|
||||
|
||||
Reference in New Issue
Block a user