engine: server: read full voicedata message even if voice is disabled server wide

This commit is contained in:
Alibek Omarov 2022-08-19 22:22:40 +03:00
parent 88c1b1400d
commit 905bbf1515

View File

@ -2580,18 +2580,18 @@ void SV_ParseVoiceData( sv_client_t *cl, sizebuf_t *msg )
size = MSG_ReadShort( msg ); size = MSG_ReadShort( msg );
client = cl - svs.clients; client = cl - svs.clients;
if ( size > sizeof( received ) ) if( size > sizeof( received ))
{ {
Con_DPrintf( "SV_ParseVoiceData: invalid incoming packet.\n" ); Con_DPrintf( "SV_ParseVoiceData: invalid incoming packet.\n" );
SV_DropClient( cl, false ); SV_DropClient( cl, false );
return; return;
} }
if ( (int)sv_voiceenable.value == 0 )
return;
MSG_ReadBytes( msg, received, size ); MSG_ReadBytes( msg, received, size );
if( !sv_voiceenable.value )
return;
for( i = 0, cur = svs.clients; i < svs.maxclients; i++, cur++ ) for( i = 0, cur = svs.clients; i < svs.maxclients; i++, cur++ )
{ {
if ( cur->state < cs_connected && cl != cur ) if ( cur->state < cs_connected && cl != cur )
@ -2600,10 +2600,10 @@ void SV_ParseVoiceData( sv_client_t *cl, sizebuf_t *msg )
length = size; length = size;
// 6 is a number of bytes for other parts of message // 6 is a number of bytes for other parts of message
if ( MSG_GetNumBytesLeft( &cur->datagram ) < length + 6 ) if( MSG_GetNumBytesLeft( &cur->datagram ) < length + 6 )
continue; continue;
if ( cl == cur && !cur->m_bLoopback ) if( cl == cur && !cur->m_bLoopback )
length = 0; length = 0;
MSG_BeginServerCmd( &cur->datagram, svc_voicedata ); MSG_BeginServerCmd( &cur->datagram, svc_voicedata );