From f714966c8364db3871edd59e82ead563864c641b Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Sun, 12 Dec 2021 08:27:27 +0100
Subject: [PATCH 1/5] Remove outdated linedef type check in HWR_ProcessSeg

---
 src/hardware/hw_main.c | 32 ++++----------------------------
 1 file changed, 4 insertions(+), 28 deletions(-)

diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c
index 9bade3d6f..d187b0897 100644
--- a/src/hardware/hw_main.c
+++ b/src/hardware/hw_main.c
@@ -1434,34 +1434,10 @@ static void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom
 
 			// set alpha for transparent walls
 			// ooops ! this do not work at all because render order we should render it in backtofront order
-			switch (gl_linedef->special)
-			{
-				//  Translucent
-				case 102:
-				case 121:
-				case 123:
-				case 124:
-				case 125:
-				case 141:
-				case 142:
-				case 144:
-				case 145:
-				case 174:
-				case 175:
-				case 192:
-				case 195:
-				case 221:
-				case 253:
-				case 256:
-					blendmode = PF_Translucent;
-					break;
-				default:
-					if (gl_linedef->alpha >= 0 && gl_linedef->alpha < FRACUNIT)
-						blendmode = HWR_TranstableToAlpha(R_GetLinedefTransTable(gl_linedef->alpha), &Surf);
-					else
-						blendmode = PF_Masked;
-					break;
-			}
+			if (gl_linedef->alpha >= 0 && gl_linedef->alpha < FRACUNIT)
+				blendmode = HWR_TranstableToAlpha(R_GetLinedefTransTable(gl_linedef->alpha), &Surf);
+			else
+				blendmode = PF_Masked;
 
 			if (gl_curline->polyseg && gl_curline->polyseg->translucency > 0)
 			{

From 7609f300bad0ed2b8cbfaa8dd63818b0d86dcc3e Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Tue, 4 Jan 2022 19:45:36 +0100
Subject: [PATCH 2/5] Fix typo in laser FOF conversion

---
 src/p_setup.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/p_setup.c b/src/p_setup.c
index fd8b19f1c..057ccb45e 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -3557,10 +3557,10 @@ static void P_ConvertBinaryMap(void)
 
 			//Flags
 			if (lines[i].flags & ML_EFFECT1)
-				lines[i].args[2] = TMFL_NOBOSSES;
+				lines[i].args[2] |= TMFL_NOBOSSES;
 			//Replicate old hack: Translucent FOFs set to full opacity cut cyan pixels
 			if (lines[i].flags & ML_EFFECT6 || lines[i].args[1] == 256)
-				lines[i].args[2] = TMFL_SPLAT;
+				lines[i].args[2] |= TMFL_SPLAT;
 
 			break;
 		case 259: //Custom FOF

From e0ed58f577f1bd0662244cf1dc2e192a66232abd Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Tue, 4 Jan 2022 19:49:28 +0100
Subject: [PATCH 3/5] Fix UDB config typo

---
 extras/conf/udb/Includes/SRB222_linedefs.cfg | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/extras/conf/udb/Includes/SRB222_linedefs.cfg b/extras/conf/udb/Includes/SRB222_linedefs.cfg
index 4169548cf..c99ed4bab 100644
--- a/extras/conf/udb/Includes/SRB222_linedefs.cfg
+++ b/extras/conf/udb/Includes/SRB222_linedefs.cfg
@@ -3384,7 +3384,7 @@ udmf
 
 		602
 		{
-			title = "Start Adjustable Pulsating Light";
+			title = "Adjustable Pulsating Light";
 			prefix = "(602)";
 			arg0
 			{
@@ -3442,7 +3442,7 @@ udmf
 
 		604
 		{
-			title = "Start Adjustable Blinking Light";
+			title = "Adjustable Blinking Light";
 			prefix = "(604)";
 			arg0
 			{

From a8e32cfe12914864677b3bef202df5de24c58db6 Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Wed, 5 Jan 2022 00:26:10 +0100
Subject: [PATCH 4/5] Fix incorrect turnaround behavior for bounceFloor and
 bounceCeiling

---
 src/p_ceilng.c | 7 +++++--
 src/p_floor.c  | 6 ++++--
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/p_ceilng.c b/src/p_ceilng.c
index ed385be33..aa31e4301 100644
--- a/src/p_ceilng.c
+++ b/src/p_ceilng.c
@@ -86,14 +86,17 @@ void T_MoveCeiling(ceiling_t *ceiling)
 				if (dest == lines[ceiling->sourceline].frontsector->ceilingheight)
 				{
 					dest = lines[ceiling->sourceline].backsector->ceilingheight;
-					ceiling->speed = ceiling->origspeed = lines[ceiling->sourceline].args[3] << (FRACBITS - 2); // return trip, use args[3]
+					ceiling->origspeed = lines[ceiling->sourceline].args[3] << (FRACBITS - 2); // return trip, use args[3]
 				}
 				else
 				{
 					dest = lines[ceiling->sourceline].frontsector->ceilingheight;
-					ceiling->speed = ceiling->origspeed = lines[ceiling->sourceline].args[2] << (FRACBITS - 2); // going frontways, use args[2]
+					ceiling->origspeed = lines[ceiling->sourceline].args[2] << (FRACBITS - 2); // going frontways, use args[2]
 				}
 
+				if (ceiling->type == bounceCeilingCrush)
+					ceiling->speed = ceiling->origspeed;
+
 				if (dest < ceiling->sector->ceilingheight) // must move down
 				{
 					ceiling->direction = -1;
diff --git a/src/p_floor.c b/src/p_floor.c
index 7f1a7c2e0..1d7cc3f5b 100644
--- a/src/p_floor.c
+++ b/src/p_floor.c
@@ -206,13 +206,15 @@ void T_MoveFloor(floormove_t *movefloor)
 				if (movefloor->floordestheight == lines[movefloor->sourceline].frontsector->floorheight)
 				{
 					movefloor->floordestheight = lines[movefloor->sourceline].backsector->floorheight;
-					movefloor->speed = movefloor->origspeed = lines[movefloor->sourceline].args[3] << (FRACBITS - 2); // return trip, use args[3]
+					movefloor->origspeed = lines[movefloor->sourceline].args[3] << (FRACBITS - 2); // return trip, use args[3]
 				}
 				else
 				{
 					movefloor->floordestheight = lines[movefloor->sourceline].frontsector->floorheight;
-					movefloor->speed = movefloor->origspeed = lines[movefloor->sourceline].args[2] << (FRACBITS - 2); // forward again, use args[2]
+					movefloor->origspeed = lines[movefloor->sourceline].args[2] << (FRACBITS - 2); // forward again, use args[2]
 				}
+				if (movefloor->type == bounceFloorCrush)
+					movefloor->speed = movefloor->origspeed;
 				movefloor->direction = (movefloor->floordestheight < movefloor->sector->floorheight) ? -1 : 1;
 				movefloor->delaytimer = movefloor->delay;
 				remove = false;

From ce29d05be8eca83d8409527af2bb1f91c687ef6b Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Sun, 9 Jan 2022 12:53:12 +0100
Subject: [PATCH 5/5] Fix typo in wall scroller conversion

---
 src/p_setup.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/p_setup.c b/src/p_setup.c
index 1ecd24471..01daa55f1 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -3816,13 +3816,13 @@ static void P_ConvertBinaryMap(void)
 					lines[i].special = 0;
 					break;
 				}
-				lines[i].args[1] = sides[lines[i].sidenum[1]].rowoffset >> FRACBITS;
-				lines[i].args[2] = sides[lines[i].sidenum[1]].textureoffset >> FRACBITS;
+				lines[i].args[1] = sides[lines[i].sidenum[1]].textureoffset >> FRACBITS;
+				lines[i].args[2] = sides[lines[i].sidenum[1]].rowoffset >> FRACBITS;
 			}
 			else
 			{
-				lines[i].args[1] = sides[lines[i].sidenum[0]].rowoffset >> FRACBITS;
-				lines[i].args[2] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS;
+				lines[i].args[1] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS;
+				lines[i].args[2] = sides[lines[i].sidenum[0]].rowoffset >> FRACBITS;
 			}
 			lines[i].special = 500;
 			break;