From 062ea7e4305b1855fd56f64a7b080ec49a1f470b Mon Sep 17 00:00:00 2001 From: Sally Coolatta Date: Sun, 27 Sep 2020 10:36:44 -0400 Subject: [PATCH] Use scale 1 instead of 0 for player oblivion shrink --- src/k_bot.c | 2 +- src/p_inter.c | 2 +- src/p_mobj.c | 16 +++++++++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/k_bot.c b/src/k_bot.c index 1f3585402..a32a554e1 100644 --- a/src/k_bot.c +++ b/src/k_bot.c @@ -684,7 +684,7 @@ void K_BuildBotTiccmd(player_t *player, ticcmd_t *cmd) memset(cmd, 0, sizeof(ticcmd_t)); 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. return; diff --git a/src/p_inter.c b/src/p_inter.c index 242955e7c..e408c1d27 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -1650,7 +1650,7 @@ static boolean P_KillPlayer(player_t *player, UINT8 type) { if (player->exiting) { - player->mo->destscale = 0; + player->mo->destscale = 1; player->mo->flags |= MF_NOCLIPTHING; return false; } diff --git a/src/p_mobj.c b/src/p_mobj.c index 050ed3581..a7ff441d2 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -4674,10 +4674,20 @@ static void P_MobjScaleThink(mobj_t *mobj) switch (mobj->type) { default: - if (mobj->player == NULL && mobj->scale == 0) + if (mobj->player) { - P_RemoveMobj(mobj); - return; + if (mobj->scale <= 1) + { + mobj->drawflags |= MFD_DONTDRAW; + } + } + else + { + if (!mobj->player && mobj->scale == 0) + { + P_RemoveMobj(mobj); + return; + } } break; }