extern int con_vislines;
+extern int cl_punchangle_applied;
+
static void SCR_ScreenShot_f(cmd_state_t *cmd);
static void R_Envmap_f(cmd_state_t *cmd);
double drawscreendelta;
r_viewport_t viewport;
+ // TODO: Move to a better place.
+ cl_punchangle_applied = 0;
+
if(drawscreenstart)
{
drawscreendelta = Sys_DirtyTime() - drawscreenstart;
float v_dmg_time, v_dmg_roll, v_dmg_pitch;
+int cl_punchangle_applied;
/*
===============
// angles
if (cldead && v_deathtilt.integer)
viewangles[ROLL] = v_deathtiltangle.value;
- VectorAdd(viewangles, cl.punchangle, viewangles);
+
+ // Hanicef: don't apply punchangle twice if the scene is rendered more than once.
+ if (!cl_punchangle_applied)
+ {
+ VectorAdd(viewangles, cl.punchangle, viewangles);
+ cl_punchangle_applied = 1;
+ }
viewangles[ROLL] += V_CalcRoll(clviewangles, clvelocity);
+
if (v_dmg_time > 0)
{
viewangles[ROLL] += v_dmg_time/v_kicktime.value*v_dmg_roll;