mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
MT_MAGICIANBOX, MT_SIDETRICK: Fix some more interp issues
Also guarantees that MT_SIDETRICK will be visible for the first frame of the trick, since it was invisible for the entire duration of catholocism.
This commit is contained in:
parent
49fb2fe6b6
commit
73f67f4c94
1 changed files with 12 additions and 8 deletions
20
src/p_mobj.c
20
src/p_mobj.c
|
|
@ -8408,10 +8408,9 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
|||
return true;
|
||||
}
|
||||
|
||||
mobj->extravalue1 += 1;
|
||||
|
||||
mobj->angle += ANG1*mobj->extravalue1;
|
||||
P_SetScale(mobj, mobj->target->scale);
|
||||
mobj->extravalue1 += 1;
|
||||
P_InstaScale(mobj, mobj->target->scale);
|
||||
|
||||
destx = mobj->target->x;
|
||||
desty = mobj->target->y;
|
||||
|
|
@ -8438,6 +8437,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
|||
if (mobj->flags2 & MF2_AMBUSH)
|
||||
{
|
||||
P_SetOrigin(mobj, destx, desty, mobj->target->z + zoff);
|
||||
mobj->old_angle = mobj->angle;
|
||||
mobj->flags2 &= ~MF2_AMBUSH;
|
||||
}
|
||||
else
|
||||
|
|
@ -8462,7 +8462,8 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
|||
return false;
|
||||
}
|
||||
|
||||
if (leveltime & 1)
|
||||
// Flicker every other frame from first visibility
|
||||
if (mobj->flags2 & MF2_BOSSDEAD)
|
||||
{
|
||||
mobj->renderflags |= RF_DONTDRAW;
|
||||
}
|
||||
|
|
@ -8472,8 +8473,13 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
|||
mobj->renderflags |= (mobj->target->renderflags & RF_DONTDRAW);
|
||||
}
|
||||
|
||||
mobj->eflags = (mobj->eflags & ~MFE_VERTICALFLIP)|(mobj->target->eflags & MFE_VERTICALFLIP);
|
||||
mobj->flags2 = ((mobj->flags2 & ~MF2_OBJECTFLIP)|(mobj->target->flags2 & MF2_OBJECTFLIP)) ^ MF2_BOSSDEAD;
|
||||
|
||||
fixed_t scale = mobj->target->scale;
|
||||
|
||||
mobj->angle += mobj->movedir;
|
||||
P_SetScale(mobj, mobj->target->scale);
|
||||
P_InstaScale(mobj, scale);
|
||||
|
||||
destx = mobj->target->x;
|
||||
desty = mobj->target->y;
|
||||
|
|
@ -8481,9 +8487,6 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
|||
destx += P_ReturnThrustX(mobj, mobj->angle - ANGLE_90, mobj->radius*2);
|
||||
desty += P_ReturnThrustY(mobj, mobj->angle - ANGLE_90, mobj->radius*2);
|
||||
|
||||
mobj->eflags = (mobj->eflags & ~MFE_VERTICALFLIP)|(mobj->target->eflags & MFE_VERTICALFLIP);
|
||||
mobj->flags2 = (mobj->flags2 & ~MF2_OBJECTFLIP)|(mobj->target->flags2 & MF2_OBJECTFLIP);
|
||||
|
||||
if (mobj->eflags & MFE_VERTICALFLIP)
|
||||
zoff += mobj->target->height - mobj->height;
|
||||
|
||||
|
|
@ -8493,6 +8496,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
|||
if (mobj->flags2 & MF2_AMBUSH)
|
||||
{
|
||||
P_SetOrigin(mobj, destx, desty, mobj->target->z + zoff);
|
||||
mobj->old_angle = mobj->angle;
|
||||
mobj->flags2 &= ~MF2_AMBUSH;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue