From af15441da3e1fc0c9109bec0bbb719d7828cbb4d Mon Sep 17 00:00:00 2001 From: Spoike Date: Sun, 26 Feb 2006 05:53:06 +0000 Subject: [PATCH] This should fix a few crashes on map changes, I'm hoping. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2027 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/client/view.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/engine/client/view.c b/engine/client/view.c index f674161f6..af5c2e6d5 100644 --- a/engine/client/view.c +++ b/engine/client/view.c @@ -93,6 +93,7 @@ cvar_t v_quadcshift = SCVAR("v_quadcshift", "0"); cvar_t v_suitcshift = SCVAR("v_suitcshift", "0"); cvar_t v_ringcshift = SCVAR("v_ringcshift", "0"); cvar_t v_pentcshift = SCVAR("v_pentcshift", "0"); +cvar_t v_gunkick = SCVAR("v_gunkick", "0"); cvar_t v_viewheight = SCVAR("v_viewheight", "0"); @@ -1189,7 +1190,8 @@ void V_CalcRefdef (int pnum) #endif // set up the refresh position - r_refdef.viewangles[PITCH] += cl.punchangle[pnum]; + if (v_gunkick.value) + r_refdef.viewangles[PITCH] += cl.punchangle[pnum]*v_gunkick.value; r_refdef.time = realtime; @@ -1209,9 +1211,18 @@ DropPunchAngle */ void DropPunchAngle (int pnum) { - cl.punchangle[pnum] -= 10*host_frametime; if (cl.punchangle[pnum] < 0) - cl.punchangle[pnum] = 0; + { + cl.punchangle[pnum] += 10*host_frametime; + if (cl.punchangle[pnum] > 0) + cl.punchangle[pnum] = 0; + } + else + { + cl.punchangle[pnum] -= 10*host_frametime; + if (cl.punchangle[pnum] < 0) + cl.punchangle[pnum] = 0; + } } /* @@ -1535,10 +1546,10 @@ void V_RenderView (void) CL_AllowIndependantSendCmd(false); - CL_EmitEntities(); - //work out which packet entities are solid CL_SetSolidEntities (); + + CL_EmitEntities(); // Set up prediction for other players CL_SetUpPlayerPrediction(false); @@ -1618,6 +1629,7 @@ void V_Init (void) Cvar_Register (&v_suitcshift, VIEWVARS); Cvar_Register (&v_ringcshift, VIEWVARS); Cvar_Register (&v_pentcshift, VIEWVARS); + Cvar_Register (&v_gunkick, VIEWVARS); Cvar_Register (&v_bonusflash, VIEWVARS);