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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
mobj->extravalue1 += 1;
|
|
||||||
|
|
||||||
mobj->angle += ANG1*mobj->extravalue1;
|
mobj->angle += ANG1*mobj->extravalue1;
|
||||||
P_SetScale(mobj, mobj->target->scale);
|
mobj->extravalue1 += 1;
|
||||||
|
P_InstaScale(mobj, mobj->target->scale);
|
||||||
|
|
||||||
destx = mobj->target->x;
|
destx = mobj->target->x;
|
||||||
desty = mobj->target->y;
|
desty = mobj->target->y;
|
||||||
|
|
@ -8438,6 +8437,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
||||||
if (mobj->flags2 & MF2_AMBUSH)
|
if (mobj->flags2 & MF2_AMBUSH)
|
||||||
{
|
{
|
||||||
P_SetOrigin(mobj, destx, desty, mobj->target->z + zoff);
|
P_SetOrigin(mobj, destx, desty, mobj->target->z + zoff);
|
||||||
|
mobj->old_angle = mobj->angle;
|
||||||
mobj->flags2 &= ~MF2_AMBUSH;
|
mobj->flags2 &= ~MF2_AMBUSH;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -8462,7 +8462,8 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (leveltime & 1)
|
// Flicker every other frame from first visibility
|
||||||
|
if (mobj->flags2 & MF2_BOSSDEAD)
|
||||||
{
|
{
|
||||||
mobj->renderflags |= RF_DONTDRAW;
|
mobj->renderflags |= RF_DONTDRAW;
|
||||||
}
|
}
|
||||||
|
|
@ -8472,8 +8473,13 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
||||||
mobj->renderflags |= (mobj->target->renderflags & RF_DONTDRAW);
|
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;
|
mobj->angle += mobj->movedir;
|
||||||
P_SetScale(mobj, mobj->target->scale);
|
P_InstaScale(mobj, scale);
|
||||||
|
|
||||||
destx = mobj->target->x;
|
destx = mobj->target->x;
|
||||||
desty = mobj->target->y;
|
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);
|
destx += P_ReturnThrustX(mobj, mobj->angle - ANGLE_90, mobj->radius*2);
|
||||||
desty += P_ReturnThrustY(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)
|
if (mobj->eflags & MFE_VERTICALFLIP)
|
||||||
zoff += mobj->target->height - mobj->height;
|
zoff += mobj->target->height - mobj->height;
|
||||||
|
|
||||||
|
|
@ -8493,6 +8496,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
||||||
if (mobj->flags2 & MF2_AMBUSH)
|
if (mobj->flags2 & MF2_AMBUSH)
|
||||||
{
|
{
|
||||||
P_SetOrigin(mobj, destx, desty, mobj->target->z + zoff);
|
P_SetOrigin(mobj, destx, desty, mobj->target->z + zoff);
|
||||||
|
mobj->old_angle = mobj->angle;
|
||||||
mobj->flags2 &= ~MF2_AMBUSH;
|
mobj->flags2 &= ~MF2_AMBUSH;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue