Make the stuff that lost it use K_MomentumAngle again

This commit is contained in:
Sally Coolatta 2020-11-08 02:10:53 -05:00
parent 470e399abe
commit 9434dd3ae3
2 changed files with 12 additions and 16 deletions

View file

@ -3262,7 +3262,7 @@ void K_SpawnBoostTrail(player_t *player)
if (player->kartstuff[k_drift] != 0)
travelangle = player->mo->angle;
else
travelangle = R_PointToAngle2(0, 0, player->rmomx, player->rmomy);
travelangle = K_MomentumAngle(player->mo);
for (i = 0; i < 2; i++)
{
@ -3354,7 +3354,7 @@ void K_SpawnWipeoutTrail(mobj_t *mo, boolean translucent)
mo->z, MT_WIPEOUTTRAIL);
P_SetTarget(&dust->target, mo);
dust->angle = R_PointToAngle2(0,0,mo->momx,mo->momy);
dust->angle = K_MomentumAngle(mo);
dust->destscale = mo->scale;
P_SetScale(dust, mo->scale);
K_FlipFromObject(dust, mo);

View file

@ -1620,8 +1620,10 @@ void P_XYMovement(mobj_t *mo)
relation = transferslope->xydirection - R_PointToAngle2(0, 0, mo->momx, mo->momy);
else // Give it for free, I guess.
relation = ANGLE_90;
transfermomz = FixedMul(transfermomz,
abs(FINESINE((relation >> ANGLETOFINESHIFT) & FINEMASK)));
if (P_MobjFlip(mo)*(transfermomz - mo->momz) > 2*FRACUNIT) // Do the actual launch!
{
mo->momz = transfermomz;
@ -1696,7 +1698,7 @@ void P_XYMovement(mobj_t *mo)
if (oldslope != mo->standingslope) { // First, compare different slopes
angle_t oldangle, newangle;
angle_t moveangle = R_PointToAngle2(0, 0, mo->momx, mo->momy);
angle_t moveangle = K_MomentumAngle(mo);
oldangle = FixedMul((signed)oldslope->zangle, FINECOSINE((moveangle - oldslope->xydirection) >> ANGLETOFINESHIFT));
@ -1728,7 +1730,7 @@ void P_XYMovement(mobj_t *mo)
P_SlopeLaunch(mo);
}
} else if (moved && mo->standingslope && predictedz) {
angle_t moveangle = R_PointToAngle2(0, 0, mo->momx, mo->momy);
angle_t moveangle = K_MomentumAngle(mo);
angle_t newangle = FixedMul((signed)mo->standingslope->zangle, FINECOSINE((moveangle - mo->standingslope->xydirection) >> ANGLETOFINESHIFT));
/*CONS_Printf("flat to angle %f - predicted z of %f\n",
@ -6137,7 +6139,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
frictionsafety = FRACUNIT;
}
mobj->angle = R_PointToAngle2(0, 0, mobj->momx, mobj->momy);
mobj->angle = K_MomentumAngle(mobj);
if (mobj->health <= 5)
{
INT32 i;
@ -6239,7 +6241,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
thrustamount = beatfriction + FixedDiv(mobj->movefactor - currentspeed, frictionsafety);
}
mobj->angle = R_PointToAngle2(0, 0, mobj->momx, mobj->momy);
mobj->angle = K_MomentumAngle(mobj);
P_Thrust(mobj, mobj->angle, thrustamount);
if (P_MobjTouchingSectorSpecial(mobj, 3, 1, true))
@ -6402,7 +6404,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
//mobj->angle = mobj->target->angle;
{
angle_t angle = R_PointToAngle2(0, 0, mobj->target->momx, mobj->target->momy);
angle_t angle = K_MomentumAngle(mobj->target);
fixed_t nudge;
mobj->angle = angle;
@ -6670,7 +6672,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
{
const angle_t off = FixedAngle(40*FRACUNIT);
angle_t ang = mobj->target->angle;
angle_t ang = K_MomentumAngle(mobj->target);
fixed_t z;
UINT8 trans = (mobj->target->player->kartstuff[k_tiregrease] * (NUMTRANSMAPS+1)) / greasetics;
@ -6683,9 +6685,6 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
if (mobj->eflags & MFE_VERTICALFLIP)
z += mobj->target->height;
if (mobj->target->momx || mobj->target->momy)
ang = R_PointToAngle2(0, 0, mobj->target->momx, mobj->target->momy);
if (mobj->extravalue1)
ang = (signed)(ang - off);
else
@ -6980,10 +6979,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
}
P_TeleportMove(mobj, destx, desty, mobj->target->z);
if (mobj->target->momx || mobj->target->momy)
mobj->angle = R_PointToAngle2(0, 0, mobj->target->momx, mobj->target->momy);
else
mobj->angle = mobj->target->angle;
mobj->angle = K_MomentumAngle(mobj->target);
if (underlayst != S_NULL)
{
@ -7860,7 +7856,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
mobj->momx = (23*mobj->momx)/24;
mobj->momy = (23*mobj->momy)/24;
mobj->angle = R_PointToAngle2(0,0,mobj->momx,mobj->momy);
mobj->angle = K_MomentumAngle(mobj);
if ((mobj->z - mobj->floorz) < (24*mobj->scale) && (leveltime % 3 != 0))
{