Solid objects are now no longer selectively intangible on slopes.

HOWEVER, since these changes to PIT_CheckThing do raise questions about whether there may be unintended side effects here. As a result, I may remake this for internal only if necessary.
This commit is contained in:
toasterbabe 2016-09-22 00:13:34 +01:00
parent e62c0794dc
commit b8345aaf27

View file

@ -985,7 +985,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
return true;
}
topz = thing->z - FixedMul(FRACUNIT, thing->scale);
topz = thing->z - thing->scale;
// block only when jumping not high enough,
// (dont climb max. 24units while already in air)
@ -996,7 +996,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
if (thing->flags & MF_SPRING)
;
else if (topz < tmceilingz && tmthing->z+tmthing->height <= thing->z+thing->height)
else if (topz < tmceilingz && tmthing->z <= thing->z+thing->height)
{
tmceilingz = topz;
#ifdef ESLOPE
@ -1022,7 +1022,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
return true;
}
topz = thing->z + thing->height + FixedMul(FRACUNIT, thing->scale);
topz = thing->z + thing->height + thing->scale;
// block only when jumping not high enough,
// (dont climb max. 24units while already in air)
@ -1032,7 +1032,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
if (thing->flags & MF_SPRING)
;
else if (topz > tmfloorz && tmthing->z >= thing->z)
else if (topz > tmfloorz && tmthing->z+tmthing->height >= thing->z)
{
tmfloorz = topz;
#ifdef ESLOPE