From f11fc92fd77ec5feefa0886349c0054ea6468615 Mon Sep 17 00:00:00 2001
From: toaster <rollerorbital@gmail.com>
Date: Thu, 7 Nov 2019 17:10:59 +0000
Subject: [PATCH] Fix pmomz being set to 0 in the wrong place.
 (P_PlayerAfterThink is after every moving sector has changed its height,
 while P_MovePlayer is before it...)

---
 src/p_user.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/p_user.c b/src/p_user.c
index f81f6d956b..d70a93584d 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -8598,6 +8598,9 @@ static void P_MovePlayer(player_t *player)
 	// Look for Quicksand!
 	if (CheckForQuicksand)
 		P_CheckQuicksand(player);
+
+	if (P_IsObjectOnGround(player->mo))
+		player->mo->pmomz = 0;
 }
 
 static void P_DoZoomTube(player_t *player)
@@ -12385,9 +12388,6 @@ void P_PlayerAfterThink(player_t *player)
 		player->mo->flags |= MF_NOGRAVITY;
 	}
 
-	if (P_IsObjectOnGround(player->mo))
-		player->mo->pmomz = 0;
-
 	if (player->followmobj && (player->spectator || player->mo->health <= 0 || player->followmobj->type != player->followitem))
 	{
 		P_RemoveMobj(player->followmobj);
-- 
GitLab