diff --git a/src/g_input.c b/src/g_input.c index 30721077..b0afa793 100644 --- a/src/g_input.c +++ b/src/g_input.c @@ -178,6 +178,11 @@ void G_UpdateControllerVariables(void) { joy_scale_angle = angleturn[1] * direction[joy_invert_turn]; joy_scale_pitch = angleturn[1] * direction[joy_invert_look] * FRACUNIT; + + if (correct_aspect_ratio) + { + joy_scale_pitch /= 1.2; + } } void G_UpdateDeltaTics(void) @@ -303,6 +308,11 @@ void G_UpdateMouseVariables(void) { mouse_sens_pitch = ((double)(mouse_sensitivity_y_look + 5) * 8 / 10 * direction[mouse_y_invert] * FRACUNIT); + + if (correct_aspect_ratio) + { + mouse_sens_pitch /= 1.2; + } } if (mouse_sensitivity_strafe) diff --git a/src/i_video.c b/src/i_video.c index ecd69b67..06b3a951 100644 --- a/src/i_video.c +++ b/src/i_video.c @@ -83,7 +83,7 @@ boolean toggle_fullscreen; boolean toggle_exclusive_fullscreen; static boolean use_vsync; // killough 2/8/98: controls whether vsync is called -static boolean correct_aspect_ratio; +boolean correct_aspect_ratio; static int fpslimit; // when uncapped, limit framerate to this value static boolean fullscreen; static boolean exclusive_fullscreen; diff --git a/src/i_video.h b/src/i_video.h index 91d3d899..222d5da4 100644 --- a/src/i_video.h +++ b/src/i_video.h @@ -77,6 +77,7 @@ extern boolean resetneeded; extern boolean setrefreshneeded; extern boolean toggle_fullscreen; extern boolean toggle_exclusive_fullscreen; +extern boolean correct_aspect_ratio; extern boolean screenvisible; extern int gamma2; diff --git a/src/p_user.c b/src/p_user.c index 3d3b4c40..4d6786ef 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -45,16 +45,7 @@ static fixed_t PlayerSlope(player_t *player) { const fixed_t pitch = player->pitch; - - if (pitch) - { - const fixed_t slope = -finetangent[(ANG90 - pitch) >> ANGLETOFINESHIFT]; - return (fixed_t)((int64_t)slope * SCREENHEIGHT / ACTUALHEIGHT); - } - else - { - return 0; - } + return pitch ? -finetangent[(ANG90 - pitch) >> ANGLETOFINESHIFT] : 0; } // Index of the special effects (INVUL inverse) map. diff --git a/src/r_main.c b/src/r_main.c index b31b8c6e..84f21dfe 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -497,7 +497,6 @@ static void R_SetupFreelook(void) if (viewpitch) { dy = FixedMul(projection, -finetangent[(ANG90 - viewpitch) >> ANGLETOFINESHIFT]); - dy = (fixed_t)((int64_t)dy * SCREENHEIGHT / ACTUALHEIGHT); } else {