summaryrefslogtreecommitdiff
path: root/src/cl_input.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cl_input.c')
-rw-r--r--src/cl_input.c744
1 files changed, 394 insertions, 350 deletions
diff --git a/src/cl_input.c b/src/cl_input.c
index 6693269..ba602c0 100644
--- a/src/cl_input.c
+++ b/src/cl_input.c
@@ -8,7 +8,7 @@ of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
@@ -92,34 +92,35 @@ static cvar_t *in_direct;
static cvar_t *in_smart_grab;
static cvar_t *in_hide_delay;
-static inline grab_t get_grab_mode( void ) {
+static inline grab_t get_grab_mode(void)
+{
// never grab if main window doesn't have focus
- if( cls.active != ACT_ACTIVATED )
+ if (cls.active != ACT_ACTIVATED)
return IN_FREE;
// always grab in full screen
- if( r_config.flags & QVF_FULLSCREEN )
+ if (r_config.flags & QVF_FULLSCREEN)
return IN_GRAB;
// show cursor if menu is up
- if( cls.key_dest & KEY_MENU )
+ if (cls.key_dest & KEY_MENU)
return IN_SHOW;
// hide cursor, but don't grab if console is up
- if( cls.key_dest & KEY_CONSOLE )
+ if (cls.key_dest & KEY_CONSOLE)
return IN_HIDE;
- if( sv_paused->integer )
+ if (sv_paused->integer)
return IN_HIDE;
- if( cls.state < ca_active )
+ if (cls.state < ca_active)
return IN_HIDE;
// don't grab if mouse input is not needed
- if( in_smart_grab->integer ) {
+ if (in_smart_grab->integer) {
// playing a demo (and not using freelook)
- if( cls.demo.playback && !Key_IsDown( K_SHIFT ) )
+ if (cls.demo.playback && !Key_IsDown(K_SHIFT))
return IN_HIDE;
// spectator mode
- if( cl.frame.ps.pmove.pm_type == PM_FREEZE )
+ if (cl.frame.ps.pmove.pm_type == PM_FREEZE)
return IN_HIDE;
}
@@ -132,17 +133,18 @@ static inline grab_t get_grab_mode( void ) {
IN_Activate
============
*/
-void IN_Activate( void ) {
+void IN_Activate(void)
+{
grab_t grab;
- if( !input.initialized ) {
+ if (!input.initialized) {
return;
}
grab = get_grab_mode();
// set up cursor hiding policy
- if( grab == IN_HIDE && in_hide_delay->value > 0.1f ) {
+ if (grab == IN_HIDE && in_hide_delay->value > 0.1f) {
input.hide_cursor = HIDE_SHOW;
input.last_motion = com_localTime;
input.hide_delay = in_hide_delay->value * 1000;
@@ -151,11 +153,11 @@ void IN_Activate( void ) {
input.hide_cursor = HIDE_NOT;
input.last_motion = com_localTime;
input.hide_delay = 0;
- if( grab == IN_HIDE )
+ if (grab == IN_HIDE)
grab = IN_SHOW;
}
- input.api.Grab( grab );
+ input.api.Grab(grab);
}
/*
@@ -163,7 +165,8 @@ void IN_Activate( void ) {
IN_Restart_f
============
*/
-static void IN_Restart_f( void ) {
+static void IN_Restart_f(void)
+{
IN_Shutdown();
IN_Init();
}
@@ -173,21 +176,21 @@ static void IN_Restart_f( void ) {
IN_Frame
============
*/
-void IN_Frame( void ) {
- if( input.modified ) {
+void IN_Frame(void)
+{
+ if (input.modified) {
IN_Restart_f();
input.modified = qfalse;
return;
}
- if( input.initialized ) {
- if( input.api.GetEvents ) {
+ if (input.initialized) {
+ if (input.api.GetEvents) {
input.api.GetEvents();
}
- if( input.hide_cursor == HIDE_SHOW &&
- com_localTime - input.last_motion > input.hide_delay )
- {
- input.api.Grab( IN_HIDE );
+ if (input.hide_cursor == HIDE_SHOW &&
+ com_localTime - input.last_motion > input.hide_delay) {
+ input.api.Grab(IN_HIDE);
input.hide_cursor = HIDE_HIDE;
}
}
@@ -202,26 +205,27 @@ void IN_Frame( void ) {
IN_MouseEvent
================
*/
-void IN_MouseEvent( int x, int y ) {
+void IN_MouseEvent(int x, int y)
+{
input.last_motion = com_localTime;
- if( input.hide_cursor == HIDE_HIDE ) {
- input.api.Grab( IN_SHOW );
+ if (input.hide_cursor == HIDE_HIDE) {
+ input.api.Grab(IN_SHOW);
input.hide_cursor = HIDE_SHOW;
}
- if( x < 0 && y < 0 ) {
+ if (x < 0 && y < 0) {
// cursor is over non-client area
- if( input.hide_cursor == HIDE_SHOW )
+ if (input.hide_cursor == HIDE_SHOW)
input.hide_cursor = HIDE_SHOW_NC;
return;
}
// cursor is over client area
- if( input.hide_cursor == HIDE_SHOW_NC )
+ if (input.hide_cursor == HIDE_SHOW_NC)
input.hide_cursor = HIDE_SHOW;
#if USE_UI
- UI_MouseEvent( x, y );
+ UI_MouseEvent(x, y);
#endif
}
@@ -230,9 +234,10 @@ void IN_MouseEvent( int x, int y ) {
IN_WarpMouse
================
*/
-void IN_WarpMouse( int x, int y ) {
- if( input.initialized && input.api.Warp ) {
- input.api.Warp( x, y );
+void IN_WarpMouse(int x, int y)
+{
+ if (input.initialized && input.api.Warp) {
+ input.api.Warp(x, y);
}
}
@@ -241,24 +246,27 @@ void IN_WarpMouse( int x, int y ) {
IN_Shutdown
============
*/
-void IN_Shutdown( void ) {
- if( input.initialized ) {
+void IN_Shutdown(void)
+{
+ if (input.initialized) {
#if USE_DINPUT
in_direct->changed = NULL;
#endif
input.api.Shutdown();
- memset( &input, 0, sizeof( input ) );
+ memset(&input, 0, sizeof(input));
}
#if USE_LIRC
Lirc_Shutdown();
#endif
}
-static void in_changed_hard( cvar_t *self ) {
+static void in_changed_hard(cvar_t *self)
+{
input.modified = qtrue;
}
-static void in_changed_soft( cvar_t *self ) {
+static void in_changed_soft(cvar_t *self)
+{
IN_Activate();
}
@@ -267,36 +275,37 @@ static void in_changed_soft( cvar_t *self ) {
IN_Init
============
*/
-void IN_Init( void ) {
+void IN_Init(void)
+{
qboolean ret = qfalse;
#if USE_LIRC
Lirc_Init();
#endif
- in_enable = Cvar_Get( "in_enable", "1", 0 );
+ in_enable = Cvar_Get("in_enable", "1", 0);
in_enable->changed = in_changed_hard;
- if( !in_enable->integer ) {
- Com_Printf( "Mouse input disabled.\n" );
+ if (!in_enable->integer) {
+ Com_Printf("Mouse input disabled.\n");
return;
}
#if USE_DINPUT
- in_direct = Cvar_Get( "in_direct", "1", 0 );
- if( in_direct->integer ) {
- DI_FillAPI( &input.api );
+ in_direct = Cvar_Get("in_direct", "1", 0);
+ if (in_direct->integer) {
+ DI_FillAPI(&input.api);
ret = input.api.Init();
- if( !ret ) {
- Cvar_Set( "in_direct", "0" );
+ if (!ret) {
+ Cvar_Set("in_direct", "0");
}
}
#endif
- if( !ret ) {
- VID_FillInputAPI( &input.api );
+ if (!ret) {
+ VID_FillInputAPI(&input.api);
ret = input.api.Init();
- if( !ret ) {
- Cvar_Set( "in_enable", "0" );
+ if (!ret) {
+ Cvar_Set("in_enable", "0");
return;
}
}
@@ -305,10 +314,10 @@ void IN_Init( void ) {
in_direct->changed = in_changed_hard;
#endif
- in_smart_grab = Cvar_Get( "in_smart_grab", "0", 0 );
+ in_smart_grab = Cvar_Get("in_smart_grab", "0", 0);
in_smart_grab->changed = in_changed_soft;
- in_hide_delay = Cvar_Get( "in_hide_delay", "0", 0 );
+ in_hide_delay = Cvar_Get("in_hide_delay", "0", 0);
in_hide_delay->changed = in_changed_soft;
input.initialized = qtrue;
@@ -359,10 +368,11 @@ static kbutton_t in_up, in_down;
static int in_impulse;
static qboolean in_mlooking;
-static void KeyDown (kbutton_t *b) {
+static void KeyDown(kbutton_t *b)
+{
int k;
char *c;
-
+
c = Cmd_Argv(1);
if (c[0])
k = atoi(c);
@@ -371,16 +381,16 @@ static void KeyDown (kbutton_t *b) {
if (k == b->down[0] || k == b->down[1])
return; // repeating key
-
+
if (!b->down[0])
b->down[0] = k;
else if (!b->down[1])
b->down[1] = k;
else {
- Com_WPrintf ("Three keys down for a button!\n");
+ Com_WPrintf("Three keys down for a button!\n");
return;
}
-
+
if (b->state & 1)
return; // still down
@@ -394,7 +404,8 @@ static void KeyDown (kbutton_t *b) {
b->state |= 1 + 2; // down + impulse down
}
-static void KeyUp (kbutton_t *b) {
+static void KeyUp(kbutton_t *b)
+{
int k;
char *c;
unsigned uptime;
@@ -424,80 +435,97 @@ static void KeyUp (kbutton_t *b) {
// save timestamp
c = Cmd_Argv(2);
uptime = atoi(c);
- if( !uptime ) {
+ if (!uptime) {
b->msec += 10;
- } else if( uptime > b->downtime ) {
+ } else if (uptime > b->downtime) {
b->msec += uptime - b->downtime;
}
b->state &= ~1; // now up
}
-static void KeyClear( kbutton_t *b ) {
+static void KeyClear(kbutton_t *b)
+{
b->msec = 0;
b->state &= ~2; // clear impulses
- if( b->state & 1 ) {
+ if (b->state & 1) {
b->downtime = com_eventTime; // still down
}
}
-static void IN_KLookDown( void ) { KeyDown( &in_klook ); }
-static void IN_KLookUp( void ) { KeyUp( &in_klook ); }
-static void IN_UpDown( void ) { KeyDown( &in_up ); }
-static void IN_UpUp( void ) { KeyUp( &in_up ); }
-static void IN_DownDown( void ) { KeyDown( &in_down ); }
-static void IN_DownUp( void ) { KeyUp( &in_down ); }
-static void IN_LeftDown( void ) { KeyDown( &in_left ); }
-static void IN_LeftUp( void ) { KeyUp( &in_left ); }
-static void IN_RightDown( void ) { KeyDown( &in_right ); }
-static void IN_RightUp( void ) { KeyUp( &in_right ); }
-static void IN_ForwardDown( void ) { KeyDown( &in_forward ); }
-static void IN_ForwardUp( void ) { KeyUp( &in_forward ); }
-static void IN_BackDown( void ) { KeyDown( &in_back ); }
-static void IN_BackUp( void ) { KeyUp( &in_back ); }
-static void IN_LookupDown( void ) { KeyDown( &in_lookup ); }
-static void IN_LookupUp( void ) { KeyUp( &in_lookup ); }
-static void IN_LookdownDown( void ) { KeyDown( &in_lookdown ); }
-static void IN_LookdownUp( void ) { KeyUp( &in_lookdown ); }
-static void IN_MoveleftDown( void ) { KeyDown( &in_moveleft ); }
-static void IN_MoveleftUp( void ) { KeyUp( &in_moveleft ); }
-static void IN_MoverightDown( void ) { KeyDown( &in_moveright ); }
-static void IN_MoverightUp( void ) { KeyUp( &in_moveright ); }
-static void IN_SpeedDown( void ) { KeyDown( &in_speed ); }
-static void IN_SpeedUp( void ) { KeyUp( &in_speed ); }
-static void IN_StrafeDown( void ) { KeyDown( &in_strafe ); }
-static void IN_StrafeUp( void ) { KeyUp( &in_strafe ); }
-static void IN_AttackDown( void ) {
- KeyDown( &in_attack );
- if( cl_instantpacket->integer ) {
+static void IN_KLookDown(void) { KeyDown(&in_klook); }
+static void IN_KLookUp(void) { KeyUp(&in_klook); }
+static void IN_UpDown(void) { KeyDown(&in_up); }
+static void IN_UpUp(void) { KeyUp(&in_up); }
+static void IN_DownDown(void) { KeyDown(&in_down); }
+static void IN_DownUp(void) { KeyUp(&in_down); }
+static void IN_LeftDown(void) { KeyDown(&in_left); }
+static void IN_LeftUp(void) { KeyUp(&in_left); }
+static void IN_RightDown(void) { KeyDown(&in_right); }
+static void IN_RightUp(void) { KeyUp(&in_right); }
+static void IN_ForwardDown(void) { KeyDown(&in_forward); }
+static void IN_ForwardUp(void) { KeyUp(&in_forward); }
+static void IN_BackDown(void) { KeyDown(&in_back); }
+static void IN_BackUp(void) { KeyUp(&in_back); }
+static void IN_LookupDown(void) { KeyDown(&in_lookup); }
+static void IN_LookupUp(void) { KeyUp(&in_lookup); }
+static void IN_LookdownDown(void) { KeyDown(&in_lookdown); }
+static void IN_LookdownUp(void) { KeyUp(&in_lookdown); }
+static void IN_MoveleftDown(void) { KeyDown(&in_moveleft); }
+static void IN_MoveleftUp(void) { KeyUp(&in_moveleft); }
+static void IN_MoverightDown(void) { KeyDown(&in_moveright); }
+static void IN_MoverightUp(void) { KeyUp(&in_moveright); }
+static void IN_SpeedDown(void) { KeyDown(&in_speed); }
+static void IN_SpeedUp(void) { KeyUp(&in_speed); }
+static void IN_StrafeDown(void) { KeyDown(&in_strafe); }
+static void IN_StrafeUp(void) { KeyUp(&in_strafe); }
+
+static void IN_AttackDown(void)
+{
+ KeyDown(&in_attack);
+ if (cl_instantpacket->integer) {
cl.sendPacketNow = qtrue;
}
}
-static void IN_AttackUp( void ) { KeyUp( &in_attack ); }
-static void IN_UseDown ( void ) {
- KeyDown( &in_use );
- if( cl_instantpacket->integer ) {
+
+static void IN_AttackUp(void)
+{
+ KeyUp(&in_attack);
+}
+
+static void IN_UseDown(void)
+{
+ KeyDown(&in_use);
+ if (cl_instantpacket->integer) {
cl.sendPacketNow = qtrue;
}
}
-static void IN_UseUp ( void ) { KeyUp( &in_use ); }
-static void IN_Impulse ( void ) {
- in_impulse = atoi( Cmd_Argv( 1 ) );
+static void IN_UseUp(void)
+{
+ KeyUp(&in_use);
}
-static void IN_CenterView( void ) {
- cl.viewangles[PITCH] = -SHORT2ANGLE( cl.frame.ps.pmove.delta_angles[PITCH] );
+static void IN_Impulse(void)
+{
+ in_impulse = atoi(Cmd_Argv(1));
}
-static void IN_MLookDown( void ) {
+static void IN_CenterView(void)
+{
+ cl.viewangles[PITCH] = -SHORT2ANGLE(cl.frame.ps.pmove.delta_angles[PITCH]);
+}
+
+static void IN_MLookDown(void)
+{
in_mlooking = qtrue;
}
-static void IN_MLookUp( void ) {
+static void IN_MLookUp(void)
+{
in_mlooking = qfalse;
- if( !freelook->integer && lookspring->integer )
+ if (!freelook->integer && lookspring->integer)
IN_CenterView();
}
@@ -508,24 +536,25 @@ CL_KeyState
Returns the fraction of the frame that the key was down
===============
*/
-static float CL_KeyState( kbutton_t *key ) {
+static float CL_KeyState(kbutton_t *key)
+{
unsigned msec = key->msec;
float val;
- if( key->state & 1 ) {
+ if (key->state & 1) {
// still down
- if( com_eventTime > key->downtime ) {
+ if (com_eventTime > key->downtime) {
msec += com_eventTime - key->downtime;
}
}
- if( !cl.cmd.msec ) {
+ if (!cl.cmd.msec) {
return 0;
}
- val = ( float )msec / cl.cmd.msec;
+ val = (float)msec / cl.cmd.msec;
- return clamp( val, 0, 1 );
+ return clamp(val, 0, 1);
}
//==========================================================================
@@ -535,25 +564,26 @@ static float CL_KeyState( kbutton_t *key ) {
CL_MouseMove
================
*/
-static void CL_MouseMove( void ) {
+static void CL_MouseMove(void)
+{
static int old_dx, old_dy;
int dx, dy;
float mx, my;
float speed;
- if( !input.initialized ) {
+ if (!input.initialized) {
return;
}
- if( cls.key_dest & (KEY_MENU|KEY_CONSOLE) ) {
+ if (cls.key_dest & (KEY_MENU | KEY_CONSOLE)) {
return;
}
- if( !input.api.GetMotion( &dx, &dy ) ) {
+ if (!input.api.GetMotion(&dx, &dy)) {
return;
}
- if( m_filter->integer ) {
- mx = ( dx + old_dx ) * 0.5f;
- my = ( dy + old_dy ) * 0.5f;
+ if (m_filter->integer) {
+ mx = (dx + old_dx) * 0.5f;
+ my = (dy + old_dy) * 0.5f;
} else {
mx = dx;
my = dy;
@@ -562,31 +592,31 @@ static void CL_MouseMove( void ) {
old_dx = dx;
old_dy = dy;
- if( !mx && !my ) {
+ if (!mx && !my) {
return;
}
- Cvar_ClampValue( m_accel, 0, 1 );
+ Cvar_ClampValue(m_accel, 0, 1);
- speed = sqrt( mx * mx + my * my );
+ speed = sqrt(mx * mx + my * my);
speed = sensitivity->value + speed * m_accel->value;
mx *= speed;
my *= speed;
- if( m_autosens->integer ) {
+ if (m_autosens->integer) {
mx *= cl.fov_x / 90.0f;
- my *= V_CalcFov( cl.fov_x, 4, 3 ) / 73.739795291688f;
+ my *= V_CalcFov(cl.fov_x, 4, 3) / 73.739795291688f;
}
// add mouse X/Y movement
- if( ( in_strafe.state & 1 ) || ( lookstrafe->integer && !in_mlooking ) ) {
+ if ((in_strafe.state & 1) || (lookstrafe->integer && !in_mlooking)) {
cl.mousemove[1] += m_side->value * mx;
} else {
cl.viewangles[YAW] -= m_yaw->value * mx;
}
- if( ( in_mlooking || freelook->integer ) && !( in_strafe.state & 1 ) ) {
+ if ((in_mlooking || freelook->integer) && !(in_strafe.state & 1)) {
cl.viewangles[PITCH] += m_pitch->value * my;
} else {
cl.mousemove[0] -= m_forward->value * my;
@@ -601,25 +631,26 @@ CL_AdjustAngles
Moves the local angle positions
================
*/
-static void CL_AdjustAngles( int msec ) {
+static void CL_AdjustAngles(int msec)
+{
float speed;
-
- if( in_speed.state & 1 )
+
+ if (in_speed.state & 1)
speed = msec * cl_anglespeedkey->value * 0.001f;
else
speed = msec * 0.001f;
- if( !( in_strafe.state & 1 ) ) {
- cl.viewangles[YAW] -= speed*cl_yawspeed->value*CL_KeyState(&in_right);
- cl.viewangles[YAW] += speed*cl_yawspeed->value*CL_KeyState(&in_left);
+ if (!(in_strafe.state & 1)) {
+ cl.viewangles[YAW] -= speed * cl_yawspeed->value * CL_KeyState(&in_right);
+ cl.viewangles[YAW] += speed * cl_yawspeed->value * CL_KeyState(&in_left);
}
- if( in_klook.state & 1 ) {
- cl.viewangles[PITCH] -= speed*cl_pitchspeed->value*CL_KeyState(&in_forward);
- cl.viewangles[PITCH] += speed*cl_pitchspeed->value*CL_KeyState(&in_back);
+ if (in_klook.state & 1) {
+ cl.viewangles[PITCH] -= speed * cl_pitchspeed->value * CL_KeyState(&in_forward);
+ cl.viewangles[PITCH] += speed * cl_pitchspeed->value * CL_KeyState(&in_back);
}
-
- cl.viewangles[PITCH] -= speed*cl_pitchspeed->value*CL_KeyState(&in_lookup);
- cl.viewangles[PITCH] += speed*cl_pitchspeed->value*CL_KeyState(&in_lookdown);
+
+ cl.viewangles[PITCH] -= speed * cl_pitchspeed->value * CL_KeyState(&in_lookup);
+ cl.viewangles[PITCH] += speed * cl_pitchspeed->value * CL_KeyState(&in_lookdown);
}
/*
@@ -629,41 +660,44 @@ CL_BaseMove
Build the intended movement vector
================
*/
-static void CL_BaseMove( vec3_t move ) {
- if( in_strafe.state & 1 ) {
- move[1] += cl_sidespeed->value * CL_KeyState( &in_right );
- move[1] -= cl_sidespeed->value * CL_KeyState( &in_left );
+static void CL_BaseMove(vec3_t move)
+{
+ if (in_strafe.state & 1) {
+ move[1] += cl_sidespeed->value * CL_KeyState(&in_right);
+ move[1] -= cl_sidespeed->value * CL_KeyState(&in_left);
}
- move[1] += cl_sidespeed->value * CL_KeyState( &in_moveright );
- move[1] -= cl_sidespeed->value * CL_KeyState( &in_moveleft );
+ move[1] += cl_sidespeed->value * CL_KeyState(&in_moveright);
+ move[1] -= cl_sidespeed->value * CL_KeyState(&in_moveleft);
- move[2] += cl_upspeed->value * CL_KeyState( &in_up );
- move[2] -= cl_upspeed->value * CL_KeyState( &in_down );
+ move[2] += cl_upspeed->value * CL_KeyState(&in_up);
+ move[2] -= cl_upspeed->value * CL_KeyState(&in_down);
- if( !( in_klook.state & 1 ) ) {
- move[0] += cl_forwardspeed->value * CL_KeyState( &in_forward );
- move[0] -= cl_forwardspeed->value * CL_KeyState( &in_back );
+ if (!(in_klook.state & 1)) {
+ move[0] += cl_forwardspeed->value * CL_KeyState(&in_forward);
+ move[0] -= cl_forwardspeed->value * CL_KeyState(&in_back);
}
// adjust for speed key / running
- if( ( in_speed.state & 1 ) ^ cl_run->integer ) {
- VectorScale( move, 2, move );
+ if ((in_speed.state & 1) ^ cl_run->integer) {
+ VectorScale(move, 2, move);
}
}
-static void CL_ClampSpeed( vec3_t move ) {
+static void CL_ClampSpeed(vec3_t move)
+{
float speed = cl.pmp.maxspeed;
- clamp( move[0], -speed, speed );
- clamp( move[1], -speed, speed );
- clamp( move[2], -speed, speed );
+ clamp(move[0], -speed, speed);
+ clamp(move[1], -speed, speed);
+ clamp(move[2], -speed, speed);
}
-static void CL_ClampPitch( void ) {
+static void CL_ClampPitch(void)
+{
float pitch;
- pitch = SHORT2ANGLE( cl.frame.ps.pmove.delta_angles[PITCH] );
+ pitch = SHORT2ANGLE(cl.frame.ps.pmove.delta_angles[PITCH]);
if (pitch > 180)
pitch -= 360;
@@ -686,10 +720,11 @@ Updates msec, angles and builds interpolated movement vector for local predictio
Doesn't touch command forward/side/upmove, these are filled by CL_FinalizeCmd.
=================
*/
-void CL_UpdateCmd( int msec ) {
- VectorClear( cl.localmove );
+void CL_UpdateCmd(int msec)
+{
+ VectorClear(cl.localmove);
- if( sv_paused->integer ) {
+ if (sv_paused->integer) {
return;
}
@@ -697,10 +732,10 @@ void CL_UpdateCmd( int msec ) {
cl.cmd.msec += msec;
// adjust viewangles
- CL_AdjustAngles( msec );
+ CL_AdjustAngles(msec);
// get basic movement from keyboard
- CL_BaseMove( cl.localmove );
+ CL_BaseMove(cl.localmove);
// allow mice to add to the move
CL_MouseMove();
@@ -710,13 +745,13 @@ void CL_UpdateCmd( int msec ) {
cl.localmove[1] += cl.mousemove[1];
// clamp to server defined max speed
- CL_ClampSpeed( cl.localmove );
+ CL_ClampSpeed(cl.localmove);
CL_ClampPitch();
-
- cl.cmd.angles[0] = ANGLE2SHORT( cl.viewangles[0] );
- cl.cmd.angles[1] = ANGLE2SHORT( cl.viewangles[1] );
- cl.cmd.angles[2] = ANGLE2SHORT( cl.viewangles[2] );
+
+ cl.cmd.angles[0] = ANGLE2SHORT(cl.viewangles[0]);
+ cl.cmd.angles[1] = ANGLE2SHORT(cl.viewangles[1]);
+ cl.cmd.angles[2] = ANGLE2SHORT(cl.viewangles[2]);
}
@@ -725,75 +760,76 @@ void CL_UpdateCmd( int msec ) {
CL_RegisterInput
============
*/
-void CL_RegisterInput( void ) {
- Cmd_AddCommand ("centerview",IN_CenterView);
-
- Cmd_AddCommand ("+moveup",IN_UpDown);
- Cmd_AddCommand ("-moveup",IN_UpUp);
- Cmd_AddCommand ("+movedown",IN_DownDown);
- Cmd_AddCommand ("-movedown",IN_DownUp);
- Cmd_AddCommand ("+left",IN_LeftDown);
- Cmd_AddCommand ("-left",IN_LeftUp);
- Cmd_AddCommand ("+right",IN_RightDown);
- Cmd_AddCommand ("-right",IN_RightUp);
- Cmd_AddCommand ("+forward",IN_ForwardDown);
- Cmd_AddCommand ("-forward",IN_ForwardUp);
- Cmd_AddCommand ("+back",IN_BackDown);
- Cmd_AddCommand ("-back",IN_BackUp);
- Cmd_AddCommand ("+lookup", IN_LookupDown);
- Cmd_AddCommand ("-lookup", IN_LookupUp);
- Cmd_AddCommand ("+lookdown", IN_LookdownDown);
- Cmd_AddCommand ("-lookdown", IN_LookdownUp);
- Cmd_AddCommand ("+strafe", IN_StrafeDown);
- Cmd_AddCommand ("-strafe", IN_StrafeUp);
- Cmd_AddCommand ("+moveleft", IN_MoveleftDown);
- Cmd_AddCommand ("-moveleft", IN_MoveleftUp);
- Cmd_AddCommand ("+moveright", IN_MoverightDown);
- Cmd_AddCommand ("-moveright", IN_MoverightUp);
- Cmd_AddCommand ("+speed", IN_SpeedDown);
- Cmd_AddCommand ("-speed", IN_SpeedUp);
- Cmd_AddCommand ("+attack", IN_AttackDown);
- Cmd_AddCommand ("-attack", IN_AttackUp);
- Cmd_AddCommand ("+use", IN_UseDown);
- Cmd_AddCommand ("-use", IN_UseUp);
- Cmd_AddCommand ("impulse", IN_Impulse);
- Cmd_AddCommand ("+klook", IN_KLookDown);
- Cmd_AddCommand ("-klook", IN_KLookUp);
- Cmd_AddCommand( "+mlook", IN_MLookDown );
- Cmd_AddCommand( "-mlook", IN_MLookUp );
-
- Cmd_AddCommand( "in_restart", IN_Restart_f );
-
- cl_nodelta = Cvar_Get ("cl_nodelta", "0", 0);
- cl_maxpackets = Cvar_Get( "cl_maxpackets", "30", 0 );
- cl_fuzzhack = Cvar_Get( "cl_fuzzhack", "0", 0 );
- cl_packetdup = Cvar_Get( "cl_packetdup", "1", 0 );
+void CL_RegisterInput(void)
+{
+ Cmd_AddCommand("centerview", IN_CenterView);
+
+ Cmd_AddCommand("+moveup", IN_UpDown);
+ Cmd_AddCommand("-moveup", IN_UpUp);
+ Cmd_AddCommand("+movedown", IN_DownDown);
+ Cmd_AddCommand("-movedown", IN_DownUp);
+ Cmd_AddCommand("+left", IN_LeftDown);
+ Cmd_AddCommand("-left", IN_LeftUp);
+ Cmd_AddCommand("+right", IN_RightDown);
+ Cmd_AddCommand("-right", IN_RightUp);
+ Cmd_AddCommand("+forward", IN_ForwardDown);
+ Cmd_AddCommand("-forward", IN_ForwardUp);
+ Cmd_AddCommand("+back", IN_BackDown);
+ Cmd_AddCommand("-back", IN_BackUp);
+ Cmd_AddCommand("+lookup", IN_LookupDown);
+ Cmd_AddCommand("-lookup", IN_LookupUp);
+ Cmd_AddCommand("+lookdown", IN_LookdownDown);
+ Cmd_AddCommand("-lookdown", IN_LookdownUp);
+ Cmd_AddCommand("+strafe", IN_StrafeDown);
+ Cmd_AddCommand("-strafe", IN_StrafeUp);
+ Cmd_AddCommand("+moveleft", IN_MoveleftDown);
+ Cmd_AddCommand("-moveleft", IN_MoveleftUp);
+ Cmd_AddCommand("+moveright", IN_MoverightDown);
+ Cmd_AddCommand("-moveright", IN_MoverightUp);
+ Cmd_AddCommand("+speed", IN_SpeedDown);
+ Cmd_AddCommand("-speed", IN_SpeedUp);
+ Cmd_AddCommand("+attack", IN_AttackDown);
+ Cmd_AddCommand("-attack", IN_AttackUp);
+ Cmd_AddCommand("+use", IN_UseDown);
+ Cmd_AddCommand("-use", IN_UseUp);
+ Cmd_AddCommand("impulse", IN_Impulse);
+ Cmd_AddCommand("+klook", IN_KLookDown);
+ Cmd_AddCommand("-klook", IN_KLookUp);
+ Cmd_AddCommand("+mlook", IN_MLookDown);
+ Cmd_AddCommand("-mlook", IN_MLookUp);
+
+ Cmd_AddCommand("in_restart", IN_Restart_f);
+
+ cl_nodelta = Cvar_Get("cl_nodelta", "0", 0);
+ cl_maxpackets = Cvar_Get("cl_maxpackets", "30", 0);
+ cl_fuzzhack = Cvar_Get("cl_fuzzhack", "0", 0);
+ cl_packetdup = Cvar_Get("cl_packetdup", "1", 0);
#ifdef _DEBUG
- cl_showpackets = Cvar_Get( "cl_showpackets", "0", 0 );
+ cl_showpackets = Cvar_Get("cl_showpackets", "0", 0);
#endif
- cl_instantpacket = Cvar_Get( "cl_instantpacket", "1", 0 );
- cl_batchcmds = Cvar_Get( "cl_batchcmds", "1", 0 );
-
- cl_upspeed = Cvar_Get ( "cl_upspeed", "200", 0 );
- cl_forwardspeed = Cvar_Get ( "cl_forwardspeed", "200", 0 );
- cl_sidespeed = Cvar_Get ( "cl_sidespeed", "200", 0 );
- cl_yawspeed = Cvar_Get ( "cl_yawspeed", "140", 0 );
- cl_pitchspeed = Cvar_Get ( "cl_pitchspeed", "150", CVAR_CHEAT );
- cl_anglespeedkey = Cvar_Get ( "cl_anglespeedkey", "1.5", CVAR_CHEAT );
- cl_run = Cvar_Get( "cl_run", "1", CVAR_ARCHIVE );
-
- freelook = Cvar_Get( "freelook", "1", CVAR_ARCHIVE );
- lookspring = Cvar_Get ( "lookspring", "0", CVAR_ARCHIVE );
- lookstrafe = Cvar_Get ( "lookstrafe", "0", CVAR_ARCHIVE );
- sensitivity = Cvar_Get ( "sensitivity", "3", CVAR_ARCHIVE );
-
- m_pitch = Cvar_Get ( "m_pitch", "0.022", CVAR_ARCHIVE );
- m_yaw = Cvar_Get ( "m_yaw", "0.022", 0 );
- m_forward = Cvar_Get ( "m_forward", "1", 0 );
- m_side = Cvar_Get ( "m_side", "1", 0 );
- m_filter = Cvar_Get( "m_filter", "0", 0 );
- m_accel = Cvar_Get( "m_accel", "0", 0 );
- m_autosens = Cvar_Get( "m_autosens", "0", 0 );
+ cl_instantpacket = Cvar_Get("cl_instantpacket", "1", 0);
+ cl_batchcmds = Cvar_Get("cl_batchcmds", "1", 0);
+
+ cl_upspeed = Cvar_Get("cl_upspeed", "200", 0);
+ cl_forwardspeed = Cvar_Get("cl_forwardspeed", "200", 0);
+ cl_sidespeed = Cvar_Get("cl_sidespeed", "200", 0);
+ cl_yawspeed = Cvar_Get("cl_yawspeed", "140", 0);
+ cl_pitchspeed = Cvar_Get("cl_pitchspeed", "150", CVAR_CHEAT);
+ cl_anglespeedkey = Cvar_Get("cl_anglespeedkey", "1.5", CVAR_CHEAT);
+ cl_run = Cvar_Get("cl_run", "1", CVAR_ARCHIVE);
+
+ freelook = Cvar_Get("freelook", "1", CVAR_ARCHIVE);
+ lookspring = Cvar_Get("lookspring", "0", CVAR_ARCHIVE);
+ lookstrafe = Cvar_Get("lookstrafe", "0", CVAR_ARCHIVE);
+ sensitivity = Cvar_Get("sensitivity", "3", CVAR_ARCHIVE);
+
+ m_pitch = Cvar_Get("m_pitch", "0.022", CVAR_ARCHIVE);
+ m_yaw = Cvar_Get("m_yaw", "0.022", 0);
+ m_forward = Cvar_Get("m_forward", "1", 0);
+ m_side = Cvar_Get("m_side", "1", 0);
+ m_filter = Cvar_Get("m_filter", "0", 0);
+ m_accel = Cvar_Get("m_accel", "0", 0);
+ m_autosens = Cvar_Get("m_autosens", "0", 0);
}
/*
@@ -804,56 +840,57 @@ Builds the actual movement vector for sending to server. Assumes that msec
and angles are already set for this frame by CL_UpdateCmd.
=================
*/
-void CL_FinalizeCmd( void ) {
+void CL_FinalizeCmd(void)
+{
vec3_t move;
// command buffer ticks in sync with cl_maxfps
- if( cmd_buffer.waitCount > 0 ) {
+ if (cmd_buffer.waitCount > 0) {
cmd_buffer.waitCount--;
}
- if( cl_cmdbuf.waitCount > 0 ) {
+ if (cl_cmdbuf.waitCount > 0) {
cl_cmdbuf.waitCount--;
}
- if( cls.state < ca_active ) {
+ if (cls.state < ca_active) {
return; // not talking to a server
}
- if( sv_paused->integer ) {
+ if (sv_paused->integer) {
return;
}
//
// figure button bits
-//
- if( in_attack.state & 3 )
+//
+ if (in_attack.state & 3)
cl.cmd.buttons |= BUTTON_ATTACK;
- if( in_use.state & 3 )
+ if (in_use.state & 3)
cl.cmd.buttons |= BUTTON_USE;
in_attack.state &= ~2;
in_use.state &= ~2;
- if( cls.key_dest == KEY_GAME && Key_AnyKeyDown() ) {
+ if (cls.key_dest == KEY_GAME && Key_AnyKeyDown()) {
cl.cmd.buttons |= BUTTON_ANY;
}
- if( cl.cmd.msec > 250 ) {
+ if (cl.cmd.msec > 250) {
cl.cmd.msec = 100; // time was unreasonable
}
// rebuild the movement vector
- VectorClear( move );
+ VectorClear(move);
// get basic movement from keyboard
- CL_BaseMove( move );
+ CL_BaseMove(move);
// add mouse forward/side movement
move[0] += cl.mousemove[0];
move[1] += cl.mousemove[1];
// clamp to server defined max speed
- CL_ClampSpeed( move );
+ CL_ClampSpeed(move);
// store the movement vector
cl.cmd.forwardmove = move[0];
@@ -864,20 +901,20 @@ void CL_FinalizeCmd( void ) {
cl.mousemove[0] = 0;
cl.mousemove[1] = 0;
- KeyClear( &in_right );
- KeyClear( &in_left );
+ KeyClear(&in_right);
+ KeyClear(&in_left);
- KeyClear( &in_moveright );
- KeyClear( &in_moveleft );
+ KeyClear(&in_moveright);
+ KeyClear(&in_moveleft);
- KeyClear( &in_up );
- KeyClear( &in_down );
+ KeyClear(&in_up);
+ KeyClear(&in_down);
- KeyClear( &in_forward );
- KeyClear( &in_back );
+ KeyClear(&in_forward);
+ KeyClear(&in_back);
- KeyClear( &in_lookup );
- KeyClear( &in_lookdown );
+ KeyClear(&in_lookup);
+ KeyClear(&in_lookdown);
cl.cmd.impulse = in_impulse;
in_impulse = 0;
@@ -887,43 +924,45 @@ void CL_FinalizeCmd( void ) {
cl.cmds[cl.cmdNumber & CMD_MASK] = cl.cmd;
// clear pending cmd
- memset( &cl.cmd, 0, sizeof( cl.cmd ) );
+ memset(&cl.cmd, 0, sizeof(cl.cmd));
}
-static inline qboolean ready_to_send( void ) {
+static inline qboolean ready_to_send(void)
+{
unsigned msec;
- if( cl.sendPacketNow ) {
+ if (cl.sendPacketNow) {
return qtrue;
}
- if( cls.netchan->message.cursize || cls.netchan->reliable_ack_pending ) {
+ if (cls.netchan->message.cursize || cls.netchan->reliable_ack_pending) {
return qtrue;
}
- if( !cl_maxpackets->integer ) {
+ if (!cl_maxpackets->integer) {
return qtrue;
}
- if( cl_maxpackets->integer < 10 ) {
- Cvar_Set( "cl_maxpackets", "10" );
+ if (cl_maxpackets->integer < 10) {
+ Cvar_Set("cl_maxpackets", "10");
}
msec = 1000 / cl_maxpackets->integer;
- if( msec ) {
- msec = 100 / ( 100 / msec );
+ if (msec) {
+ msec = 100 / (100 / msec);
}
- if( cls.realtime - cl.lastTransmitTime < msec ) {
+ if (cls.realtime - cl.lastTransmitTime < msec) {
return qfalse;
}
return qtrue;
}
-static inline qboolean ready_to_send_hacked( void ) {
- if( !cl_fuzzhack->integer ) {
+static inline qboolean ready_to_send_hacked(void)
+{
+ if (!cl_fuzzhack->integer) {
return qtrue; // packet drop hack disabled
}
- if( cl.cmdNumber - cl.lastTransmitCmdNumberReal > 2 ) {
+ if (cl.cmdNumber - cl.lastTransmitCmdNumberReal > 2) {
return qtrue; // can't drop more than 2 cmds
}
@@ -935,7 +974,8 @@ static inline qboolean ready_to_send_hacked( void ) {
CL_SendDefaultCmd
=================
*/
-static void CL_SendDefaultCmd( void ) {
+static void CL_SendDefaultCmd(void)
+{
size_t cursize, checksumIndex;
usercmd_t *cmd, *oldcmd;
client_history_t *history;
@@ -949,7 +989,7 @@ static void CL_SendDefaultCmd( void ) {
cl.lastTransmitCmdNumber = cl.cmdNumber;
// see if we are ready to send this packet
- if( !ready_to_send_hacked() ) {
+ if (!ready_to_send_hacked()) {
cls.netchan->outgoing_sequence++; // just drop the packet
return;
}
@@ -958,45 +998,45 @@ static void CL_SendDefaultCmd( void ) {
cl.lastTransmitCmdNumberReal = cl.cmdNumber;
// begin a client move command
- MSG_WriteByte( clc_move );
+ MSG_WriteByte(clc_move);
// save the position for a checksum byte
checksumIndex = 0;
- if( cls.serverProtocol <= PROTOCOL_VERSION_DEFAULT ) {
+ if (cls.serverProtocol <= PROTOCOL_VERSION_DEFAULT) {
checksumIndex = msg_write.cursize;
- SZ_GetSpace( &msg_write, 1 );
+ SZ_GetSpace(&msg_write, 1);
}
// let the server know what the last frame we
// got was, so the next message can be delta compressed
- if( cl_nodelta->integer || !cl.frame.valid /*|| cls.demowaiting*/ ) {
- MSG_WriteLong( -1 ); // no compression
+ if (cl_nodelta->integer || !cl.frame.valid /*|| cls.demowaiting*/) {
+ MSG_WriteLong(-1); // no compression
} else {
- MSG_WriteLong( cl.frame.number );
+ MSG_WriteLong(cl.frame.number);
}
// send this and the previous cmds in the message, so
// if the last packet was dropped, it can be recovered
- cmd = &cl.cmds[( cl.cmdNumber - 2 ) & CMD_MASK];
- MSG_WriteDeltaUsercmd( NULL, cmd, cls.protocolVersion );
- MSG_WriteByte( cl.lightlevel );
+ cmd = &cl.cmds[(cl.cmdNumber - 2) & CMD_MASK];
+ MSG_WriteDeltaUsercmd(NULL, cmd, cls.protocolVersion);
+ MSG_WriteByte(cl.lightlevel);
oldcmd = cmd;
- cmd = &cl.cmds[( cl.cmdNumber - 1 ) & CMD_MASK];
- MSG_WriteDeltaUsercmd( oldcmd, cmd, cls.protocolVersion );
- MSG_WriteByte( cl.lightlevel );
+ cmd = &cl.cmds[(cl.cmdNumber - 1) & CMD_MASK];
+ MSG_WriteDeltaUsercmd(oldcmd, cmd, cls.protocolVersion);
+ MSG_WriteByte(cl.lightlevel);
oldcmd = cmd;
cmd = &cl.cmds[cl.cmdNumber & CMD_MASK];
- MSG_WriteDeltaUsercmd( oldcmd, cmd, cls.protocolVersion );
- MSG_WriteByte( cl.lightlevel );
+ MSG_WriteDeltaUsercmd(oldcmd, cmd, cls.protocolVersion);
+ MSG_WriteByte(cl.lightlevel);
- if( cls.serverProtocol <= PROTOCOL_VERSION_DEFAULT ) {
+ if (cls.serverProtocol <= PROTOCOL_VERSION_DEFAULT) {
// calculate a checksum over the move commands
msg_write.data[checksumIndex] = COM_BlockSequenceCRCByte(
- msg_write.data + checksumIndex + 1,
- msg_write.cursize - checksumIndex - 1,
- cls.netchan->outgoing_sequence );
+ msg_write.data + checksumIndex + 1,
+ msg_write.cursize - checksumIndex - 1,
+ cls.netchan->outgoing_sequence);
}
P_FRAMES++;
@@ -1004,14 +1044,14 @@ static void CL_SendDefaultCmd( void ) {
//
// deliver the message
//
- cursize = cls.netchan->Transmit( cls.netchan, msg_write.cursize, msg_write.data, 1 );
+ cursize = cls.netchan->Transmit(cls.netchan, msg_write.cursize, msg_write.data, 1);
#ifdef _DEBUG
- if( cl_showpackets->integer ) {
- Com_Printf( "%"PRIz" ", cursize );
+ if (cl_showpackets->integer) {
+ Com_Printf("%"PRIz" ", cursize);
}
#endif
- SZ_Clear( &msg_write );
+ SZ_Clear(&msg_write);
}
/*
@@ -1019,7 +1059,8 @@ static void CL_SendDefaultCmd( void ) {
CL_SendBatchedCmd
=================
*/
-static void CL_SendBatchedCmd( void ) {
+static void CL_SendBatchedCmd(void)
+{
int i, j, seq, bits;
int numCmds, numDups;
int totalCmds, totalMsec;
@@ -1029,7 +1070,7 @@ static void CL_SendBatchedCmd( void ) {
byte *patch;
// see if we are ready to send this packet
- if( !ready_to_send() ) {
+ if (!ready_to_send()) {
return;
}
@@ -1045,49 +1086,49 @@ static void CL_SendBatchedCmd( void ) {
cl.lastTransmitCmdNumberReal = cl.cmdNumber;
// begin a client move command
- patch = SZ_GetSpace( &msg_write, 1 );
+ patch = SZ_GetSpace(&msg_write, 1);
// let the server know what the last frame we
// got was, so the next message can be delta compressed
- if( cl_nodelta->integer || !cl.frame.valid /*|| cls.demowaiting*/ ) {
+ if (cl_nodelta->integer || !cl.frame.valid /*|| cls.demowaiting*/) {
*patch = clc_move_nodelta; // no compression
} else {
*patch = clc_move_batched;
- MSG_WriteLong( cl.frame.number );
+ MSG_WriteLong(cl.frame.number);
}
- Cvar_ClampInteger( cl_packetdup, 0, MAX_PACKET_FRAMES - 1 );
+ Cvar_ClampInteger(cl_packetdup, 0, MAX_PACKET_FRAMES - 1);
numDups = cl_packetdup->integer;
*patch |= numDups << SVCMD_BITS;
// send lightlevel
- MSG_WriteByte( cl.lightlevel );
+ MSG_WriteByte(cl.lightlevel);
// send this and the previous cmds in the message, so
// if the last packet was dropped, it can be recovered
oldcmd = NULL;
totalCmds = 0;
totalMsec = 0;
- for( i = seq - numDups; i <= seq; i++ ) {
- oldest = &cl.history[( i - 1 ) & CMD_MASK];
+ for (i = seq - numDups; i <= seq; i++) {
+ oldest = &cl.history[(i - 1) & CMD_MASK];
history = &cl.history[i & CMD_MASK];
numCmds = history->cmdNumber - oldest->cmdNumber;
- if( numCmds >= MAX_PACKET_USERCMDS ) {
- Com_WPrintf( "%s: MAX_PACKET_USERCMDS exceeded\n", __func__ );
- SZ_Clear( &msg_write );
+ if (numCmds >= MAX_PACKET_USERCMDS) {
+ Com_WPrintf("%s: MAX_PACKET_USERCMDS exceeded\n", __func__);
+ SZ_Clear(&msg_write);
break;
}
totalCmds += numCmds;
- MSG_WriteBits( numCmds, 5 );
- for( j = oldest->cmdNumber + 1; j <= history->cmdNumber; j++ ) {
+ MSG_WriteBits(numCmds, 5);
+ for (j = oldest->cmdNumber + 1; j <= history->cmdNumber; j++) {
cmd = &cl.cmds[j & CMD_MASK];
totalMsec += cmd->msec;
- bits = MSG_WriteDeltaUsercmd_Enhanced( oldcmd, cmd, cls.protocolVersion );
+ bits = MSG_WriteDeltaUsercmd_Enhanced(oldcmd, cmd, cls.protocolVersion);
#ifdef _DEBUG
- if( cl_showpackets->integer == 3 ) {
- MSG_ShowDeltaUsercmdBits_Enhanced( bits );
+ if (cl_showpackets->integer == 3) {
+ MSG_ShowDeltaUsercmdBits_Enhanced(bits);
}
#endif
oldcmd = cmd;
@@ -1099,21 +1140,22 @@ static void CL_SendBatchedCmd( void ) {
//
// deliver the message
//
- cursize = cls.netchan->Transmit( cls.netchan, msg_write.cursize, msg_write.data, 1 );
+ cursize = cls.netchan->Transmit(cls.netchan, msg_write.cursize, msg_write.data, 1);
#ifdef _DEBUG
- if( cl_showpackets->integer == 1 ) {
- Com_Printf( "%"PRIz"(%i) ", cursize, totalCmds );
- } else if( cl_showpackets->integer == 2 ) {
- Com_Printf( "%"PRIz"(%i) ", cursize, totalMsec );
- } else if( cl_showpackets->integer == 3 ) {
- Com_Printf( " | " );
+ if (cl_showpackets->integer == 1) {
+ Com_Printf("%"PRIz"(%i) ", cursize, totalCmds);
+ } else if (cl_showpackets->integer == 2) {
+ Com_Printf("%"PRIz"(%i) ", cursize, totalMsec);
+ } else if (cl_showpackets->integer == 3) {
+ Com_Printf(" | ");
}
#endif
- SZ_Clear( &msg_write );
+ SZ_Clear(&msg_write);
}
-static void CL_SendKeepAlive( void ) {
+static void CL_SendKeepAlive(void)
+{
client_history_t *history;
size_t cursize;
@@ -1127,83 +1169,85 @@ static void CL_SendKeepAlive( void ) {
cl.lastTransmitCmdNumber = cl.cmdNumber;
cl.lastTransmitCmdNumberReal = cl.cmdNumber;
- cursize = cls.netchan->Transmit( cls.netchan, 0, NULL, 1 );
+ cursize = cls.netchan->Transmit(cls.netchan, 0, NULL, 1);
#ifdef _DEBUG
- if( cl_showpackets->integer ) {
- Com_Printf( "%"PRIz" ", cursize );
+ if (cl_showpackets->integer) {
+ Com_Printf("%"PRIz" ", cursize);
}
#endif
}
-static void CL_SendUserinfo( void ) {
+static void CL_SendUserinfo(void)
+{
char userinfo[MAX_INFO_STRING];
cvar_t *var;
int i;
- if( !cls.userinfo_modified ) {
+ if (!cls.userinfo_modified) {
return;
}
- if( cls.userinfo_modified == MAX_PACKET_USERINFOS ) {
- size_t len = Cvar_BitInfo( userinfo, CVAR_USERINFO );
- Com_DDPrintf( "%s: %u: full update\n", __func__, com_framenum );
- MSG_WriteByte( clc_userinfo );
- MSG_WriteData( userinfo, len + 1 );
- MSG_FlushTo( &cls.netchan->message );
- } else if( cls.serverProtocol == PROTOCOL_VERSION_Q2PRO ) {
- Com_DDPrintf( "%s: %u: %d updates\n", __func__, com_framenum,
- cls.userinfo_modified );
- for( i = 0; i < cls.userinfo_modified; i++ ) {
+ if (cls.userinfo_modified == MAX_PACKET_USERINFOS) {
+ size_t len = Cvar_BitInfo(userinfo, CVAR_USERINFO);
+ Com_DDPrintf("%s: %u: full update\n", __func__, com_framenum);
+ MSG_WriteByte(clc_userinfo);
+ MSG_WriteData(userinfo, len + 1);
+ MSG_FlushTo(&cls.netchan->message);
+ } else if (cls.serverProtocol == PROTOCOL_VERSION_Q2PRO) {
+ Com_DDPrintf("%s: %u: %d updates\n", __func__, com_framenum,
+ cls.userinfo_modified);
+ for (i = 0; i < cls.userinfo_modified; i++) {
var = cls.userinfo_updates[i];
- MSG_WriteByte( clc_userinfo_delta );
- MSG_WriteString( var->name );
- if( var->flags & CVAR_USERINFO ) {
- MSG_WriteString( var->string );
+ MSG_WriteByte(clc_userinfo_delta);
+ MSG_WriteString(var->name);
+ if (var->flags & CVAR_USERINFO) {
+ MSG_WriteString(var->string);
} else {
// no longer in userinfo
- MSG_WriteString( NULL );
+ MSG_WriteString(NULL);
}
}
- MSG_FlushTo( &cls.netchan->message );
+ MSG_FlushTo(&cls.netchan->message);
} else {
- Com_WPrintf( "%s: update count is %d, should never happen.\n",
- __func__, cls.userinfo_modified );
+ Com_WPrintf("%s: update count is %d, should never happen.\n",
+ __func__, cls.userinfo_modified);
}
cls.userinfo_modified = 0;
}
-void CL_SendCmd( void ) {
- if( cls.state < ca_connected ) {
+void CL_SendCmd(void)
+{
+ if (cls.state < ca_connected) {
return; // not talking to a server
}
// generate usercmds while playing a demo,
// but do not send them
- if( !cls.netchan ) {
+ if (!cls.netchan) {
return;
}
- if( cls.state < ca_active || sv_paused->integer ) {
+ if (cls.state < ca_active || sv_paused->integer) {
// send a userinfo update if needed
CL_SendUserinfo();
// just keepalive or update reliable
- if( cls.netchan->ShouldUpdate( cls.netchan ) ) {
+ if (cls.netchan->ShouldUpdate(cls.netchan)) {
CL_SendKeepAlive();
}
return;
}
// are there any new usercmds to send after all?
- if( cl.lastTransmitCmdNumber == cl.cmdNumber ) {
+ if (cl.lastTransmitCmdNumber == cl.cmdNumber) {
return; // nothing to send
}
// send a userinfo update if needed
CL_SendUserinfo();
- if( cls.serverProtocol == PROTOCOL_VERSION_Q2PRO && cl_batchcmds->integer ) {
+ if (cls.serverProtocol == PROTOCOL_VERSION_Q2PRO && cl_batchcmds->integer) {
CL_SendBatchedCmd();
} else {
CL_SendDefaultCmd();