diff --git a/game/reconstructed/btl4gaug.cpp b/game/reconstructed/btl4gaug.cpp index 3e54f0c..d53370b 100644 --- a/game/reconstructed/btl4gaug.cpp +++ b/game/reconstructed/btl4gaug.cpp @@ -1758,27 +1758,32 @@ void HorizTwoPartBar::Execute() if (warnPix != previousFull || valPix != previousFill) { - // Zone 1 [0, warnPix): the striped tile (the binary's tiled blit, NOT a - // solid fill). SetColor(backgroundColor) is the tile's opaque backdrop. + // COLOUR MAP (binary @004c4340): the two colour params land at [this+0xA0] + // = fillColor (0xff, green) and [this+0xA4] = backgroundColor (0, black). + // Zone 1 SetColor + the tile dots + the zone-2 over-degrade fill use the + // GREEN; only zone 3 (the unfilled remainder) is BLACK. The port had these + // swapped -> the whole [valPix,width] remainder rendered green. + // + // Zone 1 [0, warnPix): the striped tile, green dots on black. L4Warehouse *warehouse = (L4Warehouse *)renderer->warehousePointer; BitMap *tile = warehouse->bitMapBin.Get(tileImage); // FUN_00442aec - localView.SetColor(backgroundColor); // vtbl+0x18 @004c443a - DrawTiledBitmap(&localView, 0, 0, warnPix - 1, height, fillColor, tile); + localView.SetColor(fillColor); // vtbl+0x18 @004c443a ([0xA0]=green) + DrawTiledBitmap(&localView, 0, 0, warnPix - 1, height, backgroundColor, tile); warehouse->bitMapBin.Release(tileImage); // FUN_00442c12 - // Zone 2 [warnPix, valPix): backgroundColor (binary keeps the current - // colour, still backgroundColor from zone 1) -- only when value > low. + // Zone 2 [warnPix, valPix): the green over-degrade fill (binary keeps the + // current colour, still fillColor from zone 1) -- only when value > low. if (valPix > warnPix) { - localView.SetColor(backgroundColor); + localView.SetColor(fillColor); localView.MoveToAbsolute(warnPix, 0); // vtbl+0x24 localView.DrawFilledRectangleToAbsolute(valPix - 1, height); // vtbl+0x48 } - // Zone 3 [valPix, width): the solid fill colour. + // Zone 3 [valPix, width): the unfilled remainder -- backgroundColor (black). if (valPix < width) { - localView.SetColor(fillColor); // @004c44da + localView.SetColor(backgroundColor); // @004c44da ([0xA4]=black) localView.MoveToAbsolute(valPix, 0); localView.DrawFilledRectangleToAbsolute(width, height); }