예제 #1
0
/*
* TV_Relay_ClientDisconnect
*/
void TV_Relay_ClientDisconnect( relay_t *relay, client_t *client )
{
	assert( relay );
	assert( relay->module_export );
	assert( client );

	relay->module_export->ClientDisconnect( relay->module, client->edict );
	relay->num_active_specs--;
	if( relay->num_active_specs < 0 )
		relay->num_active_specs = 0;

	// update the upstream name to "name (no_of_players)"
	TV_Relay_UpstreamUserinfoChanged( relay );
}
예제 #2
0
/*
* TV_Relay_ClientConnect
*/
void TV_Relay_ClientConnect( relay_t *relay, client_t *client ) {
	int edictnum;

	assert( relay );
	assert( relay->module_export );
	assert( client );

	edictnum = client - tvs.clients;
	client->edict = LOCAL_EDICT_NUM( relay, edictnum );
	client->relay = relay;

	relay->module_export->ClientConnect( relay->module, client->edict, client->userinfo );
	relay->num_active_specs++;

	// update the upstream name to "name (no_of_players)"
	TV_Relay_UpstreamUserinfoChanged( relay );

	// parse some info from the info strings
	TV_Downstream_UserinfoChanged( client );
}