From c0bc7532ac11efda3a21050e1dd39256f121ee4c Mon Sep 17 00:00:00 2001 From: Randy Heit Date: Sat, 14 Apr 2012 03:07:28 +0000 Subject: [PATCH] - Fixed: If a player has the NOSKIN flag set, do not change their appearance to that of the skin when spawning or changing the skin. SVN r3560 (trunk) --- src/d_netinfo.cpp | 1 + src/p_mobj.cpp | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/d_netinfo.cpp b/src/d_netinfo.cpp index 7b2209cc9..9d0d63f81 100644 --- a/src/d_netinfo.cpp +++ b/src/d_netinfo.cpp @@ -765,6 +765,7 @@ void D_ReadUserInfoStrings (int i, BYTE **stream, bool update) if (players[i].mo != NULL) { if (players[i].cls != NULL && + !(players[i].mo->flags4 & MF4_NOSKIN) && players[i].mo->state->sprite == GetDefaultByType (players[i].cls)->SpawnState->sprite) { // Only change the sprite if the player is using a standard one diff --git a/src/p_mobj.cpp b/src/p_mobj.cpp index 7d5de6cc5..81883c397 100644 --- a/src/p_mobj.cpp +++ b/src/p_mobj.cpp @@ -4098,9 +4098,12 @@ APlayerPawn *P_SpawnPlayer (FMapThing *mthing, bool tempplayer) mobj->id = playernum; // [RH] Set player sprite based on skin - mobj->sprite = skins[p->userinfo.skin].sprite; - mobj->scaleX = skins[p->userinfo.skin].ScaleX; - mobj->scaleY = skins[p->userinfo.skin].ScaleY; + if (!(mobj->flags4 & MF4_NOSKIN)) + { + mobj->sprite = skins[p->userinfo.skin].sprite; + mobj->scaleX = skins[p->userinfo.skin].ScaleX; + mobj->scaleY = skins[p->userinfo.skin].ScaleY; + } p->DesiredFOV = p->FOV = 90.f; p->camera = p->mo;