From 4b1db6636caea8538afae9b8c402944af6575be8 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Sun, 24 Jul 2022 11:11:12 -0400 Subject: [PATCH] CWE sprites have their RGB values clamped to 0-64 instead of 0-255 --- .../PictureCollection/CWESpriteDataFormat.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Plugins/UniversalEditor.Plugins.ChaosWorks/DataFormats/Multimedia/PictureCollection/CWESpriteDataFormat.cs b/Plugins/UniversalEditor.Plugins.ChaosWorks/DataFormats/Multimedia/PictureCollection/CWESpriteDataFormat.cs index 036239a3..6de03019 100644 --- a/Plugins/UniversalEditor.Plugins.ChaosWorks/DataFormats/Multimedia/PictureCollection/CWESpriteDataFormat.cs +++ b/Plugins/UniversalEditor.Plugins.ChaosWorks/DataFormats/Multimedia/PictureCollection/CWESpriteDataFormat.cs @@ -147,7 +147,21 @@ namespace UniversalEditor.Plugins.ChaosWorks.DataFormats.Multimedia.PictureColle a = (byte)(255 - a); } + if (r > 63 || g > 63 || b > 63) + { + Console.WriteLine("cwe: sprite warning: color component exceeds 63 ( {0} {1} {2} {3} )", r, g, b, a); + } + else + { + // clamp-64 to clamp-255 + r = (byte)(((double)r / 63) * 255); + g = (byte)(((double)g / 63) * 255); + b = (byte)(((double)b / 63) * 255); + } + Color color = Color.FromRGBAByte(r, g, b, a); + Console.WriteLine("cwe: sprite debug: color added ( {0} {1} {2} {3} )", r, g, b, a); + EmbeddedPalette.Entries.Add(color); palette.Entries.Add(color); }