diff options
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/cl_main.c | 31 | ||||
| -rw-r--r-- | src/client/client.h | 3 | 
2 files changed, 33 insertions, 1 deletions
diff --git a/src/client/cl_main.c b/src/client/cl_main.c index 28e5021f..af8c1d76 100644 --- a/src/client/cl_main.c +++ b/src/client/cl_main.c @@ -2012,7 +2012,7 @@ void CL_Frame ( int msec ) {  			}  			Q_strncpyz( mapName, COM_SkipPath( cl.mapname ), sizeof( cl.mapname ) ); -			COM_StripExtension( mapName, mapName ); +			COM_StripExtension(mapName, mapName, sizeof(mapName));  			Cbuf_ExecuteText( EXEC_NOW,  					va( "record %s-%s-%s", nowString, serverName, mapName ) ); @@ -2324,6 +2324,28 @@ void CL_StopVideo_f( void )    CL_CloseAVI( );  } +static void CL_GenerateQKey(void) +{ +	int len = 0; +	unsigned char buff[2048]; + +	len = FS_ReadFile(QKEY_FILE, NULL); +	if(len >= (int)sizeof(buff)) { +		Com_Printf("QKEY found.\n"); +		return; +	} +	else { +		int i; +		srand(time(0)); +		for(i = 0; i < sizeof(buff) - 1; i++) { +			buff[i] = (unsigned char)(rand() % 255); +		} +		buff[i] = 0; +		Com_Printf("QKEY generated\n"); +		FS_WriteFile(QKEY_FILE, buff, sizeof(buff)); +	} +}  +  /*  ====================  CL_Init @@ -2472,6 +2494,9 @@ void CL_Init( void ) {  	Cvar_Set( "cl_running", "1" ); +	CL_GenerateQKey();	 +	Cvar_Get("cl_guid", Com_MD5File(QKEY_FILE, 0), CVAR_USERINFO | CVAR_ROM); +  	Com_Printf( "----- Client Initialization Complete -----\n" );  } @@ -2485,6 +2510,10 @@ CL_Shutdown  void CL_Shutdown( void ) {  	static qboolean recursive = qfalse; +	// check whether the client is running at all. +	if(!(com_cl_running && com_cl_running->integer)) +		return; +	  	Com_Printf( "----- CL_Shutdown -----\n" );  	if ( recursive ) { diff --git a/src/client/client.h b/src/client/client.h index a7db023f..e5f5d596 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -31,6 +31,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA  #include "../cgame/cg_public.h"  #include "../game/bg_public.h" +// tjw: file full of random crap that gets used to create cl_guid +#define QKEY_FILE "qkey" +  #define	RETRANSMIT_TIMEOUT	3000	// time between connection packet retransmits  | 
