diff options
Diffstat (limited to 'src/game/g_ptr.c')
-rw-r--r-- | src/game/g_ptr.c | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/src/game/g_ptr.c b/src/game/g_ptr.c deleted file mode 100644 index f597a196..00000000 --- a/src/game/g_ptr.c +++ /dev/null @@ -1,167 +0,0 @@ -// g_ptr.c -- post timeout restoration handling - -/* - * Portions Copyright (C) 2000-2001 Tim Angus - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the OSML - Open Source Modification License v1.0 as - * described in the file COPYING which is distributed with this source - * code. - * - * 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. - */ - -#include "g_local.h" - -static connectionRecord_t connections[ MAX_CLIENTS ]; - -/* -=============== -G_CheckForUniquePTRC - -Callback to detect ptrc clashes -=============== -*/ -static qboolean G_CheckForUniquePTRC( int code ) -{ - int i; - - if( code == 0 ) - return qfalse; - - for( i = 0; i < MAX_CLIENTS; i++ ) - { - if( connections[ i ].ptrCode == code ) - return qfalse; - } - - return qtrue; -} - -/* -=============== -G_UpdatePTRConnection - -Update the data in a connection record -=============== -*/ -void G_UpdatePTRConnection( gclient_t *client ) -{ - if( client && client->pers.connection ) - { - client->pers.connection->clientTeam = client->ps.stats[ STAT_PTEAM ]; - client->pers.connection->clientCredit = client->ps.persistant[ PERS_CREDIT ]; - } -} - -/* -=============== -G_GenerateNewConnection - -Generates a new connection -=============== -*/ -connectionRecord_t *G_GenerateNewConnection( gclient_t *client ) -{ - int code = 0; - int i; - - // this should be really random - srand( trap_Milliseconds( ) ); - - // there is a very very small possibility that this - // will loop infinitely - do - { - code = rand( ); - } while( !G_CheckForUniquePTRC( code ) ); - - for( i = 0; i < MAX_CLIENTS; i++ ) - { - //found an unused slot - if( !connections[ i ].ptrCode ) - { - connections[ i ].ptrCode = code; - connections[ i ].clientNum = client->ps.clientNum; - client->pers.connection = &connections[ i ]; - G_UpdatePTRConnection( client ); - - return &connections[ i ]; - } - } - - return NULL; -} - -/* -=============== -G_VerifyPTRC - -Check a PTR code for validity -=============== -*/ -qboolean G_VerifyPTRC( int code ) -{ - int i; - - if( code == 0 ) - return qfalse; - - for( i = 0; i < MAX_CLIENTS; i++ ) - { - if( connections[ i ].ptrCode == code ) - return qtrue; - } - - return qfalse; -} - -/* -=============== -G_FindConnectionForCode - -Finds a connection for a given code -=============== -*/ -connectionRecord_t *G_FindConnectionForCode( int code ) -{ - int i; - - if( code == 0 ) - return NULL; - - for( i = 0; i < MAX_CLIENTS; i++ ) - { - if( connections[ i ].ptrCode == code ) - return &connections[ i ]; - } - - return NULL; -} - -/* -=============== -G_DeletePTRConnection - -Finds a connection and deletes it -=============== -*/ -void G_DeletePTRConnection( connectionRecord_t *connection ) -{ - if( connection ) - memset( connection, 0, sizeof( connectionRecord_t ) ); -} - -/* -=============== -G_ResetPTRConnections - -Invalidate any existing codes -=============== -*/ -void G_ResetPTRConnections( void ) -{ - memset( connections, 0, sizeof( connectionRecord_t ) * MAX_CLIENTS ); -} |