- 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)
This commit is contained in:
Randy Heit 2012-04-14 03:07:28 +00:00
parent 66a1b8be9d
commit c0bc7532ac
2 changed files with 7 additions and 3 deletions

View file

@ -765,6 +765,7 @@ void D_ReadUserInfoStrings (int i, BYTE **stream, bool update)
if (players[i].mo != NULL) if (players[i].mo != NULL)
{ {
if (players[i].cls != NULL && if (players[i].cls != NULL &&
!(players[i].mo->flags4 & MF4_NOSKIN) &&
players[i].mo->state->sprite == players[i].mo->state->sprite ==
GetDefaultByType (players[i].cls)->SpawnState->sprite) GetDefaultByType (players[i].cls)->SpawnState->sprite)
{ // Only change the sprite if the player is using a standard one { // Only change the sprite if the player is using a standard one

View file

@ -4098,9 +4098,12 @@ APlayerPawn *P_SpawnPlayer (FMapThing *mthing, bool tempplayer)
mobj->id = playernum; mobj->id = playernum;
// [RH] Set player sprite based on skin // [RH] Set player sprite based on skin
mobj->sprite = skins[p->userinfo.skin].sprite; if (!(mobj->flags4 & MF4_NOSKIN))
mobj->scaleX = skins[p->userinfo.skin].ScaleX; {
mobj->scaleY = skins[p->userinfo.skin].ScaleY; 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->DesiredFOV = p->FOV = 90.f;
p->camera = p->mo; p->camera = p->mo;