/* * 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 ); }
/* * 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 ); }