Merge branch 'promiscuousplanes' into 'master'
Headbumps and associated Closes #242 See merge request STJr/SRB2Internal!360
This commit is contained in:
commit
7fedde9811
|
@ -2369,9 +2369,9 @@ boolean P_CheckDeathPitCollide(mobj_t *mo)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (((mo->z <= mo->subsector->sector->floorheight
|
if (((mo->z <= mo->subsector->sector->floorheight
|
||||||
&& !(mo->eflags & MFE_VERTICALFLIP) && (mo->subsector->sector->flags & SF_FLIPSPECIAL_FLOOR))
|
&& ((mo->subsector->sector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || !(mo->eflags & MFE_VERTICALFLIP)) && (mo->subsector->sector->flags & SF_FLIPSPECIAL_FLOOR))
|
||||||
|| (mo->z + mo->height >= mo->subsector->sector->ceilingheight
|
|| (mo->z + mo->height >= mo->subsector->sector->ceilingheight
|
||||||
&& (mo->eflags & MFE_VERTICALFLIP) && (mo->subsector->sector->flags & SF_FLIPSPECIAL_CEILING)))
|
&& ((mo->subsector->sector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || (mo->eflags & MFE_VERTICALFLIP)) && (mo->subsector->sector->flags & SF_FLIPSPECIAL_CEILING)))
|
||||||
&& (GETSECSPECIAL(mo->subsector->sector->special, 1) == 6
|
&& (GETSECSPECIAL(mo->subsector->sector->special, 1) == 6
|
||||||
|| GETSECSPECIAL(mo->subsector->sector->special, 1) == 7))
|
|| GETSECSPECIAL(mo->subsector->sector->special, 1) == 7))
|
||||||
return true;
|
return true;
|
||||||
|
@ -10238,7 +10238,7 @@ void P_SpawnPrecipitation(void)
|
||||||
if (curWeather == PRECIP_SNOW)
|
if (curWeather == PRECIP_SNOW)
|
||||||
{
|
{
|
||||||
// Not in a sector with visible sky -- exception for NiGHTS.
|
// Not in a sector with visible sky -- exception for NiGHTS.
|
||||||
if (!(maptol & TOL_NIGHTS) && precipsector->sector->ceilingpic != skyflatnum)
|
if ((!(maptol & TOL_NIGHTS) && (precipsector->sector->ceilingpic != skyflatnum)) == !(precipsector->sector->flags & SF_INVERTPRECIP))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
rainmo = P_SpawnSnowMobj(x, y, height, MT_SNOWFLAKE);
|
rainmo = P_SpawnSnowMobj(x, y, height, MT_SNOWFLAKE);
|
||||||
|
@ -10251,7 +10251,7 @@ void P_SpawnPrecipitation(void)
|
||||||
else // everything else.
|
else // everything else.
|
||||||
{
|
{
|
||||||
// Not in a sector with visible sky.
|
// Not in a sector with visible sky.
|
||||||
if (precipsector->sector->ceilingpic != skyflatnum)
|
if ((precipsector->sector->ceilingpic != skyflatnum) == !(precipsector->sector->flags & SF_INVERTPRECIP))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
rainmo = P_SpawnRainMobj(x, y, height, MT_RAIN);
|
rainmo = P_SpawnRainMobj(x, y, height, MT_RAIN);
|
||||||
|
|
180
src/p_spec.c
180
src/p_spec.c
|
@ -4174,26 +4174,11 @@ sector_t *P_PlayerTouchingSectorSpecial(player_t *player, INT32 section, INT32 n
|
||||||
// Check the 3D floor's type...
|
// Check the 3D floor's type...
|
||||||
if (rover->flags & FF_BLOCKPLAYER)
|
if (rover->flags & FF_BLOCKPLAYER)
|
||||||
{
|
{
|
||||||
|
boolean floorallowed = ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR) && ((rover->master->frontsector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || !(player->mo->eflags & MFE_VERTICALFLIP)) && (player->mo->z == topheight));
|
||||||
|
boolean ceilingallowed = ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING) && ((rover->master->frontsector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || (player->mo->eflags & MFE_VERTICALFLIP)) && (player->mo->z + player->mo->height == bottomheight));
|
||||||
// Thing must be on top of the floor to be affected...
|
// Thing must be on top of the floor to be affected...
|
||||||
if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR)
|
if (!(floorallowed || ceilingallowed))
|
||||||
&& !(rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING))
|
continue;
|
||||||
{
|
|
||||||
if ((player->mo->eflags & MFE_VERTICALFLIP) || player->mo->z != topheight)
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING)
|
|
||||||
&& !(rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR))
|
|
||||||
{
|
|
||||||
if (!(player->mo->eflags & MFE_VERTICALFLIP)
|
|
||||||
|| player->mo->z + player->mo->height != bottomheight)
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if (rover->master->frontsector->flags & SF_FLIPSPECIAL_BOTH)
|
|
||||||
{
|
|
||||||
if (!((player->mo->eflags & MFE_VERTICALFLIP && player->mo->z + player->mo->height == bottomheight)
|
|
||||||
|| (!(player->mo->eflags & MFE_VERTICALFLIP) && player->mo->z == topheight)))
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -4234,26 +4219,11 @@ sector_t *P_PlayerTouchingSectorSpecial(player_t *player, INT32 section, INT32 n
|
||||||
// Check the 3D floor's type...
|
// Check the 3D floor's type...
|
||||||
if (rover->flags & FF_BLOCKPLAYER)
|
if (rover->flags & FF_BLOCKPLAYER)
|
||||||
{
|
{
|
||||||
|
boolean floorallowed = ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR) && ((rover->master->frontsector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || !(player->mo->eflags & MFE_VERTICALFLIP)) && (player->mo->z == topheight));
|
||||||
|
boolean ceilingallowed = ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING) && ((rover->master->frontsector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || (player->mo->eflags & MFE_VERTICALFLIP)) && (player->mo->z + player->mo->height == bottomheight));
|
||||||
// Thing must be on top of the floor to be affected...
|
// Thing must be on top of the floor to be affected...
|
||||||
if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR)
|
if (!(floorallowed || ceilingallowed))
|
||||||
&& !(rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING))
|
continue;
|
||||||
{
|
|
||||||
if ((player->mo->eflags & MFE_VERTICALFLIP) || player->mo->z != topheight)
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING)
|
|
||||||
&& !(rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR))
|
|
||||||
{
|
|
||||||
if (!(player->mo->eflags & MFE_VERTICALFLIP)
|
|
||||||
|| player->mo->z + player->mo->height != bottomheight)
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if (rover->master->frontsector->flags & SF_FLIPSPECIAL_BOTH)
|
|
||||||
{
|
|
||||||
if (!((player->mo->eflags & MFE_VERTICALFLIP && player->mo->z + player->mo->height == bottomheight)
|
|
||||||
|| (!(player->mo->eflags & MFE_VERTICALFLIP) && player->mo->z == topheight)))
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -4304,26 +4274,11 @@ static boolean P_ThingIsOnThe3DFloor(mobj_t *mo, sector_t *sector, sector_t *tar
|
||||||
// Check the 3D floor's type...
|
// Check the 3D floor's type...
|
||||||
if (rover->flags & FF_BLOCKPLAYER)
|
if (rover->flags & FF_BLOCKPLAYER)
|
||||||
{
|
{
|
||||||
|
boolean floorallowed = ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR) && ((rover->master->frontsector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || !(mo->eflags & MFE_VERTICALFLIP)) && (mo->z == top));
|
||||||
|
boolean ceilingallowed = ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING) && ((rover->master->frontsector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || (mo->eflags & MFE_VERTICALFLIP)) && (mo->z + mo->height == bottom));
|
||||||
// Thing must be on top of the floor to be affected...
|
// Thing must be on top of the floor to be affected...
|
||||||
if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR)
|
if (!(floorallowed || ceilingallowed))
|
||||||
&& !(rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING))
|
continue;
|
||||||
{
|
|
||||||
if ((mo->eflags & MFE_VERTICALFLIP) || mo->z != top)
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING)
|
|
||||||
&& !(rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR))
|
|
||||||
{
|
|
||||||
if (!(mo->eflags & MFE_VERTICALFLIP)
|
|
||||||
|| mo->z + mo->height != bottom)
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else if (rover->master->frontsector->flags & SF_FLIPSPECIAL_BOTH)
|
|
||||||
{
|
|
||||||
if (!((mo->eflags & MFE_VERTICALFLIP && mo->z + mo->height == bottom)
|
|
||||||
|| (!(mo->eflags & MFE_VERTICALFLIP) && mo->z == top)))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -4345,10 +4300,10 @@ static boolean P_ThingIsOnThe3DFloor(mobj_t *mo, sector_t *sector, sector_t *tar
|
||||||
//
|
//
|
||||||
static boolean P_MobjReadyToTrigger(mobj_t *mo, sector_t *sec)
|
static boolean P_MobjReadyToTrigger(mobj_t *mo, sector_t *sec)
|
||||||
{
|
{
|
||||||
if (mo->eflags & MFE_VERTICALFLIP)
|
boolean floorallowed = ((sec->flags & SF_FLIPSPECIAL_FLOOR) && ((sec->flags & SF_TRIGGERSPECIAL_HEADBUMP) || !(mo->eflags & MFE_VERTICALFLIP)) && (mo->z == P_GetSpecialBottomZ(mo, sec, sec)));
|
||||||
return (mo->z+mo->height == P_GetSpecialTopZ(mo, sec, sec) && sec->flags & SF_FLIPSPECIAL_CEILING);
|
boolean ceilingallowed = ((sec->flags & SF_FLIPSPECIAL_CEILING) && ((sec->flags & SF_TRIGGERSPECIAL_HEADBUMP) || (mo->eflags & MFE_VERTICALFLIP)) && (mo->z + mo->height == P_GetSpecialTopZ(mo, sec, sec)));
|
||||||
else
|
// Thing must be on top of the floor to be affected...
|
||||||
return (mo->z == P_GetSpecialBottomZ(mo, sec, sec) && sec->flags & SF_FLIPSPECIAL_FLOOR);
|
return (floorallowed || ceilingallowed);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Applies a sector special to a player.
|
/** Applies a sector special to a player.
|
||||||
|
@ -5312,26 +5267,11 @@ sector_t *P_ThingOnSpecial3DFloor(mobj_t *mo)
|
||||||
if (((rover->flags & FF_BLOCKPLAYER) && mo->player)
|
if (((rover->flags & FF_BLOCKPLAYER) && mo->player)
|
||||||
|| ((rover->flags & FF_BLOCKOTHERS) && !mo->player))
|
|| ((rover->flags & FF_BLOCKOTHERS) && !mo->player))
|
||||||
{
|
{
|
||||||
|
boolean floorallowed = ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR) && ((rover->master->frontsector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || !(mo->eflags & MFE_VERTICALFLIP)) && (mo->z == topheight));
|
||||||
|
boolean ceilingallowed = ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING) && ((rover->master->frontsector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || (mo->eflags & MFE_VERTICALFLIP)) && (mo->z + mo->height == bottomheight));
|
||||||
// Thing must be on top of the floor to be affected...
|
// Thing must be on top of the floor to be affected...
|
||||||
if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR)
|
if (!(floorallowed || ceilingallowed))
|
||||||
&& !(rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING))
|
continue;
|
||||||
{
|
|
||||||
if ((mo->eflags & MFE_VERTICALFLIP) || mo->z != topheight)
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING)
|
|
||||||
&& !(rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR))
|
|
||||||
{
|
|
||||||
if (!(mo->eflags & MFE_VERTICALFLIP)
|
|
||||||
|| mo->z + mo->height != bottomheight)
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if (rover->master->frontsector->flags & SF_FLIPSPECIAL_BOTH)
|
|
||||||
{
|
|
||||||
if (!((mo->eflags & MFE_VERTICALFLIP && mo->z + mo->height == bottomheight)
|
|
||||||
|| (!(mo->eflags & MFE_VERTICALFLIP) && mo->z == topheight)))
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -5374,26 +5314,11 @@ static void P_PlayerOnSpecial3DFloor(player_t *player, sector_t *sector)
|
||||||
// Check the 3D floor's type...
|
// Check the 3D floor's type...
|
||||||
if (rover->flags & FF_BLOCKPLAYER)
|
if (rover->flags & FF_BLOCKPLAYER)
|
||||||
{
|
{
|
||||||
|
boolean floorallowed = ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR) && ((rover->master->frontsector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || !(player->mo->eflags & MFE_VERTICALFLIP)) && (player->mo->z == topheight));
|
||||||
|
boolean ceilingallowed = ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING) && ((rover->master->frontsector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || (player->mo->eflags & MFE_VERTICALFLIP)) && (player->mo->z + player->mo->height == bottomheight));
|
||||||
// Thing must be on top of the floor to be affected...
|
// Thing must be on top of the floor to be affected...
|
||||||
if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR)
|
if (!(floorallowed || ceilingallowed))
|
||||||
&& !(rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING))
|
continue;
|
||||||
{
|
|
||||||
if ((player->mo->eflags & MFE_VERTICALFLIP) || player->mo->z != topheight)
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING)
|
|
||||||
&& !(rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR))
|
|
||||||
{
|
|
||||||
if (!(player->mo->eflags & MFE_VERTICALFLIP)
|
|
||||||
|| player->mo->z + player->mo->height != bottomheight)
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if (rover->master->frontsector->flags & SF_FLIPSPECIAL_BOTH)
|
|
||||||
{
|
|
||||||
if (!((player->mo->eflags & MFE_VERTICALFLIP && player->mo->z + player->mo->height == bottomheight)
|
|
||||||
|| (!(player->mo->eflags & MFE_VERTICALFLIP) && player->mo->z == topheight)))
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -5450,38 +5375,16 @@ static void P_PlayerOnSpecial3DFloor(player_t *player, sector_t *sector)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(po->flags & POF_TESTHEIGHT)) // Don't do height checking
|
if (!(po->flags & POF_TESTHEIGHT)) // Don't do height checking
|
||||||
{
|
;
|
||||||
}
|
|
||||||
else if (po->flags & POF_SOLID)
|
else if (po->flags & POF_SOLID)
|
||||||
{
|
{
|
||||||
|
boolean floorallowed = ((polysec->flags & SF_FLIPSPECIAL_FLOOR) && ((polysec->flags & SF_TRIGGERSPECIAL_HEADBUMP) || !(player->mo->eflags & MFE_VERTICALFLIP)) && (player->mo->z == polysec->ceilingheight));
|
||||||
|
boolean ceilingallowed = ((polysec->flags & SF_FLIPSPECIAL_CEILING) && ((polysec->flags & SF_TRIGGERSPECIAL_HEADBUMP) || (player->mo->eflags & MFE_VERTICALFLIP)) && (player->mo->z + player->mo->height == polysec->floorheight));
|
||||||
// Thing must be on top of the floor to be affected...
|
// Thing must be on top of the floor to be affected...
|
||||||
if ((polysec->flags & SF_FLIPSPECIAL_FLOOR)
|
if (!(floorallowed || ceilingallowed))
|
||||||
&& !(polysec->flags & SF_FLIPSPECIAL_CEILING))
|
|
||||||
{
|
{
|
||||||
if ((player->mo->eflags & MFE_VERTICALFLIP) || player->mo->z != polysec->ceilingheight)
|
po = (polyobj_t *)(po->link.next);
|
||||||
{
|
continue;
|
||||||
po = (polyobj_t *)(po->link.next);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ((polysec->flags & SF_FLIPSPECIAL_CEILING)
|
|
||||||
&& !(polysec->flags & SF_FLIPSPECIAL_FLOOR))
|
|
||||||
{
|
|
||||||
if (!(player->mo->eflags & MFE_VERTICALFLIP)
|
|
||||||
|| player->mo->z + player->mo->height != polysec->floorheight)
|
|
||||||
{
|
|
||||||
po = (polyobj_t *)(po->link.next);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (polysec->flags & SF_FLIPSPECIAL_BOTH)
|
|
||||||
{
|
|
||||||
if (!((player->mo->eflags & MFE_VERTICALFLIP && player->mo->z + player->mo->height == polysec->floorheight)
|
|
||||||
|| (!(player->mo->eflags & MFE_VERTICALFLIP) && player->mo->z == polysec->ceilingheight)))
|
|
||||||
{
|
|
||||||
po = (polyobj_t *)(po->link.next);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -5580,17 +5483,13 @@ static void P_RunSpecialSectorCheck(player_t *player, sector_t *sector)
|
||||||
f_affectpoint = P_GetSpecialBottomZ(player->mo, sector, sector);
|
f_affectpoint = P_GetSpecialBottomZ(player->mo, sector, sector);
|
||||||
c_affectpoint = P_GetSpecialTopZ(player->mo, sector, sector);
|
c_affectpoint = P_GetSpecialTopZ(player->mo, sector, sector);
|
||||||
|
|
||||||
// Only go further if on the ground
|
{
|
||||||
if ((sector->flags & SF_FLIPSPECIAL_FLOOR) && !(sector->flags & SF_FLIPSPECIAL_CEILING) && player->mo->z != f_affectpoint)
|
boolean floorallowed = ((sector->flags & SF_FLIPSPECIAL_FLOOR) && ((sector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || !(player->mo->eflags & MFE_VERTICALFLIP)) && (player->mo->z == f_affectpoint));
|
||||||
return;
|
boolean ceilingallowed = ((sector->flags & SF_FLIPSPECIAL_CEILING) && ((sector->flags & SF_TRIGGERSPECIAL_HEADBUMP) || (player->mo->eflags & MFE_VERTICALFLIP)) && (player->mo->z + player->mo->height == c_affectpoint));
|
||||||
|
// Thing must be on top of the floor to be affected...
|
||||||
if ((sector->flags & SF_FLIPSPECIAL_CEILING) && !(sector->flags & SF_FLIPSPECIAL_FLOOR) && player->mo->z + player->mo->height != c_affectpoint)
|
if (!(floorallowed || ceilingallowed))
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
if ((sector->flags & SF_FLIPSPECIAL_BOTH)
|
|
||||||
&& player->mo->z != f_affectpoint
|
|
||||||
&& player->mo->z + player->mo->height != c_affectpoint)
|
|
||||||
return;
|
|
||||||
|
|
||||||
P_ProcessSpecialSector(player, sector, NULL);
|
P_ProcessSpecialSector(player, sector, NULL);
|
||||||
}
|
}
|
||||||
|
@ -6683,6 +6582,11 @@ void P_SpawnSpecials(INT32 fromnetsave)
|
||||||
|
|
||||||
if (lines[i].flags & ML_EFFECT3)
|
if (lines[i].flags & ML_EFFECT3)
|
||||||
sectors[s].flags |= SF_TRIGGERSPECIAL_TOUCH;
|
sectors[s].flags |= SF_TRIGGERSPECIAL_TOUCH;
|
||||||
|
if (lines[i].flags & ML_EFFECT2)
|
||||||
|
sectors[s].flags |= SF_TRIGGERSPECIAL_HEADBUMP;
|
||||||
|
|
||||||
|
if (lines[i].flags & ML_EFFECT1)
|
||||||
|
sectors[s].flags |= SF_INVERTPRECIP;
|
||||||
|
|
||||||
if (lines[i].frontsector && GETSECSPECIAL(lines[i].frontsector->special, 4) == 12)
|
if (lines[i].frontsector && GETSECSPECIAL(lines[i].frontsector->special, 4) == 12)
|
||||||
sectors[s].camsec = sides[*lines[i].sidenum].sector-sectors;
|
sectors[s].camsec = sides[*lines[i].sidenum].sector-sectors;
|
||||||
|
|
13
src/r_defs.h
13
src/r_defs.h
|
@ -263,10 +263,15 @@ typedef struct pslope_s
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
SF_FLIPSPECIAL_FLOOR = 1,
|
// flipspecial - planes with effect
|
||||||
SF_FLIPSPECIAL_CEILING = 2,
|
SF_FLIPSPECIAL_FLOOR = 1,
|
||||||
SF_FLIPSPECIAL_BOTH = 3,
|
SF_FLIPSPECIAL_CEILING = 1<<1,
|
||||||
SF_TRIGGERSPECIAL_TOUCH = 4,
|
SF_FLIPSPECIAL_BOTH = (SF_FLIPSPECIAL_FLOOR|SF_FLIPSPECIAL_CEILING),
|
||||||
|
// triggerspecial - conditions under which plane touch causes effect
|
||||||
|
SF_TRIGGERSPECIAL_TOUCH = 1<<2,
|
||||||
|
SF_TRIGGERSPECIAL_HEADBUMP = 1<<3,
|
||||||
|
// invertprecip - inverts presence of precipitation
|
||||||
|
SF_INVERTPRECIP = 1<<4,
|
||||||
} sectorflags_t;
|
} sectorflags_t;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue