diff --git a/source/cl_input.c b/source/cl_input.c index 95b1953..ca04ffc 100644 --- a/source/cl_input.c +++ b/source/cl_input.c @@ -572,7 +572,7 @@ void CL_SendMove (const usercmd_t *cmd) int bits; sizebuf_t buf; byte data[128]; - + vec3_t tempv; buf.maxsize = 128; buf.cursize = 0; buf.data = data; @@ -628,12 +628,13 @@ void CL_SendMove (const usercmd_t *cmd) MSG_WriteFloat (&buf, cl.mtime[0]); // so server can get ping times + VectorAdd(cl.gun_kick, cl.viewangles, tempv); for (i=0 ; i<3 ; i++) //johnfitz -- 16-bit angles for PROTOCOL_FITZQUAKE if (cl.protocol == PROTOCOL_NETQUAKE) - MSG_WriteAngle (&buf, cl.viewangles[i], cl.protocolflags); + MSG_WriteAngle (&buf, tempv[i], cl.protocolflags); else - MSG_WriteAngle16 (&buf, cl.viewangles[i], cl.protocolflags); + MSG_WriteAngle16 (&buf, tempv[i], cl.protocolflags); //johnfitz MSG_WriteShort (&buf, cmd->forwardmove); diff --git a/source/cl_parse.c b/source/cl_parse.c index 9825d1a..8216172 100644 --- a/source/cl_parse.c +++ b/source/cl_parse.c @@ -1180,9 +1180,9 @@ void CL_ParseWeaponFire (void) return_time = (double)6/MSG_ReadLong (); crosshair_spread_time = return_time + sv.time; - kick[0] = MSG_ReadCoord (cl.protocolflags)/5; - kick[1] = MSG_ReadCoord (cl.protocolflags)/5; - kick[2] = MSG_ReadCoord (cl.protocolflags)/5; + kick[0] = (float)(MSG_ReadCoord (cl.protocolflags)/3.75f); + kick[1] = (float)(MSG_ReadCoord (cl.protocolflags)/3.75f); + kick[2] = (float)(MSG_ReadCoord (cl.protocolflags)/3.75f); cl.gun_kick[0] += kick[0]; cl.gun_kick[1] += kick[1]; diff --git a/source/view.c b/source/view.c index bff14c3..40dec1a 100644 --- a/source/view.c +++ b/source/view.c @@ -933,7 +933,7 @@ void DropRecoilKick (void) len = VectorNormalize (cl.gun_kick); //Con_Printf ("len = %f\n",len); - len = len - 5*host_frametime; + len = len - 3.5f*host_frametime; if (len < 0) len = 0; VectorScale (cl.gun_kick, len, cl.gun_kick);