Fix player setup menu checking the wrong menuitems

The skin option is now grayed-out when forceskin is enabled for presumably
the first time since 2017
This commit is contained in:
GenericHeroGuy 2025-03-24 21:38:49 +01:00
parent 6235219a9f
commit 0a573d3c5c

View file

@ -7004,7 +7004,7 @@ void M_DrawSetupMultiPlayerMenu(void)
// draw skin string // draw skin string
st = V_StringWidth(skins[setupm_fakeskin].realname, 0); st = V_StringWidth(skins[setupm_fakeskin].realname, 0);
V_DrawString(BASEVIDWIDTH - mx - st, my + 16, V_DrawString(BASEVIDWIDTH - mx - st, my + 16,
((M_GetItemStatus(MN_MP_PLAYERSETUP, "FOLLOW") & IT_TYPE) == IT_SPACE ? V_TRANSLUCENT : 0)|highlightflags|V_ALLOWLOWERCASE, ((M_GetItemStatus(MN_MP_PLAYERSETUP, "SKIN") & IT_TYPE) == IT_SPACE ? V_TRANSLUCENT : 0)|highlightflags|V_ALLOWLOWERCASE,
skins[setupm_fakeskin].realname); skins[setupm_fakeskin].realname);
if (M_IsItemOn(MN_MP_PLAYERSETUP, "SKIN")) if (M_IsItemOn(MN_MP_PLAYERSETUP, "SKIN"))
{ {
@ -7448,7 +7448,7 @@ void M_HandleSetupMultiPlayer(INT32 choice)
} }
// check color // check color
if (M_IsItemOn(MN_MP_PLAYERSETUP, "FOLLOW") && !skincolors[setupm_fakecolor->color].accessible) { if (M_IsItemOn(MN_MP_PLAYERSETUP, "COLOR") && !skincolors[setupm_fakecolor->color].accessible) {
if (choice == KEY_LEFTARROW) if (choice == KEY_LEFTARROW)
while (!skincolors[setupm_fakecolor->color].accessible) while (!skincolors[setupm_fakecolor->color].accessible)
setupm_fakecolor = setupm_fakecolor->prev; setupm_fakecolor = setupm_fakecolor->prev;
@ -7498,9 +7498,9 @@ void M_SetupMultiPlayer(INT32 choice)
// disable skin changes if we can't actually change skins // disable skin changes if we can't actually change skins
if (!CanChangeSkin(consoleplayer)) if (!CanChangeSkin(consoleplayer))
M_SetItemStatus(MN_MP_PLAYERSETUP, "FOLLOW", IT_GRAYEDOUT); M_SetItemStatus(MN_MP_PLAYERSETUP, "SKIN", IT_GRAYEDOUT);
else else
M_SetItemStatus(MN_MP_PLAYERSETUP, "FOLLOW", IT_KEYHANDLER|IT_STRING); M_SetItemStatus(MN_MP_PLAYERSETUP, "SKIN", IT_KEYHANDLER|IT_STRING);
M_EnterMenu(MN_MP_PLAYERSETUP, true); M_EnterMenu(MN_MP_PLAYERSETUP, true);
} }
@ -7541,9 +7541,9 @@ void M_SetupMultiPlayer2(INT32 choice)
// disable skin changes if we can't actually change skins // disable skin changes if we can't actually change skins
if (splitscreen && !CanChangeSkin(g_localplayers[1])) if (splitscreen && !CanChangeSkin(g_localplayers[1]))
M_SetItemStatus(MN_MP_PLAYERSETUP, "FOLLOW", IT_GRAYEDOUT); M_SetItemStatus(MN_MP_PLAYERSETUP, "SKIN", IT_GRAYEDOUT);
else else
M_SetItemStatus(MN_MP_PLAYERSETUP, "FOLLOW", IT_KEYHANDLER | IT_STRING); M_SetItemStatus(MN_MP_PLAYERSETUP, "SKIN", IT_KEYHANDLER | IT_STRING);
M_EnterMenu(MN_MP_PLAYERSETUP, true); M_EnterMenu(MN_MP_PLAYERSETUP, true);
} }
@ -7584,9 +7584,9 @@ void M_SetupMultiPlayer3(INT32 choice)
// disable skin changes if we can't actually change skins // disable skin changes if we can't actually change skins
if (splitscreen > 1 && !CanChangeSkin(g_localplayers[2])) if (splitscreen > 1 && !CanChangeSkin(g_localplayers[2]))
M_SetItemStatus(MN_MP_PLAYERSETUP, "FOLLOW", IT_GRAYEDOUT); M_SetItemStatus(MN_MP_PLAYERSETUP, "SKIN", IT_GRAYEDOUT);
else else
M_SetItemStatus(MN_MP_PLAYERSETUP, "FOLLOW", IT_KEYHANDLER | IT_STRING); M_SetItemStatus(MN_MP_PLAYERSETUP, "SKIN", IT_KEYHANDLER | IT_STRING);
M_EnterMenu(MN_MP_PLAYERSETUP, true); M_EnterMenu(MN_MP_PLAYERSETUP, true);
} }
@ -7627,9 +7627,9 @@ void M_SetupMultiPlayer4(INT32 choice)
// disable skin changes if we can't actually change skins // disable skin changes if we can't actually change skins
if (splitscreen > 2 && !CanChangeSkin(g_localplayers[3])) if (splitscreen > 2 && !CanChangeSkin(g_localplayers[3]))
M_SetItemStatus(MN_MP_PLAYERSETUP, "FOLLOW", IT_GRAYEDOUT); M_SetItemStatus(MN_MP_PLAYERSETUP, "SKIN", IT_GRAYEDOUT);
else else
M_SetItemStatus(MN_MP_PLAYERSETUP, "FOLLOW", IT_KEYHANDLER | IT_STRING); M_SetItemStatus(MN_MP_PLAYERSETUP, "SKIN", IT_KEYHANDLER | IT_STRING);
M_EnterMenu(MN_MP_PLAYERSETUP, true); M_EnterMenu(MN_MP_PLAYERSETUP, true);
} }