- allow tag == 0 for backside activation on a few more actions.

This commit is contained in:
Christoph Oelckers 2017-04-15 12:02:33 +02:00
parent e333e31410
commit 069e4e9b0b
4 changed files with 12 additions and 13 deletions

View file

@ -585,9 +585,9 @@ bool EV_CeilingCrushStop (int tag, bool remove)
return rtn;
}
bool EV_StopCeiling(int tag)
bool EV_StopCeiling(int tag, line_t *line)
{
FSectorTagIterator it(tag);
FSectorTagIterator it(tag, line);
while (int sec = it.Next())
{
if (level.sectors[sec].ceilingdata)

View file

@ -543,10 +543,10 @@ bool EV_DoFloor (DFloor::EFloor floortype, line_t *line, int tag,
//
//==========================================================================
bool EV_FloorCrushStop (int tag)
bool EV_FloorCrushStop (int tag, line_t *line)
{
int secnum;
FSectorTagIterator it(tag);
FSectorTagIterator it(tag, line);
while ((secnum = it.Next()) >= 0)
{
sector_t *sec = &level.sectors[secnum];
@ -563,9 +563,9 @@ bool EV_FloorCrushStop (int tag)
}
// same as above but stops any floor mover that was active on the given sector.
bool EV_StopFloor(int tag)
bool EV_StopFloor(int tag, line_t *line)
{
FSectorTagIterator it(tag);
FSectorTagIterator it(tag, line);
while (int sec = it.Next())
{
if (level.sectors[sec].floordata)

View file

@ -417,7 +417,7 @@ FUNC(LS_Floor_LowerByValueTimes8)
FUNC(LS_Floor_CrushStop)
// Floor_CrushStop (tag)
{
return EV_FloorCrushStop (arg0);
return EV_FloorCrushStop (arg0, ln);
}
FUNC(LS_Floor_LowerInstant)
@ -571,7 +571,7 @@ FUNC(LS_Generic_Floor)
FUNC(LS_Floor_Stop)
// Floor_Stop (tag)
{
return EV_StopFloor(arg0);
return EV_StopFloor(arg0, ln);
}
@ -882,7 +882,7 @@ FUNC(LS_Ceiling_LowerByTexture)
FUNC(LS_Ceiling_Stop)
// Ceiling_Stop (tag)
{
return EV_StopCeiling(arg0);
return EV_StopCeiling(arg0, ln);
}

View file

@ -452,7 +452,7 @@ bool P_CreateCeiling(sector_t *sec, DCeiling::ECeiling type, line_t *line, int t
bool EV_DoCeiling (DCeiling::ECeiling type, line_t *line, int tag, double speed, double speed2, double height, int crush, int silent, int change, DCeiling::ECrushMode hexencrush = DCeiling::ECrushMode::crushDoom);
bool EV_CeilingCrushStop (int tag, bool remove);
bool EV_StopCeiling(int tag);
bool EV_StopCeiling(int tag, line_t *line);
void P_ActivateInStasisCeiling (int tag);
@ -550,7 +550,6 @@ public:
int usespecials);
friend bool EV_DoFloor (DFloor::EFloor floortype, line_t *line, int tag,
double speed, double height, int crush, int change, bool hexencrush, bool hereticlower);
friend bool EV_FloorCrushStop (int tag);
friend bool EV_DoDonut (int tag, line_t *line, double pillarspeed, double slimespeed);
private:
DFloor ();
@ -565,8 +564,8 @@ bool EV_BuildStairs (int tag, DFloor::EStair type, line_t *line,
bool EV_DoFloor(DFloor::EFloor floortype, line_t *line, int tag,
double speed, double height, int crush, int change, bool hexencrush, bool hereticlower = false);
bool EV_FloorCrushStop (int tag);
bool EV_StopFloor(int tag);
bool EV_FloorCrushStop (int tag, line_t *line);
bool EV_StopFloor(int tag, line_t *line);
bool EV_DoDonut (int tag, line_t *line, double pillarspeed, double slimespeed);
class DElevator : public DMover