From 0f6bdfa8cb07f6aa4b7405f9c785137a3dcfbe06 Mon Sep 17 00:00:00 2001
From: "Spring E. Thing" <springething@hotmail.com>
Date: Sat, 22 Mar 2025 23:56:01 +0000
Subject: [PATCH 1/3] skincolor selection during racer setup will now suffix
 the 'Default', 'Match', and 'Opposite' options with the true name of those
 option skincolors

---
 src/k_menudraw.c | 24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/k_menudraw.c b/src/k_menudraw.c
index cadb433a8..b6387372a 100644
--- a/src/k_menudraw.c
+++ b/src/k_menudraw.c
@@ -2122,6 +2122,8 @@ static void M_DrawCharSelectPreview(UINT8 num)
 	if (p->showextra == true)
 	{
 		INT32 randomskin = 0;
+		char variadicInfoBuffer[(MAXCOLORNAME*2) + 1 + 2 + 1];//+1 for spacing, +2 for brackets, +1 for null terminator
+
 		switch (p->mdepth)
 		{
 			case CSSTEP_ALTS: // Select clone
@@ -2150,7 +2152,12 @@ static void M_DrawCharSelectPreview(UINT8 num)
 			case CSSTEP_COLORS: // Select color
 				if (p->color < numskincolors)
 				{
-					V_DrawThinString(x-3, y+2, 0, skincolors[p->color].name);
+					if(p->color == SKINCOLOR_NONE) //'default' handling
+						sprintf(variadicInfoBuffer, "%s (%s)", skincolors[p->color].name, skincolors[skins[p->skin].prefcolor].name);
+					else
+						sprintf(variadicInfoBuffer, "%s", skincolors[p->color].name);
+
+					V_DrawThinString(x-3, y+2, 0, variadicInfoBuffer);
 				}
 				else
 				{
@@ -2180,17 +2187,26 @@ static void M_DrawCharSelectPreview(UINT8 num)
 				}
 				break;
 			case CSSTEP_FOLLOWERCOLORS:
+				UINT16 folcol = K_GetEffectiveFollowerColor(p->followercolor, &followers[p->followern], p->color, &skins[p->skin]);
+
 				if (p->followercolor == FOLLOWERCOLOR_MATCH)
 				{
-					V_DrawThinString(x-3, y+2, 0, "Match");
+					sprintf(variadicInfoBuffer, "Match (%s)", skincolors[folcol].name);
+					V_DrawThinString(x-3, y+2, 0, variadicInfoBuffer);
 				}
 				else if (p->followercolor == FOLLOWERCOLOR_OPPOSITE)
 				{
-					V_DrawThinString(x-3, y+2, 0, "Opposite");
+					sprintf(variadicInfoBuffer, "Opposite (%s)", skincolors[folcol].name);
+					V_DrawThinString(x-3, y+2, 0, variadicInfoBuffer);
 				}
 				else if (p->followercolor < numskincolors)
 				{
-					V_DrawThinString(x-3, y+2, 0, skincolors[p->followercolor].name);
+					if(p->followercolor == SKINCOLOR_NONE) //'default' handling
+						sprintf(variadicInfoBuffer, "%s (%s)", skincolors[p->followercolor].name, skincolors[folcol].name);
+					else
+						sprintf(variadicInfoBuffer, "%s", skincolors[p->followercolor].name);
+
+					V_DrawThinString(x-3, y+2, 0, variadicInfoBuffer);
 				}
 				else
 				{
-- 
GitLab


From 5bf403abe272f9d5e3b2d92df91421efac3aef9e Mon Sep 17 00:00:00 2001
From: "Spring E. Thing" <springething@hotmail.com>
Date: Wed, 9 Apr 2025 04:52:09 +0100
Subject: [PATCH 2/3] Potential fix to debian clang build issues?

---
 src/k_menudraw.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/k_menudraw.c b/src/k_menudraw.c
index b6387372a..b0bc677ed 100644
--- a/src/k_menudraw.c
+++ b/src/k_menudraw.c
@@ -15,6 +15,8 @@
 #include <unistd.h>
 #endif
 
+#include <stdint.h>
+
 #include "k_menu.h"
 
 #include "doomdef.h"
-- 
GitLab


From bd04a91b13be666f1a47843a921d0635fb293a53 Mon Sep 17 00:00:00 2001
From: "Spring E. Thing" <springething@hotmail.com>
Date: Wed, 9 Apr 2025 15:02:22 +0100
Subject: [PATCH 3/3] Debian clang issue might instead be a matter of
 declaration after labels being disallowed until as recently as C23. Let's
 revert the last attempted (failed) fix and try an early declare instead.

---
 src/k_menudraw.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/k_menudraw.c b/src/k_menudraw.c
index b0bc677ed..d0b6e86fd 100644
--- a/src/k_menudraw.c
+++ b/src/k_menudraw.c
@@ -15,8 +15,6 @@
 #include <unistd.h>
 #endif
 
-#include <stdint.h>
-
 #include "k_menu.h"
 
 #include "doomdef.h"
@@ -2125,6 +2123,7 @@ static void M_DrawCharSelectPreview(UINT8 num)
 	{
 		INT32 randomskin = 0;
 		char variadicInfoBuffer[(MAXCOLORNAME*2) + 1 + 2 + 1];//+1 for spacing, +2 for brackets, +1 for null terminator
+		UINT16 folcol;
 
 		switch (p->mdepth)
 		{
@@ -2189,7 +2188,7 @@ static void M_DrawCharSelectPreview(UINT8 num)
 				}
 				break;
 			case CSSTEP_FOLLOWERCOLORS:
-				UINT16 folcol = K_GetEffectiveFollowerColor(p->followercolor, &followers[p->followern], p->color, &skins[p->skin]);
+				folcol = K_GetEffectiveFollowerColor(p->followercolor, &followers[p->followern], p->color, &skins[p->skin]);
 
 				if (p->followercolor == FOLLOWERCOLOR_MATCH)
 				{
-- 
GitLab