From ff8c09922dbdeea48b926d494a65d25faf60a06d Mon Sep 17 00:00:00 2001
From: MonsterIestyn <iestynjealous@ntlworld.com>
Date: Wed, 11 Feb 2015 22:35:04 +0000
Subject: [PATCH] Fixed changing of player states with respect to vertical
 spring direction; only thing that should affect it is the player's own
 gravity.

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9038 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
---
 src/p_map.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/p_map.c b/src/p_map.c
index 0edb7c09ce..b134971ab4 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -108,7 +108,6 @@ void P_DoSpring(mobj_t *spring, mobj_t *object)
 	fixed_t offx, offy;
 	fixed_t vertispeed = spring->info->mass;
 	fixed_t horizspeed = spring->info->damage;
-	fixed_t origvertispeed = vertispeed; // for vertical flipping
 
 	if (object->eflags & MFE_SPRUNG) // Object was already sprung this tic
 		return;
@@ -192,9 +191,9 @@ void P_DoSpring(mobj_t *spring, mobj_t *object)
 		pflags = object->player->pflags & (PF_JUMPED|PF_SPINNING|PF_THOKKED); // I still need these.
 		P_ResetPlayer(object->player);
 
-		if (origvertispeed > 0)
+		if (P_MobjFlip(object)*vertispeed > 0)
 			P_SetPlayerMobjState(object, S_PLAY_JUMP);
-		else if (origvertispeed < 0)
+		else if (P_MobjFlip(object)*vertispeed < 0)
 			P_SetPlayerMobjState(object, S_PLAY_FALL);
 		else // horizontal spring
 		{
-- 
GitLab