Skip to content

Fix Camera Interpolation Never Being Reset (Resolves #1026 and #976)

SMS Alfredo requested to merge SMS_Alfredo/SRB2:camrea-fiz into next

Turns out, P_ResetCamera, which is supposed to set camera->reset and cause the camera interpolation to reset, actually never resets the camera interpolation. That's because the camera interpolation reset code is inside R_ViewpointHasChasecam, which is only ever called when the game needs to check for if it should apply OGL Shearing when it's set to Third Person Only.

This merge request fixes that by calling R_ViewpointHasChasecam in R_SetupFrame as well. Thus R_ViewpointHasChasecam will be called every frame, and thus the camera will always reset properly when it needs to.

I also refactored R_ViewpointHasChasecam slightly, so that it will always reset the camera upon camera->chasedcam being reset.

Edited by SMS Alfredo

Merge request reports