- Apply parts of Ben Millwood's target bitfield patch (#3787)
- Fix Ryan's FIXME and have voip packet buffer on the server dynamically allocated via Z_Malloc and store pointers in a circular buffer - Improve voip target parsing on top of Ben Millwood's patch - Add new "spatial" target where speaker is spatialized in 3d space and can be heard by all clients in hearing range (s_alMaxDistance) (#4467) - Decrease voip sound lengths from 240ms to 80ms per voip packet to mitigate udp packet loss and decrease latency - Protocol version incremented to 71
This commit is contained in:
parent
41ac8a232a
commit
2349148cf1
19 changed files with 403 additions and 241 deletions
|
@ -3585,3 +3585,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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue