From f26f41e03ac9b2d8ee033d627cc9218bdf5a3141 Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Sun, 26 Sep 2021 06:48:26 +0200
Subject: [PATCH] Fix thinker functions that still use tag instead of args[0]
 for FOFs

---
 src/p_floor.c | 13 +++++--------
 src/p_spec.c  | 10 +++++-----
 2 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/src/p_floor.c b/src/p_floor.c
index 102ac67e04..6641c6904f 100644
--- a/src/p_floor.c
+++ b/src/p_floor.c
@@ -634,7 +634,6 @@ void T_BounceCheese(bouncecheese_t *bouncer)
 	sector_t *actionsector;
 	boolean remove;
 	INT32 i;
-	mtag_t tag = Tag_FGet(&bouncer->sourceline->tags);
 
 	if (bouncer->sector->crumblestate == CRUMBLE_RESTORE || bouncer->sector->crumblestate == CRUMBLE_WAIT
 		|| bouncer->sector->crumblestate == CRUMBLE_ACTIVATED) // Oops! Crumbler says to remove yourself!
@@ -649,7 +648,7 @@ void T_BounceCheese(bouncecheese_t *bouncer)
 	}
 
 	// You can use multiple target sectors, but at your own risk!!!
-	TAG_ITER_SECTORS(tag, i)
+	TAG_ITER_SECTORS(bouncer->sourceline->args[0], i)
 	{
 		actionsector = &sectors[i];
 		actionsector->moved = true;
@@ -773,7 +772,7 @@ void T_StartCrumble(crumble_t *crumble)
 	ffloor_t *rover;
 	sector_t *sector;
 	INT32 i;
-	mtag_t tag = Tag_FGet(&crumble->sourceline->tags);
+	mtag_t tag = crumble->sourceline->args[0];
 
 	// Once done, the no-return thinker just sits there,
 	// constantly 'returning'... kind of an oxymoron, isn't it?
@@ -1301,14 +1300,13 @@ void T_NoEnemiesSector(noenemies_t *nobaddies)
 		for (i = 0; i < sec->linecount; i++)
 		{
 			INT32 targetsecnum = -1;
-			mtag_t tag2 = Tag_FGet(&sec->lines[i]->tags);
 
 			if (sec->lines[i]->special < 100 || sec->lines[i]->special >= 300)
 				continue;
 
 			FOFsector = true;
 
-			TAG_ITER_SECTORS(tag2, targetsecnum)
+			TAG_ITER_SECTORS(sec->lines[i]->args[0], targetsecnum)
 			{
 				if (T_SectorHasEnemies(&sectors[targetsecnum]))
 					return;
@@ -1421,14 +1419,13 @@ void T_EachTimeThinker(eachtime_t *eachtime)
 		for (i = 0; i < sec->linecount; i++)
 		{
 			INT32 targetsecnum = -1;
-			mtag_t tag2 = Tag_FGet(&sec->lines[i]->tags);
 
 			if (sec->lines[i]->special < 100 || sec->lines[i]->special >= 300)
 				continue;
 
 			FOFsector = true;
 
-			TAG_ITER_SECTORS(tag2, targetsecnum)
+			TAG_ITER_SECTORS(sec->lines[i]->args[0], targetsecnum)
 			{
 				targetsec = &sectors[targetsecnum];
 
@@ -2418,7 +2415,7 @@ void EV_MarioBlock(ffloor_t *rover, sector_t *sector, mobj_t *puncher)
 		block->direction = 1;
 		block->floorstartheight = block->sector->floorheight;
 		block->ceilingstartheight = block->sector->ceilingheight;
-		block->tag = (INT16)Tag_FGet(&sector->tags);
+		block->tag = (INT16)rover->master->args[0];
 
 		if (itsamonitor)
 		{
diff --git a/src/p_spec.c b/src/p_spec.c
index ae144307ef..f1c3e10add 100644
--- a/src/p_spec.c
+++ b/src/p_spec.c
@@ -5660,7 +5660,7 @@ static ffloor_t *P_AddFakeFloor(sector_t *sec, sector_t *sec2, line_t *master, I
 
 	if ((flags & FF_FLOATBOB))
 	{
-		P_AddFloatThinker(sec2, Tag_FGet(&master->tags), master);
+		P_AddFloatThinker(sec2, master->args[0], master);
 		CheckForFloatBob = true;
 	}
 
@@ -5840,7 +5840,7 @@ static inline void P_AddThwompThinker(sector_t *sec, line_t *sourceline, fixed_t
 	thwomp->floorstartheight = sec->floorheight;
 	thwomp->ceilingstartheight = sec->ceilingheight;
 	thwomp->delay = 1;
-	thwomp->tag = Tag_FGet(&sourceline->tags);
+	thwomp->tag = sourceline->args[0];
 	thwomp->sound = sound;
 
 	sec->floordata = thwomp;
@@ -7477,7 +7477,7 @@ void T_Scroll(scroll_t *s)
 				if (!is3dblock)
 					continue;
 
-				TAG_ITER_SECTORS(Tag_FGet(&line->tags), sect)
+				TAG_ITER_SECTORS(line->args[0], sect)
 				{
 					sector_t *psec;
 					psec = sectors + sect;
@@ -7552,7 +7552,7 @@ void T_Scroll(scroll_t *s)
 
 				if (!is3dblock)
 					continue;
-				TAG_ITER_SECTORS(Tag_FGet(&line->tags), sect)
+				TAG_ITER_SECTORS(line->args[0], sect)
 				{
 					sector_t *psec;
 					psec = sectors + sect;
@@ -7828,7 +7828,7 @@ void T_Disappear(disappear_t *d)
 	{
 		ffloor_t *rover;
 		register INT32 s;
-		mtag_t afftag = Tag_FGet(&lines[d->affectee].tags);
+		mtag_t afftag = lines[d->affectee].args[0];
 
 		TAG_ITER_SECTORS(afftag, s)
 		{
-- 
GitLab