Skip to content
Snippets Groups Projects
Commit 8fb939df authored by Sal's avatar Sal Committed by Eidolon
Browse files

Add functions to handle interpolation

Much less code duplication
parent ca8698d1
No related branches found
No related tags found
1 merge request!1783Uncapped
...@@ -177,6 +177,26 @@ void R_SetViewContext(enum viewcontext_e _viewcontext) ...@@ -177,6 +177,26 @@ void R_SetViewContext(enum viewcontext_e _viewcontext)
} }
} }
fixed_t R_InterpolateFixed(fixed_t from, fixed_t to)
{
if (cv_frameinterpolation.value == 0)
{
return to;
}
return (R_LerpFixed(from, to, rendertimefrac));
}
angle_t R_InterpolateAngle(angle_t from, angle_t to)
{
if (cv_frameinterpolation.value == 0)
{
return to;
}
return (R_LerpAngle(from, to, rendertimefrac));
}
void R_InterpolateMobjState(mobj_t *mobj, fixed_t frac, interpmobjstate_t *out) void R_InterpolateMobjState(mobj_t *mobj, fixed_t frac, interpmobjstate_t *out)
{ {
out->x = R_LerpFixed(mobj->old_x, mobj->x, frac); out->x = R_LerpFixed(mobj->old_x, mobj->x, frac);
......
...@@ -99,6 +99,10 @@ void R_UpdateViewInterpolation(void); ...@@ -99,6 +99,10 @@ void R_UpdateViewInterpolation(void);
void R_ResetViewInterpolation(void); void R_ResetViewInterpolation(void);
// Set the current view context (the viewvars pointed to by newview) // Set the current view context (the viewvars pointed to by newview)
void R_SetViewContext(enum viewcontext_e _viewcontext); void R_SetViewContext(enum viewcontext_e _viewcontext);
fixed_t R_InterpolateFixed(fixed_t from, fixed_t to);
angle_t R_InterpolateAngle(angle_t from, angle_t to);
// Evaluate the interpolated mobj state for the given mobj // Evaluate the interpolated mobj state for the given mobj
void R_InterpolateMobjState(mobj_t *mobj, fixed_t frac, interpmobjstate_t *out); void R_InterpolateMobjState(mobj_t *mobj, fixed_t frac, interpmobjstate_t *out);
// Evaluate the interpolated mobj state for the given precipmobj // Evaluate the interpolated mobj state for the given precipmobj
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment