From fc5a3f2dc38290a6ba20cba3b3ced27bccad7751 Mon Sep 17 00:00:00 2001 From: "Spring E. Thing" Date: Sat, 23 Aug 2025 11:00:14 -0500 Subject: [PATCH 1/2] Racer Setup - Improved 'skincolor' Selection Information --- src/k_menudraw.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/k_menudraw.c b/src/k_menudraw.c index 9dce49251..0bcdb8936 100644 --- a/src/k_menudraw.c +++ b/src/k_menudraw.c @@ -2122,6 +2122,9 @@ 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 + UINT16 folcol; + switch (p->mdepth) { case CSSTEP_ALTS: // Select clone @@ -2150,7 +2153,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 +2188,26 @@ static void M_DrawCharSelectPreview(UINT8 num) } break; case CSSTEP_FOLLOWERCOLORS: + 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 { From 2d9700e23fd82d51ef14a497d869f2b19813ee28 Mon Sep 17 00:00:00 2001 From: Eidolon Date: Sat, 23 Aug 2025 10:58:38 -0500 Subject: [PATCH 2/2] Fix Spring E. Thing's skincolor name change for dynamic skins --- src/k_menudraw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/k_menudraw.c b/src/k_menudraw.c index 0bcdb8936..45e72a35f 100644 --- a/src/k_menudraw.c +++ b/src/k_menudraw.c @@ -2154,7 +2154,7 @@ static void M_DrawCharSelectPreview(UINT8 num) if (p->color < numskincolors) { if(p->color == SKINCOLOR_NONE) //'default' handling - sprintf(variadicInfoBuffer, "%s (%s)", skincolors[p->color].name, skincolors[skins[p->skin].prefcolor].name); + sprintf(variadicInfoBuffer, "%s (%s)", skincolors[p->color].name, skincolors[skins[p->skin]->prefcolor].name); else sprintf(variadicInfoBuffer, "%s", skincolors[p->color].name); @@ -2188,7 +2188,7 @@ static void M_DrawCharSelectPreview(UINT8 num) } break; case CSSTEP_FOLLOWERCOLORS: - 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) {