From bfcbf5136be8689aed5e7b19e7a6aed6d19a7a90 Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Tue, 21 Dec 2021 17:26:55 +0100
Subject: [PATCH] Adapt SDURF and Puma to UDMF

---
 extras/conf/udb/Includes/SRB222_things.cfg |  8 ++++++++
 src/p_enemy.c                              | 12 ++++++++----
 src/p_setup.c                              |  4 ++++
 3 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/extras/conf/udb/Includes/SRB222_things.cfg b/extras/conf/udb/Includes/SRB222_things.cfg
index 8ae317d89..cf6b8a875 100644
--- a/extras/conf/udb/Includes/SRB222_things.cfg
+++ b/extras/conf/udb/Includes/SRB222_things.cfg
@@ -3596,6 +3596,10 @@ udmf
 			sprite = "FISHA0";
 			width = 8;
 			height = 28;
+			arg0
+			{
+				title = "Jump strength";
+			}
 		}
 		103
 		{
@@ -6468,6 +6472,10 @@ udmf
 			sprite = "PUMAA0";
 			width = 8;
 			height = 16;
+			arg0
+			{
+				title = "Jump strength";
+			}
 		}
 		1806
 		{
diff --git a/src/p_enemy.c b/src/p_enemy.c
index a4607b497..64b21809f 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -4803,12 +4803,16 @@ void A_FishJump(mobj_t *actor)
 		fixed_t jumpval;
 
 		if (locvar1)
-			jumpval = var1;
+			jumpval = locvar1;
 		else
-			jumpval = FixedMul(AngleFixed(actor->angle)/4, actor->scale);
+		{
+			if (actor->spawnpoint && actor->spawnpoint->args[0])
+				jumpval = actor->spawnpoint->args[0];
+			else
+				jumpval = 44;
+		}
 
-		if (!jumpval) jumpval = FixedMul(44*(FRACUNIT/4), actor->scale);
-		actor->momz = jumpval;
+		actor->momz = FixedMul(jumpval << (FRACBITS - 2), actor->scale);
 		P_SetMobjStateNF(actor, actor->info->seestate);
 	}
 
diff --git a/src/p_setup.c b/src/p_setup.c
index fc47c4573..ee29d6e10 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -4879,6 +4879,10 @@ static void P_ConvertBinaryMap(void)
 
 		switch (mapthings[i].type)
 		{
+		case 102: //SDURF
+		case 1805: //Puma
+			mapthings[i].args[0] = mapthings[i].angle;
+			break;
 		case 110: //THZ Turret
 			mapthings[i].args[0] = LE_TURRET;
 			break;