mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'upside-down-rings' into 'master'
Correctly animate rings in reverse gravity See merge request KartKrew/Kart!159
This commit is contained in:
commit
e9cd3073e0
2 changed files with 25 additions and 5 deletions
|
|
@ -3558,6 +3558,8 @@ void A_BubbleCheck(mobj_t *actor)
|
|||
//
|
||||
void A_AttractChase(mobj_t *actor)
|
||||
{
|
||||
fixed_t z;
|
||||
|
||||
#ifdef HAVE_BLUA
|
||||
if (LUA_CallAction("A_AttractChase", actor))
|
||||
return;
|
||||
|
|
@ -3601,7 +3603,12 @@ void A_AttractChase(mobj_t *actor)
|
|||
{
|
||||
fixed_t offz = FixedMul(80*actor->target->scale, FINESINE(FixedAngle((90 - (9 * abs(10 - actor->extravalue1))) << FRACBITS) >> ANGLETOFINESHIFT));
|
||||
//P_SetScale(actor, (actor->destscale = actor->target->scale));
|
||||
P_TeleportMove(actor, actor->target->x, actor->target->y, actor->target->z + actor->target->height + offz);
|
||||
z = actor->target->z;
|
||||
if (( actor->eflags & MFE_VERTICALFLIP ))
|
||||
z -= actor->height + offz;
|
||||
else
|
||||
z += actor->target->height + offz;
|
||||
P_TeleportMove(actor, actor->target->x, actor->target->y, z);
|
||||
actor->extravalue1++;
|
||||
}
|
||||
}
|
||||
|
|
@ -3628,10 +3635,15 @@ void A_AttractChase(mobj_t *actor)
|
|||
fixed_t dist = (actor->target->radius/4) * (16 - actor->extravalue1);
|
||||
|
||||
P_SetScale(actor, (actor->destscale = actor->target->scale - ((actor->target->scale/14) * actor->extravalue1)));
|
||||
z = actor->target->z;
|
||||
if (( actor->eflags & MFE_VERTICALFLIP ))
|
||||
z += actor->target->height - actor->height - 24 * actor->target->scale;
|
||||
else
|
||||
z += 24 * actor->target->scale;
|
||||
P_TeleportMove(actor,
|
||||
actor->target->x + FixedMul(dist, FINECOSINE(actor->angle >> ANGLETOFINESHIFT)),
|
||||
actor->target->y + FixedMul(dist, FINESINE(actor->angle >> ANGLETOFINESHIFT)),
|
||||
actor->target->z + (24 * actor->target->scale));
|
||||
z);
|
||||
|
||||
actor->angle += ANG30;
|
||||
actor->extravalue1++;
|
||||
|
|
|
|||
14
src/p_mobj.c
14
src/p_mobj.c
|
|
@ -8347,9 +8347,17 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
}
|
||||
|
||||
K_MatchGenericExtraFlags(mobj, mobj->target);
|
||||
P_TeleportMove(mobj, mobj->target->x + FINECOSINE(mobj->angle >> ANGLETOFINESHIFT),
|
||||
mobj->target->y + FINESINE(mobj->angle >> ANGLETOFINESHIFT),
|
||||
mobj->target->z + mobj->target->height);
|
||||
{
|
||||
fixed_t z;
|
||||
z = mobj->target->z;
|
||||
if (( mobj->eflags & MFE_VERTICALFLIP ))
|
||||
z -= mobj->height;
|
||||
else
|
||||
z += mobj->target->height;
|
||||
P_TeleportMove(mobj, mobj->target->x + FINECOSINE(mobj->angle >> ANGLETOFINESHIFT),
|
||||
mobj->target->y + FINESINE(mobj->angle >> ANGLETOFINESHIFT),
|
||||
z);
|
||||
}
|
||||
break;
|
||||
case MT_THUNDERSHIELD:
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue