#118 fix: eject-wipe DrawBitMap arg smeared the weapon MFDs (capture.png)

The BitMapInverseWipeScalar Execute passed the colour constants as
DrawBitMap's first argument; the sibling wipe always passes 0 there (colour
selection is SetColor only). The nonzero arg smeared striped garbage across
the weapon MFD pages from the gauge's first draw (operator's capture.png).
Pixel-verified clean after the fix (weapon pages pristine, eject graphic
path unchanged).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Joe DiPrima
2026-08-03 20:50:50 -05:00
co-authored by Claude Fable 5
parent 86a6bbb9cb
commit 3ec30ee28a
+8 -2
View File
@@ -2228,18 +2228,24 @@ void BitMapInverseWipeScalar::Execute()
if (bmp != NULL)
{
int split = level;
// DrawBitMap's first argument is ALWAYS 0 in the sibling wipe's
// Execute (btl4gaug LeakGauge) -- passing a colour there smeared
// the whole gauge surface (field-caught: striped garbage across
// the weapon MFD pages, git/capture.png 2026-08-03). Colour
// selection is SetColor only; the two spans carry the inverted
// pair via SetColor alone.
if (split != 0)
{
localView.MoveToAbsolute(0, 0);
localView.SetColor(colorA);
localView.DrawBitMap(colorB, bmp, 0, 0, split, height);
localView.DrawBitMap(0, bmp, 0, 0, split, height);
++split; // the binary's iVar2++
}
if (split < width)
{
localView.MoveToAbsolute(split, 0);
localView.SetColor(colorB);
localView.DrawBitMap(colorA, bmp, split, 0, width, height);
localView.DrawBitMap(0, bmp, split, 0, width, height);
}
warehouse->bitMapBin.Release(imageName);
}