diff --git a/code/client/cl_main.c b/code/client/cl_main.c index 1a265e7e..34185b98 100644 --- a/code/client/cl_main.c +++ b/code/client/cl_main.c @@ -3037,6 +3037,12 @@ void CL_Init( void ) { cl_voipGainDuringCapture = Cvar_Get ("cl_voipGainDuringCapture", "0.2", CVAR_ARCHIVE); voip = Cvar_Get ("voip", "0", CVAR_USERINFO | CVAR_ARCHIVE | CVAR_LATCH); + // This is a protocol version number. + if ( (voip->integer < 0) || (voip->integer > 1) ) { + Com_Printf("WARNING: voip cvar must be 0 or 1. Setting to 1."); + Cvar_Set ("voip", "1"); + } + // If your data rate is too low, you'll get Connection Interrupted warnings // when VoIP packets arrive, even if you have a broadband connection. // This might work on rates lower than 25000, but for safety's sake, we'll diff --git a/code/client/cl_parse.c b/code/client/cl_parse.c index 167b035c..d80d7d29 100644 --- a/code/client/cl_parse.c +++ b/code/client/cl_parse.c @@ -365,8 +365,10 @@ void CL_SystemInfoChanged( void ) { } #if USE_VOIP + // in the future, (val) will be a protocol version string, so only + // accept explicitly 1, not generally non-zero. s = Info_ValueForKey( systemInfo, "sv_voip" ); - cl_connectedToVoipServer = atoi( s ); + cl_connectedToVoipServer = (atoi( s ) == 1); #endif s = Info_ValueForKey( systemInfo, "sv_cheats" ); diff --git a/code/server/sv_client.c b/code/server/sv_client.c index 6f932d1b..2528e64a 100644 --- a/code/server/sv_client.c +++ b/code/server/sv_client.c @@ -1371,8 +1371,10 @@ void SV_UserinfoChanged( client_t *cl ) { } #if USE_VOIP + // in the future, (val) will be a protocol version string, so only + // accept explicitly 1, not generally non-zero. val = Info_ValueForKey (cl->userinfo, "voip"); - cl->hasVoip = (strlen(val) && atoi(val)) ? qtrue : qfalse; + cl->hasVoip = (atoi(val) == 1) ? qtrue : qfalse; #endif // TTimo