Tilt 90 degrees off half pipe

This commit is contained in:
James R 2021-04-06 15:33:55 -07:00
parent bdc4b50de2
commit f1a2a0a20d
2 changed files with 14 additions and 0 deletions

View file

@ -523,6 +523,7 @@ void P_Thrust(mobj_t *mo, angle_t angle, fixed_t move);
void P_ExplodeMissile(mobj_t *mo);
void P_CheckGravity(mobj_t *mo, boolean affect);
void P_SetPitchRollFromSlope(mobj_t *mo, pslope_t *slope);
void P_SetPitchRoll(mobj_t *mo, angle_t pitch, angle_t yaw);
fixed_t P_ScaleFromMap(fixed_t n, fixed_t scale);
fixed_t P_GetMobjHead(const mobj_t *);
fixed_t P_GetMobjFeet(const mobj_t *);

View file

@ -1250,6 +1250,17 @@ void P_SetPitchRollFromSlope(mobj_t *mo, pslope_t *slope)
}
}
//
// P_SetPitchRoll
//
void P_SetPitchRoll(mobj_t *mo, angle_t pitch, angle_t yaw)
{
pitch = InvAngle(pitch);
yaw >>= ANGLETOFINESHIFT;
mo->roll = FixedMul(pitch, FINESINE (yaw));
mo->pitch = FixedMul(pitch, FINECOSINE (yaw));
}
#define STOPSPEED (FRACUNIT)
//
@ -1662,6 +1673,8 @@ void P_XYMovement(mobj_t *mo)
{
mo->momz = transfermomz;
mo->standingslope = NULL;
P_SetPitchRoll(mo, ANGLE_90,
transferslope->xydirection);
if (player)
{
player->powers[pw_justlaunched] = 2;