diff --git a/engine/MUNGA_L4/L4VB16.cpp b/engine/MUNGA_L4/L4VB16.cpp index 7fe1282..0d93feb 100644 --- a/engine/MUNGA_L4/L4VB16.cpp +++ b/engine/MUNGA_L4/L4VB16.cpp @@ -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;