summaryrefslogtreecommitdiff
path: root/src/cl_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cl_main.c')
-rw-r--r--src/cl_main.c2000
1 files changed, 1055 insertions, 945 deletions
diff --git a/src/cl_main.c b/src/cl_main.c
index b8dcaf1..ccc627e 100644
--- a/src/cl_main.c
+++ b/src/cl_main.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.
@@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
+*/
// cl_main.c -- client main loop
#include "cl_local.h"
@@ -92,7 +92,7 @@ extern cvar_t *gl_brightness;
client_static_t cls;
client_state_t cl;
-centity_t cl_entities[ MAX_EDICTS ];
+centity_t cl_entities[MAX_EDICTS];
// used for executing stringcmds
cmdbuf_t cl_cmdbuf;
@@ -115,12 +115,13 @@ typedef struct {
} request_t;
#define MAX_REQUESTS 64
-#define REQUEST_MASK ( MAX_REQUESTS - 1 )
+#define REQUEST_MASK (MAX_REQUESTS - 1)
static request_t clientRequests[MAX_REQUESTS];
static int currentRequest;
-static request_t *CL_AddRequest( const netadr_t *adr, requestType_t type ) {
+static request_t *CL_AddRequest(const netadr_t *adr, requestType_t type)
+{
request_t *r;
r = &clientRequests[currentRequest & REQUEST_MASK];
@@ -133,86 +134,91 @@ static request_t *CL_AddRequest( const netadr_t *adr, requestType_t type ) {
return r;
}
-static void CL_UpdateGunSetting( void ) {
+static void CL_UpdateGunSetting(void)
+{
int nogun;
- if( cls.state < ca_connected ) {
+ if (cls.state < ca_connected) {
return;
}
- if( cls.serverProtocol < PROTOCOL_VERSION_R1Q2 ) {
+ if (cls.serverProtocol < PROTOCOL_VERSION_R1Q2) {
return;
}
- if( cl_gun->integer == -1 ) {
+ if (cl_gun->integer == -1) {
nogun = 2;
- } else if( cl_gun->integer == 0 || info_hand->integer == 2 ) {
+ } else if (cl_gun->integer == 0 || info_hand->integer == 2) {
nogun = 1;
} else {
nogun = 0;
}
- MSG_WriteByte( clc_setting );
- MSG_WriteShort( CLS_NOGUN );
- MSG_WriteShort( nogun );
- MSG_FlushTo( &cls.netchan->message );
+ MSG_WriteByte(clc_setting);
+ MSG_WriteShort(CLS_NOGUN);
+ MSG_WriteShort(nogun);
+ MSG_FlushTo(&cls.netchan->message);
}
-static void CL_UpdateGibSetting( void ) {
- if( cls.state < ca_connected ) {
+static void CL_UpdateGibSetting(void)
+{
+ if (cls.state < ca_connected) {
return;
}
- if( cls.serverProtocol != PROTOCOL_VERSION_Q2PRO ) {
+ if (cls.serverProtocol != PROTOCOL_VERSION_Q2PRO) {
return;
}
- MSG_WriteByte( clc_setting );
- MSG_WriteShort( CLS_NOGIBS );
- MSG_WriteShort( !cl_gibs->integer );
- MSG_FlushTo( &cls.netchan->message );
+ MSG_WriteByte(clc_setting);
+ MSG_WriteShort(CLS_NOGIBS);
+ MSG_WriteShort(!cl_gibs->integer);
+ MSG_FlushTo(&cls.netchan->message);
}
-static void CL_UpdateFootstepsSetting( void ) {
- if( cls.state < ca_connected ) {
+static void CL_UpdateFootstepsSetting(void)
+{
+ if (cls.state < ca_connected) {
return;
}
- if( cls.serverProtocol != PROTOCOL_VERSION_Q2PRO ) {
+ if (cls.serverProtocol != PROTOCOL_VERSION_Q2PRO) {
return;
}
- MSG_WriteByte( clc_setting );
- MSG_WriteShort( CLS_NOFOOTSTEPS );
- MSG_WriteShort( !cl_footsteps->integer );
- MSG_FlushTo( &cls.netchan->message );
+ MSG_WriteByte(clc_setting);
+ MSG_WriteShort(CLS_NOFOOTSTEPS);
+ MSG_WriteShort(!cl_footsteps->integer);
+ MSG_FlushTo(&cls.netchan->message);
}
-static void CL_UpdatePredictSetting( void ) {
- if( cls.state < ca_connected ) {
+static void CL_UpdatePredictSetting(void)
+{
+ if (cls.state < ca_connected) {
return;
}
- if( cls.serverProtocol != PROTOCOL_VERSION_Q2PRO ) {
+ if (cls.serverProtocol != PROTOCOL_VERSION_Q2PRO) {
return;
}
- MSG_WriteByte( clc_setting );
- MSG_WriteShort( CLS_NOPREDICT );
- MSG_WriteShort( !cl_predict->integer );
- MSG_FlushTo( &cls.netchan->message );
+ MSG_WriteByte(clc_setting);
+ MSG_WriteShort(CLS_NOPREDICT);
+ MSG_WriteShort(!cl_predict->integer);
+ MSG_FlushTo(&cls.netchan->message);
}
#if USE_FPS
-static void CL_UpdateRateSetting( void ) {
- if( cls.state < ca_connected ) {
+static void CL_UpdateRateSetting(void)
+{
+ if (cls.state < ca_connected) {
return;
}
- if( cls.serverProtocol != PROTOCOL_VERSION_Q2PRO ) {
+ if (cls.serverProtocol != PROTOCOL_VERSION_Q2PRO) {
return;
}
- MSG_WriteByte( clc_setting );
- MSG_WriteShort( CLS_FPS );
- MSG_WriteShort( cl_updaterate->integer );
- MSG_FlushTo( &cls.netchan->message );
+ MSG_WriteByte(clc_setting);
+ MSG_WriteShort(CLS_FPS);
+ MSG_WriteShort(cl_updaterate->integer);
+ MSG_FlushTo(&cls.netchan->message);
}
#endif
@@ -221,36 +227,38 @@ static void CL_UpdateRateSetting( void ) {
CL_ClientCommand
===================
*/
-void CL_ClientCommand( const char *string ) {
- if ( !cls.netchan ) {
+void CL_ClientCommand(const char *string)
+{
+ if (!cls.netchan) {
return;
}
- Com_DDPrintf( "%s: %s\n", __func__, string );
+ Com_DDPrintf("%s: %s\n", __func__, string);
- MSG_WriteByte( clc_stringcmd );
- MSG_WriteString( string );
- MSG_FlushTo( &cls.netchan->message );
+ MSG_WriteByte(clc_stringcmd);
+ MSG_WriteString(string);
+ MSG_FlushTo(&cls.netchan->message);
}
/*
===================
CL_ForwardToServer
-
+
adds the current command line as a clc_stringcmd to the client message.
things like godmode, noclip, etc, are commands directed to the server,
so when they are typed in at the console, they will need to be forwarded.
===================
*/
-qboolean CL_ForwardToServer( void ) {
+qboolean CL_ForwardToServer(void)
+{
char *cmd;
- cmd = Cmd_Argv( 0 );
- if( cls.state < ca_active || *cmd == '-' || *cmd == '+' ) {
+ cmd = Cmd_Argv(0);
+ if (cls.state < ca_active || *cmd == '-' || *cmd == '+') {
return qfalse;
}
- CL_ClientCommand( Cmd_RawArgsFrom( 0 ) );
+ CL_ClientCommand(Cmd_RawArgsFrom(0));
return qtrue;
}
@@ -259,19 +267,20 @@ qboolean CL_ForwardToServer( void ) {
CL_ForwardToServer_f
==================
*/
-static void CL_ForwardToServer_f( void ) {
- if ( cls.state < ca_connected ) {
- Com_Printf( "Can't \"%s\", not connected\n", Cmd_Argv( 0 ) );
+static void CL_ForwardToServer_f(void)
+{
+ if (cls.state < ca_connected) {
+ Com_Printf("Can't \"%s\", not connected\n", Cmd_Argv(0));
return;
}
- if ( cls.demo.playback ) {
+ if (cls.demo.playback) {
return;
}
// don't forward the first argument
- if ( Cmd_Argc() > 1 ) {
- CL_ClientCommand( Cmd_RawArgs() );
+ if (Cmd_Argc() > 1) {
+ CL_ClientCommand(Cmd_RawArgs());
}
}
@@ -280,19 +289,20 @@ static void CL_ForwardToServer_f( void ) {
CL_Pause_f
==================
*/
-static void CL_Pause_f( void ) {
+static void CL_Pause_f(void)
+{
#if USE_MVD_CLIENT
- if( sv_running->integer == ss_broadcast ) {
- Cbuf_InsertText( &cmd_buffer, "mvdpause @@\n" );
+ if (sv_running->integer == ss_broadcast) {
+ Cbuf_InsertText(&cmd_buffer, "mvdpause @@\n");
return;
}
#endif
// activate manual pause
- if( cl_paused->integer == 2 ) {
- Cvar_Set( "cl_paused", "0" );
+ if (cl_paused->integer == 2) {
+ Cvar_Set("cl_paused", "0");
} else {
- Cvar_Set( "cl_paused", "2" );
+ Cvar_Set("cl_paused", "2");
}
CL_CheckForPause();
@@ -301,31 +311,31 @@ static void CL_Pause_f( void ) {
/*
=================
CL_CheckForResend
-
+
Resend a connect message if the last one has timed out
=================
*/
-void CL_CheckForResend( void ) {
+void CL_CheckForResend(void)
+{
char tail[MAX_QPATH];
char userinfo[MAX_INFO_STRING];
int maxmsglen;
- if ( cls.demo.playback ) {
+ if (cls.demo.playback) {
return;
}
// if the local server is running and we aren't
// then connect
- if ( cls.state < ca_connecting && sv_running->integer > ss_loading ) {
- strcpy( cls.servername, "localhost" );
+ if (cls.state < ca_connecting && sv_running->integer > ss_loading) {
+ strcpy(cls.servername, "localhost");
cls.serverAddress.type = NA_LOOPBACK;
cls.serverProtocol = cl_protocol->integer;
- if( cls.serverProtocol < PROTOCOL_VERSION_DEFAULT ||
- cls.serverProtocol > PROTOCOL_VERSION_Q2PRO )
- {
+ if (cls.serverProtocol < PROTOCOL_VERSION_DEFAULT ||
+ cls.serverProtocol > PROTOCOL_VERSION_Q2PRO) {
cls.serverProtocol = PROTOCOL_VERSION_Q2PRO;
}
-
+
// we don't need a challenge on the localhost
cls.state = ca_connecting;
cls.connect_time -= CONNECT_FAST;
@@ -335,52 +345,52 @@ void CL_CheckForResend( void ) {
Con_Popup();
#if USE_UI
- UI_OpenMenu( UIMENU_NONE );
+ UI_OpenMenu(UIMENU_NONE);
#endif
}
// resend if we haven't gotten a reply yet
- if( cls.state != ca_connecting && cls.state != ca_challenging ) {
+ if (cls.state != ca_connecting && cls.state != ca_challenging) {
return;
}
- if( cls.realtime - cls.connect_time < CONNECT_DELAY ) {
+ if (cls.realtime - cls.connect_time < CONNECT_DELAY) {
return;
}
cls.connect_time = cls.realtime; // for retransmit requests
cls.connect_count++;
- if ( cls.state == ca_challenging ) {
- Com_Printf( "Requesting challenge... %i\n", cls.connect_count );
- OOB_PRINT( NS_CLIENT, &cls.serverAddress, "getchallenge\n" );
+ if (cls.state == ca_challenging) {
+ Com_Printf("Requesting challenge... %i\n", cls.connect_count);
+ OOB_PRINT(NS_CLIENT, &cls.serverAddress, "getchallenge\n");
return;
}
//
// We have gotten a challenge from the server, so try and connect.
//
- Com_Printf( "Requesting connection... %i\n", cls.connect_count );
+ Com_Printf("Requesting connection... %i\n", cls.connect_count);
cls.userinfo_modified = 0;
// use maximum allowed msglen for loopback
maxmsglen = net_maxmsglen->integer;
- if( NET_IsLocalAddress( &cls.serverAddress ) ) {
+ if (NET_IsLocalAddress(&cls.serverAddress)) {
maxmsglen = MAX_PACKETLEN_WRITABLE;
}
// add protocol dependent stuff
- switch( cls.serverProtocol ) {
+ switch (cls.serverProtocol) {
case PROTOCOL_VERSION_R1Q2:
- Q_snprintf( tail, sizeof( tail ), " %d %d",
- maxmsglen, PROTOCOL_VERSION_R1Q2_CURRENT );
+ Q_snprintf(tail, sizeof(tail), " %d %d",
+ maxmsglen, PROTOCOL_VERSION_R1Q2_CURRENT);
cls.quakePort = net_qport->integer & 0xff;
break;
case PROTOCOL_VERSION_Q2PRO:
- Q_snprintf( tail, sizeof( tail ), " %d %d %d %d",
- maxmsglen, net_chantype->integer, USE_ZLIB,
- PROTOCOL_VERSION_Q2PRO_CURRENT );
+ Q_snprintf(tail, sizeof(tail), " %d %d %d %d",
+ maxmsglen, net_chantype->integer, USE_ZLIB,
+ PROTOCOL_VERSION_Q2PRO_CURRENT);
cls.quakePort = net_qport->integer & 0xff;
break;
default:
@@ -389,37 +399,39 @@ void CL_CheckForResend( void ) {
break;
}
- Cvar_BitInfo( userinfo, CVAR_USERINFO );
- Netchan_OutOfBand( NS_CLIENT, &cls.serverAddress,
- "connect %i %i %i \"%s\"%s\n", cls.serverProtocol, cls.quakePort,
- cls.challenge, userinfo, tail );
+ Cvar_BitInfo(userinfo, CVAR_USERINFO);
+ Netchan_OutOfBand(NS_CLIENT, &cls.serverAddress,
+ "connect %i %i %i \"%s\"%s\n", cls.serverProtocol, cls.quakePort,
+ cls.challenge, userinfo, tail);
}
-static void CL_RecentIP_g( genctx_t *ctx ) {
+static void CL_RecentIP_g(genctx_t *ctx)
+{
netadr_t *a;
int i, j;
j = cls.recent_head - RECENT_ADDR;
- if( j < 0 ) {
+ if (j < 0) {
j = 0;
}
- for( i = cls.recent_head - 1; i >= j; i-- ) {
+ for (i = cls.recent_head - 1; i >= j; i--) {
a = &cls.recent_addr[i & RECENT_MASK];
- if( a->type ) {
- Prompt_AddMatch( ctx, NET_AdrToString( a ) );
+ if (a->type) {
+ Prompt_AddMatch(ctx, NET_AdrToString(a));
}
}
}
-static void CL_Connect_c( genctx_t *ctx, int argnum ) {
- if( argnum == 1 ) {
- CL_RecentIP_g( ctx );
- Com_Address_g( ctx );
- } else if( argnum == 2 ) {
- if( !ctx->partial[0] || ( ctx->partial[0] == '3' && !ctx->partial[1] ) ) {
- Prompt_AddMatch( ctx, "34" );
- Prompt_AddMatch( ctx, "35" );
- Prompt_AddMatch( ctx, "36" );
+static void CL_Connect_c(genctx_t *ctx, int argnum)
+{
+ if (argnum == 1) {
+ CL_RecentIP_g(ctx);
+ Com_Address_g(ctx);
+ } else if (argnum == 2) {
+ if (!ctx->partial[0] || (ctx->partial[0] == '3' && !ctx->partial[1])) {
+ Prompt_AddMatch(ctx, "34");
+ Prompt_AddMatch(ctx, "35");
+ Prompt_AddMatch(ctx, "36");
}
}
}
@@ -427,59 +439,59 @@ static void CL_Connect_c( genctx_t *ctx, int argnum ) {
/*
================
CL_Connect_f
-
+
================
*/
-static void CL_Connect_f( void ) {
+static void CL_Connect_f(void)
+{
char *server, *p;
netadr_t address;
int protocol;
int argc = Cmd_Argc();
- if( argc < 2 ) {
+ if (argc < 2) {
usage:
- Com_Printf( "Usage: %s <server> [34|35|36]\n", Cmd_Argv( 0 ) );
+ Com_Printf("Usage: %s <server> [34|35|36]\n", Cmd_Argv(0));
return;
}
- if( argc > 2 ) {
- protocol = atoi( Cmd_Argv( 2 ) );
- if( protocol < PROTOCOL_VERSION_DEFAULT ||
- protocol > PROTOCOL_VERSION_Q2PRO )
- {
+ if (argc > 2) {
+ protocol = atoi(Cmd_Argv(2));
+ if (protocol < PROTOCOL_VERSION_DEFAULT ||
+ protocol > PROTOCOL_VERSION_Q2PRO) {
goto usage;
}
} else {
protocol = cl_protocol->integer;
- if( !protocol ) {
+ if (!protocol) {
protocol = PROTOCOL_VERSION_Q2PRO;
}
}
- server = Cmd_Argv( 1 );
+ server = Cmd_Argv(1);
// support quake2://<address>[/] scheme
- if( !Q_strncasecmp( server, "quake2://", 9 ) ) {
+ if (!Q_strncasecmp(server, "quake2://", 9)) {
server += 9;
- if( ( p = strchr( server, '/' ) ) != NULL ) {
+ if ((p = strchr(server, '/')) != NULL) {
*p = 0;
}
}
- if ( !NET_StringToAdr( server, &address, PORT_SERVER ) ) {
- Com_Printf( "Bad server address\n" );
+ if (!NET_StringToAdr(server, &address, PORT_SERVER)) {
+ Com_Printf("Bad server address\n");
return;
}
// copy early to avoid potential cmd_argv[1] clobbering
- Q_strlcpy( cls.servername, server, sizeof( cls.servername ) );
+ Q_strlcpy(cls.servername, server, sizeof(cls.servername));
// if running a local server, kill it and reissue
- SV_Shutdown( "Server was killed.\n", ERR_DISCONNECT );
+ SV_Shutdown("Server was killed.\n", ERR_DISCONNECT);
- NET_Config( NET_CLIENT );
+ NET_Config(NET_CLIENT);
- CL_Disconnect( ERR_RECONNECT );
+ CL_Disconnect(ERR_RECONNECT);
cls.serverAddress = address;
cls.serverProtocol = protocol;
@@ -493,120 +505,126 @@ usage:
CL_CheckForResend();
- Cvar_Set( "timedemo", "0" );
+ Cvar_Set("timedemo", "0");
}
-static void CL_FollowIP_f( void ) {
+static void CL_FollowIP_f(void)
+{
netadr_t *a;
int i, j;
- if( Cmd_Argc() > 1 ) {
+ if (Cmd_Argc() > 1) {
// optional second argument references less recent address
- j = atoi( Cmd_Argv( 1 ) ) + 1;
- clamp( j, 1, RECENT_ADDR );
+ j = atoi(Cmd_Argv(1)) + 1;
+ clamp(j, 1, RECENT_ADDR);
} else {
j = 1;
}
i = cls.recent_head - j;
- if( i < 0 ) {
- Com_Printf( "No IP address to follow.\n" );
+ if (i < 0) {
+ Com_Printf("No IP address to follow.\n");
return;
}
a = &cls.recent_addr[i & RECENT_MASK];
- if( a->type ) {
- char *s = NET_AdrToString( a );
- Com_Printf( "Following %s...\n", s );
- Cbuf_InsertText( cmd_current, va( "connect %s\n", s ) );
+ if (a->type) {
+ char *s = NET_AdrToString(a);
+ Com_Printf("Following %s...\n", s);
+ Cbuf_InsertText(cmd_current, va("connect %s\n", s));
}
}
-static void CL_PassiveConnect_f( void ) {
+static void CL_PassiveConnect_f(void)
+{
netadr_t address;
- if( cls.passive ) {
+ if (cls.passive) {
cls.passive = qfalse;
- Com_Printf( "No longer listening for passive connections.\n" );
+ Com_Printf("No longer listening for passive connections.\n");
return;
}
// if running a local server, kill it and reissue
- SV_Shutdown( "Server was killed.\n", ERR_DISCONNECT );
+ SV_Shutdown("Server was killed.\n", ERR_DISCONNECT);
- NET_Config( NET_CLIENT );
+ NET_Config(NET_CLIENT);
- CL_Disconnect( ERR_RECONNECT );
+ CL_Disconnect(ERR_RECONNECT);
- if( !NET_GetAddress( NS_CLIENT, &address ) ) {
+ if (!NET_GetAddress(NS_CLIENT, &address)) {
return;
}
cls.passive = qtrue;
- Com_Printf( "Listening for passive connections at %s.\n",
- NET_AdrToString( &address ) );
+ Com_Printf("Listening for passive connections at %s.\n",
+ NET_AdrToString(&address));
}
-void CL_SendRcon( const netadr_t *adr, const char *pass, const char *cmd ) {
- NET_Config( NET_CLIENT );
+void CL_SendRcon(const netadr_t *adr, const char *pass, const char *cmd)
+{
+ NET_Config(NET_CLIENT);
- CL_AddRequest( adr, REQ_RCON );
+ CL_AddRequest(adr, REQ_RCON);
- Netchan_OutOfBand( NS_CLIENT, adr, "rcon \"%s\" %s", pass, cmd );
+ Netchan_OutOfBand(NS_CLIENT, adr, "rcon \"%s\" %s", pass, cmd);
}
/*
=====================
CL_Rcon_f
-
+
Send the rest of the command line over as
an unconnected command.
=====================
*/
-static void CL_Rcon_f( void ) {
+static void CL_Rcon_f(void)
+{
netadr_t address;
- if( Cmd_Argc() < 2 ) {
- Com_Printf( "Usage: %s <command>\n", Cmd_Argv( 0 ) );
+ if (Cmd_Argc() < 2) {
+ Com_Printf("Usage: %s <command>\n", Cmd_Argv(0));
return;
}
- if( !rcon_password->string[0] ) {
- Com_Printf( "You must set 'rcon_password' before "
- "issuing an rcon command.\n" );
+ if (!rcon_password->string[0]) {
+ Com_Printf("You must set 'rcon_password' before "
+ "issuing an rcon command.\n");
return;
}
- if( !cls.netchan ) {
- if( !rcon_address->string[0] ) {
- Com_Printf( "You must either be connected, "
- "or set the 'rcon_address' cvar "
- "to issue rcon commands.\n" );
+ if (!cls.netchan) {
+ if (!rcon_address->string[0]) {
+ Com_Printf("You must either be connected, "
+ "or set the 'rcon_address' cvar "
+ "to issue rcon commands.\n");
return;
}
- if( !NET_StringToAdr( rcon_address->string, &address, PORT_SERVER ) ) {
- Com_Printf( "Bad address: %s\n", rcon_address->string );
+ if (!NET_StringToAdr(rcon_address->string, &address, PORT_SERVER)) {
+ Com_Printf("Bad address: %s\n", rcon_address->string);
return;
}
} else {
address = cls.netchan->remote_address;
}
- CL_SendRcon( &address, rcon_password->string, Cmd_RawArgs() );
+ CL_SendRcon(&address, rcon_password->string, Cmd_RawArgs());
}
-static void CL_Rcon_c( genctx_t *ctx, int argnum ) {
- Com_Generic_c( ctx, argnum - 1 );
+static void CL_Rcon_c(genctx_t *ctx, int argnum)
+{
+ Com_Generic_c(ctx, argnum - 1);
}
/*
=====================
CL_ClearState
-
+
=====================
*/
-void CL_ClearState( void ) {
+void CL_ClearState(void)
+{
S_StopAllSounds();
CL_ClearEffects();
#if USE_LIGHTSTYLES
@@ -616,11 +634,11 @@ void CL_ClearState( void ) {
LOC_FreeLocations();
// wipe the entire cl structure
- BSP_Free( cl.bsp );
- memset( &cl, 0, sizeof( cl ) );
- memset( &cl_entities, 0, sizeof( cl_entities ) );
+ BSP_Free(cl.bsp);
+ memset(&cl, 0, sizeof(cl));
+ memset(&cl_entities, 0, sizeof(cl_entities));
- if( cls.state > ca_connected ) {
+ if (cls.state > ca_connected) {
cls.state = ca_connected;
CL_CheckForPause();
CL_UpdateFrameTimes();
@@ -640,26 +658,27 @@ void CL_ClearState( void ) {
/*
=====================
CL_Disconnect
-
+
Goes from a connected state to full screen console state
Sends a disconnect message to the server
This is also called on Com_Error, so it shouldn't cause any errors
=====================
*/
-void CL_Disconnect( error_type_t type ) {
- if( !cls.state ) {
+void CL_Disconnect(error_type_t type)
+{
+ if (!cls.state) {
return;
}
SCR_EndLoadingPlaque(); // get rid of loading plaque
- if( cls.state > ca_disconnected && !cls.demo.playback ) {
- EXEC_TRIGGER( cl_disconnectcmd );
+ if (cls.state > ca_disconnected && !cls.demo.playback) {
+ EXEC_TRIGGER(cl_disconnectcmd);
}
#if 0
- if( cls.ref_initialized ) {
- R_CinematicSetPalette( NULL );
+ if (cls.ref_initialized) {
+ R_CinematicSetPalette(NULL);
}
#endif
@@ -670,16 +689,16 @@ void CL_Disconnect( error_type_t type ) {
cls.errorReceived = qfalse;
#endif
- if( cls.netchan ) {
+ if (cls.netchan) {
// send a disconnect message to the server
- MSG_WriteByte( clc_stringcmd );
- MSG_WriteData( "disconnect", 11 );
+ MSG_WriteByte(clc_stringcmd);
+ MSG_WriteData("disconnect", 11);
- cls.netchan->Transmit( cls.netchan, msg_write.cursize, msg_write.data, 3 );
+ cls.netchan->Transmit(cls.netchan, msg_write.cursize, msg_write.data, 3);
- SZ_Clear( &msg_write );
+ SZ_Clear(&msg_write);
- Netchan_Close( cls.netchan );
+ Netchan_Close(cls.netchan);
cls.netchan = NULL;
}
@@ -689,16 +708,16 @@ void CL_Disconnect( error_type_t type ) {
// stop download
CL_CleanupDownloads();
- CL_ClearState ();
+ CL_ClearState();
cls.state = ca_disconnected;
cls.userinfo_modified = 0;
#if USE_UI
- if( type == ERR_DISCONNECT ) {
- UI_OpenMenu( UIMENU_DEFAULT );
+ if (type == ERR_DISCONNECT) {
+ UI_OpenMenu(UIMENU_DEFAULT);
} else {
- UI_OpenMenu( UIMENU_NONE );
+ UI_OpenMenu(UIMENU_NONE);
}
#endif
@@ -712,16 +731,18 @@ void CL_Disconnect( error_type_t type ) {
CL_Disconnect_f
================
*/
-static void CL_Disconnect_f( void ) {
- if( cls.state > ca_disconnected ) {
- Com_Error( ERR_DISCONNECT, "Disconnected from server" );
+static void CL_Disconnect_f(void)
+{
+ if (cls.state > ca_disconnected) {
+ Com_Error(ERR_DISCONNECT, "Disconnected from server");
}
}
-static void CL_ServerStatus_c( genctx_t *ctx, int argnum ) {
- if( argnum == 1 ) {
- CL_RecentIP_g( ctx );
- Com_Address_g( ctx );
+static void CL_ServerStatus_c(genctx_t *ctx, int argnum)
+{
+ if (argnum == 1) {
+ CL_RecentIP_g(ctx);
+ Com_Address_g(ctx);
}
}
@@ -730,32 +751,33 @@ static void CL_ServerStatus_c( genctx_t *ctx, int argnum ) {
CL_ServerStatus_f
================
*/
-static void CL_ServerStatus_f( void ) {
+static void CL_ServerStatus_f(void)
+{
char *s;
netadr_t adr;
neterr_t ret;
- if( Cmd_Argc() < 2 ) {
- if( !cls.netchan ) {
- Com_Printf( "Usage: %s [address]\n", Cmd_Argv( 0 ) );
+ if (Cmd_Argc() < 2) {
+ if (!cls.netchan) {
+ Com_Printf("Usage: %s [address]\n", Cmd_Argv(0));
return;
}
adr = cls.netchan->remote_address;
} else {
- s = Cmd_Argv( 1 );
- if( !NET_StringToAdr( s, &adr, PORT_SERVER ) ) {
- Com_Printf( "Bad address: %s\n", s );
+ s = Cmd_Argv(1);
+ if (!NET_StringToAdr(s, &adr, PORT_SERVER)) {
+ Com_Printf("Bad address: %s\n", s);
return;
}
}
- CL_AddRequest( &adr, REQ_STATUS );
+ CL_AddRequest(&adr, REQ_STATUS);
- NET_Config( NET_CLIENT );
+ NET_Config(NET_CLIENT);
- ret = OOB_PRINT( NS_CLIENT, &adr, "status" );
- if( ret == NET_ERROR ) {
- Com_Printf( "%s to %s\n", NET_ErrorString(), NET_AdrToString( &adr ) );
+ ret = OOB_PRINT(NS_CLIENT, &adr, "status");
+ if (ret == NET_ERROR) {
+ Com_Printf("%s to %s\n", NET_ErrorString(), NET_AdrToString(&adr));
}
}
@@ -764,9 +786,10 @@ static void CL_ServerStatus_f( void ) {
SortPlayers
====================
*/
-static int QDECL SortPlayers( const void *v1, const void *v2 ) {
- const playerStatus_t *p1 = ( const playerStatus_t * )v1;
- const playerStatus_t *p2 = ( const playerStatus_t * )v2;
+static int QDECL SortPlayers(const void *v1, const void *v2)
+{
+ const playerStatus_t *p1 = (const playerStatus_t *)v1;
+ const playerStatus_t *p2 = (const playerStatus_t *)v2;
return p2->score - p1->score;
}
@@ -776,84 +799,85 @@ static int QDECL SortPlayers( const void *v1, const void *v2 ) {
CL_ServerStatusResponse
====================
*/
-static qboolean CL_ServerStatusResponse( const char *status, size_t len, serverStatus_t *dest ) {
+static qboolean CL_ServerStatusResponse(const char *status, size_t len, serverStatus_t *dest)
+{
const char *s;
playerStatus_t *player;
size_t infolen;
- memset( dest, 0, sizeof( *dest ) );
+ memset(dest, 0, sizeof(*dest));
- s = memchr( status, '\n', len );
- if( !s ) {
+ s = memchr(status, '\n', len);
+ if (!s) {
return qfalse;
}
infolen = s - status;
- if( !infolen || infolen >= MAX_STRING_CHARS ) {
+ if (!infolen || infolen >= MAX_STRING_CHARS) {
return qfalse;
}
s++;
- strcpy( dest->address, NET_AdrToString( &net_from ) );
- memcpy( dest->infostring, status, infolen );
-
+ strcpy(dest->address, NET_AdrToString(&net_from));
+ memcpy(dest->infostring, status, infolen);
+
// HACK: check if this is a status response
- if( !strstr( dest->infostring, "\\maxclients\\" ) ) {
+ if (!strstr(dest->infostring, "\\maxclients\\")) {
return qfalse;
}
// parse player list
- if( *s < 32 ) {
+ if (*s < 32) {
return qtrue;
}
do {
player = &dest->players[dest->numPlayers];
- player->score = atoi( COM_Parse( &s ) );
- player->ping = atoi( COM_Parse( &s ) );
- if( !s ) {
+ player->score = atoi(COM_Parse(&s));
+ player->ping = atoi(COM_Parse(&s));
+ if (!s) {
break;
- }
- Q_strlcpy( player->name, COM_Parse( &s ), sizeof( player->name ) );
+ }
+ Q_strlcpy(player->name, COM_Parse(&s), sizeof(player->name));
- if ( ++dest->numPlayers == MAX_STATUS_PLAYERS ) {
+ if (++dest->numPlayers == MAX_STATUS_PLAYERS) {
break;
}
- } while( s );
+ } while (s);
- qsort( dest->players, dest->numPlayers, sizeof( dest->players[ 0 ] ),
- SortPlayers );
+ qsort(dest->players, dest->numPlayers, sizeof(dest->players[0]), SortPlayers);
return qtrue;
}
-static void CL_DumpServerInfo( const serverStatus_t *status ) {
+static void CL_DumpServerInfo(const serverStatus_t *status)
+{
char key[MAX_STRING_CHARS];
char value[MAX_STRING_CHARS];
const playerStatus_t *player;
const char *infostring;
int i;
- Com_Printf( "Info response from %s:\n",
- NET_AdrToString( &net_from ) );
+ Com_Printf("Info response from %s:\n",
+ NET_AdrToString(&net_from));
infostring = status->infostring;
do {
- Info_NextPair( &infostring, key, value );
-
- if( !key[0] ) {
+ Info_NextPair(&infostring, key, value);
+
+ if (!key[0]) {
break;
}
- if( value[0] ) {
- Com_Printf( "%-20s %s\n", key, value );
+ if (value[0]) {
+ Com_Printf("%-20s %s\n", key, value);
} else {
- Com_Printf( "%-20s <MISSING VALUE>\n", key );
+ Com_Printf("%-20s <MISSING VALUE>\n", key);
}
- } while( infostring );
+ } while (infostring);
- Com_Printf( "\nNum Score Ping Name\n" );
- for( i = 0, player = status->players; i < status->numPlayers; i++, player++ ) {
- Com_Printf( "%3i %5i %4i %s\n", i + 1, player->score, player->ping,
- player->name );
+ Com_Printf("\nNum Score Ping Name\n");
+ for (i = 0, player = status->players; i < status->numPlayers; i++, player++) {
+ Com_Printf("%3i %5i %4i %s\n", i + 1, player->score, player->ping,
+ player->name);
}
}
@@ -862,7 +886,8 @@ static void CL_DumpServerInfo( const serverStatus_t *status ) {
CL_ParsePrintMessage
====================
*/
-static void CL_ParsePrintMessage( void ) {
+static void CL_ParsePrintMessage(void)
+{
request_t *r;
serverStatus_t serverStatus;
char string[MAX_NET_STRING];
@@ -870,49 +895,49 @@ static void CL_ParsePrintMessage( void ) {
unsigned delta;
size_t len;
- len = MSG_ReadString( string, sizeof( string ) );
+ len = MSG_ReadString(string, sizeof(string));
oldest = currentRequest - MAX_REQUESTS;
- if( oldest < 0 ) {
+ if (oldest < 0) {
oldest = 0;
}
- for( i = currentRequest - 1; i >= oldest; i-- ) {
+ for (i = currentRequest - 1; i >= oldest; i--) {
r = &clientRequests[i & REQUEST_MASK];
- if( !r->type ) {
+ if (!r->type) {
continue;
}
delta = cls.realtime - r->time;
- if( r->adr.type == NA_BROADCAST ) {
- if( delta > 3000 ) {
+ if (r->adr.type == NA_BROADCAST) {
+ if (delta > 3000) {
continue;
}
} else {
- if( delta > 6000 ) {
+ if (delta > 6000) {
break;
}
- if( !NET_IsEqualBaseAdr( &net_from, &r->adr ) ) {
+ if (!NET_IsEqualBaseAdr(&net_from, &r->adr)) {
continue;
}
}
- switch( r->type ) {
+ switch (r->type) {
case REQ_STATUS:
- if( !CL_ServerStatusResponse( string, len, &serverStatus ) ) {
+ if (!CL_ServerStatusResponse(string, len, &serverStatus)) {
continue;
}
- CL_DumpServerInfo( &serverStatus );
+ CL_DumpServerInfo(&serverStatus);
break;
- //case REQ_INFO:
- // break;
+ //case REQ_INFO:
+ // break;
#if USE_UI
case REQ_PING:
- if( !CL_ServerStatusResponse( string, len, &serverStatus ) ) {
+ if (!CL_ServerStatusResponse(string, len, &serverStatus)) {
continue;
}
- UI_AddToServerList( &serverStatus );
+ UI_AddToServerList(&serverStatus);
break;
#endif
case REQ_RCON:
- Com_Printf( "%s", string );
+ Com_Printf("%s", string);
return; // rcon may come in multiple packets
default:
break;
@@ -924,28 +949,27 @@ static void CL_ParsePrintMessage( void ) {
// finally, check is this is response from the server we are connecting to
// and if so, start channenge cycle again
- if ( ( cls.state == ca_challenging || cls.state == ca_connecting ) &&
- NET_IsEqualBaseAdr( &net_from, &cls.serverAddress ) )
- {
- Com_Printf( "%s", string );
+ if ((cls.state == ca_challenging || cls.state == ca_connecting) &&
+ NET_IsEqualBaseAdr(&net_from, &cls.serverAddress)) {
+ Com_Printf("%s", string);
cls.state = ca_challenging;
//cls.connect_count = 0;
return;
}
- Com_DPrintf( "%s: dropped unrequested packet\n", __func__ );
+ Com_DPrintf("%s: dropped unrequested packet\n", __func__);
}
/*
====================
CL_Packet_f
-
+
packet <destination> <contents>
-
+
Contents allows \n escape character
====================
-*/
+*/
/*
void CL_Packet_f (void)
{
@@ -953,13 +977,13 @@ void CL_Packet_f (void)
int i, l;
char *in, *out;
netadr_t adr;
-
+
if (Cmd_Argc() != 3)
{
Com_Printf ("packet <destination> <contents>\n");
return;
}
-
+
if (!NET_StringToAdr (Cmd_Argv(1), &adr))
{
Com_Printf ("Bad address\n");
@@ -967,13 +991,13 @@ void CL_Packet_f (void)
}
if (!adr.port)
adr.port = BigShort (PORT_SERVER);
-
+
in = Cmd_Argv(2);
out = send+4;
send[0] = send[1] = send[2] = send[3] = (char)0xff;
-
+
l = strlen (in);
- for (i=0 ; i<l ; i++)
+ for (i=0; i<l; i++)
{
if (in[i] == '\\' && in[i+1] == 'n')
{
@@ -984,7 +1008,7 @@ void CL_Packet_f (void)
*out++ = in[i];
}
*out = 0;
-
+
NET_SendPacket (NS_CLIENT, out-send, send, &adr);
}
*/
@@ -992,29 +1016,30 @@ void CL_Packet_f (void)
/*
=================
CL_Changing_f
-
+
Just sent as a hint to the client that they should
drop to full console
=================
*/
-static void CL_Changing_f( void ) {
+static void CL_Changing_f(void)
+{
int i, j;
char *s;
- if ( cls.state < ca_connected ) {
+ if (cls.state < ca_connected) {
return;
}
- if ( cls.demo.recording )
+ if (cls.demo.recording)
CL_Stop_f();
S_StopAllSounds();
- Com_Printf( "Changing map...\n" );
+ Com_Printf("Changing map...\n");
- if( !cls.demo.playback ) {
- EXEC_TRIGGER( cl_changemapcmd );
- Cmd_ExecTrigger( "#cl_changelevel" );
+ if (!cls.demo.playback) {
+ EXEC_TRIGGER(cl_changemapcmd);
+ Cmd_ExecTrigger("#cl_changelevel");
}
SCR_BeginLoadingPlaque();
@@ -1029,10 +1054,10 @@ static void CL_Changing_f( void ) {
// parse additional parameters
j = Cmd_Argc();
- for( i = 1; i < j; i++ ) {
- s = Cmd_Argv( i );
- if( !strncmp( s, "map=", 4 ) ) {
- Q_strlcpy( cl.mapname, s + 4, sizeof( cl.mapname ) );
+ for (i = 1; i < j; i++) {
+ s = Cmd_Argv(i);
+ if (!strncmp(s, "map=", 4)) {
+ Q_strlcpy(cl.mapname, s + 4, sizeof(cl.mapname));
}
}
@@ -1043,42 +1068,43 @@ static void CL_Changing_f( void ) {
/*
=================
CL_Reconnect_f
-
+
The server is changing levels
=================
*/
-static void CL_Reconnect_f( void ) {
- if( cls.state >= ca_precached ) {
- CL_Disconnect( ERR_RECONNECT );
+static void CL_Reconnect_f(void)
+{
+ if (cls.state >= ca_precached) {
+ CL_Disconnect(ERR_RECONNECT);
}
- if( cls.state >= ca_connected ) {
+ if (cls.state >= ca_connected) {
cls.state = ca_connected;
- if( cls.demo.playback ) {
+ if (cls.demo.playback) {
return;
}
- if( cls.download.file ) {
+ if (cls.download.file) {
return; // if we are downloading, we don't change!
}
- Com_Printf( "Reconnecting...\n" );
+ Com_Printf("Reconnecting...\n");
- CL_ClientCommand( "new" );
+ CL_ClientCommand("new");
return;
}
// issued manually at console
- if( cls.serverAddress.type == NA_BAD ) {
- Com_Printf( "No server to reconnect to.\n" );
+ if (cls.serverAddress.type == NA_BAD) {
+ Com_Printf("No server to reconnect to.\n");
return;
}
- if( cls.serverAddress.type == NA_LOOPBACK ) {
- Com_Printf( "Can not reconnect to loopback.\n" );
+ if (cls.serverAddress.type == NA_LOOPBACK) {
+ Com_Printf("Can not reconnect to loopback.\n");
return;
}
- Com_Printf( "Reconnecting...\n" );
+ Com_Printf("Reconnecting...\n");
cls.state = ca_challenging;
cls.connect_time -= CONNECT_FAST;
@@ -1091,11 +1117,11 @@ static void CL_Reconnect_f( void ) {
/*
=================
CL_ParseStatusMessage
-
+
Handle a reply from a ping
=================
*/
-void CL_ParseStatusMessage ( void ) {}
+void CL_ParseStatusMessage(void) {}
#endif
/*
@@ -1103,31 +1129,32 @@ void CL_ParseStatusMessage ( void ) {}
CL_SendStatusRequest
=================
*/
-qboolean CL_SendStatusRequest( char *buffer, size_t size ) {
+qboolean CL_SendStatusRequest(char *buffer, size_t size)
+{
netadr_t address;
- memset( &address, 0, sizeof( address ) );
+ memset(&address, 0, sizeof(address));
- NET_Config( NET_CLIENT );
+ NET_Config(NET_CLIENT);
- if( !buffer ) {
+ if (!buffer) {
// send a broadcast packet
address.type = NA_BROADCAST;
- address.port = BigShort( PORT_SERVER );
+ address.port = BigShort(PORT_SERVER);
} else {
- if ( !NET_StringToAdr( buffer, &address, PORT_SERVER ) ) {
+ if (!NET_StringToAdr(buffer, &address, PORT_SERVER)) {
return qfalse;
}
// return resolved address
- if( size > 0 ) {
- Q_strlcpy( buffer, NET_AdrToString( &address ), size );
+ if (size > 0) {
+ Q_strlcpy(buffer, NET_AdrToString(&address), size);
}
}
- CL_AddRequest( &address, REQ_PING );
+ CL_AddRequest(&address, REQ_PING);
- OOB_PRINT( NS_CLIENT, &address, "status" );
+ OOB_PRINT(NS_CLIENT, &address, "status");
// Com_ProcessEvents();
@@ -1140,46 +1167,47 @@ qboolean CL_SendStatusRequest( char *buffer, size_t size ) {
CL_PingServers_f
=================
*/
-static void CL_PingServers_f( void ) {
+static void CL_PingServers_f(void)
+{
int i;
char buffer[32];
cvar_t *var;
netadr_t address;
- memset( &address, 0, sizeof( address ) );
+ memset(&address, 0, sizeof(address));
- NET_Config( NET_CLIENT );
+ NET_Config(NET_CLIENT);
// send a broadcast packet
- Com_Printf( "pinging broadcast...\n" );
+ Com_Printf("pinging broadcast...\n");
address.type = NA_BROADCAST;
- address.port = BigShort( PORT_SERVER );
+ address.port = BigShort(PORT_SERVER);
- CL_AddRequest( &address, REQ_STATUS );
+ CL_AddRequest(&address, REQ_STATUS);
- OOB_PRINT( NS_CLIENT, &address, "status" );
+ OOB_PRINT(NS_CLIENT, &address, "status");
SCR_UpdateScreen();
// send a packet to each address book entry
- for( i = 0; i < 64; i++ ) {
- Q_snprintf( buffer, sizeof( buffer ), "adr%i", i );
- var = Cvar_FindVar( buffer );
- if( !var ) {
+ for (i = 0; i < 64; i++) {
+ Q_snprintf(buffer, sizeof(buffer), "adr%i", i);
+ var = Cvar_FindVar(buffer);
+ if (!var) {
break;
}
- if( !var->string[0] )
+ if (!var->string[0])
continue;
- if( !NET_StringToAdr( var->string, &address, PORT_SERVER ) ) {
- Com_Printf( "bad address: %s\n", var->string );
+ if (!NET_StringToAdr(var->string, &address, PORT_SERVER)) {
+ Com_Printf("bad address: %s\n", var->string);
continue;
}
- Com_Printf( "pinging %s...\n", var->string );
- CL_AddRequest( &address, REQ_STATUS );
+ Com_Printf("pinging %s...\n", var->string);
+ CL_AddRequest(&address, REQ_STATUS);
- OOB_PRINT( NS_CLIENT, &address, "status" );
+ OOB_PRINT(NS_CLIENT, &address, "status");
// Com_ProcessEvents();
SCR_UpdateScreen();
@@ -1189,79 +1217,83 @@ static void CL_PingServers_f( void ) {
/*
=================
CL_Skins_f
-
+
Load or download any custom player skins and models
=================
*/
-static void CL_Skins_f( void ) {
+static void CL_Skins_f(void)
+{
int i;
char *s;
clientinfo_t *ci;
- if( cls.state < ca_loading ) {
- Com_Printf( "Must be in a level to load skins.\n" );
+ if (cls.state < ca_loading) {
+ Com_Printf("Must be in a level to load skins.\n");
return;
}
CL_RegisterVWepModels();
- for( i = 0 ; i < MAX_CLIENTS; i++ ) {
- s = cl.configstrings[ CS_PLAYERSKINS + i ];
- if( !s[0] )
+ for (i = 0; i < MAX_CLIENTS; i++) {
+ s = cl.configstrings[CS_PLAYERSKINS + i];
+ if (!s[0])
continue;
ci = &cl.clientinfo[i];
- CL_LoadClientinfo( ci, s );
- if( !ci->model_name[0] || !ci->skin_name[0] )
+ CL_LoadClientinfo(ci, s);
+ if (!ci->model_name[0] || !ci->skin_name[0])
ci = &cl.baseclientinfo;
- Com_Printf( "client %d: %s --> %s/%s\n", i, s,
- ci->model_name, ci->skin_name );
+ Com_Printf("client %d: %s --> %s/%s\n", i, s,
+ ci->model_name, ci->skin_name);
SCR_UpdateScreen();
}
}
-static void cl_noskins_changed( cvar_t *self ) {
+static void cl_noskins_changed(cvar_t *self)
+{
int i;
char *s;
clientinfo_t *ci;
- if( cls.state < ca_loading ) {
+ if (cls.state < ca_loading) {
return;
}
- for( i = 0 ; i < MAX_CLIENTS; i++ ) {
- s = cl.configstrings[ CS_PLAYERSKINS + i ];
- if( !s[0] )
+ for (i = 0; i < MAX_CLIENTS; i++) {
+ s = cl.configstrings[CS_PLAYERSKINS + i];
+ if (!s[0])
continue;
ci = &cl.clientinfo[i];
- CL_LoadClientinfo( ci, s );
+ CL_LoadClientinfo(ci, s);
}
}
-static void cl_vwep_changed( cvar_t *self ) {
- if( cls.state < ca_loading ) {
+static void cl_vwep_changed(cvar_t *self)
+{
+ if (cls.state < ca_loading) {
return;
}
CL_RegisterVWepModels();
- cl_noskins_changed( self );
+ cl_noskins_changed(self);
}
-static void CL_Name_g( genctx_t *ctx ) {
+static void CL_Name_g(genctx_t *ctx)
+{
int i;
clientinfo_t *ci;
char buffer[MAX_CLIENT_NAME];
- if( cls.state < ca_loading ) {
+ if (cls.state < ca_loading) {
return;
}
- for( i = 0; i < MAX_CLIENTS; i++ ) {
+ for (i = 0; i < MAX_CLIENTS; i++) {
ci = &cl.clientinfo[i];
- if( !ci->name[0] ) {
+ if (!ci->name[0]) {
continue;
}
- Q_strlcpy( buffer, ci->name, sizeof( buffer ) );
- if( COM_strclr( buffer ) && !Prompt_AddMatch( ctx, buffer ) ) {
+ Q_strlcpy(buffer, ci->name, sizeof(buffer));
+ if (COM_strclr(buffer) && !Prompt_AddMatch(ctx, buffer)) {
break;
}
}
@@ -1271,11 +1303,12 @@ static void CL_Name_g( genctx_t *ctx ) {
/*
=================
CL_ConnectionlessPacket
-
+
Responses to broadcasts, etc
=================
*/
-static void CL_ConnectionlessPacket( void ) {
+static void CL_ConnectionlessPacket(void)
+{
char string[MAX_STRING_CHARS];
char *s, *c;
int i, j, k;
@@ -1284,55 +1317,55 @@ static void CL_ConnectionlessPacket( void ) {
MSG_BeginReading();
MSG_ReadLong(); // skip the -1
- len = MSG_ReadStringLine( string, sizeof( string ) );
- if( len >= sizeof( string ) ) {
- Com_DPrintf( "Oversize message received. Ignored.\n" );
+ len = MSG_ReadStringLine(string, sizeof(string));
+ if (len >= sizeof(string)) {
+ Com_DPrintf("Oversize message received. Ignored.\n");
return;
}
- Cmd_TokenizeString( string, qfalse );
+ Cmd_TokenizeString(string, qfalse);
- c = Cmd_Argv( 0 );
+ c = Cmd_Argv(0);
- Com_DPrintf( "%s: %s\n", NET_AdrToString ( &net_from ), string );
+ Com_DPrintf("%s: %s\n", NET_AdrToString(&net_from), string);
// challenge from the server we are connecting to
- if ( !strcmp( c, "challenge" ) ) {
+ if (!strcmp(c, "challenge")) {
int mask = 0;
- if ( cls.state < ca_challenging ) {
- Com_DPrintf( "Challenge received while not connecting. Ignored.\n" );
+ if (cls.state < ca_challenging) {
+ Com_DPrintf("Challenge received while not connecting. Ignored.\n");
return;
}
- if ( !NET_IsEqualBaseAdr( &net_from, &cls.serverAddress ) ) {
- Com_DPrintf( "Challenge from different address. Ignored.\n" );
+ if (!NET_IsEqualBaseAdr(&net_from, &cls.serverAddress)) {
+ Com_DPrintf("Challenge from different address. Ignored.\n");
return;
}
- if ( cls.state > ca_challenging ) {
- Com_DPrintf( "Dup challenge received. Ignored.\n" );
+ if (cls.state > ca_challenging) {
+ Com_DPrintf("Dup challenge received. Ignored.\n");
return;
}
- cls.challenge = atoi( Cmd_Argv( 1 ) );
+ cls.challenge = atoi(Cmd_Argv(1));
cls.state = ca_connecting;
cls.connect_time -= CONNECT_INSTANT; // fire immediately
//cls.connect_count = 0;
// parse additional parameters
j = Cmd_Argc();
- for( i = 2; i < j; i++ ) {
- s = Cmd_Argv( i );
- if( !strncmp( s, "p=", 2 ) ) {
+ for (i = 2; i < j; i++) {
+ s = Cmd_Argv(i);
+ if (!strncmp(s, "p=", 2)) {
s += 2;
- while( *s ) {
- k = strtoul( s, &s, 10 );
- if( k == PROTOCOL_VERSION_R1Q2 ) {
+ while (*s) {
+ k = strtoul(s, &s, 10);
+ if (k == PROTOCOL_VERSION_R1Q2) {
mask |= 1;
- } else if( k == PROTOCOL_VERSION_Q2PRO ) {
+ } else if (k == PROTOCOL_VERSION_Q2PRO) {
mask |= 2;
}
- s = strchr( s, ',' );
- if( s == NULL ) {
+ s = strchr(s, ',');
+ if (s == NULL) {
break;
}
s++;
@@ -1341,46 +1374,46 @@ static void CL_ConnectionlessPacket( void ) {
}
// choose supported protocol
- switch( cls.serverProtocol ) {
+ switch (cls.serverProtocol) {
case PROTOCOL_VERSION_Q2PRO:
- if( mask & 2 ) {
+ if (mask & 2) {
break;
}
cls.serverProtocol = PROTOCOL_VERSION_R1Q2;
case PROTOCOL_VERSION_R1Q2:
- if( mask & 1 ) {
+ if (mask & 1) {
break;
}
default:
cls.serverProtocol = PROTOCOL_VERSION_DEFAULT;
break;
}
- Com_DPrintf( "Selected protocol %d\n", cls.serverProtocol );
+ Com_DPrintf("Selected protocol %d\n", cls.serverProtocol);
CL_CheckForResend();
return;
}
// server connection
- if ( !strcmp( c, "client_connect" ) ) {
+ if (!strcmp(c, "client_connect")) {
netchan_type_t type;
int anticheat = 0;
char mapname[MAX_QPATH];
- if ( cls.state < ca_connecting ) {
- Com_DPrintf( "Connect received while not connecting. Ignored.\n" );
+ if (cls.state < ca_connecting) {
+ Com_DPrintf("Connect received while not connecting. Ignored.\n");
return;
}
- if ( !NET_IsEqualBaseAdr( &net_from, &cls.serverAddress ) ) {
- Com_DPrintf( "Connect from different address. Ignored.\n" );
+ if (!NET_IsEqualBaseAdr(&net_from, &cls.serverAddress)) {
+ Com_DPrintf("Connect from different address. Ignored.\n");
return;
}
- if ( cls.state > ca_connecting ) {
- Com_DPrintf( "Dup connect received. Ignored.\n" );
+ if (cls.state > ca_connecting) {
+ Com_DPrintf("Dup connect received. Ignored.\n");
return;
}
- if ( cls.serverProtocol == PROTOCOL_VERSION_Q2PRO ) {
+ if (cls.serverProtocol == PROTOCOL_VERSION_Q2PRO) {
type = NETCHAN_NEW;
} else {
type = NETCHAN_OLD;
@@ -1390,89 +1423,89 @@ static void CL_ConnectionlessPacket( void ) {
// parse additional parameters
j = Cmd_Argc();
- for( i = 1; i < j; i++ ) {
- s = Cmd_Argv( i );
- if( !strncmp( s, "ac=", 3 ) ) {
+ for (i = 1; i < j; i++) {
+ s = Cmd_Argv(i);
+ if (!strncmp(s, "ac=", 3)) {
s += 3;
- if( *s ) {
- anticheat = atoi( s );
+ if (*s) {
+ anticheat = atoi(s);
}
- } else if( !strncmp( s, "nc=", 3 ) ) {
+ } else if (!strncmp(s, "nc=", 3)) {
s += 3;
- if( *s ) {
- type = atoi( s );
- if( type != NETCHAN_OLD && type != NETCHAN_NEW ) {
- Com_Error( ERR_DISCONNECT,
- "Server returned invalid netchan type" );
+ if (*s) {
+ type = atoi(s);
+ if (type != NETCHAN_OLD && type != NETCHAN_NEW) {
+ Com_Error(ERR_DISCONNECT,
+ "Server returned invalid netchan type");
}
}
- } else if( !strncmp( s, "map=", 4 ) ) {
- Q_strlcpy( mapname, s + 4, sizeof( mapname ) );
+ } else if (!strncmp(s, "map=", 4)) {
+ Q_strlcpy(mapname, s + 4, sizeof(mapname));
}
#if USE_CURL
- else if( !strncmp( s, "dlserver=", 9 ) ) {
- HTTP_SetServer( s + 9 );
+ else if (!strncmp(s, "dlserver=", 9)) {
+ HTTP_SetServer(s + 9);
}
#endif
}
- Com_Printf( "Connected to %s (protocol %d).\n",
- NET_AdrToString( &cls.serverAddress ), cls.serverProtocol );
- if( cls.netchan ) {
+ Com_Printf("Connected to %s (protocol %d).\n",
+ NET_AdrToString(&cls.serverAddress), cls.serverProtocol);
+ if (cls.netchan) {
// this may happen after svc_reconnect
- Netchan_Close( cls.netchan );
+ Netchan_Close(cls.netchan);
}
- cls.netchan = Netchan_Setup( NS_CLIENT, type, &cls.serverAddress,
- cls.quakePort, 1024, cls.serverProtocol );
+ cls.netchan = Netchan_Setup(NS_CLIENT, type, &cls.serverAddress,
+ cls.quakePort, 1024, cls.serverProtocol);
#if USE_AC_CLIENT
- if( anticheat ) {
- MSG_WriteByte( clc_nop );
- MSG_FlushTo( &cls.netchan->message );
- cls.netchan->Transmit( cls.netchan, 0, NULL, 3 );
+ if (anticheat) {
+ MSG_WriteByte(clc_nop);
+ MSG_FlushTo(&cls.netchan->message);
+ cls.netchan->Transmit(cls.netchan, 0, NULL, 3);
S_StopAllSounds();
cls.connect_count = -1;
- Com_Printf( "Loading anticheat, this may take a few moments...\n" );
+ Com_Printf("Loading anticheat, this may take a few moments...\n");
SCR_UpdateScreen();
- if( !Sys_GetAntiCheatAPI() ) {
- Com_Printf( "Trying to connect without anticheat.\n" );
+ if (!Sys_GetAntiCheatAPI()) {
+ Com_Printf("Trying to connect without anticheat.\n");
} else {
- Com_LPrintf( PRINT_NOTICE, "Anticheat loaded successfully.\n" );
+ Com_LPrintf(PRINT_NOTICE, "Anticheat loaded successfully.\n");
}
}
#else
- if( anticheat >= 2 ) {
- Com_Printf( "Anticheat required by server, "
- "but no anticheat support linked in.\n" );
+ if (anticheat >= 2) {
+ Com_Printf("Anticheat required by server, "
+ "but no anticheat support linked in.\n");
}
#endif
- CL_ClientCommand( "new" );
+ CL_ClientCommand("new");
cls.state = ca_connected;
cls.connect_count = 0;
- strcpy( cl.mapname, mapname ); // for levelshot screen
+ strcpy(cl.mapname, mapname); // for levelshot screen
return;
}
#if 0
// server responding to a status broadcast
- if ( !strcmp( c, "info" ) ) {
+ if (!strcmp(c, "info")) {
CL_ParseStatusMessage();
return;
}
#endif
- if ( !strcmp( c, "passive_connect" ) ) {
- if( !cls.passive ) {
- Com_DPrintf( "Passive connect received while not connecting. Ignored.\n" );
+ if (!strcmp(c, "passive_connect")) {
+ if (!cls.passive) {
+ Com_DPrintf("Passive connect received while not connecting. Ignored.\n");
return;
}
- s = NET_AdrToString( &net_from );
- Com_Printf( "Received passive connect from %s.\n", s );
+ s = NET_AdrToString(&net_from);
+ Com_Printf("Received passive connect from %s.\n", s);
cls.serverAddress = net_from;
cls.serverProtocol = cl_protocol->integer;
- Q_strlcpy( cls.servername, s, sizeof( cls.servername ) );
+ Q_strlcpy(cls.servername, s, sizeof(cls.servername));
cls.passive = qfalse;
cls.state = ca_challenging;
@@ -1484,12 +1517,12 @@ static void CL_ConnectionlessPacket( void ) {
}
// print command from somewhere
- if ( !strcmp( c, "print" ) ) {
+ if (!strcmp(c, "print")) {
CL_ParsePrintMessage();
return;
}
- Com_DPrintf( "Unknown connectionless packet command.\n" );
+ Com_DPrintf("Unknown connectionless packet command.\n");
}
@@ -1498,38 +1531,39 @@ static void CL_ConnectionlessPacket( void ) {
CL_PacketEvent
=================
*/
-static void CL_PacketEvent( void ) {
+static void CL_PacketEvent(void)
+{
//
// remote command packet
//
- if( *( int * )msg_read.data == -1 ) {
+ if (*(int *)msg_read.data == -1) {
CL_ConnectionlessPacket();
return;
}
- if( cls.state < ca_connected ) {
+ if (cls.state < ca_connected) {
return;
}
- if( !cls.netchan ) {
+ if (!cls.netchan) {
return; // dump it if not connected
}
- if( msg_read.cursize < 8 ) {
- Com_DPrintf( "%s: runt packet\n", NET_AdrToString( &net_from ) );
+ if (msg_read.cursize < 8) {
+ Com_DPrintf("%s: runt packet\n", NET_AdrToString(&net_from));
return;
}
//
// packet from server
//
- if( !NET_IsEqualAdr( &net_from, &cls.netchan->remote_address ) ) {
- Com_DPrintf( "%s: sequenced packet without connection\n",
- NET_AdrToString( &net_from ) );
+ if (!NET_IsEqualAdr(&net_from, &cls.netchan->remote_address)) {
+ Com_DPrintf("%s: sequenced packet without connection\n",
+ NET_AdrToString(&net_from));
return;
}
- if( !cls.netchan->Process( cls.netchan ) )
+ if (!cls.netchan->Process(cls.netchan))
return; // wasn't accepted for some reason
#if USE_ICMP
@@ -1538,7 +1572,7 @@ static void CL_PacketEvent( void ) {
CL_ParseServerMessage();
- if( !cls.netchan )
+ if (!cls.netchan)
return; // might have disconnected
#ifdef _DEBUG
@@ -1549,20 +1583,21 @@ static void CL_PacketEvent( void ) {
}
#if USE_ICMP
-void CL_ErrorEvent( void ) {
+void CL_ErrorEvent(void)
+{
//
// error packet from server
//
- if( cls.state < ca_connected ) {
+ if (cls.state < ca_connected) {
return;
}
- if( !cls.netchan ) {
+ if (!cls.netchan) {
return; // dump it if not connected
}
- if( !NET_IsEqualBaseAdr( &net_from, &cls.netchan->remote_address ) ) {
+ if (!NET_IsEqualBaseAdr(&net_from, &cls.netchan->remote_address)) {
return;
}
- if( net_from.port && net_from.port != cls.netchan->remote_address.port ) {
+ if (net_from.port && net_from.port != cls.netchan->remote_address.port) {
return;
}
@@ -1578,58 +1613,60 @@ void CL_ErrorEvent( void ) {
CL_FixUpGender_f
==============
*/
-static void CL_FixUpGender( void ) {
+static void CL_FixUpGender(void)
+{
char *p;
char sk[MAX_QPATH];
- Q_strlcpy( sk, info_skin->string, sizeof( sk ) );
- if ( ( p = strchr( sk, '/' ) ) != NULL )
+ Q_strlcpy(sk, info_skin->string, sizeof(sk));
+ if ((p = strchr(sk, '/')) != NULL)
*p = 0;
- if ( Q_stricmp( sk, "male" ) == 0 || Q_stricmp( sk, "cyborg" ) == 0 )
- Cvar_Set ( "gender", "male" );
- else if ( Q_stricmp( sk, "female" ) == 0 || Q_stricmp( sk, "crackhor" ) == 0 )
- Cvar_Set ( "gender", "female" );
+ if (Q_stricmp(sk, "male") == 0 || Q_stricmp(sk, "cyborg") == 0)
+ Cvar_Set("gender", "male");
+ else if (Q_stricmp(sk, "female") == 0 || Q_stricmp(sk, "crackhor") == 0)
+ Cvar_Set("gender", "female");
else
- Cvar_Set ( "gender", "none" );
+ Cvar_Set("gender", "none");
info_gender->modified = qfalse;
}
-void CL_UpdateUserinfo( cvar_t *var, from_t from ) {
+void CL_UpdateUserinfo(cvar_t *var, from_t from)
+{
int i;
- if( var == info_skin && from > FROM_CONSOLE && gender_auto->integer ) {
- CL_FixUpGender();
+ if (var == info_skin && from > FROM_CONSOLE && gender_auto->integer) {
+ CL_FixUpGender();
}
- if( !cls.netchan ) {
+ if (!cls.netchan) {
return;
}
- if( cls.serverProtocol != PROTOCOL_VERSION_Q2PRO ) {
+ if (cls.serverProtocol != PROTOCOL_VERSION_Q2PRO) {
// transmit at next oportunity
- cls.userinfo_modified = MAX_PACKET_USERINFOS;
+ cls.userinfo_modified = MAX_PACKET_USERINFOS;
goto done;
}
- if( cls.userinfo_modified == MAX_PACKET_USERINFOS ) {
+ if (cls.userinfo_modified == MAX_PACKET_USERINFOS) {
// can't hold any more
goto done;
}
// check for the same variable being modified twice
- for( i = 0; i < cls.userinfo_modified; i++ ) {
- if( cls.userinfo_updates[i] == var ) {
- Com_DDPrintf( "%s: %u: %s [DUP]\n",
- __func__, com_framenum, var->name );
+ for (i = 0; i < cls.userinfo_modified; i++) {
+ if (cls.userinfo_updates[i] == var) {
+ Com_DDPrintf("%s: %u: %s [DUP]\n",
+ __func__, com_framenum, var->name);
return;
}
}
- cls.userinfo_updates[cls.userinfo_modified++] = var;
+ cls.userinfo_updates[cls.userinfo_modified++] = var;
done:
- Com_DDPrintf( "%s: %u: %s [%d]\n",
- __func__, com_framenum, var->name, cls.userinfo_modified );
+ Com_DDPrintf("%s: %u: %s [%d]\n",
+ __func__, com_framenum, var->name, cls.userinfo_modified);
}
/*
@@ -1637,24 +1674,26 @@ done:
CL_Userinfo_f
==============
*/
-static void CL_Userinfo_f ( void ) {
+static void CL_Userinfo_f(void)
+{
char userinfo[MAX_INFO_STRING];
- Cvar_BitInfo( userinfo, CVAR_USERINFO );
+ Cvar_BitInfo(userinfo, CVAR_USERINFO);
- Com_Printf( "User info settings:\n" );
- Info_Print( userinfo );
+ Com_Printf("User info settings:\n");
+ Info_Print(userinfo);
}
/*
=================
CL_RestartSound_f
-
+
Restart the sound subsystem so it can pick up
new parameters and flush all sounds
=================
*/
-static void CL_RestartSound_f( void ) {
+static void CL_RestartSound_f(void)
+{
S_Shutdown();
S_Init();
CL_RegisterSounds();
@@ -1667,23 +1706,25 @@ CL_PlaySound_f
Moved here from sound code so that command is always registered.
=================
*/
-static void CL_PlaySound_c( genctx_t *ctx, int state ) {
- FS_File_g( "sound", "*.wav", FS_SEARCH_SAVEPATH | FS_SEARCH_BYFILTER | FS_SEARCH_STRIPEXT, ctx );
+static void CL_PlaySound_c(genctx_t *ctx, int state)
+{
+ FS_File_g("sound", "*.wav", FS_SEARCH_SAVEPATH | FS_SEARCH_BYFILTER | FS_SEARCH_STRIPEXT, ctx);
}
-static void CL_PlaySound_f( void ) {
+static void CL_PlaySound_f(void)
+{
int i;
char name[MAX_QPATH];
- if( Cmd_Argc() < 2 ) {
- Com_Printf( "Usage: %s <sound> [...]\n", Cmd_Argv( 0 ) );
+ if (Cmd_Argc() < 2) {
+ Com_Printf("Usage: %s <sound> [...]\n", Cmd_Argv(0));
return;
}
- for( i = 1; i < Cmd_Argc(); i++ ) {
- Cmd_ArgvBuffer( i, name, sizeof( name ) );
- COM_DefaultExtension( name, ".wav", sizeof( name ) );
- S_StartLocalSound( name );
+ for (i = 1; i < Cmd_Argc(); i++) {
+ Cmd_ArgvBuffer(i, name, sizeof(name));
+ COM_DefaultExtension(name, ".wav", sizeof(name));
+ S_StartLocalSound(name);
}
}
@@ -1696,9 +1737,10 @@ CL_Begin
Called after all downloads are done. Not used for demos.
=================
*/
-void CL_Begin( void ) {
+void CL_Begin(void)
+{
#if USE_REF == REF_GL
- if( !Q_stricmp( cl.gamedir, "gloom" ) ) {
+ if (!Q_stricmp(cl.gamedir, "gloom")) {
// cheat protect our custom modulate cvars
gl_modulate_world->flags |= CVAR_CHEAT;
gl_modulate_entities->flags |= CVAR_CHEAT;
@@ -1708,18 +1750,18 @@ void CL_Begin( void ) {
Cvar_FixCheats();
- CL_PrepRefresh ();
- CL_LoadState( LOAD_SOUNDS );
- CL_RegisterSounds ();
+ CL_PrepRefresh();
+ CL_LoadState(LOAD_SOUNDS);
+ CL_RegisterSounds();
LOC_LoadLocations();
- CL_LoadState( LOAD_FINISH );
+ CL_LoadState(LOAD_FINISH);
cls.state = ca_precached;
#if USE_FPS
CL_UpdateRateSetting();
#endif
- CL_ClientCommand( va( "begin %i\n", precache_spawncount ) );
+ CL_ClientCommand(va("begin %i\n", precache_spawncount));
CL_UpdateGunSetting();
CL_UpdateBlendSetting();
@@ -1731,40 +1773,41 @@ void CL_Begin( void ) {
/*
=================
CL_Precache_f
-
+
The server will send this command right
before allowing the client into the server
=================
*/
-static void CL_Precache_f( void ) {
- if( cls.state < ca_connected ) {
+static void CL_Precache_f(void)
+{
+ if (cls.state < ca_connected) {
return;
}
cls.state = ca_loading;
- CL_LoadState( LOAD_MAP );
+ CL_LoadState(LOAD_MAP);
S_StopAllSounds();
CL_RegisterVWepModels();
// demos use different precache sequence
- if( cls.demo.playback ) {
+ if (cls.demo.playback) {
CL_RegisterBspModels();
CL_PrepRefresh();
- CL_LoadState( LOAD_SOUNDS );
+ CL_LoadState(LOAD_SOUNDS);
CL_RegisterSounds();
- CL_LoadState( LOAD_FINISH );
+ CL_LoadState(LOAD_FINISH);
cls.state = ca_precached;
return;
}
- precache_spawncount = atoi( Cmd_Argv( 1 ) );
+ precache_spawncount = atoi(Cmd_Argv(1));
CL_ResetPrecacheCheck();
CL_RequestNextDownload();
- if( cls.state != ca_precached ) {
+ if (cls.state != ca_precached) {
cls.state = ca_connected;
}
}
@@ -1777,11 +1820,12 @@ typedef struct {
static list_t cl_ignores;
-static ignore_t *find_ignore( const char *match ) {
+static ignore_t *find_ignore(const char *match)
+{
ignore_t *ignore;
- LIST_FOR_EACH( ignore_t, ignore, &cl_ignores, entry ) {
- if( !strcmp( ignore->match, match ) ) {
+ LIST_FOR_EACH(ignore_t, ignore, &cl_ignores, entry) {
+ if (!strcmp(ignore->match, match)) {
return ignore;
}
}
@@ -1789,130 +1833,138 @@ static ignore_t *find_ignore( const char *match ) {
return NULL;
}
-static void list_ignores( void ) {
+static void list_ignores(void)
+{
ignore_t *ignore;
- if( LIST_EMPTY( &cl_ignores ) ) {
- Com_Printf( "No ignore filters.\n" );
+ if (LIST_EMPTY(&cl_ignores)) {
+ Com_Printf("No ignore filters.\n");
return;
}
- Com_Printf( "Current ignore filters:\n" );
- LIST_FOR_EACH( ignore_t, ignore, &cl_ignores, entry ) {
- Com_Printf( "\"%s\" (%u hit%s)\n", ignore->match,
- ignore->hits, ignore->hits == 1 ? "" : "s" );
+ Com_Printf("Current ignore filters:\n");
+ LIST_FOR_EACH(ignore_t, ignore, &cl_ignores, entry) {
+ Com_Printf("\"%s\" (%u hit%s)\n", ignore->match,
+ ignore->hits, ignore->hits == 1 ? "" : "s");
}
}
-static void add_ignore( const char *match ) {
+static void add_ignore(const char *match)
+{
ignore_t *ignore;
size_t matchlen;
// don't create the same ignore twice
- if( find_ignore( match ) ) {
+ if (find_ignore(match)) {
return;
}
- matchlen = strlen( match );
- if( matchlen < 3 ) {
- Com_Printf( "Match string \"%s\" is too short.\n", match );
+ matchlen = strlen(match);
+ if (matchlen < 3) {
+ Com_Printf("Match string \"%s\" is too short.\n", match);
return;
}
- ignore = Z_Malloc( sizeof( *ignore ) + matchlen );
+ ignore = Z_Malloc(sizeof(*ignore) + matchlen);
ignore->hits = 0;
- memcpy( ignore->match, match, matchlen + 1 );
- List_Append( &cl_ignores, &ignore->entry );
+ memcpy(ignore->match, match, matchlen + 1);
+ List_Append(&cl_ignores, &ignore->entry);
}
-static void remove_ignore( const char *match ) {
+static void remove_ignore(const char *match)
+{
ignore_t *ignore;
- ignore = find_ignore( match );
- if( !ignore ) {
- Com_Printf( "Can't find ignore filter \"%s\"\n", match );
+ ignore = find_ignore(match);
+ if (!ignore) {
+ Com_Printf("Can't find ignore filter \"%s\"\n", match);
return;
}
- List_Remove( &ignore->entry );
- Z_Free( ignore );
+ List_Remove(&ignore->entry);
+ Z_Free(ignore);
}
-static void remove_all_ignores( void ) {
+static void remove_all_ignores(void)
+{
ignore_t *ignore, *next;
int count = 0;
- LIST_FOR_EACH_SAFE( ignore_t, ignore, next, &cl_ignores, entry ) {
- Z_Free( ignore );
+ LIST_FOR_EACH_SAFE(ignore_t, ignore, next, &cl_ignores, entry) {
+ Z_Free(ignore);
count++;
}
- Com_Printf( "Removed %d ignore filter%s.\n", count, count == 1 ? "" : "s" );
- List_Init( &cl_ignores );
+ Com_Printf("Removed %d ignore filter%s.\n", count, count == 1 ? "" : "s");
+ List_Init(&cl_ignores);
}
-static void CL_IgnoreText_f( void ) {
- if( Cmd_Argc() == 1 ) {
+static void CL_IgnoreText_f(void)
+{
+ if (Cmd_Argc() == 1) {
list_ignores();
return;
}
- add_ignore( Cmd_ArgsFrom( 1 ) );
+ add_ignore(Cmd_ArgsFrom(1));
}
-static void CL_UnIgnoreText_f( void ) {
- if( Cmd_Argc() == 1 ) {
+static void CL_UnIgnoreText_f(void)
+{
+ if (Cmd_Argc() == 1) {
list_ignores();
return;
}
- if( LIST_EMPTY( &cl_ignores ) ) {
- Com_Printf( "No ignore filters.\n" );
+ if (LIST_EMPTY(&cl_ignores)) {
+ Com_Printf("No ignore filters.\n");
return;
}
- if( !strcmp( Cmd_Argv( 1 ), "all" ) ) {
+ if (!strcmp(Cmd_Argv(1), "all")) {
remove_all_ignores();
return;
}
- remove_ignore( Cmd_ArgsFrom( 1 ) );
+ remove_ignore(Cmd_ArgsFrom(1));
}
-static void CL_IgnoreNick_c( genctx_t *ctx, int argnum ) {
- if( argnum == 1 ) {
- CL_Name_g( ctx );
+static void CL_IgnoreNick_c(genctx_t *ctx, int argnum)
+{
+ if (argnum == 1) {
+ CL_Name_g(ctx);
}
}
// properly escapes any special characters in nickname
-static size_t parse_ignore_nick( int argnum, char *buffer ) {
+static size_t parse_ignore_nick(int argnum, char *buffer)
+{
char temp[MAX_CLIENT_NAME];
char *p, *s;
int c;
size_t len;
- Cmd_ArgvBuffer( argnum, temp, sizeof( temp ) );
+ Cmd_ArgvBuffer(argnum, temp, sizeof(temp));
s = temp;
p = buffer;
len = 0;
- while( *s ) {
+ while (*s) {
c = *s++;
c &= 127;
- if( c == '?' ) {
+ if (c == '?') {
*p++ = '\\';
*p++ = '?';
len += 2;
- } else if( c == '*' ) {
+ } else if (c == '*') {
*p++ = '\\';
*p++ = '*';
len += 2;
- } else if( c == '\\' ) {
+ } else if (c == '\\') {
*p++ = '\\';
*p++ = '\\';
len += 2;
- } else if( Q_isprint( c ) ) {
+ } else if (Q_isprint(c)) {
*p++ = c;
len++;
}
@@ -1923,44 +1975,46 @@ static size_t parse_ignore_nick( int argnum, char *buffer ) {
return len;
}
-static void CL_IgnoreNick_f( void ) {
- char nick[MAX_CLIENT_NAME*2];
- char match[MAX_CLIENT_NAME*3];
+static void CL_IgnoreNick_f(void)
+{
+ char nick[MAX_CLIENT_NAME * 2];
+ char match[MAX_CLIENT_NAME * 3];
- if( Cmd_Argc() == 1 ) {
+ if (Cmd_Argc() == 1) {
list_ignores();
return;
}
- if( !parse_ignore_nick( 1, nick ) ) {
+ if (!parse_ignore_nick(1, nick)) {
return;
}
- Q_snprintf( match, sizeof( match ), "%s: *", nick );
- add_ignore( match );
+ Q_snprintf(match, sizeof(match), "%s: *", nick);
+ add_ignore(match);
- Q_snprintf( match, sizeof( match ), "(%s): *", nick );
- add_ignore( match );
+ Q_snprintf(match, sizeof(match), "(%s): *", nick);
+ add_ignore(match);
}
-static void CL_UnIgnoreNick_f( void ) {
- char nick[MAX_CLIENT_NAME*2];
- char match[MAX_CLIENT_NAME*3];
+static void CL_UnIgnoreNick_f(void)
+{
+ char nick[MAX_CLIENT_NAME * 2];
+ char match[MAX_CLIENT_NAME * 3];
- if( Cmd_Argc() == 1 ) {
+ if (Cmd_Argc() == 1) {
list_ignores();
return;
}
- if( !parse_ignore_nick( 1, nick ) ) {
+ if (!parse_ignore_nick(1, nick)) {
return;
}
- Q_snprintf( match, sizeof( match ), "%s: *", nick );
- remove_ignore( match );
+ Q_snprintf(match, sizeof(match), "%s: *", nick);
+ remove_ignore(match);
- Q_snprintf( match, sizeof( match ), "(%s): *", nick );
- remove_ignore( match );
+ Q_snprintf(match, sizeof(match), "(%s): *", nick);
+ remove_ignore(match);
}
/*
@@ -1968,19 +2022,20 @@ static void CL_UnIgnoreNick_f( void ) {
CL_CheckForIgnore
=================
*/
-qboolean CL_CheckForIgnore( const char *s ) {
+qboolean CL_CheckForIgnore(const char *s)
+{
char buffer[MAX_STRING_CHARS];
ignore_t *ignore;
- if( LIST_EMPTY( &cl_ignores ) ) {
+ if (LIST_EMPTY(&cl_ignores)) {
return qfalse;
}
- Q_strlcpy( buffer, s, sizeof( buffer ) );
- COM_strclr( buffer );
+ Q_strlcpy(buffer, s, sizeof(buffer));
+ COM_strclr(buffer);
- LIST_FOR_EACH( ignore_t, ignore, &cl_ignores, entry ) {
- if( Com_WildCmp( ignore->match, buffer ) ) {
+ LIST_FOR_EACH(ignore_t, ignore, &cl_ignores, entry) {
+ if (Com_WildCmp(ignore->match, buffer)) {
ignore->hits++;
return qtrue;
}
@@ -1989,54 +2044,57 @@ qboolean CL_CheckForIgnore( const char *s ) {
return qfalse;
}
-static void CL_DumpClients_f( void ) {
+static void CL_DumpClients_f(void)
+{
int i;
- if ( cls.state != ca_active ) {
- Com_Printf( "Must be in a level to dump.\n" );
+ if (cls.state != ca_active) {
+ Com_Printf("Must be in a level to dump.\n");
return;
}
- for ( i = 0 ; i < MAX_CLIENTS ; i++ ) {
- if ( !cl.clientinfo[ i ].name[ 0 ] ) {
+ for (i = 0; i < MAX_CLIENTS; i++) {
+ if (!cl.clientinfo[i].name[0]) {
continue;
}
- Com_Printf( "%3i: %s\n", i, cl.clientinfo[ i ].name );
+ Com_Printf("%3i: %s\n", i, cl.clientinfo[i].name);
}
}
-static void dump_program( const char *text, const char *name ) {
+static void dump_program(const char *text, const char *name)
+{
char buffer[MAX_OSPATH];
- if( cls.state != ca_active ) {
- Com_Printf( "Must be in a level to dump.\n" );
+ if (cls.state != ca_active) {
+ Com_Printf("Must be in a level to dump.\n");
return;
}
- if( Cmd_Argc() != 2 ) {
- Com_Printf( "Usage: %s <filename>\n", Cmd_Argv( 0 ) );
+ if (Cmd_Argc() != 2) {
+ Com_Printf("Usage: %s <filename>\n", Cmd_Argv(0));
return;
}
- if( !*text ) {
- Com_Printf( "No %s to dump.\n", name );
+ if (!*text) {
+ Com_Printf("No %s to dump.\n", name);
return;
}
- if( FS_EasyWriteFile( buffer, sizeof( buffer ), FS_MODE_WRITE | FS_FLAG_TEXT,
- "layouts/", Cmd_Argv( 1 ), ".txt", text, strlen( text ) ) )
- {
- Com_Printf( "Dumped %s program to %s.\n", name, buffer );
+ if (FS_EasyWriteFile(buffer, sizeof(buffer), FS_MODE_WRITE | FS_FLAG_TEXT,
+ "layouts/", Cmd_Argv(1), ".txt", text, strlen(text))) {
+ Com_Printf("Dumped %s program to %s.\n", name, buffer);
}
}
-static void CL_DumpStatusbar_f( void ) {
- dump_program( cl.configstrings[CS_STATUSBAR], "status bar" );
+static void CL_DumpStatusbar_f(void)
+{
+ dump_program(cl.configstrings[CS_STATUSBAR], "status bar");
}
-static void CL_DumpLayout_f( void ) {
- dump_program( cl.layout, "layout" );
+static void CL_DumpLayout_f(void)
+{
+ dump_program(cl.layout, "layout");
}
static const cmd_option_t o_writeconfig[] = {
@@ -2048,8 +2106,9 @@ static const cmd_option_t o_writeconfig[] = {
{ NULL }
};
-static void CL_WriteConfig_c( genctx_t *ctx, int argnum ) {
- Cmd_Option_c( o_writeconfig, Cmd_Config_g, ctx, argnum );
+static void CL_WriteConfig_c(genctx_t *ctx, int argnum)
+{
+ Cmd_Option_c(o_writeconfig, Cmd_Config_g, ctx, argnum);
}
/*
@@ -2057,14 +2116,15 @@ static void CL_WriteConfig_c( genctx_t *ctx, int argnum ) {
CL_WriteConfig_f
===============
*/
-static void CL_WriteConfig_f( void ) {
+static void CL_WriteConfig_f(void)
+{
char buffer[MAX_OSPATH];
qboolean aliases = qfalse, bindings = qfalse, modified = qfalse;
int c, mask = 0;
qhandle_t f;
- while( ( c = Cmd_ParseOptions( o_writeconfig ) ) != -1 ) {
- switch( c ) {
+ while ((c = Cmd_ParseOptions(o_writeconfig)) != -1) {
+ switch (c) {
case 'a':
aliases = qtrue;
break;
@@ -2075,9 +2135,9 @@ static void CL_WriteConfig_f( void ) {
mask |= CVAR_ARCHIVE;
break;
case 'h':
- Cmd_PrintUsage( o_writeconfig, "<filename>" );
- Com_Printf( "Save current configuration into file.\n" );
- Cmd_PrintHelp( o_writeconfig );
+ Cmd_PrintUsage(o_writeconfig, "<filename>");
+ Com_Printf("Save current configuration into file.\n");
+ Cmd_PrintHelp(o_writeconfig);
return;
case 'm':
modified = qtrue;
@@ -2088,164 +2148,187 @@ static void CL_WriteConfig_f( void ) {
}
}
- if( !cmd_optarg[0] ) {
- Com_Printf( "Missing filename argument.\n" );
+ if (!cmd_optarg[0]) {
+ Com_Printf("Missing filename argument.\n");
Cmd_PrintHint();
return;
}
- if( !aliases && !bindings && !mask ) {
+ if (!aliases && !bindings && !mask) {
bindings = qtrue;
mask = CVAR_ARCHIVE;
}
- f = FS_EasyOpenFile( buffer, sizeof( buffer ), FS_MODE_WRITE | FS_FLAG_TEXT,
- "configs/", cmd_optarg, ".cfg" );
- if( !f ) {
+ f = FS_EasyOpenFile(buffer, sizeof(buffer), FS_MODE_WRITE | FS_FLAG_TEXT,
+ "configs/", cmd_optarg, ".cfg");
+ if (!f) {
return;
}
- FS_FPrintf( f, "// generated by q2pro\n" );
+ FS_FPrintf(f, "// generated by q2pro\n");
- if( bindings ) {
- FS_FPrintf( f, "\n// key bindings\n" );
- Key_WriteBindings( f );
+ if (bindings) {
+ FS_FPrintf(f, "\n// key bindings\n");
+ Key_WriteBindings(f);
}
- if( aliases ) {
- FS_FPrintf( f, "\n// command aliases\n" );
- Cmd_WriteAliases( f );
+ if (aliases) {
+ FS_FPrintf(f, "\n// command aliases\n");
+ Cmd_WriteAliases(f);
}
- if( mask ) {
- FS_FPrintf( f, "\n//%s cvars\n", modified ? "modified" : "archived" );
- Cvar_WriteVariables( f, mask, modified );
+ if (mask) {
+ FS_FPrintf(f, "\n//%s cvars\n", modified ? "modified" : "archived");
+ Cvar_WriteVariables(f, mask, modified);
}
-
- FS_FCloseFile( f );
- Com_Printf( "Wrote %s.\n", buffer );
+ FS_FCloseFile(f);
+
+ Com_Printf("Wrote %s.\n", buffer);
}
-static void CL_Say_c( genctx_t *ctx, int argnum ) {
- CL_Name_g( ctx );
+static void CL_Say_c(genctx_t *ctx, int argnum)
+{
+ CL_Name_g(ctx);
}
-static size_t CL_Mapname_m( char *buffer, size_t size ) {
- return Q_strlcpy( buffer, cl.mapname, size );
+static size_t CL_Mapname_m(char *buffer, size_t size)
+{
+ return Q_strlcpy(buffer, cl.mapname, size);
}
-static size_t CL_Server_m( char *buffer, size_t size ) {
- return Q_strlcpy( buffer, cls.servername, size );
+static size_t CL_Server_m(char *buffer, size_t size)
+{
+ return Q_strlcpy(buffer, cls.servername, size);
}
-static size_t CL_Ups_m( char *buffer, size_t size ) {
+static size_t CL_Ups_m(char *buffer, size_t size)
+{
vec3_t vel;
int ups;
player_state_t *ps;
- if( cl.frame.clientNum == CLIENTNUM_NONE ) {
- if( size ) {
+ if (cl.frame.clientNum == CLIENTNUM_NONE) {
+ if (size) {
*buffer = 0;
}
return 0;
}
- if( !cls.demo.playback && cl.frame.clientNum == cl.clientNum &&
- cl_predict->integer )
- {
- VectorCopy( cl.predicted_velocity, vel );
+ if (!cls.demo.playback && cl.frame.clientNum == cl.clientNum &&
+ cl_predict->integer) {
+ VectorCopy(cl.predicted_velocity, vel);
} else {
ps = &cl.frame.ps;
-
+
vel[0] = ps->pmove.velocity[0] * 0.125f;
vel[1] = ps->pmove.velocity[1] * 0.125f;
vel[2] = ps->pmove.velocity[2] * 0.125f;
}
- ups = VectorLength( vel );
- return Q_scnprintf( buffer, size, "%d", ups );
+ ups = VectorLength(vel);
+ return Q_scnprintf(buffer, size, "%d", ups);
}
-static size_t CL_Timer_m( char *buffer, size_t size ) {
+static size_t CL_Timer_m(char *buffer, size_t size)
+{
int hour, min, sec;
sec = cl.time / 1000;
min = sec / 60; sec %= 60;
hour = min / 60; min %= 60;
- if( hour ) {
- return Q_scnprintf( buffer, size, "%i:%i:%02i", hour, min, sec );
+ if (hour) {
+ return Q_scnprintf(buffer, size, "%i:%i:%02i", hour, min, sec);
}
- return Q_scnprintf( buffer, size, "%i:%02i", min, sec );
+ return Q_scnprintf(buffer, size, "%i:%02i", min, sec);
}
-static size_t CL_DemoPos_m( char *buffer, size_t size ) {
+static size_t CL_DemoPos_m(char *buffer, size_t size)
+{
int sec, min, framenum;
- if( cls.demo.playback )
+ if (cls.demo.playback)
framenum = cls.demo.frames_read;
else
#if USE_MVD_CLIENT
- if( MVD_GetDemoPercent( NULL, &framenum ) == -1 )
+ if (MVD_GetDemoPercent(NULL, &framenum) == -1)
#endif
- framenum = 0;
+ framenum = 0;
sec = framenum / 10; framenum %= 10;
min = sec / 60; sec %= 60;
- return Q_scnprintf( buffer, sizeof( buffer ),
- "%d:%02d.%d", min, sec, framenum );
+ return Q_scnprintf(buffer, sizeof(buffer),
+ "%d:%02d.%d", min, sec, framenum);
}
-static size_t CL_Fps_m( char *buffer, size_t size ) {
- return Q_scnprintf( buffer, size, "%i", C_FPS );
+static size_t CL_Fps_m(char *buffer, size_t size)
+{
+ return Q_scnprintf(buffer, size, "%i", C_FPS);
}
-static size_t R_Fps_m( char *buffer, size_t size ) {
- return Q_scnprintf( buffer, size, "%i", R_FPS );
+
+static size_t R_Fps_m(char *buffer, size_t size)
+{
+ return Q_scnprintf(buffer, size, "%i", R_FPS);
}
-static size_t CL_Mps_m( char *buffer, size_t size ) {
- return Q_scnprintf( buffer, size, "%i", C_MPS );
+
+static size_t CL_Mps_m(char *buffer, size_t size)
+{
+ return Q_scnprintf(buffer, size, "%i", C_MPS);
}
-static size_t CL_Pps_m( char *buffer, size_t size ) {
- return Q_scnprintf( buffer, size, "%i", C_PPS );
+
+static size_t CL_Pps_m(char *buffer, size_t size)
+{
+ return Q_scnprintf(buffer, size, "%i", C_PPS);
}
-static size_t CL_Ping_m( char *buffer, size_t size ) {
- return Q_scnprintf( buffer, size, "%i", cls.measure.ping );
+
+static size_t CL_Ping_m(char *buffer, size_t size)
+{
+ return Q_scnprintf(buffer, size, "%i", cls.measure.ping);
}
-static size_t CL_Lag_m( char *buffer, size_t size ) {
- return Q_scnprintf( buffer, size, "%.2f%%", cls.netchan ?
- ( (float)cls.netchan->total_dropped /
- cls.netchan->total_received ) * 100.0f : 0 );
+
+static size_t CL_Lag_m(char *buffer, size_t size)
+{
+ return Q_scnprintf(buffer, size, "%.2f%%", cls.netchan ?
+ ((float)cls.netchan->total_dropped /
+ cls.netchan->total_received) * 100.0f : 0);
}
-static size_t CL_Health_m( char *buffer, size_t size ) {
- return Q_scnprintf( buffer, size, "%i", cl.frame.ps.stats[STAT_HEALTH] );
+
+static size_t CL_Health_m(char *buffer, size_t size)
+{
+ return Q_scnprintf(buffer, size, "%i", cl.frame.ps.stats[STAT_HEALTH]);
}
-static size_t CL_Ammo_m( char *buffer, size_t size ) {
- return Q_scnprintf( buffer, size, "%i", cl.frame.ps.stats[STAT_AMMO] );
+
+static size_t CL_Ammo_m(char *buffer, size_t size)
+{
+ return Q_scnprintf(buffer, size, "%i", cl.frame.ps.stats[STAT_AMMO]);
}
-static size_t CL_Armor_m( char *buffer, size_t size ) {
- return Q_scnprintf( buffer, size, "%i", cl.frame.ps.stats[STAT_ARMOR] );
+
+static size_t CL_Armor_m(char *buffer, size_t size)
+{
+ return Q_scnprintf(buffer, size, "%i", cl.frame.ps.stats[STAT_ARMOR]);
}
/*
====================
CL_RestartFilesystem
-
+
Flush caches and restart the VFS.
====================
*/
-void CL_RestartFilesystem( qboolean total ) {
+void CL_RestartFilesystem(qboolean total)
+{
int cls_state;
- if( !cl_running->integer ) {
- FS_Restart( total );
+ if (!cl_running->integer) {
+ FS_Restart(total);
return;
}
- Com_DPrintf( "%s(%d)\n", __func__, total );
+ Com_DPrintf("%s(%d)\n", __func__, total);
// temporary switch to loading state
cls_state = cls.state;
- if( cls.state >= ca_precached ) {
+ if (cls.state >= ca_precached) {
cls.state = ca_loading;
}
@@ -2256,12 +2339,12 @@ void CL_RestartFilesystem( qboolean total ) {
S_StopAllSounds();
S_FreeAllSounds();
- if( cls.ref_initialized ) {
- R_Shutdown( qfalse );
+ if (cls.ref_initialized) {
+ R_Shutdown(qfalse);
- FS_Restart( total );
+ FS_Restart(total);
- R_Init( qfalse );
+ R_Init(qfalse);
SCR_RegisterMedia();
Con_RegisterMedia();
@@ -2269,21 +2352,21 @@ void CL_RestartFilesystem( qboolean total ) {
UI_Init();
#endif
} else {
- FS_Restart( total );
+ FS_Restart(total);
}
#if USE_UI
- if( cls_state == ca_disconnected ) {
- UI_OpenMenu( UIMENU_DEFAULT );
+ if (cls_state == ca_disconnected) {
+ UI_OpenMenu(UIMENU_DEFAULT);
} else
#endif
- if( cls_state >= ca_loading ) {
- CL_LoadState( LOAD_MAP );
- CL_PrepRefresh();
- CL_LoadState( LOAD_SOUNDS );
- CL_RegisterSounds();
- CL_LoadState( LOAD_FINISH );
- }
+ if (cls_state >= ca_loading) {
+ CL_LoadState(LOAD_MAP);
+ CL_PrepRefresh();
+ CL_LoadState(LOAD_SOUNDS);
+ CL_RegisterSounds();
+ CL_LoadState(LOAD_FINISH);
+ }
// switch back to original state
cls.state = cls_state;
@@ -2293,22 +2376,23 @@ void CL_RestartFilesystem( qboolean total ) {
cvar_modified &= ~CVAR_FILES;
}
-void CL_RestartRefresh( qboolean total ) {
+void CL_RestartRefresh(qboolean total)
+{
int cls_state;
- if( !cls.ref_initialized ) {
+ if (!cls.ref_initialized) {
return;
}
// temporary switch to loading state
cls_state = cls.state;
- if ( cls.state >= ca_precached ) {
+ if (cls.state >= ca_precached) {
cls.state = ca_loading;
}
S_StopAllSounds();
-
- if( total ) {
+
+ if (total) {
IN_Shutdown();
CL_ShutdownRefresh();
CL_InitRefresh();
@@ -2317,8 +2401,8 @@ void CL_RestartRefresh( qboolean total ) {
#if USE_UI
UI_Shutdown();
#endif
- R_Shutdown( qfalse );
- R_Init( qfalse );
+ R_Shutdown(qfalse);
+ R_Init(qfalse);
SCR_RegisterMedia();
Con_RegisterMedia();
#if USE_UI
@@ -2327,15 +2411,15 @@ void CL_RestartRefresh( qboolean total ) {
}
#if USE_UI
- if( cls_state == ca_disconnected ) {
- UI_OpenMenu( UIMENU_DEFAULT );
+ if (cls_state == ca_disconnected) {
+ UI_OpenMenu(UIMENU_DEFAULT);
} else
#endif
- if( cls_state >= ca_loading ) {
- CL_LoadState( LOAD_MAP );
- CL_PrepRefresh();
- CL_LoadState( LOAD_FINISH );
- }
+ if (cls_state >= ca_loading) {
+ CL_LoadState(LOAD_MAP);
+ CL_PrepRefresh();
+ CL_LoadState(LOAD_FINISH);
+ }
// switch back to original state
cls.state = cls_state;
@@ -2348,12 +2432,13 @@ void CL_RestartRefresh( qboolean total ) {
/*
====================
CL_ReloadRefresh
-
+
Flush caches and reload all models and textures.
====================
*/
-static void CL_ReloadRefresh_f( void ) {
- CL_RestartRefresh( qfalse );
+static void CL_ReloadRefresh_f(void)
+{
+ CL_RestartRefresh(qfalse);
}
/*
@@ -2363,94 +2448,105 @@ CL_RestartRefresh
Perform complete restart of the renderer subsystem.
====================
*/
-static void CL_RestartRefresh_f( void ) {
- CL_RestartRefresh( qtrue );
+static void CL_RestartRefresh_f(void)
+{
+ CL_RestartRefresh(qtrue);
}
// execute string in server command buffer
-static void exec_server_string( cmdbuf_t *buf, const char *text ) {
+static void exec_server_string(cmdbuf_t *buf, const char *text)
+{
char *s;
- Cmd_TokenizeString( text, qtrue );
-
+ Cmd_TokenizeString(text, qtrue);
+
// execute the command line
- if( !Cmd_Argc() ) {
+ if (!Cmd_Argc()) {
return; // no tokens
}
- Com_DPrintf( "stufftext: %s\n", text );
+ Com_DPrintf("stufftext: %s\n", text);
- s = Cmd_Argv( 0 );
+ s = Cmd_Argv(0);
// handle private client commands
- if( !strcmp( s, "changing" ) ) {
+ if (!strcmp(s, "changing")) {
CL_Changing_f();
return;
}
- if( !strcmp( s, "precache" ) ) {
+ if (!strcmp(s, "precache")) {
CL_Precache_f();
return;
}
// forbid nearly every command from demos
- if( cls.demo.playback ) {
- if( strcmp( s, "play" ) ) {
+ if (cls.demo.playback) {
+ if (strcmp(s, "play")) {
return;
}
}
// execute regular commands
- Cmd_ExecuteCommand( buf );
+ Cmd_ExecuteCommand(buf);
}
-static void cl_gun_changed( cvar_t *self ) {
+static void cl_gun_changed(cvar_t *self)
+{
CL_UpdateGunSetting();
}
-static void info_hand_changed( cvar_t *self ) {
+static void info_hand_changed(cvar_t *self)
+{
CL_UpdateGunSetting();
}
-static void cl_gibs_changed( cvar_t *self ) {
+static void cl_gibs_changed(cvar_t *self)
+{
CL_UpdateGibSetting();
}
-static void cl_footsteps_changed( cvar_t *self ) {
+static void cl_footsteps_changed(cvar_t *self)
+{
CL_UpdateFootstepsSetting();
}
-static void cl_predict_changed( cvar_t *self ) {
+static void cl_predict_changed(cvar_t *self)
+{
CL_UpdatePredictSetting();
}
#if USE_FPS
-static void cl_updaterate_changed( cvar_t *self ) {
+static void cl_updaterate_changed(cvar_t *self)
+{
CL_UpdateRateSetting();
}
#endif
-static void cl_sync_changed( cvar_t *self ) {
+static void cl_sync_changed(cvar_t *self)
+{
CL_UpdateFrameTimes();
}
// allow downloads to be permanently disabled as a
// protection measure from malicious (or just stupid) servers
// that force downloads by stuffing commands
-static void cl_allow_download_changed( cvar_t *self ) {
- if( self->integer == -1 ) {
+static void cl_allow_download_changed(cvar_t *self)
+{
+ if (self->integer == -1) {
self->flags |= CVAR_ROM;
}
}
// ugly hack for compatibility
-static void cl_chat_sound_changed( cvar_t *self ) {
- if( !*self->string )
+static void cl_chat_sound_changed(cvar_t *self)
+{
+ if (!*self->string)
self->integer = 0;
- else if( !Q_stricmp( self->string, "misc/talk.wav" ) )
+ else if (!Q_stricmp(self->string, "misc/talk.wav"))
self->integer = 1;
- else if( !Q_stricmp( self->string, "misc/talk1.wav" ) )
+ else if (!Q_stricmp(self->string, "misc/talk1.wav"))
self->integer = 2;
- else if( !self->integer && !COM_IsUint( self->string ) )
+ else if (!self->integer && !COM_IsUint(self->string))
self->integer = 1;
}
@@ -2506,7 +2602,8 @@ static const cmdreg_t c_client[] = {
CL_InitLocal
=================
*/
-static void CL_InitLocal ( void ) {
+static void CL_InitLocal(void)
+{
cvar_t *var;
int i;
@@ -2521,37 +2618,37 @@ static void CL_InitLocal ( void ) {
CL_InitTEnts();
CL_InitDownloads();
- List_Init( &cl_ignores );
+ List_Init(&cl_ignores);
- Cmd_Register( c_client );
+ Cmd_Register(c_client);
- for ( i = 0 ; i < MAX_LOCAL_SERVERS ; i++ ) {
- var = Cvar_Get( va( "adr%i", i ), "", CVAR_ARCHIVE );
+ for (i = 0; i < MAX_LOCAL_SERVERS; i++) {
+ var = Cvar_Get(va("adr%i", i), "", CVAR_ARCHIVE);
var->generator = Com_Address_g;
}
//
// register our variables
//
- cl_gun = Cvar_Get ( "cl_gun", "1", 0 );
+ cl_gun = Cvar_Get("cl_gun", "1", 0);
cl_gun->changed = cl_gun_changed;
- cl_gunalpha = Cvar_Get ( "cl_gunalpha", "1", 0 );
- cl_footsteps = Cvar_Get( "cl_footsteps", "1", 0 );
+ cl_gunalpha = Cvar_Get("cl_gunalpha", "1", 0);
+ cl_footsteps = Cvar_Get("cl_footsteps", "1", 0);
cl_footsteps->changed = cl_footsteps_changed;
- cl_noskins = Cvar_Get ( "cl_noskins", "0", 0 );
+ cl_noskins = Cvar_Get("cl_noskins", "0", 0);
cl_noskins->changed = cl_noskins_changed;
- cl_predict = Cvar_Get ( "cl_predict", "1", 0 );
+ cl_predict = Cvar_Get("cl_predict", "1", 0);
cl_predict->changed = cl_predict_changed;
- cl_kickangles = Cvar_Get( "cl_kickangles", "1", CVAR_CHEAT );
- cl_maxfps = Cvar_Get( "cl_maxfps", "60", 0 );
+ cl_kickangles = Cvar_Get("cl_kickangles", "1", CVAR_CHEAT);
+ cl_maxfps = Cvar_Get("cl_maxfps", "60", 0);
cl_maxfps->changed = cl_sync_changed;
- cl_async = Cvar_Get( "cl_async", "1", 0 );
+ cl_async = Cvar_Get("cl_async", "1", 0);
cl_async->changed = cl_sync_changed;
- r_maxfps = Cvar_Get( "r_maxfps", "0", 0 );
+ r_maxfps = Cvar_Get("r_maxfps", "0", 0);
r_maxfps->changed = cl_sync_changed;
- cl_rollhack = Cvar_Get( "cl_rollhack", "1", 0 );
- cl_noglow = Cvar_Get( "cl_noglow", "0", 0 );
- cl_nolerp = Cvar_Get( "cl_nolerp", "0", 0 );
+ cl_rollhack = Cvar_Get("cl_rollhack", "1", 0);
+ cl_noglow = Cvar_Get("cl_noglow", "0", 0);
+ cl_nolerp = Cvar_Get("cl_nolerp", "0", 0);
// hack for timedemo
com_timedemo->changed = cl_sync_changed;
@@ -2559,84 +2656,84 @@ static void CL_InitLocal ( void ) {
CL_UpdateFrameTimes();
#ifdef _DEBUG
- cl_shownet = Cvar_Get( "cl_shownet", "0", 0 );
- cl_showmiss = Cvar_Get ( "cl_showmiss", "0", 0 );
- cl_showclamp = Cvar_Get ( "showclamp", "0", 0 );
+ cl_shownet = Cvar_Get("cl_shownet", "0", 0);
+ cl_showmiss = Cvar_Get("cl_showmiss", "0", 0);
+ cl_showclamp = Cvar_Get("showclamp", "0", 0);
#endif
- cl_timeout = Cvar_Get ( "cl_timeout", "120", 0 );
+ cl_timeout = Cvar_Get("cl_timeout", "120", 0);
- rcon_address = Cvar_Get ( "rcon_address", "", CVAR_PRIVATE );
+ rcon_address = Cvar_Get("rcon_address", "", CVAR_PRIVATE);
rcon_address->generator = Com_Address_g;
- cl_thirdperson = Cvar_Get( "cl_thirdperson", "0", CVAR_CHEAT );
- cl_thirdperson_angle = Cvar_Get( "cl_thirdperson_angle", "0", 0 );
- cl_thirdperson_range = Cvar_Get( "cl_thirdperson_range", "60", 0 );
+ cl_thirdperson = Cvar_Get("cl_thirdperson", "0", CVAR_CHEAT);
+ cl_thirdperson_angle = Cvar_Get("cl_thirdperson_angle", "0", 0);
+ cl_thirdperson_range = Cvar_Get("cl_thirdperson_range", "60", 0);
- cl_disable_particles = Cvar_Get( "cl_disable_particles", "0", 0 );
- cl_disable_explosions = Cvar_Get( "cl_disable_explosions", "0", 0 );
- cl_gibs = Cvar_Get( "cl_gibs", "1", 0 );
+ cl_disable_particles = Cvar_Get("cl_disable_particles", "0", 0);
+ cl_disable_explosions = Cvar_Get("cl_disable_explosions", "0", 0);
+ cl_gibs = Cvar_Get("cl_gibs", "1", 0);
cl_gibs->changed = cl_gibs_changed;
#if USE_FPS
- cl_updaterate = Cvar_Get( "cl_updaterate", "0", 0 );
+ cl_updaterate = Cvar_Get("cl_updaterate", "0", 0);
cl_updaterate->changed = cl_updaterate_changed;
#endif
- cl_chat_notify = Cvar_Get( "cl_chat_notify", "1", 0 );
- cl_chat_sound = Cvar_Get( "cl_chat_sound", "1", 0 );
+ cl_chat_notify = Cvar_Get("cl_chat_notify", "1", 0);
+ cl_chat_sound = Cvar_Get("cl_chat_sound", "1", 0);
cl_chat_sound->changed = cl_chat_sound_changed;
- cl_chat_sound_changed( cl_chat_sound );
- cl_chat_filter = Cvar_Get( "cl_chat_filter", "0", 0 );
+ cl_chat_sound_changed(cl_chat_sound);
+ cl_chat_filter = Cvar_Get("cl_chat_filter", "0", 0);
- cl_disconnectcmd = Cvar_Get( "cl_disconnectcmd", "", 0 );
- cl_changemapcmd = Cvar_Get( "cl_changemapcmd", "", 0 );
- cl_beginmapcmd = Cvar_Get( "cl_beginmapcmd", "", 0 );
+ cl_disconnectcmd = Cvar_Get("cl_disconnectcmd", "", 0);
+ cl_changemapcmd = Cvar_Get("cl_changemapcmd", "", 0);
+ cl_beginmapcmd = Cvar_Get("cl_beginmapcmd", "", 0);
- cl_protocol = Cvar_Get( "cl_protocol", "0", 0 );
+ cl_protocol = Cvar_Get("cl_protocol", "0", 0);
- gender_auto = Cvar_Get ( "gender_auto", "1", CVAR_ARCHIVE );
+ gender_auto = Cvar_Get("gender_auto", "1", CVAR_ARCHIVE);
- cl_vwep = Cvar_Get ( "cl_vwep", "1", CVAR_ARCHIVE );
+ cl_vwep = Cvar_Get("cl_vwep", "1", CVAR_ARCHIVE);
cl_vwep->changed = cl_vwep_changed;
allow_download->changed = cl_allow_download_changed;
- cl_allow_download_changed( allow_download );
+ cl_allow_download_changed(allow_download);
//
// userinfo
//
- info_password = Cvar_Get( "password", "", CVAR_USERINFO );
- info_spectator = Cvar_Get( "spectator", "0", CVAR_USERINFO );
- info_name = Cvar_Get( "name", "unnamed", CVAR_USERINFO | CVAR_ARCHIVE );
- info_skin = Cvar_Get( "skin", "male/grunt", CVAR_USERINFO | CVAR_ARCHIVE );
- info_rate = Cvar_Get( "rate", "5000", CVAR_USERINFO | CVAR_ARCHIVE );
- info_msg = Cvar_Get( "msg", "1", CVAR_USERINFO | CVAR_ARCHIVE );
- info_hand = Cvar_Get( "hand", "0", CVAR_USERINFO | CVAR_ARCHIVE );
+ info_password = Cvar_Get("password", "", CVAR_USERINFO);
+ info_spectator = Cvar_Get("spectator", "0", CVAR_USERINFO);
+ info_name = Cvar_Get("name", "unnamed", CVAR_USERINFO | CVAR_ARCHIVE);
+ info_skin = Cvar_Get("skin", "male/grunt", CVAR_USERINFO | CVAR_ARCHIVE);
+ info_rate = Cvar_Get("rate", "5000", CVAR_USERINFO | CVAR_ARCHIVE);
+ info_msg = Cvar_Get("msg", "1", CVAR_USERINFO | CVAR_ARCHIVE);
+ info_hand = Cvar_Get("hand", "0", CVAR_USERINFO | CVAR_ARCHIVE);
info_hand->changed = info_hand_changed;
- info_fov = Cvar_Get( "fov", "90", CVAR_USERINFO | CVAR_ARCHIVE );
- info_gender = Cvar_Get( "gender", "male", CVAR_USERINFO | CVAR_ARCHIVE );
+ info_fov = Cvar_Get("fov", "90", CVAR_USERINFO | CVAR_ARCHIVE);
+ info_gender = Cvar_Get("gender", "male", CVAR_USERINFO | CVAR_ARCHIVE);
info_gender->modified = qfalse; // clear this so we know when user sets it manually
- info_uf = Cvar_Get( "uf", va( "%d", UF_LOCALFOV ), CVAR_USERINFO );
+ info_uf = Cvar_Get("uf", va("%d", UF_LOCALFOV), CVAR_USERINFO);
//
// macros
//
- Cmd_AddMacro( "cl_mapname", CL_Mapname_m );
- Cmd_AddMacro( "cl_server", CL_Server_m );
- Cmd_AddMacro( "cl_timer", CL_Timer_m );
- Cmd_AddMacro( "cl_demopos", CL_DemoPos_m );
- Cmd_AddMacro( "cl_ups", CL_Ups_m );
- Cmd_AddMacro( "cl_fps", CL_Fps_m );
- Cmd_AddMacro( "r_fps", R_Fps_m );
- Cmd_AddMacro( "cl_mps", CL_Mps_m ); // moves per second
- Cmd_AddMacro( "cl_pps", CL_Pps_m ); // packets per second
- Cmd_AddMacro( "cl_ping", CL_Ping_m );
- Cmd_AddMacro( "cl_lag", CL_Lag_m );
- Cmd_AddMacro( "cl_health", CL_Health_m );
- Cmd_AddMacro( "cl_ammo", CL_Ammo_m );
- Cmd_AddMacro( "cl_armor", CL_Armor_m );
+ Cmd_AddMacro("cl_mapname", CL_Mapname_m);
+ Cmd_AddMacro("cl_server", CL_Server_m);
+ Cmd_AddMacro("cl_timer", CL_Timer_m);
+ Cmd_AddMacro("cl_demopos", CL_DemoPos_m);
+ Cmd_AddMacro("cl_ups", CL_Ups_m);
+ Cmd_AddMacro("cl_fps", CL_Fps_m);
+ Cmd_AddMacro("r_fps", R_Fps_m);
+ Cmd_AddMacro("cl_mps", CL_Mps_m); // moves per second
+ Cmd_AddMacro("cl_pps", CL_Pps_m); // packets per second
+ Cmd_AddMacro("cl_ping", CL_Ping_m);
+ Cmd_AddMacro("cl_lag", CL_Lag_m);
+ Cmd_AddMacro("cl_health", CL_Health_m);
+ Cmd_AddMacro("cl_ammo", CL_Ammo_m);
+ Cmd_AddMacro("cl_armor", CL_Armor_m);
}
/*
@@ -2644,26 +2741,27 @@ static void CL_InitLocal ( void ) {
CL_CheatsOK
==================
*/
-qboolean CL_CheatsOK( void ) {
+qboolean CL_CheatsOK(void)
+{
// can cheat when disconnected or playing a demo
- if( cls.state < ca_connected || cls.demo.playback )
+ if (cls.state < ca_connected || cls.demo.playback)
return qtrue;
// can't cheat on remote servers
- if( !sv_running->integer )
+ if (!sv_running->integer)
return qfalse;
// developer option
- if( Cvar_VariableInteger( "cheats" ) )
+ if (Cvar_VariableInteger("cheats"))
return qtrue;
// single player can cheat
- if( cls.state > ca_connected && cl.maxclients == 1 )
+ if (cls.state > ca_connected && cl.maxclients == 1)
return qtrue;
#if USE_MVD_CLIENT
// can cheat when playing MVD
- if( MVD_GetDemoPercent( NULL, NULL ) != -1 )
+ if (MVD_GetDemoPercent(NULL, NULL) != -1)
return qtrue;
#endif
@@ -2677,9 +2775,10 @@ qboolean CL_CheatsOK( void ) {
CL_Activate
==================
*/
-void CL_Activate( active_t active ) {
- if( cls.active != active ) {
- Com_DDDPrintf( "%s: %u\n", __func__, active );
+void CL_Activate(active_t active)
+{
+ if (cls.active != active) {
+ Com_DDDPrintf("%s: %u\n", __func__, active);
cls.active = active;
cls.disable_screen = 0;
Key_ClearStates();
@@ -2689,10 +2788,11 @@ void CL_Activate( active_t active ) {
}
}
-static void CL_SetClientTime( void ) {
+static void CL_SetClientTime(void)
+{
int prevtime;
- if( com_timedemo->integer ) {
+ if (com_timedemo->integer) {
cl.time = cl.servertime;
cl.lerpfrac = 1.0f;
#if USE_FPS
@@ -2703,60 +2803,61 @@ static void CL_SetClientTime( void ) {
}
prevtime = cl.servertime - CL_FRAMETIME;
- if( cl.time > cl.servertime ) {
- SHOWCLAMP( 1, "high clamp %i\n", cl.time - cl.servertime );
+ if (cl.time > cl.servertime) {
+ SHOWCLAMP(1, "high clamp %i\n", cl.time - cl.servertime);
cl.time = cl.servertime;
cl.lerpfrac = 1.0f;
- } else if( cl.time < prevtime ) {
- SHOWCLAMP( 1, "low clamp %i\n", prevtime - cl.time );
+ } else if (cl.time < prevtime) {
+ SHOWCLAMP(1, "low clamp %i\n", prevtime - cl.time);
cl.time = prevtime;
cl.lerpfrac = 0;
} else {
- cl.lerpfrac = ( cl.time - prevtime ) * CL_1_FRAMETIME;
+ cl.lerpfrac = (cl.time - prevtime) * CL_1_FRAMETIME;
}
- SHOWCLAMP( 2, "time %d %d, lerpfrac %.3f\n",
- cl.time, cl.servertime, cl.lerpfrac );
+ SHOWCLAMP(2, "time %d %d, lerpfrac %.3f\n",
+ cl.time, cl.servertime, cl.lerpfrac);
#if USE_FPS
prevtime = cl.keyservertime - BASE_FRAMETIME;
- if( cl.keytime > cl.keyservertime ) {
- SHOWCLAMP( 1, "high keyclamp %i\n", cl.keytime - cl.keyservertime );
+ if (cl.keytime > cl.keyservertime) {
+ SHOWCLAMP(1, "high keyclamp %i\n", cl.keytime - cl.keyservertime);
cl.keytime = cl.keyservertime;
cl.keylerpfrac = 1.0f;
- } else if( cl.keytime < prevtime ) {
- SHOWCLAMP( 1, "low keyclamp %i\n", prevtime - cl.keytime );
+ } else if (cl.keytime < prevtime) {
+ SHOWCLAMP(1, "low keyclamp %i\n", prevtime - cl.keytime);
cl.keytime = prevtime;
cl.keylerpfrac = 0;
} else {
- cl.keylerpfrac = ( cl.keytime - prevtime ) * BASE_1_FRAMETIME;
+ cl.keylerpfrac = (cl.keytime - prevtime) * BASE_1_FRAMETIME;
}
- SHOWCLAMP( 2, "keytime %d %d keylerpfrac %.3f\n",
- cl.keytime, cl.keyservertime, cl.keylerpfrac );
+ SHOWCLAMP(2, "keytime %d %d keylerpfrac %.3f\n",
+ cl.keytime, cl.keyservertime, cl.keylerpfrac);
#endif
}
-static void CL_MeasureStats( void ) {
+static void CL_MeasureStats(void)
+{
int i;
- if( com_localTime - cls.measure.time < 1000 ) {
+ if (com_localTime - cls.measure.time < 1000) {
return;
}
// measure average ping
- if( cls.netchan ) {
+ if (cls.netchan) {
int ack = cls.netchan->incoming_acknowledged;
int ping = 0;
int j, k = 0;
i = ack - 16 + 1;
- if( i < cl.initialSeq ) {
+ if (i < cl.initialSeq) {
i = cl.initialSeq;
}
- for( j = i; j <= ack; j++ ) {
+ for (j = i; j <= ack; j++) {
client_history_t *h = &cl.history[j & CMD_MASK];
- if( h->rcvd > h->sent ) {
+ if (h->rcvd > h->sent) {
ping += h->rcvd - h->sent;
k++;
}
@@ -2766,7 +2867,7 @@ static void CL_MeasureStats( void ) {
}
// measure main/refresh frame counts
- for( i = 0; i < 4; i++ ) {
+ for (i = 0; i < 4; i++) {
cls.measure.fps[i] = cls.measure.frames[i];
cls.measure.frames[i] = 0;
}
@@ -2775,42 +2876,44 @@ static void CL_MeasureStats( void ) {
}
#if USE_AUTOREPLY
-static void CL_CheckForReply( void ) {
- if( !cl.reply_delta ) {
+static void CL_CheckForReply(void)
+{
+ if (!cl.reply_delta) {
return;
}
- if( cls.realtime - cl.reply_time < cl.reply_delta ) {
+ if (cls.realtime - cl.reply_time < cl.reply_delta) {
return;
}
- CL_ClientCommand( va( "say \"%s\"", com_version->string ) );
+ CL_ClientCommand(va("say \"%s\"", com_version->string));
cl.reply_delta = 0;
}
#endif
-static void CL_CheckTimeout( void ) {
+static void CL_CheckTimeout(void)
+{
unsigned delta;
- if( NET_IsLocalAddress( &cls.netchan->remote_address ) ) {
+ if (NET_IsLocalAddress(&cls.netchan->remote_address)) {
return;
}
#if USE_ICMP
- if( cls.errorReceived ) {
+ if (cls.errorReceived) {
delta = 5000;
- if( com_localTime - cls.netchan->last_received > delta ) {
- Com_Error( ERR_DISCONNECT, "Server connection was reset." );
+ if (com_localTime - cls.netchan->last_received > delta) {
+ Com_Error(ERR_DISCONNECT, "Server connection was reset.");
}
}
#endif
-
+
delta = cl_timeout->value * 1000;
- if( delta && com_localTime - cls.netchan->last_received > delta ) {
+ if (delta && com_localTime - cls.netchan->last_received > delta) {
// timeoutcount saves debugger
- if ( ++cl.timeoutcount > 5 ) {
- Com_Error( ERR_DISCONNECT, "Server connection timed out." );
+ if (++cl.timeoutcount > 5) {
+ Com_Error(ERR_DISCONNECT, "Server connection timed out.");
}
} else {
cl.timeoutcount = 0;
@@ -2823,35 +2926,36 @@ CL_CheckForPause
=================
*/
-void CL_CheckForPause( void ) {
- if( cls.state != ca_active ) {
+void CL_CheckForPause(void)
+{
+ if (cls.state != ca_active) {
// only pause when active
- Cvar_Set( "cl_paused", "0" );
- Cvar_Set( "sv_paused", "0" );
+ Cvar_Set("cl_paused", "0");
+ Cvar_Set("sv_paused", "0");
return;
}
- if( cls.key_dest & (KEY_CONSOLE|KEY_MENU) ) {
+ if (cls.key_dest & (KEY_CONSOLE | KEY_MENU)) {
// only pause in single player
- if( cl_paused->integer == 0 ) {
- Cvar_Set( "cl_paused", "1" );
+ if (cl_paused->integer == 0) {
+ Cvar_Set("cl_paused", "1");
}
- } else if( cl_paused->integer == 1 ) {
+ } else if (cl_paused->integer == 1) {
// only resume after automatic pause
- Cvar_Set( "cl_paused", "0" );
+ Cvar_Set("cl_paused", "0");
}
// hack for demo playback pause/unpause
- if( cls.demo.playback ) {
+ if (cls.demo.playback) {
// don't pause when running timedemo!
- if( cl_paused->integer && !com_timedemo->integer ) {
- if( !sv_paused->integer ) {
- Cvar_Set( "sv_paused", "1" );
+ if (cl_paused->integer && !com_timedemo->integer) {
+ if (!sv_paused->integer) {
+ Cvar_Set("sv_paused", "1");
IN_Activate();
}
} else {
- if( sv_paused->integer ) {
- Cvar_Set( "sv_paused", "0" );
+ if (sv_paused->integer) {
+ Cvar_Set("sv_paused", "0");
IN_Activate();
}
}
@@ -2886,8 +2990,9 @@ static int ref_msec, phys_msec, main_msec;
static int ref_extra, phys_extra, main_extra;
static sync_mode_t sync_mode;
-static inline int fps_to_msec( int fps ) {
- return ( 1000 + fps / 2 ) / fps;
+static inline int fps_to_msec(int fps)
+{
+ return (1000 + fps / 2) / fps;
}
/*
@@ -2897,43 +3002,44 @@ CL_UpdateFrameTimes
Called whenever async/fps cvars change, but not every frame
==================
*/
-void CL_UpdateFrameTimes( void ) {
- if( !cls.state ) {
+void CL_UpdateFrameTimes(void)
+{
+ if (!cls.state) {
return; // not yet fully initialized
}
// check if video driver supports syncing to vertical retrace
- if( cl_async->integer > 1 && !( r_config.flags & QVF_VIDEOSYNC ) ) {
- Cvar_Reset( cl_async );
+ if (cl_async->integer > 1 && !(r_config.flags & QVF_VIDEOSYNC)) {
+ Cvar_Reset(cl_async);
}
- if( com_timedemo->integer ) {
+ if (com_timedemo->integer) {
// timedemo just runs at full speed
ref_msec = phys_msec = main_msec = 0;
sync_mode = SYNC_FULL;
- } else if( cls.active == ACT_MINIMIZED ) {
+ } else if (cls.active == ACT_MINIMIZED) {
// run at 10 fps if minimized
ref_msec = phys_msec = 0;
- main_msec = fps_to_msec( 10 );
+ main_msec = fps_to_msec(10);
sync_mode = SYNC_SLEEP_10;
- } else if( cls.active == ACT_RESTORED || cls.state < ca_active ) {
+ } else if (cls.active == ACT_RESTORED || cls.state < ca_active) {
// run at 60 fps if not active
ref_msec = phys_msec = 0;
- if( cl_async->integer > 1 ) {
+ if (cl_async->integer > 1) {
main_msec = 0;
sync_mode = SYNC_SLEEP_VIDEO;
} else {
- main_msec = fps_to_msec( 60 );
+ main_msec = fps_to_msec(60);
sync_mode = SYNC_SLEEP_60;
}
- } else if( cl_async->integer > 0 ) {
+ } else if (cl_async->integer > 0) {
// run physics and refresh separately
- phys_msec = fps_to_msec( Cvar_ClampInteger( cl_maxfps, 10, 120 ) );
- if( cl_async->integer > 1 ) {
+ phys_msec = fps_to_msec(Cvar_ClampInteger(cl_maxfps, 10, 120));
+ if (cl_async->integer > 1) {
ref_msec = 0;
sync_mode = ASYNC_VIDEO;
- } else if( r_maxfps->integer ) {
- ref_msec = fps_to_msec( Cvar_ClampInteger( r_maxfps, 10, 1000 ) );
+ } else if (r_maxfps->integer) {
+ ref_msec = fps_to_msec(Cvar_ClampInteger(r_maxfps, 10, 1000));
sync_mode = ASYNC_MAXFPS;
} else {
ref_msec = 1;
@@ -2943,8 +3049,8 @@ void CL_UpdateFrameTimes( void ) {
} else {
// everything ticks in sync with refresh
phys_msec = ref_msec = 0;
- if( cl_maxfps->integer ) {
- main_msec = fps_to_msec( Cvar_ClampInteger( cl_maxfps, 10, 1000 ) );
+ if (cl_maxfps->integer) {
+ main_msec = fps_to_msec(Cvar_ClampInteger(cl_maxfps, 10, 1000));
sync_mode = SYNC_MAXFPS;
} else {
main_msec = 1;
@@ -2952,8 +3058,8 @@ void CL_UpdateFrameTimes( void ) {
}
}
- Com_DDDPrintf( "%s: mode=%s main_msec=%d ref_msec=%d, phys_msec=%d\n",
- __func__, sync_names[sync_mode], main_msec, ref_msec, phys_msec );
+ Com_DDDPrintf("%s: mode=%s main_msec=%d ref_msec=%d, phys_msec=%d\n",
+ __func__, sync_names[sync_mode], main_msec, ref_msec, phys_msec);
ref_extra = phys_extra = main_extra = 0;
}
@@ -2961,15 +3067,16 @@ void CL_UpdateFrameTimes( void ) {
/*
==================
CL_Frame
-
+
==================
*/
-unsigned CL_Frame( unsigned msec ) {
+unsigned CL_Frame(unsigned msec)
+{
qboolean phys_frame, ref_frame;
time_after_ref = time_before_ref = 0;
- if( !cl_running->integer ) {
+ if (!cl_running->integer) {
return UINT_MAX;
}
@@ -2979,7 +3086,7 @@ unsigned CL_Frame( unsigned msec ) {
CL_ProcessEvents();
ref_frame = phys_frame = qtrue;
- switch( sync_mode ) {
+ switch (sync_mode) {
case SYNC_FULL:
// timedemo just runs at full speed
break;
@@ -2989,7 +3096,7 @@ unsigned CL_Frame( unsigned msec ) {
// fall through
case SYNC_SLEEP_60:
// run at limited fps if not active
- if( main_extra < main_msec ) {
+ if (main_extra < main_msec) {
return main_msec - main_extra;
}
break;
@@ -3002,28 +3109,28 @@ unsigned CL_Frame( unsigned msec ) {
case ASYNC_FULL:
// run physics and refresh separately
phys_extra += main_extra;
- if( phys_extra < phys_msec ) {
+ if (phys_extra < phys_msec) {
phys_frame = qfalse;
- } else if( phys_extra > phys_msec * 4 ) {
+ } else if (phys_extra > phys_msec * 4) {
phys_extra = phys_msec;
}
- if( sync_mode == ASYNC_VIDEO ) {
+ if (sync_mode == ASYNC_VIDEO) {
// sync refresh to vertical retrace
ref_frame = VID_VideoSync();
} else {
ref_extra += main_extra;
- if( ref_extra < ref_msec ) {
+ if (ref_extra < ref_msec) {
ref_frame = qfalse;
- } else if( ref_extra > ref_msec * 4 ) {
+ } else if (ref_extra > ref_msec * 4) {
ref_extra = ref_msec;
}
}
break;
case SYNC_MAXFPS:
// everything ticks in sync with refresh
- if( main_extra < main_msec ) {
- if( !cl.sendPacketNow ) {
+ if (main_extra < main_msec) {
+ if (!cl.sendPacketNow) {
return 0;
}
ref_frame = qfalse;
@@ -3031,18 +3138,18 @@ unsigned CL_Frame( unsigned msec ) {
break;
}
- Com_DDDDPrintf( "main_extra=%d ref_frame=%d ref_extra=%d "
- "phys_frame=%d phys_extra=%d\n",
- main_extra, ref_frame, ref_extra,
- phys_frame, phys_extra );
+ Com_DDDDPrintf("main_extra=%d ref_frame=%d ref_extra=%d "
+ "phys_frame=%d phys_extra=%d\n",
+ main_extra, ref_frame, ref_extra,
+ phys_frame, phys_extra);
// decide the simulation time
cls.frametime = main_extra * 0.001f;
- if( cls.frametime > 1.0 / 5 )
+ if (cls.frametime > 1.0 / 5)
cls.frametime = 1.0 / 5;
- if( !sv_paused->integer ) {
+ if (!sv_paused->integer) {
cl.time += main_extra;
#if USE_FPS
cl.keytime += main_extra;
@@ -3050,11 +3157,11 @@ unsigned CL_Frame( unsigned msec ) {
}
// read next demo frame
- if( cls.demo.playback )
- CL_DemoFrame( main_extra );
+ if (cls.demo.playback)
+ CL_DemoFrame(main_extra);
// calculate local time
- if( cls.state == ca_active && !sv_paused->integer )
+ if (cls.state == ca_active && !sv_paused->integer)
CL_SetClientTime();
#if USE_AUTOREPLY
@@ -3066,18 +3173,18 @@ unsigned CL_Frame( unsigned msec ) {
CL_CheckForResend();
// read user intentions
- CL_UpdateCmd( main_extra );
+ CL_UpdateCmd(main_extra);
// finalize pending cmd
phys_frame |= cl.sendPacketNow;
- if( phys_frame ) {
+ if (phys_frame) {
CL_FinalizeCmd();
phys_extra -= phys_msec;
M_FRAMES++;
// don't let the time go too far off
// this can happen due to cl.sendPacketNow
- if( phys_extra < -phys_msec * 4 ) {
+ if (phys_extra < -phys_msec * 4) {
phys_extra = 0;
}
}
@@ -3090,14 +3197,14 @@ unsigned CL_Frame( unsigned msec ) {
Con_RunConsole();
- if( ref_frame ) {
+ if (ref_frame) {
// update the screen
- if ( host_speeds->integer )
+ if (host_speeds->integer)
time_before_ref = Sys_Milliseconds();
SCR_UpdateScreen();
- if ( host_speeds->integer )
+ if (host_speeds->integer)
time_after_ref = Sys_Milliseconds();
ref_extra -= ref_msec;
@@ -3115,14 +3222,14 @@ run_fx:
#if USE_LIGHTSTYLES
CL_RunLightStyles();
#endif
- } else if( sync_mode == SYNC_SLEEP_10 ) {
+ } else if (sync_mode == SYNC_SLEEP_10) {
// force audio and effects update if not rendering
CL_CalcViewValues();
goto run_fx;
}
// check connection timeout
- if( cls.netchan )
+ if (cls.netchan)
CL_CheckTimeout();
C_FRAMES++;
@@ -3140,8 +3247,9 @@ run_fx:
CL_ProcessEvents
============
*/
-qboolean CL_ProcessEvents( void ) {
- if( !cl_running->integer ) {
+qboolean CL_ProcessEvents(void)
+{
+ if (!cl_running->integer) {
return qfalse;
}
@@ -3149,22 +3257,22 @@ qboolean CL_ProcessEvents( void ) {
IN_Frame();
- memset( &net_from, 0, sizeof( net_from ) );
+ memset(&net_from, 0, sizeof(net_from));
net_from.type = NA_LOOPBACK;
// process loopback packets
- while( NET_GetLoopPacket( NS_CLIENT ) ) {
+ while (NET_GetLoopPacket(NS_CLIENT)) {
CL_PacketEvent();
}
// process network packets
- while( NET_GetPacket( NS_CLIENT ) ) {
+ while (NET_GetPacket(NS_CLIENT)) {
CL_PacketEvent();
}
// process console and stuffed commands
- Cbuf_Execute( &cmd_buffer );
- Cbuf_Execute( &cl_cmdbuf );
+ Cbuf_Execute(&cmd_buffer);
+ Cbuf_Execute(&cl_cmdbuf);
#if USE_CURL
HTTP_RunDownloads();
@@ -3180,12 +3288,13 @@ qboolean CL_ProcessEvents( void ) {
CL_Init
====================
*/
-void CL_Init( void ) {
- if( dedicated->integer ) {
+void CL_Init(void)
+{
+ if (dedicated->integer) {
return; // nothing running on the client
}
- if( cl_running->integer ) {
+ if (cl_running->integer) {
return;
}
@@ -3206,8 +3315,8 @@ void CL_Init( void ) {
IN_Init();
#if USE_ZLIB
- if( inflateInit2( &cls.z, -MAX_WBITS ) != Z_OK ) {
- Com_Error( ERR_FATAL, "%s: inflateInit2() failed", __func__ );
+ if (inflateInit2(&cls.z, -MAX_WBITS) != Z_OK) {
+ Com_Error(ERR_FATAL, "%s: inflateInit2() failed", __func__);
}
#endif
@@ -3216,7 +3325,7 @@ void CL_Init( void ) {
#endif
#if USE_UI
- UI_OpenMenu( UIMENU_DEFAULT );
+ UI_OpenMenu(UIMENU_DEFAULT);
#endif
Con_PostInit();
@@ -3224,10 +3333,10 @@ void CL_Init( void ) {
cl_cmdbuf.from = FROM_STUFFTEXT;
cl_cmdbuf.text = cl_cmdbuf_text;
- cl_cmdbuf.maxsize = sizeof( cl_cmdbuf_text );
+ cl_cmdbuf.maxsize = sizeof(cl_cmdbuf_text);
cl_cmdbuf.exec = exec_server_string;
- Cvar_Set( "cl_running", "1" );
+ Cvar_Set("cl_running", "1");
}
/*
@@ -3237,51 +3346,52 @@ CL_WriteConfig
Writes key bindings and archived cvars to config.cfg
===============
*/
-static void CL_WriteConfig( void ) {
+static void CL_WriteConfig(void)
+{
qhandle_t f;
qerror_t ret;
- ret = FS_FOpenFile( COM_CONFIG_NAME, &f, FS_MODE_WRITE | FS_FLAG_TEXT );
- if( !f ) {
- Com_EPrintf( "Couldn't open %s for writing: %s\n",
- COM_CONFIG_NAME, Q_ErrorString( ret ) );
+ ret = FS_FOpenFile(COM_CONFIG_NAME, &f, FS_MODE_WRITE | FS_FLAG_TEXT);
+ if (!f) {
+ Com_EPrintf("Couldn't open %s for writing: %s\n",
+ COM_CONFIG_NAME, Q_ErrorString(ret));
return;
}
- FS_FPrintf( f, "// generated by q2pro, do not modify\n" );
+ FS_FPrintf(f, "// generated by q2pro, do not modify\n");
- Key_WriteBindings( f );
- Cvar_WriteVariables( f, CVAR_ARCHIVE, qfalse );
-
- FS_FCloseFile( f );
-}
+ Key_WriteBindings(f);
+ Cvar_WriteVariables(f, CVAR_ARCHIVE, qfalse);
+ FS_FCloseFile(f);
+}
/*
===============
CL_Shutdown
-
+
FIXME: this is a callback from Com_Quit and Com_Error. It would be better
to run quit through here before the final handoff to the sys code.
===============
*/
-void CL_Shutdown( void ) {
+void CL_Shutdown(void)
+{
static qboolean isdown = qfalse;
-
- if( isdown ) {
- Com_Printf( "CL_Shutdown: recursive shutdown\n" );
+
+ if (isdown) {
+ Com_Printf("CL_Shutdown: recursive shutdown\n");
return;
}
isdown = qtrue;
- if( !cl_running || !cl_running->integer ) {
+ if (!cl_running || !cl_running->integer) {
return;
}
- CL_Disconnect( ERR_FATAL );
+ CL_Disconnect(ERR_FATAL);
#if USE_ZLIB
- inflateEnd( &cls.z );
+ inflateEnd(&cls.z);
#endif
#if USE_CURL
@@ -3294,9 +3404,9 @@ void CL_Shutdown( void ) {
CL_ShutdownRefresh();
CL_WriteConfig();
- memset( &cls, 0, sizeof( cls ) );
+ memset(&cls, 0, sizeof(cls));
- Cvar_Set( "cl_running", "0" );
+ Cvar_Set("cl_running", "0");
isdown = qfalse;
}