From c6c67d45b0d4dcb8f3486e9c094406c825eb1da1 Mon Sep 17 00:00:00 2001
From: Sryder13 <sryder13@gmail.com>
Date: Sat, 25 Jul 2015 00:14:50 +0100
Subject: [PATCH] Fix Purple

---
 src/r_draw.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/r_draw.c b/src/r_draw.c
index f1955c6c0..f54d2f171 100644
--- a/src/r_draw.c
+++ b/src/r_draw.c
@@ -315,12 +315,6 @@ static void R_GenerateTranslationColormap(UINT8 *dest_colormap, INT32 skinnum, U
 			dest_colormap[starttranscolor + i] = (UINT8)(skinbasecolors[color - 1] + (12*i/SKIN_RAMP_LENGTH));
 		break;
 
-	case SKINCOLOR_PURPLE:
-		// 10 color ramp
-		for (i = 0; i < SKIN_RAMP_LENGTH; i++)
-			dest_colormap[starttranscolor + i] = (UINT8)(skinbasecolors[color - 1] + (10*i/SKIN_RAMP_LENGTH));
-		break;
-
 	case SKINCOLOR_MAGENTA:
 		// 9 color ramp
 		for (i = 0; i < SKIN_RAMP_LENGTH; i++)
@@ -443,6 +437,17 @@ static void R_GenerateTranslationColormap(UINT8 *dest_colormap, INT32 skinnum, U
 		}
 		break;
 
+	case SKINCOLOR_PURPLE:
+		// 10 colors
+		for (i = 0; i < SKIN_RAMP_LENGTH; i++)
+		{
+			if (i <= 3)
+				dest_colormap[starttranscolor + i] = (UINT8)(skinbasecolors[color - 1] + i); // Lightest
+			else
+				dest_colormap[starttranscolor + i] = (UINT8)(skinbasecolors[color - 1] + (8*i/SKIN_RAMP_LENGTH) + 2); // main
+		}
+		break;
+
 	case SKINCOLOR_ORANGE:
 		for (i = 0; i < SKIN_RAMP_LENGTH; i++)
 		{
-- 
GitLab