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