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,11 +4674,21 @@ 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)
{
if (mobj->scale <= 1)
{
mobj->drawflags |= MFD_DONTDRAW;
}
}
else
{
if (!mobj->player && mobj->scale == 0)
{ {
P_RemoveMobj(mobj); P_RemoveMobj(mobj);
return; return;
} }
}
break; break;
} }
} }