BT410 5.3.35: the MFD strip art belongs in the middle of the quadrant
image_names[auxScreenPlacement] (qblh0..qblh6) is the mech diagram with THIS subsystem's segment lit, and SubsystemCluster drew it at the panel origin. Shipped puts it in the quadrant's middle. Solved from the framebuffer rather than guessed: our extra pixels clustered at panel x 0..70 against shipped's missing at x 140..230, and a cross-correlation of the two sets peaked at dx=+144 dy=-54 independently on all three panels of the head. +144 is 0x90 exactly; y is bottom-up in this space, so up the screen is +0x36. head missing extra Mfd1 4908 -> 1331 3960 -> 1776 Mfd2 6870 -> 1908 5280 -> 2196 Mfd3 3091 -> 730 2565 -> 1119 ~10.9K missing and ~6.7K extra pixels recovered. The whole cockpit is now 96.4% pixel-identical / 95% coverage against the shipped binary, from 89.7%/92% at the start of the session -- and the MFD weapon panels are visually indistinguishable apart from the state box, which still reads OFF where shipped shows a digit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1933,9 +1933,19 @@ SubsystemCluster::SubsystemCluster(
|
||||
if (placement >= 0 && placement < 8 && image_names != NULL
|
||||
&& image_names[placement] != NULL)
|
||||
{
|
||||
//
|
||||
// PLACEMENT (A/B rig, 5.3.35): the strip is the mech diagram
|
||||
// with THIS subsystem's segment lit, and it belongs in the
|
||||
// middle of the quadrant, not at its origin. Solved from the
|
||||
// shipped framebuffer: our extra pixels clustered at panel x
|
||||
// 0..70 against shipped's missing at x 140..230, and the
|
||||
// cross-correlation peaked at dx=+144 dy=-54 on all three
|
||||
// panels independently. y is bottom-up in this space, so up
|
||||
// the screen is +54.
|
||||
//
|
||||
background = new BackgroundBitmap(
|
||||
mfd_mode, renderer_in, owner_ID, mfd_port,
|
||||
x, y, image_names[placement],
|
||||
x + 0x90, y + 0x36, image_names[placement],
|
||||
1, // opaque
|
||||
0xff, 0 // fg / bg
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user