diff --git a/extras/conf/SRB2-22.cfg b/extras/conf/SRB2-22.cfg
index 969f645f3f23805d8085199eed5cbc5578f89ce2..0bf009f79b7b0a71f6ad295554e731a25e03bee5 100644
--- a/extras/conf/SRB2-22.cfg
+++ b/extras/conf/SRB2-22.cfg
@@ -2824,36 +2824,63 @@ linedeftypes
 		{
 			title = "Scroll Floor Texture";
 			prefix = "(510)";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		511
 		{
 			title = "Scroll Floor Texture (Accelerative)";
 			prefix = "(511)";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		512
 		{
 			title = "Scroll Floor Texture (Displacement)";
 			prefix = "(512)";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		513
 		{
 			title = "Scroll Ceiling Texture";
 			prefix = "(513)";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		514
 		{
 			title = "Scroll Ceiling Texture (Accelerative)";
 			prefix = "(514)";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		515
 		{
 			title = "Scroll Ceiling Texture (Displacement)";
 			prefix = "(515)";
+			flags8192text = "[13] Use angle and X offset";
+		}
+
+		516
+		{
+			title = "Scroll Floor and Ceiling Texture";
+			prefix = "(516)";
+			flags8192text = "[13] Use angle and X offset";
+		}
+
+		517
+		{
+			title = "Scroll Floor and Ceiling Texture (Accelerative)";
+			prefix = "(517)";
+			flags8192text = "[13] Use angle and X offset";
+		}
+
+		518
+		{
+			title = "Scroll Floor and Ceiling Texture (Displacement)";
+			prefix = "(518)";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		520
@@ -2861,6 +2888,7 @@ linedeftypes
 			title = "Carry Objects on Floor";
 			prefix = "(520)";
 			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		521
@@ -2868,6 +2896,7 @@ linedeftypes
 			title = "Carry Objects on Floor (Accelerative)";
 			prefix = "(521)";
 			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		522
@@ -2875,6 +2904,7 @@ linedeftypes
 			title = "Carry Objects on Floor (Displacement)";
 			prefix = "(522)";
 			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		523
@@ -2882,6 +2912,7 @@ linedeftypes
 			title = "Carry Objects on Ceiling";
 			prefix = "(523)";
 			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		524
@@ -2889,6 +2920,7 @@ linedeftypes
 			title = "Carry Objects on Ceiling (Accelerative)";
 			prefix = "(524)";
 			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		525
@@ -2896,6 +2928,31 @@ linedeftypes
 			title = "Carry Objects on Ceiling (Displacement)";
 			prefix = "(525)";
 			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
+		}
+
+		526
+		{
+			title = "Carry Objects on Floor and Ceiling";
+			prefix = "(526)";
+			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
+		}
+
+		527
+		{
+			title = "Carry Objects on Floor and Ceiling (Accelerative)";
+			prefix = "(527)";
+			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
+		}
+
+		528
+		{
+			title = "Carry Objects on Floor and Ceiling (Displacement)";
+			prefix = "(528)";
+			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		530
@@ -2903,6 +2960,7 @@ linedeftypes
 			title = "Scroll Floor Texture and Carry Objects";
 			prefix = "(530)";
 			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		531
@@ -2910,6 +2968,7 @@ linedeftypes
 			title = "Scroll Floor Texture and Carry Objects (Accelerative)";
 			prefix = "(531)";
 			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		532
@@ -2917,6 +2976,7 @@ linedeftypes
 			title = "Scroll Floor Texture and Carry Objects (Displacement)";
 			prefix = "(532)";
 			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		533
@@ -2924,6 +2984,7 @@ linedeftypes
 			title = "Scroll Ceiling Texture and Carry Objects";
 			prefix = "(533)";
 			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		534
@@ -2931,6 +2992,7 @@ linedeftypes
 			title = "Scroll Ceiling Texture and Carry Objects (Accelerative)";
 			prefix = "(534)";
 			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
 		}
 
 		535
@@ -2938,6 +3000,31 @@ linedeftypes
 			title = "Scroll Ceiling Texture and Carry Objects (Displacement)";
 			prefix = "(535)";
 			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
+		}
+
+		536
+		{
+			title = "Scroll Floor and Ceiling Texture and Carry Objects";
+			prefix = "(536)";
+			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
+		}
+
+		537
+		{
+			title = "Scroll Floor and Ceiling Texture and Carry Objects (Accelerative)";
+			prefix = "(537)";
+			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
+		}
+
+		538
+		{
+			title = "Scroll Floor and Ceiling Texture and Carry Objects (Displacement)";
+			prefix = "(538)";
+			flags64text = "[6] Exclusive";
+			flags8192text = "[13] Use angle and X offset";
 		}
 	}
 
@@ -6949,7 +7036,7 @@ thingtypes
 	{
 		color = 10; // Green
 		title = "Tutorial";
-		
+
 		799
 		{
 			title = "Tutorial Plant";
diff --git a/extras/conf/udb/Includes/SRB222_linedefs.cfg b/extras/conf/udb/Includes/SRB222_linedefs.cfg
index fff9edf109b28ba8ada2ca7182cf93ad1b0a7e79..4b9e5fd97bd5fef4d39f00ad88cd37d367523bf2 100644
--- a/extras/conf/udb/Includes/SRB222_linedefs.cfg
+++ b/extras/conf/udb/Includes/SRB222_linedefs.cfg
@@ -1286,6 +1286,21 @@ doom
 			title = "Scroll Ceiling Texture (Displacement)";
 			prefix = "(515)";
 		}
+		516
+		{
+			title = "Scroll Floor and Ceiling Texture";
+			prefix = "(516)";
+		}
+		517
+		{
+			title = "Scroll Floor and Ceiling Texture (Accelerative)";
+			prefix = "(517)";
+		}
+		518
+		{
+			title = "Scroll Floor and Ceiling Texture (Displacement)";
+			prefix = "(518)";
+		}
 		520
 		{
 			title = "Carry Objects on Floor";
@@ -1316,6 +1331,21 @@ doom
 			title = "Carry Objects on Ceiling (Displacement)";
 			prefix = "(525)";
 		}
+		526
+		{
+			title = "Carry Objects on Floor and Ceiling";
+			prefix = "(526)";
+		}
+		527
+		{
+			title = "Carry Objects on Floor and Ceiling (Accelerative)";
+			prefix = "(527)";
+		}
+		528
+		{
+			title = "Carry Objects on Floor and Ceiling (Displacement)";
+			prefix = "(528)";
+		}
 		530
 		{
 			title = "Scroll Floor Texture and Carry Objects";
@@ -1346,6 +1376,21 @@ doom
 			title = "Scroll Ceiling Texture and Carry Objects (Displacement)";
 			prefix = "(535)";
 		}
+		536
+		{
+			title = "Scroll Floor and Ceiling Texture and Carry Objects";
+			prefix = "(536)";
+		}
+		537
+		{
+			title = "Scroll Floor and Ceiling Texture and Carry Objects (Accelerative)";
+			prefix = "(537)";
+		}
+		538
+		{
+			title = "Scroll Floor and Ceiling Texture and Carry Objects (Displacement)";
+			prefix = "(538)";
+		}
 	}
 
 	pusher
@@ -2593,7 +2638,7 @@ udmf
 				}
 			}
 		}
