Use scale 1 instead of 0 for player oblivion shrink

This commit is contained in:
Sally Coolatta 2020-09-27 10:36:44 -04:00
parent d6389637ca
commit 062ea7e430
3 changed files with 15 additions and 5 deletions

View file

@ -684,7 +684,7 @@ void K_BuildBotTiccmd(player_t *player, ticcmd_t *cmd)
memset(cmd, 0, sizeof(ticcmd_t)); memset(cmd, 0, sizeof(ticcmd_t));
if (gamestate != GS_LEVEL if (gamestate != GS_LEVEL
|| player->mo->scale == 0) // funny post-finish death || player->mo->scale <= 1) // funny post-finish death
{ {
// No need to do anything else. // No need to do anything else.
return; return;

View file

@ -1650,7 +1650,7 @@ static boolean P_KillPlayer(player_t *player, UINT8 type)
{ {
if (player->exiting) if (player->exiting)
{ {
player->mo->destscale = 0; player->mo->destscale = 1;
player->mo->flags |= MF_NOCLIPTHING; player->mo->flags |= MF_NOCLIPTHING;
return false; return false;
} }

View file

@ -4674,10 +4674,20 @@ static void P_MobjScaleThink(mobj_t *mobj)
switch (mobj->type) switch (mobj->type)
{ {
default: default:
if (mobj->player == NULL && mobj->scale == 0) if (mobj->player)
{ {
P_RemoveMobj(mobj); if (mobj->scale <= 1)
return; {
mobj->drawflags |= MFD_DONTDRAW;
}
}
else
{
if (!mobj->player && mobj->scale == 0)
{
P_RemoveMobj(mobj);
return;
}
} }
break; break;
} }