Stop caching sv_maxclients in bot code

This commit is contained in:
Zack Middleton 2017-06-07 19:00:28 -05:00
parent d1631d6ea3
commit 74aa4268b2
5 changed files with 28 additions and 83 deletions

View file

@ -237,15 +237,12 @@ FindClientByName
int FindClientByName(char *name) {
int i;
char buf[MAX_INFO_STRING];
static int maxclients;
if (!maxclients)
maxclients = trap_Cvar_VariableIntegerValue("sv_maxclients");
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
ClientName(i, buf, sizeof(buf));
if (!Q_stricmp(buf, name)) return i;
}
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
ClientName(i, buf, sizeof(buf));
if (stristr(buf, name)) return i;
}
@ -260,16 +257,13 @@ FindEnemyByName
int FindEnemyByName(bot_state_t *bs, char *name) {
int i;
char buf[MAX_INFO_STRING];
static int maxclients;
if (!maxclients)
maxclients = trap_Cvar_VariableIntegerValue("sv_maxclients");
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
if (BotSameTeam(bs, i)) continue;
ClientName(i, buf, sizeof(buf));
if (!Q_stricmp(buf, name)) return i;
}
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
if (BotSameTeam(bs, i)) continue;
ClientName(i, buf, sizeof(buf));
if (stristr(buf, name)) return i;
@ -285,13 +279,9 @@ NumPlayersOnSameTeam
int NumPlayersOnSameTeam(bot_state_t *bs) {
int i, num;
char buf[MAX_INFO_STRING];
static int maxclients;
if (!maxclients)
maxclients = trap_Cvar_VariableIntegerValue("sv_maxclients");
num = 0;
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
trap_GetConfigstring(CS_PLAYERS+i, buf, MAX_INFO_STRING);
if (strlen(buf)) {
if (BotSameTeam(bs, i+1)) num++;