-		
+
 		190
 		{
 			title = "Rising";
diff --git a/src/p_setup.c b/src/p_setup.c
index 146d5d30235416dfd9a4d42ada19f3acf3b8467e..9712528efed1f05c3aa9cbf3900c91c325e8c747 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -5594,25 +5594,36 @@ static void P_ConvertBinaryLinedefTypes(void)
 		case 513: //Scroll ceiling texture
 		case 514: //Scroll ceiling texture (accelerative)
 		case 515: //Scroll ceiling texture (displacement)
+		case 516: //Scroll floor and ceiling texture
+		case 517: //Scroll floor and ceiling texture (accelerative)
+		case 518: //Scroll floor and ceiling texture (displacement)
 		case 520: //Carry objects on floor
 		case 521: //Carry objects on floor (accelerative)
 		case 522: //Carry objects on floor (displacement)
 		case 523: //Carry objects on ceiling
 		case 524: //Carry objects on ceiling (accelerative)
 		case 525: //Carry objects on ceiling (displacement)
+		case 526: //Carry objects on floor and ceiling
+		case 527: //Carry objects on floor and ceiling (accelerative)
+		case 528: //Carry objects on floor and ceiling (displacement)
 		case 530: //Scroll floor texture and carry objects
 		case 531: //Scroll floor texture and carry objects (accelerative)
 		case 532: //Scroll floor texture and carry objects (displacement)
 		case 533: //Scroll ceiling texture and carry objects
 		case 534: //Scroll ceiling texture and carry objects (accelerative)
 		case 535: //Scroll ceiling texture and carry objects (displacement)
+		case 536: //Scroll floor and ceiling texture and carry objects
+		case 537: //Scroll floor and ceiling texture and carry objects (accelerative)
+		case 538: //Scroll floor and ceiling texture and carry objects (displacement)
 			lines[i].args[0] = tag;
-			lines[i].args[1] = ((lines[i].special % 10) < 3) ? TMP_FLOOR : TMP_CEILING;
+			lines[i].args[1] = ((lines[i].special % 10) < 6) ? (((lines[i].special % 10) < 3) ? TMP_FLOOR : TMP_CEILING) : TMP_BOTH;
 			lines[i].args[2] = ((lines[i].special - 510)/10 + 1) % 3;
 			lines[i].args[3] = R_PointToDist2(lines[i].v2->x, lines[i].v2->y, lines[i].v1->x, lines[i].v1->y) >> FRACBITS;
 			lines[i].args[4] = (lines[i].special % 10) % 3;
 			if (lines[i].args[2] != TMS_SCROLLONLY && !(lines[i].flags & ML_NOCLIMB))
 				lines[i].args[4] |= TMST_NONEXCLUSIVE;
+			if (lines[i].flags & ML_EFFECT6)
+				lines[i].args[3] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS;
 			lines[i].special = 510;
 			break;
 		case 540: //Floor friction