diff --git a/src/p_mobj.c b/src/p_mobj.c index 80b50115..9fd4d11c 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -48,11 +48,13 @@ #include "z_zone.h" boolean direct_vertical_aiming, default_direct_vertical_aiming; +int max_pitch_angle = 32 * ANG1; void P_UpdateDirectVerticalAiming(void) { direct_vertical_aiming = (CRITICAL(default_direct_vertical_aiming) && (mouselook || padlook)); + max_pitch_angle = direct_vertical_aiming ? ANG45 : 32 * ANG1; } // diff --git a/src/p_mobj.h b/src/p_mobj.h index 3538c710..2a9abe8f 100644 --- a/src/p_mobj.h +++ b/src/p_mobj.h @@ -420,6 +420,7 @@ extern int iquehead; extern int iquetail; extern boolean direct_vertical_aiming, default_direct_vertical_aiming; +extern int max_pitch_angle; void P_UpdateDirectVerticalAiming(void); extern boolean checksight12; diff --git a/src/p_user.c b/src/p_user.c index 38b95451..204f4e3f 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -250,7 +250,7 @@ void P_MovePlayer (player_t* player) if (!menuactive && !demoplayback && !player->centering) { player->pitch += cmd->pitch << FRACBITS; - player->pitch = BETWEEN(-MAX_PITCH_ANGLE, MAX_PITCH_ANGLE, player->pitch); + player->pitch = BETWEEN(-max_pitch_angle, max_pitch_angle, player->pitch); player->slope = PlayerSlope(player); } } diff --git a/src/r_main.c b/src/r_main.c index e2cc68fd..960a68ae 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -805,7 +805,7 @@ void R_SetupFrame (player_t *player) if (use_localview && raw_input && !player->centering) { pitch = player->pitch + localview.pitch; - pitch = BETWEEN(-MAX_PITCH_ANGLE, MAX_PITCH_ANGLE, pitch); + pitch = BETWEEN(-max_pitch_angle, max_pitch_angle, pitch); } else { diff --git a/src/r_main.h b/src/r_main.h index e6e10d9f..946c67f9 100644 --- a/src/r_main.h +++ b/src/r_main.h @@ -32,8 +32,6 @@ struct seg_s; // POV related. // -#define MAX_PITCH_ANGLE (32 * ANG1) - extern fixed_t viewcos; extern fixed_t viewsin; extern int viewwindowx;