diff options
Diffstat (limited to 'src/qcommon')
| -rw-r--r-- | src/qcommon/common.c | 30 | ||||
| -rw-r--r-- | src/qcommon/q_shared.h | 17 | ||||
| -rw-r--r-- | src/qcommon/qcommon.h | 2 | 
3 files changed, 49 insertions, 0 deletions
diff --git a/src/qcommon/common.c b/src/qcommon/common.c index 0a4e7eba..c6feee42 100644 --- a/src/qcommon/common.c +++ b/src/qcommon/common.c @@ -3422,3 +3422,33 @@ void Com_RandomBytes( byte *string, int len )  		string[i] = (unsigned char)( rand() % 255 );  } + +/* +================== +Com_IsVoipTarget + +Returns non-zero if given clientNum is enabled in voipTargets, zero otherwise. +If clientNum is negative return if any bit is set. +================== +*/ +qboolean Com_IsVoipTarget(uint8_t *voipTargets, int voipTargetsSize, int clientNum) +{ +	int index; +	if(clientNum < 0) +	{ +		for(index = 0; index < voipTargetsSize; index++) +		{ +			if(voipTargets[index]) +				return qtrue; +		} +		 +		return qfalse; +	} + +	index = clientNum >> 3; +	 +	if(index < voipTargetsSize) +		return (voipTargets[index] & (1 << (clientNum & 0x07))); + +	return qfalse; +} diff --git a/src/qcommon/q_shared.h b/src/qcommon/q_shared.h index d0977d99..189d1751 100644 --- a/src/qcommon/q_shared.h +++ b/src/qcommon/q_shared.h @@ -989,6 +989,23 @@ typedef struct {  	char		string[MAX_CVAR_VALUE_STRING];  } vmCvar_t; + +/* +============================================================== + +VoIP + +============================================================== +*/ + +// if you change the count of flags be sure to also change VOIP_FLAGNUM +#define VOIP_SPATIAL		0x01		// spatialized voip message +#define VOIP_DIRECT		0x02		// non-spatialized voip message + +// number of flags voip knows. You will have to bump protocol version number if you +// change this. +#define VOIP_FLAGCNT		2 +  /*  ============================================================== diff --git a/src/qcommon/qcommon.h b/src/qcommon/qcommon.h index 035d98b1..f761b134 100644 --- a/src/qcommon/qcommon.h +++ b/src/qcommon/qcommon.h @@ -812,6 +812,8 @@ int			Com_RealTime(qtime_t *qtime);  qboolean	Com_SafeMode( void );  void		Com_RunAndTimeServerPacket(netadr_t *evFrom, msg_t *buf); +qboolean	Com_IsVoipTarget(uint8_t *voipTargets, int voipTargetsSize, int clientNum); +  void		Com_StartupVariable( const char *match );  // checks for and removes command line "+set var arg" constructs  // if match is NULL, all set commands will be executed, otherwise  | 
