This commit is contained in:
Christoph Oelckers 2016-03-08 21:29:45 +01:00
commit 03e3410d7f
4 changed files with 15 additions and 9 deletions

View file

@ -161,7 +161,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_ThrustImpale)
while (it.Next(&cres))
{
fixed_t blockdist = self->radius + cres.thing->radius;
if (abs(self->X() - cres.position.x) >= blockdist || abs(self->Y() - cres.position.y) >= blockdist)
if (abs(cres.thing->X() - cres.position.x) >= blockdist || abs(cres.thing->Y() - cres.position.y) >= blockdist)
continue;
// Q: Make this z-aware for everything? It never was before.

View file

@ -5527,7 +5527,7 @@ void P_FindAboveIntersectors(AActor *actor)
{
AActor *thing = cres.thing;
fixed_t blockdist = actor->radius + thing->radius;
if (abs(actor->X() - cres.position.x) >= blockdist || abs(actor->Y() - cres.position.y) >= blockdist)
if (abs(thing->X() - cres.position.x) >= blockdist || abs(thing->Y() - cres.position.y) >= blockdist)
continue;
if (!(thing->flags & MF_SOLID))
@ -5583,7 +5583,7 @@ void P_FindBelowIntersectors(AActor *actor)
{
AActor *thing = cres.thing;
fixed_t blockdist = actor->radius + thing->radius;
if (abs(actor->X() - cres.position.x) >= blockdist || abs(actor->Y() - cres.position.y) >= blockdist)
if (abs(thing->X() - cres.position.x) >= blockdist || abs(thing->Y() - cres.position.y) >= blockdist)
continue;
if (!(thing->flags & MF_SOLID))

View file

@ -1677,9 +1677,10 @@ int FPathTraverse::PortalRelocate(intercept_t *in, int flags, fixedvec3 *optpos)
P_TranslatePortalXY(in->d.line, optpos->x, optpos->y);
P_TranslatePortalZ(in->d.line, optpos->z);
}
line_t *saved = in->d.line; // this gets overwriitten by the init call.
intercepts.Resize(intercept_index);
init(hitx, hity, endx, endy, flags, in->frac);
return in->d.line->getPortal()->mType == PORTT_LINKED? 1:-1;
return saved->getPortal()->mType == PORTT_LINKED? 1:-1;
}
//===========================================================================

View file

@ -112,11 +112,11 @@ enum
342 = 0, Stairs_BuildUpDoomSync(0)
343 = 0, Stairs_BuildDownDoomSync(0)
// Two-way portals are not supported yet either
344 = 0, Unsupported() // "Portal_TwowayCeiling"
345 = 0, Unsupported() // "Portal_TwowayFloor"
346 = 0, Unsupported() // "Portal_TwowayAnchorLine"
347 = 0, Unsupported() // "Portal_TwowayAnchorLineFloor"
// Two-way portals are just the same as the simple types.
344 = 0, Sector_SetPortal(tag, 0, 1, 1, 0) // "Portal_AnchoredCeiling"
345 = 0, Sector_SetPortal(tag, 0, 0, 1, 0) // "Portal_AnchoredFloor"
346 = 0, Sector_SetPortal(tag, 0, 1, 0, 0) // "Portal_AnchorLine"
347 = 0, Sector_SetPortal(tag, 0, 0, 0, 0) // "Portal_AnchorLineFloor"
// More parameterized linedefs
348 = 0, Polyobj_StartLine(0)
@ -215,3 +215,8 @@ enum
428 = 0, Thing_Destroy(0)
429 = 0, Door_LockedRaise(0)
430 = 0, ACS_LockedExecute(0)
431 = 0, Floor_Donut(0)
432 = 0, Ceiling_CrushAndRaise(0)
433 = 0, Ceiling_CrushStop(0)
434 = 0, Ceiling_CrushRaiseAndStay(0)
435 = 0, Ceiling_LowerAndCrush(0)