- Make the new scaled angle changes at frame rate opt-in behind new flag SPF_SCALEDNOLERP.

* This will still test whether the game needs to lerp and will force `SPF_INTERPOLATE` if needed.
This commit is contained in:
Mitchell Richters 2022-12-02 22:24:21 +11:00 committed by Christoph Oelckers
commit 6629944d39
6 changed files with 57 additions and 37 deletions

View file

@ -828,10 +828,13 @@ void R_SetupFrame (FRenderViewpoint &viewpoint, FViewWindow &viewwindow, AActor
I_Error ("You lost your body. Bad dehacked work is likely to blame.");
}
// [MR] Get the input fraction, even if we don't need it this frame. Must run every frame.
const auto scaleAdjust = I_GetInputFrac(false);
// [MR] Process player angle changes if permitted to do so.
if (player && P_NoInterpolation(player, viewpoint.camera))
if (player && (player->cheats & CF_SCALEDNOLERP) && P_NoInterpolation(player, viewpoint.camera))
{
R_DoActorTickerAngleChanges(player, viewpoint.camera, I_GetInputFrac(false));
R_DoActorTickerAngleChanges(player, viewpoint.camera, scaleAdjust);
}
iview = FindPastViewer (viewpoint.camera);