From d2f2c71685deb62f1822d2beb947a80e91ff62da Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Sat, 8 Oct 2022 10:20:20 +0200
Subject: [PATCH] Don't require floor touch for currents in non-FOF sectors
 unless it's a horizontal currents in binary (because backwards compatibility)

---
 src/p_spec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/p_spec.c b/src/p_spec.c
index 3207ddb95..3883ea265 100644
--- a/src/p_spec.c
+++ b/src/p_spec.c
@@ -8548,7 +8548,9 @@ void T_Pusher(pusher_t *p)
 		{
 			if (thing->z == P_GetSpecialBottomZ(thing, sec, sec))
 				touching = true;
-			else if (p->type != p_current)
+			// Annoying backwards compatibility nonsense:
+			// In binary, horizontal currents require floor touch
+			else if (udmf || p->type != p_current || z_mag != 0)
 				inFOF = true;
 		}
 
-- 
GitLab