mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-01-31 13:40:45 +00:00
Remove presumably the remaining old tag references in the gamelogic.
This commit is contained in:
parent
b5eaad42fc
commit
7904856e8e
6 changed files with 72 additions and 49 deletions
|
@ -398,9 +398,10 @@ INT32 EV_DoCeiling(line_t *line, ceiling_e type)
|
|||
INT32 secnum = -1;
|
||||
sector_t *sec;
|
||||
ceiling_t *ceiling;
|
||||
mtag_t tag = Tag_FGet(&line->tags);
|
||||
TAG_ITER_C
|
||||
|
||||
TAG_ITER_SECTORS(line->tag, secnum)
|
||||
TAG_ITER_SECTORS(tag, secnum)
|
||||
{
|
||||
sec = §ors[secnum];
|
||||
|
||||
|
@ -598,7 +599,7 @@ INT32 EV_DoCeiling(line_t *line, ceiling_e type)
|
|||
|
||||
}
|
||||
|
||||
ceiling->tag = sec->tag;
|
||||
ceiling->tag = tag;
|
||||
ceiling->type = type;
|
||||
firstone = 0;
|
||||
}
|
||||
|
@ -619,9 +620,10 @@ INT32 EV_DoCrush(line_t *line, ceiling_e type)
|
|||
INT32 secnum = -1;
|
||||
sector_t *sec;
|
||||
ceiling_t *ceiling;
|
||||
mtag_t tag = Tag_FGet(&line->tags);
|
||||
TAG_ITER_C
|
||||
|
||||
TAG_ITER_SECTORS(line->tag, secnum)
|
||||
TAG_ITER_SECTORS(tag, secnum)
|
||||
{
|
||||
sec = §ors[secnum];
|
||||
|
||||
|
@ -676,7 +678,7 @@ INT32 EV_DoCrush(line_t *line, ceiling_e type)
|
|||
break;
|
||||
}
|
||||
|
||||
ceiling->tag = sec->tag;
|
||||
ceiling->tag = tag;
|
||||
ceiling->type = type;
|
||||
}
|
||||
return rtn;
|
||||
|
|
|
@ -3865,11 +3865,15 @@ void A_BossDeath(mobj_t *mo)
|
|||
else
|
||||
{
|
||||
// Bring the egg trap up to the surface
|
||||
// Incredibly shitty code ahead
|
||||
junk.tag = LE_CAPSULE0;
|
||||
Tag_FSet(&junk.tags, LE_CAPSULE0);
|
||||
EV_DoElevator(&junk, elevateHighest, false);
|
||||
junk.tag = LE_CAPSULE1;
|
||||
Tag_FSet(&junk.tags, LE_CAPSULE1);
|
||||
EV_DoElevator(&junk, elevateUp, false);
|
||||
junk.tag = LE_CAPSULE2;
|
||||
Tag_FSet(&junk.tags, LE_CAPSULE2);
|
||||
EV_DoElevator(&junk, elevateHighest, false);
|
||||
|
||||
if (mapheaderinfo[gamemap-1]->muspostbossname[0] &&
|
||||
|
@ -3993,6 +3997,7 @@ bossjustdie:
|
|||
case MT_KOOPA:
|
||||
{
|
||||
junk.tag = LE_KOOPA;
|
||||
Tag_FSet(&junk.tags, LE_KOOPA);
|
||||
EV_DoCeiling(&junk, raiseToHighest);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -687,6 +687,7 @@ void T_BounceCheese(levelspecthink_t *bouncer)
|
|||
fixed_t floorheight;
|
||||
sector_t *actionsector;
|
||||
INT32 i;
|
||||
mtag_t tag = Tag_FGet(&bouncer->sourceline->tags);
|
||||
TAG_ITER_C
|
||||
|
||||
if (bouncer->sector->crumblestate == 4 || bouncer->sector->crumblestate == 1
|
||||
|
@ -702,7 +703,7 @@ void T_BounceCheese(levelspecthink_t *bouncer)
|
|||
}
|
||||
|
||||
// You can use multiple target sectors, but at your own risk!!!
|
||||
TAG_ITER_SECTORS(bouncer->sourceline->tag, i)
|
||||
TAG_ITER_SECTORS(tag, i)
|
||||
{
|
||||
actionsector = §ors[i];
|
||||
actionsector->moved = true;
|
||||
|
@ -845,6 +846,7 @@ void T_StartCrumble(elevator_t *elevator)
|
|||
ffloor_t *rover;
|
||||
sector_t *sector;
|
||||
INT32 i;
|
||||
mtag_t tag = Tag_FGet(&elevator->sourceline->tags);
|
||||
TAG_ITER_C
|
||||
|
||||
// Once done, the no-return thinker just sits there,
|
||||
|
@ -875,7 +877,7 @@ void T_StartCrumble(elevator_t *elevator)
|
|||
}
|
||||
else if (++elevator->distance == 0) // Reposition back to original spot
|
||||
{
|
||||
TAG_ITER_SECTORS(elevator->sourceline->tag, i)
|
||||
TAG_ITER_SECTORS(tag, i)
|
||||
{
|
||||
sector = §ors[i];
|
||||
|
||||
|
@ -906,7 +908,7 @@ void T_StartCrumble(elevator_t *elevator)
|
|||
// Flash to indicate that the platform is about to return.
|
||||
if (elevator->distance > -224 && (leveltime % ((abs(elevator->distance)/8) + 1) == 0))
|
||||
{
|
||||
TAG_ITER_SECTORS(elevator->sourceline->tag, i)
|
||||
TAG_ITER_SECTORS(tag, i)
|
||||
{
|
||||
sector = §ors[i];
|
||||
|
||||
|
@ -1002,7 +1004,7 @@ void T_StartCrumble(elevator_t *elevator)
|
|||
P_RemoveThinker(&elevator->thinker);
|
||||
}
|
||||
|
||||
TAG_ITER_SECTORS(elevator->sourceline->tag, i)
|
||||
TAG_ITER_SECTORS(tag, i)
|
||||
{
|
||||
sector = §ors[i];
|
||||
sector->moved = true;
|
||||
|
@ -1456,9 +1458,10 @@ void T_NoEnemiesSector(levelspecthink_t *nobaddies)
|
|||
msecnode_t *node;
|
||||
mobj_t *thing;
|
||||
boolean FOFsector = false;
|
||||
mtag_t tag = Tag_FGet(&nobaddies->sourceline->tags);
|
||||
TAG_ITER_C
|
||||
|
||||
TAG_ITER_SECTORS(nobaddies->sourceline->tag, secnum)
|
||||
TAG_ITER_SECTORS(tag, secnum)
|
||||
{
|
||||
sec = §ors[secnum];
|
||||
|
||||
|
@ -1468,6 +1471,7 @@ void T_NoEnemiesSector(levelspecthink_t *nobaddies)
|
|||
for (i = 0; i < sec->linecount; i++)
|
||||
{
|
||||
INT32 targetsecnum = -1;
|
||||
mtag_t tag2 = Tag_FGet(&sec->lines[i]->tags);
|
||||
TAG_ITER_C
|
||||
|
||||
if (sec->lines[i]->special < 100 || sec->lines[i]->special >= 300)
|
||||
|
@ -1475,7 +1479,7 @@ void T_NoEnemiesSector(levelspecthink_t *nobaddies)
|
|||
|
||||
FOFsector = true;
|
||||
|
||||
TAG_ITER_SECTORS(sec->lines[i]->tag, targetsecnum)
|
||||
TAG_ITER_SECTORS(tag2, targetsecnum)
|
||||
{
|
||||
targetsec = §ors[targetsecnum];
|
||||
|
||||
|
@ -1513,7 +1517,7 @@ void T_NoEnemiesSector(levelspecthink_t *nobaddies)
|
|||
}
|
||||
}
|
||||
|
||||
CONS_Debug(DBG_GAMELOGIC, "Running no-more-enemies exec with tag of %d\n", nobaddies->sourceline->tag);
|
||||
CONS_Debug(DBG_GAMELOGIC, "Running no-more-enemies exec with tag of %d\n", tag);
|
||||
|
||||
// No enemies found, run the linedef exec and terminate this thinker
|
||||
P_RunTriggerLinedef(nobaddies->sourceline, NULL, NULL);
|
||||
|
@ -1601,6 +1605,7 @@ void T_EachTimeThinker(levelspecthink_t *eachtime)
|
|||
fixed_t bottomheight, topheight;
|
||||
msecnode_t *node;
|
||||
ffloor_t *rover;
|
||||
mtag_t tag = Tag_FGet(&eachtime->sourceline->tags);
|
||||
TAG_ITER_C
|
||||
|
||||
for (i = 0; i < MAXPLAYERS; i++)
|
||||
|
@ -1622,7 +1627,7 @@ void T_EachTimeThinker(levelspecthink_t *eachtime)
|
|||
playersOnArea[i] = false;
|
||||
}
|
||||
|
||||
TAG_ITER_SECTORS(eachtime->sourceline->tag, secnum)
|
||||
TAG_ITER_SECTORS(tag, secnum)
|
||||
{
|
||||
sec = §ors[secnum];
|
||||
|
||||
|
@ -1639,6 +1644,7 @@ void T_EachTimeThinker(levelspecthink_t *eachtime)
|
|||
for (i = 0; i < sec->linecount; i++)
|
||||
{
|
||||
INT32 targetsecnum = -1;
|
||||
mtag_t tag2 = Tag_FGet(&sec->lines[i]->tags);
|
||||
TAG_ITER_C
|
||||
|
||||
if (sec->lines[i]->special < 100 || sec->lines[i]->special >= 300)
|
||||
|
@ -1646,7 +1652,7 @@ void T_EachTimeThinker(levelspecthink_t *eachtime)
|
|||
|
||||
FOFsector = true;
|
||||
|
||||
TAG_ITER_SECTORS(sec->lines[i]->tag, targetsecnum)
|
||||
TAG_ITER_SECTORS(tag2, targetsecnum)
|
||||
{
|
||||
targetsec = §ors[targetsecnum];
|
||||
|
||||
|
@ -1828,7 +1834,7 @@ void T_EachTimeThinker(levelspecthink_t *eachtime)
|
|||
}
|
||||
}
|
||||
|
||||
CONS_Debug(DBG_GAMELOGIC, "Trying to activate each time executor with tag %d\n", eachtime->sourceline->tag);
|
||||
CONS_Debug(DBG_GAMELOGIC, "Trying to activate each time executor with tag %d\n", tag);
|
||||
|
||||
// 03/08/14 -Monster Iestyn
|
||||
// No more stupid hacks involving changing eachtime->sourceline's tag or special or whatever!
|
||||
|
@ -1858,12 +1864,13 @@ void T_RaiseSector(levelspecthink_t *raise)
|
|||
boolean playeronme = false, active = false;
|
||||
fixed_t ceilingdestination, floordestination;
|
||||
result_e res = 0;
|
||||
mtag_t tag = Tag_FGet(&raise->sourceline->tags);
|
||||
TAG_ITER_C
|
||||
|
||||
if (raise->sector->crumblestate >= 3 || raise->sector->ceilingdata)
|
||||
return;
|
||||
|
||||
TAG_ITER_SECTORS(raise->sourceline->tag, i)
|
||||
TAG_ITER_SECTORS(tag, i)
|
||||
{
|
||||
sector = §ors[i];
|
||||
|
||||
|
@ -2056,7 +2063,7 @@ void T_RaiseSector(levelspecthink_t *raise)
|
|||
raise->sector->ceilspeed = 42;
|
||||
raise->sector->floorspeed = raise->vars[3]*raise->vars[8];
|
||||
|
||||
TAG_ITER_SECTORS(raise->sourceline->tag, i)
|
||||
TAG_ITER_SECTORS(tag, i)
|
||||
P_RecalcPrecipInSector(§ors[i]);
|
||||
}
|
||||
|
||||
|
@ -2173,9 +2180,10 @@ INT32 EV_DoFloor(line_t *line, floor_e floortype)
|
|||
INT32 secnum = -1;
|
||||
sector_t *sec;
|
||||
floormove_t *dofloor;
|
||||
mtag_t tag = Tag_FGet(&line->tags);
|
||||
TAG_ITER_C
|
||||
|
||||
TAG_ITER_SECTORS(line->tag, secnum)
|
||||
TAG_ITER_SECTORS(tag, secnum)
|
||||
{
|
||||
sec = §ors[secnum];
|
||||
|
||||
|
@ -2393,10 +2401,11 @@ INT32 EV_DoElevator(line_t *line, elevator_e elevtype, boolean customspeed)
|
|||
INT32 rtn = 0;
|
||||
sector_t *sec;
|
||||
elevator_t *elevator;
|
||||
mtag_t tag = Tag_FGet(&line->tags);
|
||||
TAG_ITER_C
|
||||
|
||||
// act on all sectors with the same tag as the triggering linedef
|
||||
TAG_ITER_SECTORS(line->tag, secnum)
|
||||
TAG_ITER_SECTORS(tag, secnum)
|
||||
{
|
||||
sec = §ors[secnum];
|
||||
|
||||
|
@ -2519,6 +2528,7 @@ void EV_CrumbleChain(sector_t *sec, ffloor_t *rover)
|
|||
INT16 flags;
|
||||
|
||||
sector_t *controlsec = rover->master->frontsector;
|
||||
mtag_t tag = Tag_FGet(&controlsec->tags);
|
||||
|
||||
if (sec == NULL)
|
||||
{
|
||||
|
@ -2547,9 +2557,9 @@ void EV_CrumbleChain(sector_t *sec, ffloor_t *rover)
|
|||
lifetime = 3*TICRATE;
|
||||
flags = 0;
|
||||
|
||||
if (controlsec->tag != 0)
|
||||
if (tag != 0)
|
||||
{
|
||||
INT32 tagline = Tag_FindLineSpecial(14, controlsec->tag);
|
||||
INT32 tagline = Tag_FindLineSpecial(14, tag);
|
||||
if (tagline != -1)
|
||||
{
|
||||
if (sides[lines[tagline].sidenum[0]].toptexture)
|
||||
|
@ -2725,6 +2735,7 @@ INT32 EV_StartCrumble(sector_t *sec, ffloor_t *rover, boolean floating,
|
|||
elevator_t *elevator;
|
||||
sector_t *foundsec;
|
||||
INT32 i;
|
||||
mtag_t tag = Tag_FGet(&rover->master->tags);
|
||||
TAG_ITER_C
|
||||
|
||||
// If floor is already activated, skip it
|
||||
|
@ -2778,7 +2789,7 @@ INT32 EV_StartCrumble(sector_t *sec, ffloor_t *rover, boolean floating,
|
|||
|
||||
elevator->sector->crumblestate = 2;
|
||||
|
||||
TAG_ITER_SECTORS(elevator->sourceline->tag, i)
|
||||
TAG_ITER_SECTORS(tag, i)
|
||||
{
|
||||
foundsec = §ors[i];
|
||||
|
||||
|
@ -2822,7 +2833,7 @@ INT32 EV_MarioBlock(ffloor_t *rover, sector_t *sector, mobj_t *puncher)
|
|||
|
||||
// Set up the fields
|
||||
block->sector = roversec;
|
||||
block->vars[0] = sector->tag; // actionsector
|
||||
block->vars[0] = Tag_FGet(§or->tags); // actionsector
|
||||
block->vars[1] = 4*FRACUNIT; // speed
|
||||
block->vars[2] = 1; // Up // direction
|
||||
block->vars[3] = block->sector->floorheight; // floorwasheight
|
||||
|
|
|
@ -1377,6 +1377,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
|
|||
return;
|
||||
|
||||
junk.tag = LE_AXE;
|
||||
Tag_FSet(&junk.tags, LE_AXE);
|
||||
EV_DoElevator(&junk, bridgeFall, false);
|
||||
|
||||
// scan the remaining thinkers to find koopa
|
||||
|
|
10
src/p_mobj.c
10
src/p_mobj.c
|
@ -3548,16 +3548,19 @@ static boolean P_CameraCheckHeat(camera_t *thiscam)
|
|||
{
|
||||
sector_t *sector;
|
||||
fixed_t halfheight = thiscam->z + (thiscam->height >> 1);
|
||||
size_t i;
|
||||
|
||||
// see if we are in water
|
||||
sector = thiscam->subsector->sector;
|
||||
|
||||
if (Tag_FindLineSpecial(13, sector->tag) != -1)
|
||||
return true;
|
||||
for (i = 0; i < sector->tags.count; i++)
|
||||
if (Tag_FindLineSpecial(13, sector->tags.tags[i]) != -1)
|
||||
return true;
|
||||
|
||||
if (sector->ffloors)
|
||||
{
|
||||
ffloor_t *rover;
|
||||
size_t j;
|
||||
|
||||
for (rover = sector->ffloors; rover; rover = rover->next)
|
||||
{
|
||||
|
@ -3573,7 +3576,8 @@ static boolean P_CameraCheckHeat(camera_t *thiscam)
|
|||
*rover->bottomheight))
|
||||
continue;
|
||||
|
||||
if (Tag_FindLineSpecial(13, rover->master->frontsector->tag) != -1)
|
||||
for (j = 0; j < rover->master->frontsector->tags.count; j++)
|
||||
if (Tag_FindLineSpecial(13, rover->master->frontsector->tags.tags[j]) != -1)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
48
src/p_spec.c
48
src/p_spec.c
|
@ -1000,7 +1000,7 @@ static boolean PolyDoor(line_t *line)
|
|||
{
|
||||
polydoordata_t pdd;
|
||||
|
||||
pdd.polyObjNum = line->tag; // polyobject id
|
||||
pdd.polyObjNum = Tag_FGet(&line->tags); // polyobject id
|
||||
|
||||
switch(line->special)
|
||||
{
|
||||
|
@ -1041,7 +1041,7 @@ static boolean PolyMove(line_t *line)
|
|||
{
|
||||
polymovedata_t pmd;
|
||||
|
||||
pmd.polyObjNum = line->tag;
|
||||
pmd.polyObjNum = Tag_FGet(&line->tags);
|
||||
pmd.speed = sides[line->sidenum[0]].textureoffset / 8;
|
||||
pmd.angle = R_PointToAngle2(line->v1->x, line->v1->y, line->v2->x, line->v2->y);
|
||||
pmd.distance = sides[line->sidenum[0]].rowoffset;
|
||||
|
@ -1059,7 +1059,7 @@ static boolean PolyMove(line_t *line)
|
|||
//
|
||||
static void PolyInvisible(line_t *line)
|
||||
{
|
||||
INT32 polyObjNum = line->tag;
|
||||
INT32 polyObjNum = Tag_FGet(&line->tags);
|
||||
polyobj_t *po;
|
||||
|
||||
if (!(po = Polyobj_GetForNum(polyObjNum)))
|
||||
|
@ -1087,7 +1087,7 @@ static void PolyInvisible(line_t *line)
|
|||
//
|
||||
static void PolyVisible(line_t *line)
|
||||
{
|
||||
INT32 polyObjNum = line->tag;
|
||||
INT32 polyObjNum = Tag_FGet(&line->tags);
|
||||
polyobj_t *po;
|
||||
|
||||
if (!(po = Polyobj_GetForNum(polyObjNum)))
|
||||
|
@ -1115,7 +1115,7 @@ static void PolyVisible(line_t *line)
|
|||
//
|
||||
static void PolyTranslucency(line_t *line)
|
||||
{
|
||||
INT32 polyObjNum = line->tag;
|
||||
INT32 polyObjNum = Tag_FGet(&line->tags);
|
||||
polyobj_t *po;
|
||||
|
||||
if (!(po = Polyobj_GetForNum(polyObjNum)))
|
||||
|
@ -1156,7 +1156,7 @@ static void PolyTranslucency(line_t *line)
|
|||
//
|
||||
static boolean PolyFade(line_t *line)
|
||||
{
|
||||
INT32 polyObjNum = line->tag;
|
||||
INT32 polyObjNum = Tag_FGet(&line->tags);
|
||||
polyobj_t *po;
|
||||
polyfadedata_t pfd;
|
||||
|
||||
|
@ -1227,7 +1227,7 @@ static boolean PolyWaypoint(line_t *line)
|
|||
{
|
||||
polywaypointdata_t pwd;
|
||||
|
||||
pwd.polyObjNum = line->tag;
|
||||
pwd.polyObjNum = Tag_FGet(&line->tags);
|
||||
pwd.speed = sides[line->sidenum[0]].textureoffset / 8;
|
||||
pwd.sequence = sides[line->sidenum[0]].rowoffset >> FRACBITS; // Sequence #
|
||||
pwd.reverse = (line->flags & ML_EFFECT1) == ML_EFFECT1; // Reverse?
|
||||
|
@ -1247,7 +1247,7 @@ static boolean PolyRotate(line_t *line)
|
|||
{
|
||||
polyrotdata_t prd;
|
||||
|
||||
prd.polyObjNum = line->tag;
|
||||
prd.polyObjNum = Tag_FGet(&line->tags);
|
||||
prd.speed = sides[line->sidenum[0]].textureoffset >> FRACBITS; // angular speed
|
||||
prd.distance = sides[line->sidenum[0]].rowoffset >> FRACBITS; // angular distance
|
||||
|
||||
|
@ -1276,7 +1276,7 @@ static boolean PolyDisplace(line_t *line)
|
|||
{
|
||||
polydisplacedata_t pdd;
|
||||
|
||||
pdd.polyObjNum = line->tag;
|
||||
pdd.polyObjNum = Tag_FGet(&line->tags);
|
||||
|
||||
pdd.controlSector = line->frontsector;
|
||||
pdd.dx = line->dx>>8;
|
||||
|
@ -1293,7 +1293,7 @@ static boolean PolyRotDisplace(line_t *line)
|
|||
polyrotdisplacedata_t pdd;
|
||||
fixed_t anginter, distinter;
|
||||
|
||||
pdd.polyObjNum = line->tag;
|
||||
pdd.polyObjNum = Tag_FGet(&line->tags);
|
||||
pdd.controlSector = line->frontsector;
|
||||
|
||||
// Rotate 'anginter' interval for each 'distinter' interval from the control sector.
|
||||
|
@ -2412,12 +2412,12 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
|||
// (formerly "Change calling sectors' tag", but behavior was changed)
|
||||
{
|
||||
TAG_ITER_SECTORS(tag, secnum)
|
||||
P_ChangeSectorTag(secnum,(INT16)(sides[line->sidenum[0]].textureoffset>>FRACBITS));
|
||||
Tag_SectorFSet(secnum,(INT16)(sides[line->sidenum[0]].textureoffset>>FRACBITS));
|
||||
break;
|
||||
}
|
||||
|
||||
case 410: // Change front sector's tag
|
||||
P_ChangeSectorTag((UINT32)(line->frontsector - sectors), (INT16)(sides[line->sidenum[0]].textureoffset>>FRACBITS));
|
||||
Tag_SectorFSet((UINT32)(line->frontsector - sectors), (INT16)(sides[line->sidenum[0]].textureoffset>>FRACBITS));
|
||||
break;
|
||||
|
||||
case 411: // Stop floor/ceiling movement in tagged sector(s)
|
||||
|
@ -2626,7 +2626,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
|||
if (!camobj)
|
||||
continue;
|
||||
|
||||
if (foundit || (camobj->subsector->sector->tag == tag))
|
||||
if (foundit || Tag_Find(&camobj->subsector->sector->tags, tag))
|
||||
{
|
||||
foundit = true;
|
||||
break;
|
||||
|
@ -2635,7 +2635,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
|||
// Only trigger if mobj is touching the tag
|
||||
for(rover = camobj->subsector->sector->ffloors; rover; rover = rover->next)
|
||||
{
|
||||
if (rover->master->frontsector->tag != tag)
|
||||
if (!Tag_Find(&rover->master->frontsector->tags, tag))
|
||||
continue;
|
||||
|
||||
if (camobj->z > P_GetSpecialTopZ(camobj, sectors + rover->secnum, camobj->subsector->sector))
|
||||
|
@ -3092,7 +3092,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
|||
|
||||
for (rover = sec->ffloors; rover; rover = rover->next)
|
||||
{
|
||||
if (rover->master->frontsector->tag == foftag)
|
||||
if (Tag_Find(&rover->master->frontsector->tags, foftag))
|
||||
{
|
||||
foundrover = true;
|
||||
|
||||
|
@ -3277,7 +3277,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
|||
|
||||
for (rover = sec->ffloors; rover; rover = rover->next)
|
||||
{
|
||||
if (rover->master->frontsector->tag == foftag)
|
||||
if (Tag_Find(&rover->master->frontsector->tags, foftag))
|
||||
{
|
||||
foundrover = true;
|
||||
|
||||
|
@ -3335,7 +3335,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
|||
|
||||
for (rover = sec->ffloors; rover; rover = rover->next)
|
||||
{
|
||||
if (rover->master->frontsector->tag == foftag)
|
||||
if (Tag_Find(&rover->master->frontsector->tags, foftag))
|
||||
{
|
||||
foundrover = true;
|
||||
|
||||
|
@ -3520,7 +3520,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
|||
|
||||
for (rover = sec->ffloors; rover; rover = rover->next)
|
||||
{
|
||||
if (rover->master->frontsector->tag == foftag)
|
||||
if (Tag_Find(&rover->master->frontsector->tags, foftag))
|
||||
{
|
||||
foundrover = true;
|
||||
|
||||
|
@ -3584,7 +3584,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
|||
|
||||
for (rover = sec->ffloors; rover; rover = rover->next)
|
||||
{
|
||||
if (rover->master->frontsector->tag == foftag)
|
||||
if (Tag_Find(&rover->master->frontsector->tags, foftag))
|
||||
{
|
||||
foundrover = true;
|
||||
|
||||
|
@ -3669,7 +3669,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
|||
|
||||
for (rover = sec->ffloors; rover; rover = rover->next)
|
||||
{
|
||||
if (rover->master->frontsector->tag == foftag)
|
||||
if (Tag_Find(&rover->master->frontsector->tags, foftag))
|
||||
{
|
||||
foundrover = true;
|
||||
|
||||
|
@ -5774,7 +5774,7 @@ static ffloor_t *P_AddFakeFloor(sector_t *sec, sector_t *sec2, line_t *master, f
|
|||
|
||||
if ((flags & FF_FLOATBOB))
|
||||
{
|
||||
P_AddFloatThinker(sec2, sec->tag, master);
|
||||
P_AddFloatThinker(sec2, Tag_FGet(&master->tags), master);
|
||||
CheckForFloatBob = true;
|
||||
}
|
||||
|
||||
|
@ -6011,7 +6011,7 @@ static inline void P_AddThwompThinker(sector_t *sec, sector_t *actionsector, lin
|
|||
|
||||
// set up the fields according to the type of elevator action
|
||||
thwomp->sector = sec;
|
||||
thwomp->vars[0] = actionsector->tag;
|
||||
thwomp->vars[0] = Tag_FGet(&sourceline->tags);
|
||||
thwomp->floorwasheight = thwomp->sector->floorheight;
|
||||
thwomp->ceilingwasheight = thwomp->sector->ceilingheight;
|
||||
thwomp->direction = 0;
|
||||
|
@ -6572,11 +6572,11 @@ void P_SpawnSpecials(boolean fromnetsave)
|
|||
Add_MasterDisappearer(abs(lines[i].dx>>FRACBITS), abs(lines[i].dy>>FRACBITS), abs(sides[lines[i].sidenum[0]].sector->floorheight>>FRACBITS), (INT32)(sectors[s].lines[j]-lines), (INT32)i);
|
||||
} else // Find FOFs by effect sector tag
|
||||
{
|
||||
TAG_ITER_LINES((lines + i)->tag, s)
|
||||
TAG_ITER_LINES(tag, s)
|
||||
{
|
||||
if ((size_t)s == i)
|
||||
continue;
|
||||
if (sides[lines[s].sidenum[0]].sector->tag == sides[lines[i].sidenum[0]].sector->tag)
|
||||
if (Tag_Find(&sides[lines[s].sidenum[0]].sector->tags, Tag_FGet(&sides[lines[i].sidenum[0]].sector->tags)))
|
||||
Add_MasterDisappearer(abs(lines[i].dx>>FRACBITS), abs(lines[i].dy>>FRACBITS), abs(sides[lines[i].sidenum[0]].sector->floorheight>>FRACBITS), s, (INT32)i);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue