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

@ -72,7 +72,6 @@ bot_waypoint_t *botai_freewaypoints;
//NOTE: not using a cvars which can be updated because the game should be reloaded anyway
int gametype; //game type
int maxclients; //maximum number of clients
vmCvar_t bot_grapple;
vmCvar_t bot_rocketjump;
@ -1427,11 +1426,8 @@ ClientFromName
int ClientFromName(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++) {
trap_GetConfigstring(CS_PLAYERS+i, buf, sizeof(buf));
Q_CleanStr( buf );
if (!Q_stricmp(Info_ValueForKey(buf, "n"), name)) return i;
@ -1447,11 +1443,8 @@ ClientOnSameTeamFromName
int ClientOnSameTeamFromName(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;
trap_GetConfigstring(CS_PLAYERS+i, buf, sizeof(buf));
@ -2983,7 +2976,7 @@ int BotFindEnemy(bot_state_t *bs, int curenemy) {
}
#endif
//
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
if (i == bs->client) continue;
//if it's the current enemy
@ -3062,7 +3055,7 @@ int BotTeamFlagCarrierVisible(bot_state_t *bs) {
float vis;
aas_entityinfo_t entinfo;
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
if (i == bs->client)
continue;
//
@ -3095,7 +3088,7 @@ int BotTeamFlagCarrier(bot_state_t *bs) {
int i;
aas_entityinfo_t entinfo;
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
if (i == bs->client)
continue;
//
@ -3125,7 +3118,7 @@ int BotEnemyFlagCarrierVisible(bot_state_t *bs) {
float vis;
aas_entityinfo_t entinfo;
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
if (i == bs->client)
continue;
//
@ -3164,7 +3157,7 @@ void BotVisibleTeamMatesAndEnemies(bot_state_t *bs, int *teammates, int *enemies
*teammates = 0;
if (enemies)
*enemies = 0;
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
if (i == bs->client)
continue;
//
@ -3206,7 +3199,7 @@ int BotTeamCubeCarrierVisible(bot_state_t *bs) {
float vis;
aas_entityinfo_t entinfo;
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
if (i == bs->client) continue;
//
BotEntityInfo(i, &entinfo);
@ -3235,7 +3228,7 @@ int BotEnemyCubeCarrierVisible(bot_state_t *bs) {
float vis;
aas_entityinfo_t entinfo;
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
if (i == bs->client)
continue;
//
@ -3706,7 +3699,7 @@ void BotMapScripts(bot_state_t *bs) {
}
shootbutton = qfalse;
//if an enemy is below this bounding box then shoot the button
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
for (i = 0; i < level.maxclients; i++) {
if (i == bs->client) continue;
//
@ -5403,7 +5396,6 @@ void BotSetupDeathmatchAI(void) {
char model[128];
gametype = trap_Cvar_VariableIntegerValue("g_gametype");
maxclients = trap_Cvar_VariableIntegerValue("sv_maxclients");
trap_Cvar_Register(&bot_rocketjump, "bot_rocketjump", "1", 0);
trap_Cvar_Register(&bot_grapple, "bot_grapple", "0", 0);