From 7746553273a7be1229af4ee8ed571fb89aba2c5a Mon Sep 17 00:00:00 2001
From: toasterbabe <rollerorbital@gmail.com>
Date: Sun, 13 Nov 2016 22:33:10 +0000
Subject: [PATCH] * Fixed A_1upThinker having a standing sprite for a single
 frame on spawn. * Removed the noalt stuff because it's not actually helpful.
 Everything's gotta come back to something at some point or there'll be
 errors.

---
 src/p_enemy.c |  1 +
 src/p_mobj.c  | 10 ----------
 2 files changed, 1 insertion(+), 10 deletions(-)

diff --git a/src/p_enemy.c b/src/p_enemy.c
index f21841d136..f2f92bf537 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -2553,6 +2553,7 @@ void A_1upThinker(mobj_t *actor)
 	{
 		P_SetTarget(&actor->tracer, P_SpawnMobj(actor->x, actor->y, actor->z, MT_OVERLAY));
 		P_SetTarget(&actor->tracer->target, actor);
+		actor->tracer->skin = &skins[players[closestplayer].skin]; // required here to prevent spr2 default showing stand for a single frame
 		P_SetMobjState(actor->tracer, actor->info->seestate);
 
 		// The overlay is going to be one tic early turning off and on
diff --git a/src/p_mobj.c b/src/p_mobj.c
index ff805f4db3..3a6eda0880 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -193,7 +193,6 @@ UINT8 P_GetMobjSprite2(mobj_t *mobj, UINT8 spr2)
 {
 	player_t *player = mobj->player;
 	skin_t *skin = ((skin_t *)mobj->skin);
-	boolean noalt = false;
 
 	if (!skin)
 		return 0;
@@ -386,20 +385,11 @@ UINT8 P_GetMobjSprite2(mobj_t *mobj, UINT8 spr2)
 			spr2 = SPR2_NGTC;
 			break;
 
-
-		// Sprites for non-player objects? There's nothing we can do.
-		case SPR2_SIGN:
-		case SPR2_LIFE:
-			noalt = true;
-			break;
-
 		// Dunno? Just go to standing then.
 		default:
 			spr2 = SPR2_STND;
 			break;
 		}
-		if (noalt)
-			break;
 	}
 	return spr2;
 }
-- 
GitLab