diff --git a/BizHawk.Emulation/Consoles/Nintendo/SNES/SNESGraphicsDecoder.cs b/BizHawk.Emulation/Consoles/Nintendo/SNES/SNESGraphicsDecoder.cs index 53aac5b2c1..b50d7162e1 100644 --- a/BizHawk.Emulation/Consoles/Nintendo/SNES/SNESGraphicsDecoder.cs +++ b/BizHawk.Emulation/Consoles/Nintendo/SNES/SNESGraphicsDecoder.cs @@ -328,13 +328,16 @@ namespace BizHawk.Emulation.Consoles.Nintendo.SNES for (int b = 0; b < 32; b++) { //zero 04-sep-2012 - go ahead and turn this into a pixel format we'll want - double luma = (double)l / 15.0; - int ar = (int)(luma * r + 0.5); - int ag = (int)(luma * g + 0.5); - int ab = (int)(luma * b + 0.5); - ar = ar * 255 / 31; - ag = ag * 255 / 31; - ab = ab * 255 / 31; + //double luma = (double)l / 15.0; + //int ar = (int)(luma * r + 0.5); + //int ag = (int)(luma * g + 0.5); + //int ab = (int)(luma * b + 0.5); + //ar = ar * 255 / 31; + //ag = ag * 255 / 31; + //ab = ab * 255 / 31; + int ar = (r * l * 17 + 15) / 31; + int ag = (g * l * 17 + 15) / 31; + int ab = (b * l * 17 + 15) / 31; int color = (ab << 16) + (ag << 8) + (ar << 0) | unchecked((int)0xFF000000); colortable[(l << 15) + (r << 10) + (g << 5) + (b << 0)] = color; } diff --git a/BizHawk.MultiClient/output/dll/libsneshawk.dll b/BizHawk.MultiClient/output/dll/libsneshawk.dll index 10b2beffe8..ec4c27a535 100644 Binary files a/BizHawk.MultiClient/output/dll/libsneshawk.dll and b/BizHawk.MultiClient/output/dll/libsneshawk.dll differ diff --git a/libsnes/bsnes/target-libsnes/libsnes.cpp b/libsnes/bsnes/target-libsnes/libsnes.cpp index 68bfe96baa..8c18edebf0 100644 --- a/libsnes/bsnes/target-libsnes/libsnes.cpp +++ b/libsnes/bsnes/target-libsnes/libsnes.cpp @@ -110,15 +110,18 @@ struct Interface : public SNES::Interface { //palette[(l << 15) + (r << 10) + (g << 5) + (b << 0)] = (ab << 10) + (ag << 5) + (ar << 0); //zero 04-sep-2012 - go ahead and turn this into a pixel format we'll want - double luma = (double)l / 15.0; - unsigned ar = (luma * r + 0.5); - unsigned ag = (luma * g + 0.5); - unsigned ab = (luma * b + 0.5); - ar = ar * 255 / 31; - ag = ag * 255 / 31; - ab = ab * 255 / 31; - unsigned color = (ab << 16) + (ag << 8) + (ar << 0) | 0xFF000000; - palette[(l << 15) + (r << 10) + (g << 5) + (b << 0)] = color; + //double luma = (double)l / 15.0; + //unsigned ar = (luma * r + 0.5); + //unsigned ag = (luma * g + 0.5); + //unsigned ab = (luma * b + 0.5); + //ar = ar * 255 / 31; + //ag = ag * 255 / 31; + //ab = ab * 255 / 31; + int ar = (r * l * 17 + 15) / 31; + int ag = (g * l * 17 + 15) / 31; + int ab = (b * l * 17 + 15) / 31; + unsigned color = (ab << 16) + (ag << 8) + (ar << 0) | 0xFF000000; + palette[(l << 15) + (r << 10) + (g << 5) + (b << 0)] = color; } } }