diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 8552e51aef702150b4dc74d044646b2b3e9f8430..21008cbcf6ca900c46306cff915c7132b656333c 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -4002,7 +4002,7 @@ static void Command_Archivetest_f(void) */ static void ForceSkin_OnChange(void) { - if ((server || adminplayer == consoleplayer) && (cv_forceskin.value < -1 || cv_forceskin.value >= numskins || !R_SkinUnlock(cv_forceskin.value))) + if ((server || adminplayer == consoleplayer) && (cv_forceskin.value < -1 || cv_forceskin.value >= numskins || !(dedicated || R_SkinUnlock(cv_forceskin.value)))) // Dedicated servers have everything when it comes to forceskin because they have no gamedata. { if (cv_forceskin.value == -2) CV_SetValue(&cv_forceskin, numskins-1); diff --git a/src/r_things.c b/src/r_things.c index ba76dc5cee8bb0f12832c1e131e3adf52cc72f8c..4198ce99ba3a211f70a2fc2d1cbf922c236c875b 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -2434,6 +2434,8 @@ void SetPlayerSkinByNum(INT32 playernum, INT32 skinnum) P_SetScale(player->mo, player->mo->scale); return; } + else if !R_SkinUnlock(skinnum) // Sneaky sneaky. + skinnum = -1; if (P_IsLocalPlayer(player)) CONS_Alert(CONS_WARNING, M_GetText("Skin %d not found\n"), skinnum);