From 6cc2ca754258ca63a798e9717301e61de977719b Mon Sep 17 00:00:00 2001 From: toaster Date: Sun, 24 Nov 2019 13:24:37 +0000 Subject: [PATCH 1/2] * Resolve #345. * Prevent skincolours from being reset to the skin's prefcolour, but only for not-always-usable characters. --- src/d_main.c | 2 ++ src/d_netcmd.c | 19 +++++++++++-------- src/m_cond.c | 2 ++ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/d_main.c b/src/d_main.c index 98e16a277..3b627482d 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -729,6 +729,8 @@ void D_StartTitle(void) for (i = 0; i < MAXPLAYERS; i++) CL_ClearPlayer(i); + players[consoleplayer].availabilities = players[1].availabilities = R_GetSkinAvailabilities(); // players[1] is supposed to be for 2p + splitscreen = false; SplitScreen_OnChange(); botingame = false; diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 2b6055873..75852ff2d 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -1228,16 +1228,16 @@ static void SendNameAndColor(void) } else if ((foundskin = R_SkinAvailable(cv_skin.string)) != -1 && R_SkinUsable(consoleplayer, foundskin)) { - boolean notsame; + //boolean notsame; cv_skin.value = foundskin; - notsame = (cv_skin.value != players[consoleplayer].skin); + //notsame = (cv_skin.value != players[consoleplayer].skin); SetPlayerSkin(consoleplayer, cv_skin.string); CV_StealthSet(&cv_skin, skins[cv_skin.value].name); - if (notsame) + /*if (notsame) { CV_StealthSetValue(&cv_playercolor, skins[cv_skin.value].prefcolor); @@ -1245,7 +1245,7 @@ static void SendNameAndColor(void) if (players[consoleplayer].mo) players[consoleplayer].mo->color = (UINT8)players[consoleplayer].skincolor; - } + }*/ } else { @@ -1356,15 +1356,16 @@ static void SendNameAndColor2(void) } else if ((foundskin = R_SkinAvailable(cv_skin2.string)) != -1 && R_SkinUsable(secondplaya, foundskin)) { - boolean notsame; + //boolean notsame; cv_skin2.value = foundskin; - notsame = (cv_skin2.value != players[secondplaya].skin); + //notsame = (cv_skin2.value != players[secondplaya].skin); SetPlayerSkin(secondplaya, cv_skin2.string); + CV_StealthSet(&cv_skin, skins[cv_skin2.value].name); - if (notsame) + /*if (notsame) { CV_StealthSetValue(&cv_playercolor2, skins[players[secondplaya].skin].prefcolor); @@ -1372,7 +1373,7 @@ static void SendNameAndColor2(void) if (players[secondplaya].mo) players[secondplaya].mo->color = players[secondplaya].skincolor; - } + }*/ } else { @@ -4289,6 +4290,8 @@ void Command_ExitGame_f(void) for (i = 0; i < MAXPLAYERS; i++) CL_ClearPlayer(i); + players[consoleplayer].availabilities = players[1].availabilities = R_GetSkinAvailabilities(); // players[1] is supposed to be for 2p + splitscreen = false; SplitScreen_OnChange(); botingame = false; diff --git a/src/m_cond.c b/src/m_cond.c index b7520aba7..8c4e3c0b7 100644 --- a/src/m_cond.c +++ b/src/m_cond.c @@ -284,6 +284,8 @@ void M_SilentUpdateUnlockablesAndEmblems(void) continue; unlockables[i].unlocked = M_Achieved(unlockables[i].conditionset - 1); } + + players[consoleplayer].availabilities = players[1].availabilities = R_GetSkinAvailabilities(); // players[1] is supposed to be for 2p } // Emblem unlocking shit From 6773b39a40a86674b10ed8c4618e208b96a8252a Mon Sep 17 00:00:00 2001 From: toaster Date: Sun, 24 Nov 2019 15:19:15 +0000 Subject: [PATCH 2/2] Woops --- src/d_netcmd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 75852ff2d..f9ec6c351 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -1363,7 +1363,7 @@ static void SendNameAndColor2(void) //notsame = (cv_skin2.value != players[secondplaya].skin); SetPlayerSkin(secondplaya, cv_skin2.string); - CV_StealthSet(&cv_skin, skins[cv_skin2.value].name); + CV_StealthSet(&cv_skin2, skins[cv_skin2.value].name); /*if (notsame) {