aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStapleButter <thetotalworm@gmail.com>2017-03-01 20:25:19 +0100
committerStapleButter <thetotalworm@gmail.com>2017-03-01 20:25:19 +0100
commit5d9e9a5023b0fe1c822345446267c62a24dc3078 (patch)
treeffcac12f7948bf8b9b2e73fa29223069967cca43
parentc4d9d27e6ee830d57c229cd1f7a9eb5f7c3071e2 (diff)
no master brightness when screen is disabled.
-rw-r--r--GPU2D.cpp63
1 files changed, 33 insertions, 30 deletions
diff --git a/GPU2D.cpp b/GPU2D.cpp
index 90064d1..e7210c7 100644
--- a/GPU2D.cpp
+++ b/GPU2D.cpp
@@ -270,46 +270,49 @@ void GPU2D::DrawScanline(u32 line)
}
// master brightness
- if ((MasterBrightness >> 14) == 1)
+ if (dispmode != 0)
{
- // up
- u32 factor = MasterBrightness & 0x1F;
- if (factor > 16) factor = 16;
-
- for (int i = 0; i < 256; i++)
+ if ((MasterBrightness >> 14) == 1)
{
- u32 val = dst[i];
+ // up
+ u32 factor = MasterBrightness & 0x1F;
+ if (factor > 16) factor = 16;
- u32 r = val & 0x00003F;
- u32 g = val & 0x003F00;
- u32 b = val & 0x3F0000;
+ for (int i = 0; i < 256; i++)
+ {
+ u32 val = dst[i];
- r += (((0x00003F - r) * factor) >> 4);
- g += ((((0x003F00 - g) * factor) >> 4) & 0x003F00);
- b += ((((0x3F0000 - b) * factor) >> 4) & 0x3F0000);
+ u32 r = val & 0x00003F;
+ u32 g = val & 0x003F00;
+ u32 b = val & 0x3F0000;
- dst[i] = r | g | b;
- }
- }
- else if ((MasterBrightness >> 14) == 2)
- {
- // down
- u32 factor = MasterBrightness & 0x1F;
- if (factor > 16) factor = 16;
+ r += (((0x00003F - r) * factor) >> 4);
+ g += ((((0x003F00 - g) * factor) >> 4) & 0x003F00);
+ b += ((((0x3F0000 - b) * factor) >> 4) & 0x3F0000);
- for (int i = 0; i < 256; i++)
+ dst[i] = r | g | b;
+ }
+ }
+ else if ((MasterBrightness >> 14) == 2)
{
- u32 val = dst[i];
+ // down
+ u32 factor = MasterBrightness & 0x1F;
+ if (factor > 16) factor = 16;
- u32 r = val & 0x00003F;
- u32 g = val & 0x003F00;
- u32 b = val & 0x3F0000;
+ for (int i = 0; i < 256; i++)
+ {
+ u32 val = dst[i];
+
+ u32 r = val & 0x00003F;
+ u32 g = val & 0x003F00;
+ u32 b = val & 0x3F0000;
- r -= ((r * factor) >> 4);
- g -= (((g * factor) >> 4) & 0x003F00);
- b -= (((b * factor) >> 4) & 0x3F0000);
+ r -= ((r * factor) >> 4);
+ g -= (((g * factor) >> 4) & 0x003F00);
+ b -= (((b * factor) >> 4) & 0x3F0000);
- dst[i] = r | g | b;
+ dst[i] = r | g | b;
+ }
}
}