From a8e642b39477dea8ffead359abd65a61d3512edb Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Mon, 4 May 2020 21:19:28 +0200 Subject: [PATCH] Accidentally put this check in the wrong place --- src/r_things.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/r_things.c b/src/r_things.c index 7cd15a7a9..1b8cd3fe6 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -3045,20 +3045,21 @@ void SetFollower(INT32 playernum, INT32 skinnum) player_t *player = &players[playernum]; player->followerready = true; // we are ready to perform follower related actions in the player thinker, now. - if (skinnum >= -1 && skinnum <= numfollowers && player->followerskin != skinnum) // Make sure it exists! + if (skinnum >= -1 && skinnum <= numfollowers) // Make sure it exists! { - player->followerskin = skinnum; - //CONS_Printf("Updated player follower num\n"); /* We don't spawn the follower here since it'll be easier to handle all of it in the Player thinker itself. However, we will despawn it right here if there's any to make it easy for the player thinker to replace it or delete it. */ - if (player->follower) + if (player->follower && skinnum != player->followerskin) // this is also called when we change colour so don't respawn the follower unless we changed skins { P_RemoveMobj(player->follower); player->follower = NULL; } + player->followerskin = skinnum; + //CONS_Printf("Updated player follower num\n"); + // for replays: We have changed our follower mid-game; let the game know so it can do the same in the replay! demo_extradata[playernum] |= DXD_FOLLOWER;