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_ExplodeMissile(mobj_t *mo);
void P_CheckGravity(mobj_t *mo, boolean affect); void P_CheckGravity(mobj_t *mo, boolean affect);
void P_SetPitchRollFromSlope(mobj_t *mo, pslope_t *slope); 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_ScaleFromMap(fixed_t n, fixed_t scale);
fixed_t P_GetMobjHead(const mobj_t *); fixed_t P_GetMobjHead(const mobj_t *);
fixed_t P_GetMobjFeet(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) #define STOPSPEED (FRACUNIT)
// //
@ -1662,6 +1673,8 @@ void P_XYMovement(mobj_t *mo)
{ {
mo->momz = transfermomz; mo->momz = transfermomz;
mo->standingslope = NULL; mo->standingslope = NULL;
P_SetPitchRoll(mo, ANGLE_90,
transferslope->xydirection);
if (player) if (player)
{ {
player->powers[pw_justlaunched] = 2; player->powers[pw_justlaunched] = 2;