From af7c0f4d6c3dae2fdc463c162431b82d5030f2e7 Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Sun, 29 May 2022 12:24:14 +0200
Subject: [PATCH] Allow linedef types 409/410 to change the trigger tag

---
 extras/conf/udb/Includes/SRB222_linedefs.cfg | 2 ++
 src/p_spec.c                                 | 6 ++++++
 src/p_spec.h                                 | 1 +
 3 files changed, 9 insertions(+)

diff --git a/extras/conf/udb/Includes/SRB222_linedefs.cfg b/extras/conf/udb/Includes/SRB222_linedefs.cfg
index 0aa7ea6291..fff9edf109 100644
--- a/extras/conf/udb/Includes/SRB222_linedefs.cfg
+++ b/extras/conf/udb/Includes/SRB222_linedefs.cfg
@@ -3677,6 +3677,7 @@ udmf
 					0 = "Add tag";
 					1 = "Remove tag";
 					2 = "Replace first tag";
+					3 = "Change trigger tag";
 				}
 			}
 		}
@@ -3699,6 +3700,7 @@ udmf
 					0 = "Add tag";
 					1 = "Remove tag";
 					2 = "Replace first tag";
+					3 = "Change trigger tag";
 				}
 			}
 		}
diff --git a/src/p_spec.c b/src/p_spec.c
index 69e1e3925b..cd36053c9d 100644
--- a/src/p_spec.c
+++ b/src/p_spec.c
@@ -2396,6 +2396,9 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
 					default:
 						Tag_SectorFSet(secnum, newtag);
 						break;
+					case TMT_TRIGGERTAG:
+						sectors[secnum].triggertag = newtag;
+						break;
 				}
 			}
 			break;
@@ -2418,6 +2421,9 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
 				default:
 					Tag_SectorFSet(secnum, newtag);
 					break;
+				case TMT_TRIGGERTAG:
+					sectors[secnum].triggertag = newtag;
+					break;
 			}
 			break;
 		}
diff --git a/src/p_spec.h b/src/p_spec.h
index bdc912c346..33d18d63e5 100644
--- a/src/p_spec.h
+++ b/src/p_spec.h
@@ -306,6 +306,7 @@ typedef enum
 	TMT_ADD          = 0,
 	TMT_REMOVE       = 1,
 	TMT_REPLACEFIRST = 2,
+	TMT_TRIGGERTAG   = 3,
 } textmaptagoptions_t;
 
 typedef enum
-- 
GitLab