From 78d6a8b9aa40074a1294d9adc17aebb4d36ef53d Mon Sep 17 00:00:00 2001 From: Chip Gracey Date: Sun, 5 Mar 2023 03:32:44 -0800 Subject: [PATCH] Fixes bug in PASM debugger REG/LUT map rendering. --- DebuggerUnit.pas | 6 +++--- PNut_v39.exe | Bin 789504 -> 789504 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DebuggerUnit.pas b/DebuggerUnit.pas index ef89605..2f91089 100644 --- a/DebuggerUnit.pas +++ b/DebuggerUnit.pas @@ -2294,9 +2294,9 @@ procedure TDebuggerForm.DrawGoButton(ButtonColor, CaptionColor: integer); procedure TDebuggerForm.BlendPixel(var p:PByte; a, b: integer; alpha, shade: byte); begin // New gamma-corrected alpha blending - p^ := Round(Power((Power(a shr 00 and $FF, 2.0) * (255 - alpha) + Power(b shr 00 and $FF, 2.0) * alpha) / 256, 1 / 0.5)); Inc(p); - p^ := Round(Power((Power(a shr 08 and $FF, 2.0) * (255 - alpha) + Power(b shr 08 and $FF, 2.0) * alpha) / 256, 1 / 0.5)); Inc(p); - p^ := Round(Power((Power(a shr 16 and $FF, 2.0) * (255 - alpha) + Power(b shr 16 and $FF, 2.0) * alpha) / 256, 1 / 0.5)); Inc(p); + p^ := Round(Power((Power(a shr 00 and $FF, 2.0) * (255 - alpha) + Power(b shr 00 and $FF, 2.0) * alpha) / 256, 0.5)); Inc(p); + p^ := Round(Power((Power(a shr 08 and $FF, 2.0) * (255 - alpha) + Power(b shr 08 and $FF, 2.0) * alpha) / 256, 0.5)); Inc(p); + p^ := Round(Power((Power(a shr 16 and $FF, 2.0) * (255 - alpha) + Power(b shr 16 and $FF, 2.0) * alpha) / 256, 0.5)); Inc(p); // Old linear alpha blending { p^ := Smaller((a shr 00 and $FF * not alpha + b shr 00 and $FF * alpha + $FF) shr 8 + shade, $FF); Inc(p); p^ := Smaller((a shr 08 and $FF * not alpha + b shr 08 and $FF * alpha + $FF) shr 8 + shade, $FF); Inc(p); diff --git a/PNut_v39.exe b/PNut_v39.exe index 411087406f9b7030d5621fa6999e8c8bd2be233e..ca2b88113f51aba11a95e701b8b4ecd0dcc07fc7 100644 GIT binary patch delta 17757 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 delta 17714 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