diff --git a/src/d_ticcmd.h b/src/d_ticcmd.h index 7ab85313..bd270f04 100644 --- a/src/d_ticcmd.h +++ b/src/d_ticcmd.h @@ -36,7 +36,7 @@ typedef struct ticcmd_s byte chatchar; byte buttons; - int pitch; + short pitch; short ticangleturn; // Local angle delta for composite input only. } ticcmd_t; diff --git a/src/g_game.c b/src/g_game.c index ededf463..bd7245dd 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -538,7 +538,7 @@ void G_PrepGyroTiccmd(void) if (gyro_axes[GYRO_LOOK]) { - localview.rawpitch += gyro_axes[GYRO_LOOK] * FRACUNIT; + localview.rawpitch += gyro_axes[GYRO_LOOK]; basecmd.pitch = G_CarryPitch(localview.rawpitch); gyro_axes[GYRO_LOOK] = 0.0f; } diff --git a/src/g_input.c b/src/g_input.c index c8cdebc8..7cb4f510 100644 --- a/src/g_input.c +++ b/src/g_input.c @@ -146,10 +146,11 @@ void G_UpdateAngleFunctions(void) } } -int G_CarryPitch(double pitch) +short G_CarryPitch(double pitch) { - return (localview.pitch = - CarryError(pitch, &prevcarry.pitch, &carry.pitch)); + const short result = CarryError(pitch, &prevcarry.pitch, &carry.pitch); + localview.pitch = result << FRACBITS; + return result; } int G_CarrySide(double side) @@ -204,7 +205,7 @@ void G_UpdateGamepadVariables(void) if (I_StandardLayout()) { joy_scale_angle = ANALOG_MULT * direction[joy_invert_turn]; - joy_scale_pitch = ANALOG_MULT * direction[joy_invert_look] * FRACUNIT; + joy_scale_pitch = ANALOG_MULT * direction[joy_invert_look]; if (correct_aspect_ratio) { @@ -312,7 +313,7 @@ void G_UpdateMouseVariables(void) if (mouse_sensitivity_y_look) { mouse_sens_pitch = ((double)(mouse_sensitivity_y_look + 5) * 8 / 10 - * direction[mouse_y_invert] * FRACUNIT); + * direction[mouse_y_invert]); if (correct_aspect_ratio) { diff --git a/src/g_input.h b/src/g_input.h index 36f549dc..0929f288 100644 --- a/src/g_input.h +++ b/src/g_input.h @@ -31,7 +31,7 @@ void G_ClearCarry(void); extern short (*G_CarryAngleTic)(double angle); extern short (*G_CarryAngle)(double angle); void G_UpdateAngleFunctions(void); -int G_CarryPitch(double pitch); +short G_CarryPitch(double pitch); int G_CarrySide(double side); int G_CarryVert(double vert); diff --git a/src/p_user.c b/src/p_user.c index cd490417..295ef53c 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; + player->pitch += cmd->pitch << FRACBITS; player->pitch = BETWEEN(-MAX_PITCH_ANGLE, MAX_PITCH_ANGLE, player->pitch); player->slope = PlayerSlope(player); }