Merge branch 'm30-profile' into 'master'

Add 8BitDo vanilla M30 control layout

See merge request kart-krew-dev/ring-racers-internal!2928
This commit is contained in:
AJ Martinez 2025-10-10 22:38:06 +00:00
commit 45a2470479
4 changed files with 30 additions and 8 deletions

View file

@ -113,6 +113,7 @@ CV_PossibleValue_t descriptiveinput_cons_t[] = {
{7, "6Bt. (D)"},
{8, "6Bt. (E)"},
{9, "6Bt. (F)"},
{10, "6Bt. (G)"},
{0, NULL}
};

View file

@ -2325,7 +2325,7 @@ static void M_DrawCharSelectCursor(UINT8 num)
if (selectframesb[(setup_animcounter-1) % SELECTLEN] != NULL)
V_DrawMappedPatch(x, y, V_TRANSLUCENT, W_CachePatchName(selectframesb[(setup_animcounter-1) % SELECTLEN], PU_CACHE), colormap);
}
}
else
{
@ -5670,22 +5670,25 @@ void M_DrawProfileControls(void)
help = va("6Bt. (Auto): Tries to guess your 6-button pad's layout.");
break;
case 4:
help = va("6Bt. (A): Saturn buttons, Retro-Bit Wired DInput layout.");
help = va("6Bt. (A): Saturn (Retro-Bit Wired DInput) - C/Z = RB/RT");
break;
case 5:
help = va("6Bt. (B): Saturn buttons, Retro-Bit Wireless DInput layout.");
help = va("6Bt. (B): Saturn (Retro-Bit Wireless DInput) - C/Z = LB/RB");
break;
case 6:
help = va("6Bt. (C): Saturn buttons, Retro-Bit XInput layout.");
help = va("6Bt. (C): Saturn (Retro-Bit XInput) - C/Z = RT/LT");
break;
case 7:
help = va("6Bt. (D): Saturn buttons, arcade/8BitDo layout. (C/Z = RT/RB)");
help = va("6Bt. (D): Saturn (arcade / 8BitDo) - C/Z = RT/RB");
break;
case 8:
help = va("6Bt. (E): Saturn buttons, Hori/M30X layout. (LB/LT = LS/RS)");
help = va("6Bt. (E): Saturn (Hori/M30X) - C/Z = RT/RB, LB/LT = LS/RS");
break;
case 9:
help = va("6Bt. (F): Saturn buttons, Mayflash layout. (C/Z = RS/LS)");
help = va("6Bt. (F): Saturn (Mayflash) - C/Z = RS/LS");
break;
case 10:
help = va("6Bt. (G): Saturn (orig M30) - C/Z = RB/LB");
break;
}
@ -6102,7 +6105,7 @@ static char *M_GetGameplayMode(void)
return va("Intense");
return va("Relaxed");
}
if (franticitems)
{
if (cv_4thgear.value)

View file

@ -266,6 +266,9 @@ Draw::TextElement& Draw::TextElement::parse(std::string_view raw)
case 9:
padconfig = saturntypeF;
break;
case 10:
padconfig = saturntypeG;
break;
}
if (auto pretty = prettyinputs.find(bind); pretty != prettyinputs.end()) // Gamepad direction or keyboard arrow, use something nice-looking

View file

@ -201,6 +201,21 @@ static const srb2::HashMap<INT32, char> saturntypeF = {
{nc_back, gb_back},
};
// Saturn Type G - 8BitDo M30 (non-Xbox)
// Cannot be disambiguated.
static const srb2::HashMap<INT32, char> saturntypeG = {
{nc_a, sb_a},
{nc_b, sb_b},
{nc_x, sb_x},
{nc_y, sb_y},
{nc_rt, gb_rt},
{nc_lt, gb_lt},
{nc_lb, sb_z},
{nc_rb, sb_c},
{nc_start, gb_start},
{nc_back, gb_back},
};
namespace srb2
{