Support ceiling/backsector vertex slopes

This commit is contained in:
RedEnchilada 2015-08-03 23:09:50 -05:00
parent 1f5fc04d60
commit 50b5e978cc
1 changed files with 33 additions and 6 deletions

View File

@ -953,20 +953,47 @@ void P_ResetDynamicSlopes(void) {
break; break;
case 704: case 704:
case 705:
case 714:
case 715:
{ {
pslope_t **slopetoset;
size_t which = lines[i].special;
UINT8 flags = SL_VERTEXSLOPE; UINT8 flags = SL_VERTEXSLOPE;
if (lines[i].flags & ML_NOSONIC) if (lines[i].flags & ML_NOSONIC)
flags |= SL_NOPHYSICS; flags |= SL_NOPHYSICS;
if (!(lines[i].flags & ML_NOTAILS)) if (!(lines[i].flags & ML_NOTAILS))
flags |= SL_NODYNAMIC; flags |= SL_NODYNAMIC;
if (lines[i].flags & ML_NOKNUX) if (which == 704)
lines[i].frontsector->f_slope = P_NewVertexSlope(lines[i].tag, sides[lines[i].sidenum[0]].textureoffset >> FRACBITS, {
sides[lines[i].sidenum[0]].rowoffset >> FRACBITS, flags); slopetoset = &lines[i].frontsector->f_slope;
else which = 0;
lines[i].frontsector->f_slope = P_NewVertexSlope(lines[i].tag, lines[i].tag, lines[i].tag, flags); }
else if (which == 705)
{
slopetoset = &lines[i].frontsector->c_slope;
which = 0;
}
else if (which == 714)
{
slopetoset = &lines[i].backsector->f_slope;
which = 1;
}
else // 715
{
slopetoset = &lines[i].backsector->c_slope;
which = 1;
}
lines[i].frontsector->hasslope = true; if (lines[i].flags & ML_NOKNUX)
*slopetoset = P_NewVertexSlope(lines[i].tag, sides[lines[i].sidenum[which]].textureoffset >> FRACBITS,
sides[lines[i].sidenum[which]].rowoffset >> FRACBITS, flags);
else
*slopetoset = P_NewVertexSlope(lines[i].tag, lines[i].tag, lines[i].tag, flags);
sides[lines[i].sidenum[which]].sector->hasslope = true;
} }
break; break;