mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-15 17:22:12 +00:00
Fixed that really annoying bug where you disappear when spindashing on top of a FOF whilst wearing a multi-layer shield.
(the problem was that MT_OVERLAY's default radius and height were never getting changed from 1*FRACUNIT, and that meant that when you spindashed, the game considered it completely below the surface of the flat you were standing on. Since you're not usually clipped on flats that don't belong to FOFs, we didn't notice this issue sooner.)
This commit is contained in:
parent
b949f49c68
commit
8881a413f3
1 changed files with 4 additions and 0 deletions
|
@ -5930,6 +5930,8 @@ static boolean P_ShieldLook(mobj_t *thing, shieldtype_t shield)
|
|||
P_UnsetThingPosition(thing);
|
||||
thing->x = thing->target->x;
|
||||
thing->y = thing->target->y;
|
||||
thing->radius = thing->target->radius;
|
||||
thing->height = thing->target->height;
|
||||
if (thing->eflags & MFE_VERTICALFLIP)
|
||||
thing->z = thing->target->z + thing->target->height - thing->height + FixedDiv(P_GetPlayerHeight(thing->target->player) - thing->target->height, 3*FRACUNIT) - FixedMul(2*FRACUNIT, thing->target->scale);
|
||||
else
|
||||
|
@ -6048,6 +6050,8 @@ void P_RunOverlays(void)
|
|||
P_UnsetThingPosition(mo);
|
||||
mo->x = destx;
|
||||
mo->y = desty;
|
||||
mo->radius = mo->target->radius;
|
||||
mo->height = mo->target->height;
|
||||
if (mo->eflags & MFE_VERTICALFLIP)
|
||||
mo->z = (mo->target->z + mo->target->height - mo->height) - zoffs;
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue