From d0a91646ef1e87b967d543135c6df78475ff614b Mon Sep 17 00:00:00 2001
From: spherallic <spherallic@gmail.com>
Date: Wed, 7 Dec 2022 12:34:35 +0100
Subject: [PATCH] Allow setting hoop pitch/yaw in degrees (binary)

---
 extras/conf/SRB2-22.cfg | 4 +++-
 src/p_setup.c           | 4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/extras/conf/SRB2-22.cfg b/extras/conf/SRB2-22.cfg
index 6bae1494f5..952ce69691 100644
--- a/extras/conf/SRB2-22.cfg
+++ b/extras/conf/SRB2-22.cfg
@@ -6491,7 +6491,7 @@ thingtypes
 			centerHitbox = true;
 			flagsvaluetext = "Height";
 			angletext = "Pitch/Yaw";
-			fixedrotation = 1;
+			parametertext = "Degrees?";
 		}
 		1706
 		{
@@ -6551,6 +6551,8 @@ thingtypes
 			height = 160;
 			unflippable = true;
 			centerHitbox = true;
+			angletext = "Pitch/Yaw";
+			parametertext = "Degrees?";
 		}
 		1714
 		{
diff --git a/src/p_setup.c b/src/p_setup.c
index deb308da22..4faba13581 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -6627,8 +6627,8 @@ static void P_ConvertBinaryThingTypes(void)
 		case 1713: //Hoop (Customizable)
 		{
 			UINT16 oldangle = mapthings[i].angle;
-			mapthings[i].angle = ((oldangle >> 8)*360)/256;
-			mapthings[i].pitch = ((oldangle & 255)*360)/256;
+			mapthings[i].angle = (mapthings[i].extrainfo == 1) ? oldangle - 90  : ((oldangle >> 8)*360)/256;
+			mapthings[i].pitch = (mapthings[i].extrainfo == 1) ? oldangle / 360 : ((oldangle & 255)*360)/256;
 			mapthings[i].args[0] = (mapthings[i].type == 1705) ? 96 : (mapthings[i].options & 0xF)*16 + 32;
 			mapthings[i].options &= ~0xF;
 			mapthings[i].type = 1713;
-- 
GitLab