Example #1
0
/*
===============
SV_GetUserinfo
===============
*/
void SV_GetUserinfo(int index, char *buffer, int bufferSize)
{
	if (bufferSize < 1)
	{
		Com_Error(ERR_DROP, "SV_GetUserinfo: bufferSize == %i", bufferSize);
	}
	if (index < 0 || index >= sv_maxclients->integer)
	{
		Com_Error(ERR_DROP, "SV_GetUserinfo: bad index %i", index);
	}

	Q_strncpyz(buffer, svs.clients[index].userinfo, bufferSize);

	// Save userinfo changes to demo (also in SV_UpdateUserinfo_f() in sv_client.c)
	if (sv.demoState == DS_RECORDING)
	{
		SV_DemoWriteClientUserinfo(&svs.clients[index], buffer);
	}
}
Example #2
0
/**
 * @brief SV_SetUserinfo
 * @param[in] index
 * @param[in] val
 */
void SV_SetUserinfo(int index, const char *val)
{
    if (index < 0 || index >= sv_maxclients->integer)
    {
        Com_Error(ERR_DROP, "SV_SetUserinfo: bad index %i", index);
    }

    if (!val)
    {
        val = "";
    }

    Q_strncpyz(svs.clients[index].userinfo, val, sizeof(svs.clients[index].userinfo));
    Q_strncpyz(svs.clients[index].name, Info_ValueForKey(val, "name"), sizeof(svs.clients[index].name));

    // Save userinfo changes to demo (also in SV_UpdateUserinfo_f() in sv_client.c)
    if (sv.demoState == DS_RECORDING)
    {
        SV_DemoWriteClientUserinfo(&svs.clients[index], val);
    }
}