cosmetic changes
This commit is contained in:
parent
c2316dd8b1
commit
1d22832979
9 changed files with 436 additions and 434 deletions
|
|
@ -1406,6 +1406,7 @@ public:
|
|||
~Localizer (void) { m_langTab.RemoveAll (); }
|
||||
|
||||
char *TranslateInput (const char *input);
|
||||
void Destroy (void);
|
||||
};
|
||||
|
||||
// netmessage handler class
|
||||
|
|
@ -1586,9 +1587,8 @@ private:
|
|||
VarType type;
|
||||
cvar_t reg;
|
||||
class ConVar *self;
|
||||
} m_regVars[101];
|
||||
|
||||
int m_regCount;
|
||||
};
|
||||
Array <VarPair> m_regs;
|
||||
|
||||
public:
|
||||
void RegisterVariable (const char *variable, const char *value, VarType varType, ConVar *self);
|
||||
|
|
@ -1597,11 +1597,11 @@ public:
|
|||
|
||||
|
||||
// expose bot globals
|
||||
#define netmsg NetworkMsg::GetObject ()
|
||||
#define locale Localizer::GetObject ()
|
||||
#define convars ConVarWrapper::GetObject ()
|
||||
#define waypoint Waypoint::GetObject ()
|
||||
#define botMgr BotManager::GetObject ()
|
||||
#define netmsg NetworkMsg::GetReference ()
|
||||
#define locale Localizer::GetReference ()
|
||||
#define convars ConVarWrapper::GetReference ()
|
||||
#define waypoint Waypoint::GetReference ()
|
||||
#define botMgr BotManager::GetReference ()
|
||||
|
||||
// simplify access for console variables
|
||||
class ConVar
|
||||
|
|
@ -1614,7 +1614,7 @@ public:
|
|||
{
|
||||
m_eptr = NULL;
|
||||
|
||||
convars->RegisterVariable (name, initval, type, this);
|
||||
convars.RegisterVariable (name, initval, type, this);
|
||||
}
|
||||
|
||||
inline bool GetBool(void)
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ void Bot::PushMessageQueue (int message)
|
|||
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *otherBot = botMgr->GetBot (i);
|
||||
Bot *otherBot = botMgr.GetBot (i);
|
||||
|
||||
if (otherBot != NULL && otherBot->pev != pev)
|
||||
{
|
||||
|
|
@ -185,14 +185,14 @@ void Bot::CheckGrenadeThrow (void)
|
|||
searchRadius = 128.0;
|
||||
|
||||
// search waypoints
|
||||
waypoint->FindInRadius (enemyPredict, searchRadius, searchTab, &count);
|
||||
waypoint.FindInRadius (enemyPredict, searchRadius, searchTab, &count);
|
||||
|
||||
while (count > 0)
|
||||
{
|
||||
allowThrowing = true;
|
||||
|
||||
// check the throwing
|
||||
m_throw = waypoint->GetPath (searchTab[count--])->origin;
|
||||
m_throw = waypoint.GetPath (searchTab[count--])->origin;
|
||||
Vector src = CheckThrow (EyePosition (), m_throw);
|
||||
|
||||
if (src.GetLengthSquared () < 100.0)
|
||||
|
|
@ -226,11 +226,11 @@ void Bot::CheckGrenadeThrow (void)
|
|||
bool allowThrowing = true;
|
||||
Array <int> inRadius;
|
||||
|
||||
waypoint->FindInRadius (inRadius, 256, m_lastEnemy->v.origin + (m_lastEnemy->v.velocity * 0.5).Get2D ());
|
||||
waypoint.FindInRadius (inRadius, 256, m_lastEnemy->v.origin + (m_lastEnemy->v.velocity * 0.5).Get2D ());
|
||||
|
||||
FOR_EACH_AE (inRadius, i)
|
||||
{
|
||||
Path *path = waypoint->GetPath (i);
|
||||
Path *path = waypoint.GetPath (i);
|
||||
|
||||
int friendCount = GetNearbyFriendsNearPosition (path->origin, 256.0f);
|
||||
|
||||
|
|
@ -273,7 +273,7 @@ void Bot::AvoidGrenades (void)
|
|||
{
|
||||
// checks if bot 'sees' a grenade, and avoid it
|
||||
|
||||
if (!botMgr->HasActiveGrenades ())
|
||||
if (!botMgr.HasActiveGrenades ())
|
||||
return;
|
||||
|
||||
// check if old pointers to grenade is invalid
|
||||
|
|
@ -287,7 +287,7 @@ void Bot::AvoidGrenades (void)
|
|||
m_avoidGrenade = NULL;
|
||||
m_needAvoidGrenade = 0;
|
||||
}
|
||||
Array <entity_t> activeGrenades = botMgr->GetActiveGrenades ();
|
||||
Array <entity_t> activeGrenades = botMgr.GetActiveGrenades ();
|
||||
|
||||
// find all grenades on the map
|
||||
FOR_EACH_AE (activeGrenades, it)
|
||||
|
|
@ -346,11 +346,11 @@ void Bot::AvoidGrenades (void)
|
|||
|
||||
bool Bot::IsBehindSmokeClouds (edict_t *ent)
|
||||
{
|
||||
if (!botMgr->HasActiveGrenades ())
|
||||
if (!botMgr.HasActiveGrenades ())
|
||||
return false;
|
||||
|
||||
const Vector &betweenUs = (ent->v.origin - pev->origin).Normalize ();
|
||||
Array <entity_t> activeGrenades = botMgr->GetActiveGrenades ();
|
||||
Array <entity_t> activeGrenades = botMgr.GetActiveGrenades ();
|
||||
|
||||
// find all grenades on the map
|
||||
FOR_EACH_AE (activeGrenades, it)
|
||||
|
|
@ -718,7 +718,7 @@ void Bot::FindItem (void)
|
|||
PushTask (TASK_CAMP, TASKPRI_CAMP, -1, GetWorldTime () + Random.Float (30.0, 60.0), true); // push camp task on to stack
|
||||
PushTask (TASK_MOVETOPOSITION, TASKPRI_MOVETOPOSITION, index, GetWorldTime () + Random.Float (3.0, 6.0), true); // push move command
|
||||
|
||||
if (waypoint->GetPath (index)->vis.crouch <= waypoint->GetPath (index)->vis.stand)
|
||||
if (waypoint.GetPath (index)->vis.crouch <= waypoint.GetPath (index)->vis.stand)
|
||||
m_campButtons |= IN_DUCK;
|
||||
else
|
||||
m_campButtons &= ~IN_DUCK;
|
||||
|
|
@ -738,10 +738,10 @@ void Bot::FindItem (void)
|
|||
m_defendedBomb = true;
|
||||
|
||||
int index = FindDefendWaypoint (entityOrigin);
|
||||
Path *path = waypoint->GetPath (index);
|
||||
Path *path = waypoint.GetPath (index);
|
||||
|
||||
float bombTimer = mp_c4timer.GetFloat ();
|
||||
float timeMidBlowup = g_timeBombPlanted + (bombTimer * 0.5 + bombTimer * 0.25) - waypoint->GetTravelTime (pev->maxspeed, pev->origin, path->origin);
|
||||
float timeMidBlowup = g_timeBombPlanted + (bombTimer * 0.5 + bombTimer * 0.25) - waypoint.GetTravelTime (pev->maxspeed, pev->origin, path->origin);
|
||||
|
||||
if (timeMidBlowup > GetWorldTime ())
|
||||
{
|
||||
|
|
@ -771,7 +771,7 @@ void Bot::FindItem (void)
|
|||
allowPickup = false; // never pickup dead hostage
|
||||
else for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
if ((bot = botMgr->GetBot (i)) != NULL && IsAlive (bot->GetEntity ()))
|
||||
if ((bot = botMgr.GetBot (i)) != NULL && IsAlive (bot->GetEntity ()))
|
||||
{
|
||||
for (int j = 0; j < MAX_HOSTAGES; j++)
|
||||
{
|
||||
|
|
@ -795,7 +795,7 @@ void Bot::FindItem (void)
|
|||
if (Random.Long (0, 100) < 90)
|
||||
ChatterMessage (Chatter_FoundBombPlace);
|
||||
|
||||
allowPickup = !IsBombDefusing (waypoint->GetBombPosition ()) || m_hasProgressBar;
|
||||
allowPickup = !IsBombDefusing (waypoint.GetBombPosition ()) || m_hasProgressBar;
|
||||
pickupType = PICKUP_PLANTED_C4;
|
||||
|
||||
if (!m_defendedBomb && !allowPickup)
|
||||
|
|
@ -803,9 +803,9 @@ void Bot::FindItem (void)
|
|||
m_defendedBomb = true;
|
||||
|
||||
int index = FindDefendWaypoint (entityOrigin);
|
||||
Path *path = waypoint->GetPath (index);
|
||||
Path *path = waypoint.GetPath (index);
|
||||
|
||||
float timeToExplode = g_timeBombPlanted + mp_c4timer.GetFloat () - waypoint->GetTravelTime (pev->maxspeed, pev->origin, path->origin);
|
||||
float timeToExplode = g_timeBombPlanted + mp_c4timer.GetFloat () - waypoint.GetTravelTime (pev->maxspeed, pev->origin, path->origin);
|
||||
|
||||
RemoveCertainTask (TASK_MOVETOPOSITION); // remove any move tasks
|
||||
|
||||
|
|
@ -833,7 +833,7 @@ void Bot::FindItem (void)
|
|||
PushTask (TASK_CAMP, TASKPRI_CAMP, -1, GetWorldTime () + Random.Float (30.0, 70.0), true); // push camp task on to stack
|
||||
PushTask (TASK_MOVETOPOSITION, TASKPRI_MOVETOPOSITION, index, GetWorldTime () + Random.Float (10.0, 30.0), true); // push move command
|
||||
|
||||
if (waypoint->GetPath (index)->vis.crouch <= waypoint->GetPath (index)->vis.stand)
|
||||
if (waypoint.GetPath (index)->vis.crouch <= waypoint.GetPath (index)->vis.stand)
|
||||
m_campButtons |= IN_DUCK;
|
||||
else
|
||||
m_campButtons &= ~IN_DUCK;
|
||||
|
|
@ -865,7 +865,7 @@ void Bot::FindItem (void)
|
|||
{
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
if ((bot = botMgr->GetBot (i)) != NULL && IsAlive (bot->GetEntity ()) && bot->m_pickupItem == pickupItem)
|
||||
if ((bot = botMgr.GetBot (i)) != NULL && IsAlive (bot->GetEntity ()) && bot->m_pickupItem == pickupItem)
|
||||
{
|
||||
m_pickupItem = NULL;
|
||||
m_pickupType = PICKUP_NONE;
|
||||
|
|
@ -912,14 +912,14 @@ void Bot::GetCampDirection (Vector *dest)
|
|||
// find nearest waypoint to bot and position
|
||||
for (int i = 0; i < g_numWaypoints; i++)
|
||||
{
|
||||
float distance = (waypoint->GetPath (i)->origin - pev->origin).GetLengthSquared ();
|
||||
float distance = (waypoint.GetPath (i)->origin - pev->origin).GetLengthSquared ();
|
||||
|
||||
if (distance < minDistance)
|
||||
{
|
||||
minDistance = distance;
|
||||
tempIndex = i;
|
||||
}
|
||||
distance = (waypoint->GetPath (i)->origin - *dest).GetLengthSquared ();
|
||||
distance = (waypoint.GetPath (i)->origin - *dest).GetLengthSquared ();
|
||||
|
||||
if (distance < maxDistance)
|
||||
{
|
||||
|
|
@ -934,14 +934,14 @@ void Bot::GetCampDirection (Vector *dest)
|
|||
minDistance = 99999.0f;
|
||||
|
||||
int lookAtWaypoint = -1;
|
||||
Path *path = waypoint->GetPath (tempIndex);
|
||||
Path *path = waypoint.GetPath (tempIndex);
|
||||
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
if (path->index[i] == -1)
|
||||
continue;
|
||||
|
||||
float distance = waypoint->GetPathDistance (path->index[i], enemyIndex);
|
||||
float distance = waypoint.GetPathDistance (path->index[i], enemyIndex);
|
||||
|
||||
if (distance < minDistance)
|
||||
{
|
||||
|
|
@ -950,7 +950,7 @@ void Bot::GetCampDirection (Vector *dest)
|
|||
}
|
||||
}
|
||||
if (lookAtWaypoint != -1 && lookAtWaypoint < g_numWaypoints)
|
||||
*dest = waypoint->GetPath (lookAtWaypoint)->origin;
|
||||
*dest = waypoint.GetPath (lookAtWaypoint)->origin;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -966,7 +966,7 @@ void Bot::SwitchChatterIcon (bool show)
|
|||
if (!(g_clients[i].flags & CF_USED) || (g_clients[i].ent->v.flags & FL_FAKECLIENT) || g_clients[i].team != m_team)
|
||||
continue;
|
||||
|
||||
MESSAGE_BEGIN (MSG_ONE, netmsg->GetId (NETMSG_BOTVOICE), NULL, g_clients[i].ent); // begin message
|
||||
MESSAGE_BEGIN (MSG_ONE, netmsg.GetId (NETMSG_BOTVOICE), NULL, g_clients[i].ent); // begin message
|
||||
WRITE_BYTE (show); // switch on/off
|
||||
WRITE_BYTE (GetIndex ());
|
||||
MESSAGE_END ();
|
||||
|
|
@ -1006,7 +1006,7 @@ void Bot::InstantChatterMessage (int type)
|
|||
|
||||
g_sendAudioFinished = false;
|
||||
|
||||
MESSAGE_BEGIN (MSG_ONE, netmsg->GetId (NETMSG_SENDAUDIO), NULL, ent); // begin message
|
||||
MESSAGE_BEGIN (MSG_ONE, netmsg.GetId (NETMSG_SENDAUDIO), NULL, ent); // begin message
|
||||
WRITE_BYTE (GetIndex ());
|
||||
|
||||
if (pev->deadflag & DEAD_DYING)
|
||||
|
|
@ -1158,7 +1158,7 @@ void Bot::CheckMessageQueue (void)
|
|||
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
if (bot != NULL)
|
||||
{
|
||||
|
|
@ -1179,7 +1179,7 @@ void Bot::CheckMessageQueue (void)
|
|||
case TASK_NORMAL:
|
||||
if (GetTask ()->data != -1 && Random.Long (0, 100) < 70)
|
||||
{
|
||||
Path *path = waypoint->GetPath (GetTask ()->data);
|
||||
Path *path = waypoint.GetPath (GetTask ()->data);
|
||||
|
||||
if (path->flags & FLAG_GOAL)
|
||||
{
|
||||
|
|
@ -1403,7 +1403,7 @@ void Bot::PurchaseWeapons (void)
|
|||
int *ptr = g_weaponPrefs[m_personality] + NUM_WEAPONS;
|
||||
|
||||
bool isPistolMode = g_weaponSelect[25].teamStandard == -1 && g_weaponSelect[3].teamStandard == 2;
|
||||
bool teamEcoValid = botMgr->EconomicsValid (m_team);
|
||||
bool teamEcoValid = botMgr.EconomicsValid (m_team);
|
||||
|
||||
switch (m_buyState)
|
||||
{
|
||||
|
|
@ -1515,7 +1515,7 @@ void Bot::PurchaseWeapons (void)
|
|||
|
||||
int moneySave = Random.Long (900, 1100);
|
||||
|
||||
if (botMgr->GetLastWinner () == m_team)
|
||||
if (botMgr.GetLastWinner () == m_team)
|
||||
moneySave = 0;
|
||||
|
||||
if (selectedWeapon->price <= (m_moneyAmount - moneySave))
|
||||
|
|
@ -1996,7 +1996,7 @@ void Bot::ApplyTaskFilters (void)
|
|||
|
||||
// if half of the round is over, allow hunting
|
||||
// FIXME: it probably should be also team/map dependant
|
||||
if (GetTaskId () != TASK_ESCAPEFROMBOMB && IsEntityNull (m_enemy) && g_timeRoundMid < GetWorldTime () && !m_isUsingGrenade && m_currentWaypointIndex != waypoint->FindNearest (m_lastEnemyOrigin) && m_personality != PERSONALITY_CAREFUL)
|
||||
if (GetTaskId () != TASK_ESCAPEFROMBOMB && IsEntityNull (m_enemy) && g_timeRoundMid < GetWorldTime () && !m_isUsingGrenade && m_currentWaypointIndex != waypoint.FindNearest (m_lastEnemyOrigin) && m_personality != PERSONALITY_CAREFUL)
|
||||
{
|
||||
float desireLevel = 4096.0 - ((1.0 - tempAgression) * distance);
|
||||
|
||||
|
|
@ -2214,11 +2214,11 @@ bool Bot::ReactOnEnemy (void)
|
|||
|
||||
if (m_enemyReachableTimer < GetWorldTime ())
|
||||
{
|
||||
int i = waypoint->FindNearest (pev->origin);
|
||||
int enemyIndex = waypoint->FindNearest (m_enemy->v.origin);
|
||||
int i = waypoint.FindNearest (pev->origin);
|
||||
int enemyIndex = waypoint.FindNearest (m_enemy->v.origin);
|
||||
|
||||
float lineDist = (m_enemy->v.origin - pev->origin).GetLength ();
|
||||
float pathDist = waypoint->GetPathDistance (i, enemyIndex);
|
||||
float pathDist = waypoint.GetPathDistance (i, enemyIndex);
|
||||
|
||||
if (pathDist - lineDist > 112.0)
|
||||
m_isEnemyReachable = false;
|
||||
|
|
@ -2275,7 +2275,7 @@ void Bot::CheckRadioCommands (void)
|
|||
// Check if no more followers are allowed
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
if (bot != NULL)
|
||||
{
|
||||
|
|
@ -2309,7 +2309,7 @@ void Bot::CheckRadioCommands (void)
|
|||
{
|
||||
for (int i = 0; (i < GetMaxClients () && numFollowers > allowedFollowers) ; i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
if (bot != NULL)
|
||||
{
|
||||
|
|
@ -2472,7 +2472,7 @@ void Bot::CheckRadioCommands (void)
|
|||
SelectWeaponByName ("weapon_knife");
|
||||
|
||||
DeleteSearchNodes ();
|
||||
MoveToVector (waypoint->GetBombPosition ());
|
||||
MoveToVector (waypoint.GetBombPosition ());
|
||||
|
||||
RadioMessage (Radio_Affirmative);
|
||||
}
|
||||
|
|
@ -2581,19 +2581,19 @@ void Bot::CheckRadioCommands (void)
|
|||
float minDistance = 99999.0f;
|
||||
|
||||
// find nearest bomb waypoint to player
|
||||
FOR_EACH_AE (waypoint->m_goalPoints, i)
|
||||
FOR_EACH_AE (waypoint.m_goalPoints, i)
|
||||
{
|
||||
distance = (waypoint->GetPath (waypoint->m_goalPoints[i])->origin - m_radioEntity->v.origin).GetLengthSquared ();
|
||||
distance = (waypoint.GetPath (waypoint.m_goalPoints[i])->origin - m_radioEntity->v.origin).GetLengthSquared ();
|
||||
|
||||
if (distance < minDistance)
|
||||
{
|
||||
minDistance = distance;
|
||||
bombPoint = waypoint->m_goalPoints[i];
|
||||
bombPoint = waypoint.m_goalPoints[i];
|
||||
}
|
||||
}
|
||||
|
||||
// mark this waypoint as restricted point
|
||||
if (bombPoint != -1 && !waypoint->IsGoalVisited (bombPoint))
|
||||
if (bombPoint != -1 && !waypoint.IsGoalVisited (bombPoint))
|
||||
{
|
||||
// does this bot want to defuse?
|
||||
if (GetTaskId () == TASK_NORMAL)
|
||||
|
|
@ -2606,7 +2606,7 @@ void Bot::CheckRadioCommands (void)
|
|||
|
||||
}
|
||||
}
|
||||
waypoint->SetGoalVisited (bombPoint);
|
||||
waypoint.SetGoalVisited (bombPoint);
|
||||
}
|
||||
g_timeNextBombUpdate = GetWorldTime () + 0.5;
|
||||
}
|
||||
|
|
@ -2663,7 +2663,7 @@ void Bot::CheckRadioCommands (void)
|
|||
// push move command
|
||||
PushTask (TASK_MOVETOPOSITION, TASKPRI_MOVETOPOSITION, index, GetWorldTime () + Random.Float (30.0, 60.0), true);
|
||||
|
||||
if (waypoint->GetPath (index)->vis.crouch <= waypoint->GetPath (index)->vis.stand)
|
||||
if (waypoint.GetPath (index)->vis.crouch <= waypoint.GetPath (index)->vis.stand)
|
||||
m_campButtons |= IN_DUCK;
|
||||
else
|
||||
m_campButtons &= ~IN_DUCK;
|
||||
|
|
@ -2712,7 +2712,7 @@ void Bot::SelectLeaderEachTeam (int team)
|
|||
}
|
||||
else if ((team == TEAM_TF) && !g_leaderChoosen[TEAM_TF])
|
||||
{
|
||||
Bot *botLeader = botMgr->GetHighestFragsBot(team);
|
||||
Bot *botLeader = botMgr.GetHighestFragsBot(team);
|
||||
|
||||
if (botLeader != NULL && IsAlive (botLeader->GetEntity()))
|
||||
{
|
||||
|
|
@ -2748,7 +2748,7 @@ void Bot::SelectLeaderEachTeam (int team)
|
|||
}
|
||||
else if (!g_leaderChoosen[TEAM_CF])
|
||||
{
|
||||
Bot *botLeader = botMgr->GetHighestFragsBot(team);
|
||||
Bot *botLeader = botMgr.GetHighestFragsBot(team);
|
||||
|
||||
if (botLeader != NULL)
|
||||
{
|
||||
|
|
@ -2762,7 +2762,7 @@ void Bot::SelectLeaderEachTeam (int team)
|
|||
}
|
||||
else if (g_mapType & (MAP_ES | MAP_KA | MAP_FY))
|
||||
{
|
||||
Bot *botLeader = botMgr->GetHighestFragsBot (team);
|
||||
Bot *botLeader = botMgr.GetHighestFragsBot (team);
|
||||
|
||||
if (botLeader != NULL)
|
||||
{
|
||||
|
|
@ -2774,7 +2774,7 @@ void Bot::SelectLeaderEachTeam (int team)
|
|||
}
|
||||
else
|
||||
{
|
||||
Bot *botLeader = botMgr->GetHighestFragsBot(team);
|
||||
Bot *botLeader = botMgr.GetHighestFragsBot(team);
|
||||
|
||||
if (botLeader != NULL)
|
||||
{
|
||||
|
|
@ -2833,7 +2833,7 @@ void Bot::ChooseAimDirection (void)
|
|||
|
||||
if (changePredictedEnemy)
|
||||
{
|
||||
m_lookAt = waypoint->GetPath (GetAimingWaypoint (m_lastEnemyOrigin))->origin;
|
||||
m_lookAt = waypoint.GetPath (GetAimingWaypoint (m_lastEnemyOrigin))->origin;
|
||||
m_camp = m_lookAt;
|
||||
|
||||
m_timeNextTracking = GetWorldTime () + 2.0f;
|
||||
|
|
@ -2855,12 +2855,12 @@ void Bot::ChooseAimDirection (void)
|
|||
if (m_team == TEAM_TF)
|
||||
{
|
||||
if ((g_experienceData + (index * g_numWaypoints) + index)->team0DangerIndex != -1)
|
||||
m_lookAt = waypoint->GetPath ((g_experienceData + (index * g_numWaypoints) + index)->team0DangerIndex)->origin;
|
||||
m_lookAt = waypoint.GetPath ((g_experienceData + (index * g_numWaypoints) + index)->team0DangerIndex)->origin;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((g_experienceData + (index * g_numWaypoints) + index)->team1DangerIndex != -1)
|
||||
m_lookAt = waypoint->GetPath ((g_experienceData + (index * g_numWaypoints) + index)->team1DangerIndex)->origin;
|
||||
m_lookAt = waypoint.GetPath ((g_experienceData + (index * g_numWaypoints) + index)->team1DangerIndex)->origin;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2995,7 +2995,7 @@ void Bot::PeriodicThink (void)
|
|||
m_numFriendsLeft = GetNearbyFriendsNearPosition (pev->origin, 99999.0f);
|
||||
m_numEnemiesLeft = GetNearbyEnemiesNearPosition (pev->origin, 99999.0f);
|
||||
|
||||
if (g_bombPlanted && m_team == TEAM_CF && (pev->origin - waypoint->GetBombPosition ()).GetLength () < 700 && !IsBombDefusing (waypoint->GetBombPosition ()) && !m_hasProgressBar && GetTaskId () != TASK_ESCAPEFROMBOMB)
|
||||
if (g_bombPlanted && m_team == TEAM_CF && (pev->origin - waypoint.GetBombPosition ()).GetLength () < 700 && !IsBombDefusing (waypoint.GetBombPosition ()) && !m_hasProgressBar && GetTaskId () != TASK_ESCAPEFROMBOMB)
|
||||
ResetTasks ();
|
||||
|
||||
CheckSpawnTimeConditions ();
|
||||
|
|
@ -3035,7 +3035,7 @@ void Bot::RunTask_Normal (void)
|
|||
m_reloadState = RELOAD_PRIMARY;
|
||||
|
||||
// if bomb planted and it's a CT calculate new path to bomb point if he's not already heading for
|
||||
if (g_bombPlanted && m_team == TEAM_CF && GetTask ()->data != -1 && !(waypoint->GetPath (GetTask ()->data)->flags & FLAG_GOAL) && GetTaskId () != TASK_ESCAPEFROMBOMB)
|
||||
if (g_bombPlanted && m_team == TEAM_CF && GetTask ()->data != -1 && !(waypoint.GetPath (GetTask ()->data)->flags & FLAG_GOAL) && GetTaskId () != TASK_ESCAPEFROMBOMB)
|
||||
{
|
||||
DeleteSearchNodes ();
|
||||
GetTask ()->data = -1;
|
||||
|
|
@ -3137,7 +3137,7 @@ void Bot::RunTask_Normal (void)
|
|||
PushTask (TASK_CAMP, TASKPRI_CAMP, -1, GetWorldTime () + Random.Float (60.0, 120.0), true); // push camp task on to stack
|
||||
PushTask (TASK_MOVETOPOSITION, TASKPRI_MOVETOPOSITION, index, GetWorldTime () + Random.Float (5.0, 10.0), true); // push move command
|
||||
|
||||
if (waypoint->GetPath (index)->vis.crouch <= waypoint->GetPath (index)->vis.stand)
|
||||
if (waypoint.GetPath (index)->vis.crouch <= waypoint.GetPath (index)->vis.stand)
|
||||
m_campButtons |= IN_DUCK;
|
||||
else
|
||||
m_campButtons &= ~IN_DUCK;
|
||||
|
|
@ -3170,7 +3170,7 @@ void Bot::RunTask_Normal (void)
|
|||
PushTask (TASK_CAMP, TASKPRI_CAMP, -1, GetWorldTime () + Random.Float (25.0, 40.0), true); // push camp task on to stack
|
||||
PushTask (TASK_MOVETOPOSITION, TASKPRI_MOVETOPOSITION, index, GetWorldTime () + Random.Float (5.0f, 11.0f), true); // push move command
|
||||
|
||||
if (waypoint->GetPath (index)->vis.crouch <= waypoint->GetPath (index)->vis.stand)
|
||||
if (waypoint.GetPath (index)->vis.crouch <= waypoint.GetPath (index)->vis.stand)
|
||||
m_campButtons |= IN_DUCK;
|
||||
else
|
||||
m_campButtons &= ~IN_DUCK;
|
||||
|
|
@ -3305,7 +3305,7 @@ void Bot::RunTask_HuntEnemy (void)
|
|||
if (GetTask ()->data != -1 && GetTask ()->data < g_numWaypoints)
|
||||
destIndex = GetTask ()->data;
|
||||
else // no. we need to find a new one
|
||||
destIndex = waypoint->FindNearest (m_lastEnemyOrigin);
|
||||
destIndex = waypoint.FindNearest (m_lastEnemyOrigin);
|
||||
|
||||
// remember index
|
||||
m_prevGoalIndex = destIndex;
|
||||
|
|
@ -3408,7 +3408,7 @@ void Bot::RunTask_SeekCover (void)
|
|||
destIndex = FindCoverWaypoint (1024.0f);
|
||||
|
||||
if (destIndex == -1)
|
||||
destIndex = waypoint->FindNearest (pev->origin, 512.0f);
|
||||
destIndex = waypoint.FindNearest (pev->origin, 512.0f);
|
||||
}
|
||||
m_campDirection = 0;
|
||||
|
||||
|
|
@ -3505,7 +3505,7 @@ void Bot::RunTask_Camp (void)
|
|||
m_checkTerrain = false;
|
||||
m_moveToGoal = false;
|
||||
|
||||
if (g_bombPlanted && m_defendedBomb && !IsBombDefusing (waypoint->GetBombPosition ()) && !OutOfBombTimer () && m_team == TEAM_CF)
|
||||
if (g_bombPlanted && m_defendedBomb && !IsBombDefusing (waypoint.GetBombPosition ()) && !OutOfBombTimer () && m_team == TEAM_CF)
|
||||
{
|
||||
m_defendedBomb = false;
|
||||
TaskComplete ();
|
||||
|
|
@ -3558,14 +3558,14 @@ void Bot::RunTask_Camp (void)
|
|||
for (int i = 0; i < g_numWaypoints; i++)
|
||||
{
|
||||
// skip invisible waypoints or current waypoint
|
||||
if (!waypoint->IsVisible (m_currentWaypointIndex, i) || (i == m_currentWaypointIndex))
|
||||
if (!waypoint.IsVisible (m_currentWaypointIndex, i) || (i == m_currentWaypointIndex))
|
||||
continue;
|
||||
|
||||
const Vector &dotB = (waypoint->GetPath (i)->origin - pev->origin).Normalize2D ();
|
||||
const Vector &dotB = (waypoint.GetPath (i)->origin - pev->origin).Normalize2D ();
|
||||
|
||||
if ((dotA | dotB) > 0.9)
|
||||
{
|
||||
int distance = static_cast <int> ((pev->origin - waypoint->GetPath (i)->origin).GetLength ());
|
||||
int distance = static_cast <int> ((pev->origin - waypoint.GetPath (i)->origin).GetLength ());
|
||||
|
||||
if (numFoundPoints >= 3)
|
||||
{
|
||||
|
|
@ -3591,12 +3591,12 @@ void Bot::RunTask_Camp (void)
|
|||
}
|
||||
|
||||
if (--numFoundPoints >= 0)
|
||||
m_camp = waypoint->GetPath (foundPoints[Random.Long (0, numFoundPoints)])->origin;
|
||||
m_camp = waypoint.GetPath (foundPoints[Random.Long (0, numFoundPoints)])->origin;
|
||||
else
|
||||
m_camp = waypoint->GetPath (GetAimingWaypoint ())->origin;
|
||||
m_camp = waypoint.GetPath (GetAimingWaypoint ())->origin;
|
||||
}
|
||||
else
|
||||
m_camp = waypoint->GetPath (GetAimingWaypoint ())->origin;
|
||||
m_camp = waypoint.GetPath (GetAimingWaypoint ())->origin;
|
||||
}
|
||||
// press remembered crouch button
|
||||
pev->button |= m_campButtons;
|
||||
|
|
@ -3690,7 +3690,7 @@ void Bot::RunTask_MoveToPos (void)
|
|||
if (GetTask ()->data != -1 && GetTask ()->data < g_numWaypoints)
|
||||
destIndex = GetTask ()->data;
|
||||
else
|
||||
destIndex = waypoint->FindNearest (m_position);
|
||||
destIndex = waypoint.FindNearest (m_position);
|
||||
|
||||
if (destIndex >= 0 && destIndex < g_numWaypoints)
|
||||
{
|
||||
|
|
@ -3747,7 +3747,7 @@ void Bot::RunTask_PlantBomb (void)
|
|||
// push move command
|
||||
PushTask (TASK_MOVETOPOSITION, TASKPRI_MOVETOPOSITION, index, GetWorldTime () + (bombTimer * 0.5 + bombTimer * 0.25), true);
|
||||
|
||||
if (waypoint->GetPath (index)->vis.crouch <= waypoint->GetPath (index)->vis.stand)
|
||||
if (waypoint.GetPath (index)->vis.crouch <= waypoint.GetPath (index)->vis.stand)
|
||||
m_campButtons |= IN_DUCK;
|
||||
else
|
||||
m_campButtons &= ~IN_DUCK;
|
||||
|
|
@ -3766,7 +3766,7 @@ void Bot::RunTask_DefuseBomb (void)
|
|||
bool defuseError = false;
|
||||
|
||||
// exception: bomb has been defused
|
||||
if (waypoint->GetBombPosition () == nullvec)
|
||||
if (waypoint.GetBombPosition () == nullvec)
|
||||
{
|
||||
defuseError = true;
|
||||
g_bombPlanted = false;
|
||||
|
|
@ -3839,7 +3839,7 @@ void Bot::RunTask_DefuseBomb (void)
|
|||
m_strafeSpeed = 0.0;
|
||||
|
||||
// bot is reloading and we close enough to start defusing
|
||||
if (m_isReloading && (waypoint->GetBombPosition () - pev->origin).GetLength2D () < 80.0)
|
||||
if (m_isReloading && (waypoint.GetBombPosition () - pev->origin).GetLength2D () < 80.0)
|
||||
{
|
||||
if (m_numEnemiesLeft == 0 || timeToBlowUp < fullDefuseTime + 7.0 || ((GetAmmoInClip () > 8 && m_reloadState == RELOAD_PRIMARY) || (GetAmmoInClip () > 5 && m_reloadState == RELOAD_SECONDARY)))
|
||||
{
|
||||
|
|
@ -3866,8 +3866,8 @@ void Bot::RunTask_DefuseBomb (void)
|
|||
// head to bomb and press use button
|
||||
m_aimFlags |= AIM_ENTITY;
|
||||
|
||||
m_destOrigin = waypoint->GetBombPosition ();
|
||||
m_entity = waypoint->GetBombPosition ();
|
||||
m_destOrigin = waypoint.GetBombPosition ();
|
||||
m_entity = waypoint.GetBombPosition ();
|
||||
|
||||
pev->button |= IN_USE;
|
||||
|
||||
|
|
@ -4006,10 +4006,10 @@ void Bot::RunTask_FollowUser (void)
|
|||
{
|
||||
DeleteSearchNodes ();
|
||||
|
||||
int destIndex = waypoint->FindNearest (m_targetEntity->v.origin);
|
||||
int destIndex = waypoint.FindNearest (m_targetEntity->v.origin);
|
||||
|
||||
Array <int> points;
|
||||
waypoint->FindInRadius (points, 200, m_targetEntity->v.origin);
|
||||
waypoint.FindInRadius (points, 200, m_targetEntity->v.origin);
|
||||
|
||||
while (!points.IsEmpty ())
|
||||
{
|
||||
|
|
@ -4225,7 +4225,7 @@ void Bot::RunTask_Throw_SG (void)
|
|||
|
||||
void Bot::RunTask_DoubleJump (void)
|
||||
{
|
||||
if (IsEntityNull (m_doubleJumpEntity) || !IsAlive (m_doubleJumpEntity) || (m_aimFlags & AIM_ENEMY) || (m_travelStartIndex != -1 && GetTask ()->time + (waypoint->GetTravelTime (pev->maxspeed, waypoint->GetPath (m_travelStartIndex)->origin, m_doubleJumpOrigin) + 11.0) < GetWorldTime ()))
|
||||
if (IsEntityNull (m_doubleJumpEntity) || !IsAlive (m_doubleJumpEntity) || (m_aimFlags & AIM_ENEMY) || (m_travelStartIndex != -1 && GetTask ()->time + (waypoint.GetTravelTime (pev->maxspeed, waypoint.GetPath (m_travelStartIndex)->origin, m_doubleJumpOrigin) + 11.0) < GetWorldTime ()))
|
||||
{
|
||||
ResetDoubleJumpState ();
|
||||
return;
|
||||
|
|
@ -4276,7 +4276,7 @@ void Bot::RunTask_DoubleJump (void)
|
|||
{
|
||||
DeleteSearchNodes ();
|
||||
|
||||
int destIndex = waypoint->FindNearest (m_doubleJumpOrigin);
|
||||
int destIndex = waypoint.FindNearest (m_doubleJumpOrigin);
|
||||
|
||||
if (destIndex >= 0 && destIndex < g_numWaypoints)
|
||||
{
|
||||
|
|
@ -4328,10 +4328,10 @@ void Bot::RunTask_EscapeFromBomb (void)
|
|||
|
||||
for (int i = 0; i < g_numWaypoints; i++)
|
||||
{
|
||||
if ((waypoint->GetPath (i)->origin - waypoint->GetBombPosition ()).GetLength () < safeRadius || IsPointOccupied (i))
|
||||
if ((waypoint.GetPath (i)->origin - waypoint.GetBombPosition ()).GetLength () < safeRadius || IsPointOccupied (i))
|
||||
continue;
|
||||
|
||||
float pathDistance = waypoint->GetPathDistance (m_currentWaypointIndex, i);
|
||||
float pathDistance = waypoint.GetPathDistance (m_currentWaypointIndex, i);
|
||||
|
||||
if (minPathDistance > pathDistance)
|
||||
{
|
||||
|
|
@ -4341,7 +4341,7 @@ void Bot::RunTask_EscapeFromBomb (void)
|
|||
}
|
||||
|
||||
if (lastSelectedGoal < 0)
|
||||
lastSelectedGoal = waypoint->FindFarest (pev->origin, safeRadius);
|
||||
lastSelectedGoal = waypoint.FindFarest (pev->origin, safeRadius);
|
||||
|
||||
m_prevGoalIndex = lastSelectedGoal;
|
||||
GetTask ()->data = lastSelectedGoal;
|
||||
|
|
@ -5181,12 +5181,12 @@ void Bot::BotAI (void)
|
|||
|
||||
while (node != NULL)
|
||||
{
|
||||
const Vector &srcPath = waypoint->GetPath (node->index)->origin;
|
||||
const Vector &srcPath = waypoint.GetPath (node->index)->origin;
|
||||
node = node->next;
|
||||
|
||||
if (node != NULL)
|
||||
{
|
||||
const Vector &dstPath = waypoint->GetPath (node->index)->origin;
|
||||
const Vector &dstPath = waypoint.GetPath (node->index)->origin;
|
||||
DrawArrow (g_hostEntity, srcPath, dstPath, 15, 0, 255, 100, 55, 200, 5, 1);
|
||||
}
|
||||
}
|
||||
|
|
@ -5238,7 +5238,7 @@ void Bot::TakeDamage (edict_t *inflictor, int damage, int armor, int bits)
|
|||
|
||||
if (IsValidPlayer (inflictor))
|
||||
{
|
||||
if (m_seeEnemyTime + 4.0f < GetWorldTime () && yb_tkpunish.GetBool () && GetTeam (inflictor) == m_team && !botMgr->GetBot (inflictor))
|
||||
if (m_seeEnemyTime + 4.0f < GetWorldTime () && yb_tkpunish.GetBool () && GetTeam (inflictor) == m_team && !botMgr.GetBot (inflictor))
|
||||
{
|
||||
// alright, die you teamkiller!!!
|
||||
m_actualReactionTime = 0.0f;
|
||||
|
|
@ -5288,7 +5288,7 @@ void Bot::TakeDamage (edict_t *inflictor, int damage, int armor, int bits)
|
|||
else // hurt by unusual damage like drowning or gas
|
||||
{
|
||||
// leave the camping/hiding position
|
||||
if (!waypoint->Reachable (this, waypoint->FindNearest (m_destOrigin)))
|
||||
if (!waypoint.Reachable (this, waypoint.FindNearest (m_destOrigin)))
|
||||
{
|
||||
DeleteSearchNodes ();
|
||||
FindWaypoint ();
|
||||
|
|
@ -5397,14 +5397,14 @@ void Bot::CollectExperienceData (edict_t *attacker, int damage)
|
|||
// if these are bots also remember damage to rank destination of the bot
|
||||
m_goalValue -= static_cast <float> (damage);
|
||||
|
||||
if (botMgr->GetBot (attacker) != NULL)
|
||||
botMgr->GetBot (attacker)->m_goalValue += static_cast <float> (damage);
|
||||
if (botMgr.GetBot (attacker) != NULL)
|
||||
botMgr.GetBot (attacker)->m_goalValue += static_cast <float> (damage);
|
||||
|
||||
if (damage < 20)
|
||||
return; // do not collect damage less than 20
|
||||
|
||||
int attackerIndex = waypoint->FindNearest (attacker->v.origin);
|
||||
int victimIndex = waypoint->FindNearest (pev->origin);
|
||||
int attackerIndex = waypoint.FindNearest (attacker->v.origin);
|
||||
int victimIndex = waypoint.FindNearest (pev->origin);
|
||||
|
||||
if (pev->health > 20)
|
||||
{
|
||||
|
|
@ -5669,9 +5669,9 @@ Vector Bot::CheckBombAudible (void)
|
|||
return nullvec; // reliability check
|
||||
|
||||
if (m_difficulty >= 3)
|
||||
return waypoint->GetBombPosition();
|
||||
return waypoint.GetBombPosition();
|
||||
|
||||
const Vector &bombOrigin = waypoint->GetBombPosition ();
|
||||
const Vector &bombOrigin = waypoint.GetBombPosition ();
|
||||
|
||||
float timeElapsed = ((GetWorldTime () - g_timeBombPlanted) / mp_c4timer.GetFloat ()) * 100;
|
||||
float desiredRadius = 768.0;
|
||||
|
|
@ -5698,7 +5698,7 @@ void Bot::MoveToVector (const Vector &to)
|
|||
if (to == nullvec)
|
||||
return;
|
||||
|
||||
FindPath (m_currentWaypointIndex, waypoint->FindNearest (to), 0);
|
||||
FindPath (m_currentWaypointIndex, waypoint.FindNearest (to), 0);
|
||||
}
|
||||
|
||||
byte Bot::ThrottledMsec (void)
|
||||
|
|
@ -5811,7 +5811,7 @@ float Bot::GetEstimatedReachTime (void)
|
|||
// calculate 'real' time that we need to get from one waypoint to another
|
||||
if (m_currentWaypointIndex >= 0 && m_currentWaypointIndex < g_numWaypoints && m_prevWptIndex[0] >= 0 && m_prevWptIndex[0] < g_numWaypoints)
|
||||
{
|
||||
float distance = (waypoint->GetPath (m_prevWptIndex[0])->origin - m_currentPath->origin).GetLength ();
|
||||
float distance = (waypoint.GetPath (m_prevWptIndex[0])->origin - m_currentPath->origin).GetLength ();
|
||||
|
||||
// caclulate estimated time
|
||||
if (pev->maxspeed <= 0.0f)
|
||||
|
|
@ -5846,7 +5846,7 @@ bool Bot::OutOfBombTimer (void)
|
|||
if (timeLeft > 16)
|
||||
return false;
|
||||
|
||||
const Vector &bombOrigin = waypoint->GetBombPosition ();
|
||||
const Vector &bombOrigin = waypoint.GetBombPosition ();
|
||||
|
||||
// for terrorist, if timer is lower than eleven seconds, return true
|
||||
if (static_cast <int> (timeLeft) < 16 && m_team == TEAM_TF && (bombOrigin - pev->origin).GetLength () < 1000)
|
||||
|
|
@ -5860,7 +5860,7 @@ bool Bot::OutOfBombTimer (void)
|
|||
Bot *bot = NULL; // temporaly pointer to bot
|
||||
|
||||
// search players with defuse kit
|
||||
if ((bot = botMgr->GetBot (i)) != NULL && GetTeam (bot->GetEntity ()) == TEAM_CF && bot->m_hasDefuser && (bombOrigin - bot->pev->origin).GetLength () < 500)
|
||||
if ((bot = botMgr.GetBot (i)) != NULL && GetTeam (bot->GetEntity ()) == TEAM_CF && bot->m_hasDefuser && (bombOrigin - bot->pev->origin).GetLength () < 500)
|
||||
{
|
||||
hasTeammatesWithDefuserKit = true;
|
||||
break;
|
||||
|
|
@ -5868,7 +5868,7 @@ bool Bot::OutOfBombTimer (void)
|
|||
}
|
||||
|
||||
// add reach time to left time
|
||||
float reachTime = waypoint->GetTravelTime (pev->maxspeed, m_currentPath->origin, bombOrigin);
|
||||
float reachTime = waypoint.GetTravelTime (pev->maxspeed, m_currentPath->origin, bombOrigin);
|
||||
|
||||
// for counter-terrorist check alos is we have time to reach position plus average defuse time
|
||||
if ((timeLeft < reachTime + 6 && !m_hasDefuser && !hasTeammatesWithDefuserKit) || (timeLeft < reachTime + 2 && m_hasDefuser))
|
||||
|
|
@ -6026,7 +6026,7 @@ bool Bot::IsBombDefusing (const Vector &bombOrigin)
|
|||
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
if (bot == NULL || bot == this)
|
||||
continue; // skip invalid bots
|
||||
|
|
|
|||
|
|
@ -358,7 +358,7 @@ bool Bot::LookupEnemy (void)
|
|||
if (!(g_clients[j].flags & CF_USED) || !(g_clients[j].flags & CF_ALIVE) || g_clients[j].team != m_team || g_clients[j].ent == GetEntity ())
|
||||
continue;
|
||||
|
||||
Bot *friendBot = botMgr->GetBot (g_clients[j].ent);
|
||||
Bot *friendBot = botMgr.GetBot (g_clients[j].ent);
|
||||
|
||||
if (friendBot != NULL)
|
||||
{
|
||||
|
|
@ -1213,7 +1213,7 @@ void Bot::CombatFight (void)
|
|||
if (!IsVisible (m_enemy->v.origin, GetEntity ()) && !IsVisible (m_enemy->v.origin + Vector (0, 0, -enemyHalfHeight), GetEntity ()))
|
||||
shouldDuck = false;
|
||||
|
||||
if (shouldDuck && GetTaskId () != TASK_SEEKCOVER && GetTaskId () != TASK_HUNTENEMY && (m_visibility & VISIBLE_BODY) && !(m_visibility & VISIBLE_OTHER) && waypoint->IsDuckVisible (m_currentWaypointIndex, waypoint->FindNearest (m_enemy->v.origin)))
|
||||
if (shouldDuck && GetTaskId () != TASK_SEEKCOVER && GetTaskId () != TASK_HUNTENEMY && (m_visibility & VISIBLE_BODY) && !(m_visibility & VISIBLE_OTHER) && waypoint.IsDuckVisible (m_currentWaypointIndex, waypoint.FindNearest (m_enemy->v.origin)))
|
||||
m_duckTime = GetWorldTime () + 0.5f;
|
||||
|
||||
m_moveSpeed = 0.0;
|
||||
|
|
|
|||
|
|
@ -22,55 +22,55 @@ int BotCommandHandler (edict_t *ent, const char *arg0, const char *arg1, const c
|
|||
{
|
||||
// adding one bot with random parameters to random team
|
||||
if (stricmp (arg0, "addbot") == 0 || stricmp (arg0, "add") == 0)
|
||||
botMgr->AddBot (arg4, arg1, arg2, arg3, arg5);
|
||||
botMgr.AddBot (arg4, arg1, arg2, arg3, arg5);
|
||||
|
||||
// adding one bot with high difficulty parameters to random team
|
||||
else if (stricmp (arg0, "addbot_hs") == 0 || stricmp (arg0, "addhs") == 0)
|
||||
botMgr->AddBot (arg4, "4", "1", arg3, arg5);
|
||||
botMgr.AddBot (arg4, "4", "1", arg3, arg5);
|
||||
|
||||
// adding one bot with random parameters to terrorist team
|
||||
else if (stricmp (arg0, "addbot_t") == 0 || stricmp (arg0, "add_t") == 0)
|
||||
botMgr->AddBot (arg4, arg1, arg2, "1", arg5);
|
||||
botMgr.AddBot (arg4, arg1, arg2, "1", arg5);
|
||||
|
||||
// adding one bot with random parameters to counter-terrorist team
|
||||
else if (stricmp (arg0, "addbot_ct") == 0 || stricmp (arg0, "add_ct") == 0)
|
||||
botMgr->AddBot (arg4, arg1, arg2, "2", arg5);
|
||||
botMgr.AddBot (arg4, arg1, arg2, "2", arg5);
|
||||
|
||||
// kicking off one bot from the terrorist team
|
||||
else if (stricmp (arg0, "kickbot_t") == 0 || stricmp (arg0, "kick_t") == 0)
|
||||
botMgr->RemoveFromTeam (TEAM_TF);
|
||||
botMgr.RemoveFromTeam (TEAM_TF);
|
||||
|
||||
// kicking off one bot from the counter-terrorist team
|
||||
else if (stricmp (arg0, "kickbot_ct") == 0 || stricmp (arg0, "kick_ct") == 0)
|
||||
botMgr->RemoveFromTeam (TEAM_CF);
|
||||
botMgr.RemoveFromTeam (TEAM_CF);
|
||||
|
||||
// kills all bots on the terrorist team
|
||||
else if (stricmp (arg0, "killbots_t") == 0 || stricmp (arg0, "kill_t") == 0)
|
||||
botMgr->KillAll (TEAM_TF);
|
||||
botMgr.KillAll (TEAM_TF);
|
||||
|
||||
// kills all bots on the counter-terrorist team
|
||||
else if (stricmp (arg0, "killbots_ct") == 0 || stricmp (arg0, "kill_ct") == 0)
|
||||
botMgr->KillAll (TEAM_CF);
|
||||
botMgr.KillAll (TEAM_CF);
|
||||
|
||||
// list all bots playeing on the server
|
||||
else if (stricmp (arg0, "listbots") == 0 || stricmp (arg0, "list") == 0)
|
||||
botMgr->ListBots ();
|
||||
botMgr.ListBots ();
|
||||
|
||||
// kick off all bots from the played server
|
||||
else if (stricmp (arg0, "kickbots") == 0 || stricmp (arg0, "kickall") == 0)
|
||||
botMgr->RemoveAll ();
|
||||
botMgr.RemoveAll ();
|
||||
|
||||
// kill all bots on the played server
|
||||
else if (stricmp (arg0, "killbots") == 0 || stricmp (arg0, "killall") == 0)
|
||||
botMgr->KillAll ();
|
||||
botMgr.KillAll ();
|
||||
|
||||
// kick off one random bot from the played server
|
||||
else if (stricmp (arg0, "kickone") == 0 || stricmp (arg0, "kick") == 0)
|
||||
botMgr->RemoveRandom ();
|
||||
botMgr.RemoveRandom ();
|
||||
|
||||
// fill played server with bots
|
||||
else if (stricmp (arg0, "fillserver") == 0 || stricmp (arg0, "fill") == 0)
|
||||
botMgr->FillServer (atoi (arg1), IsNullString (arg2) ? -1 : atoi (arg2), IsNullString (arg3) ? -1 : atoi (arg3), IsNullString (arg4) ? -1 : atoi (arg4));
|
||||
botMgr.FillServer (atoi (arg1), IsNullString (arg2) ? -1 : atoi (arg2), IsNullString (arg3) ? -1 : atoi (arg3), IsNullString (arg4) ? -1 : atoi (arg4));
|
||||
|
||||
// select the weapon mode for bots
|
||||
else if (stricmp (arg0, "weaponmode") == 0 || stricmp (arg0, "wmode") == 0)
|
||||
|
|
@ -79,7 +79,7 @@ int BotCommandHandler (edict_t *ent, const char *arg0, const char *arg1, const c
|
|||
|
||||
// check is selected range valid
|
||||
if (selection >= 1 && selection <= 7)
|
||||
botMgr->SetWeaponMode (selection);
|
||||
botMgr.SetWeaponMode (selection);
|
||||
else
|
||||
ClientPrint (ent, print_withtag, "Choose weapon from 1 to 7 range");
|
||||
}
|
||||
|
|
@ -94,8 +94,8 @@ int BotCommandHandler (edict_t *ent, const char *arg0, const char *arg1, const c
|
|||
// loop through all players
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
if (botMgr->GetBot (i) != NULL)
|
||||
botMgr->GetBot (i)->m_voteMap = nominatedMap;
|
||||
if (botMgr.GetBot (i) != NULL)
|
||||
botMgr.GetBot (i)->m_voteMap = nominatedMap;
|
||||
}
|
||||
ClientPrint (ent, print_withtag, "All dead bots will vote for map #%d", nominatedMap);
|
||||
}
|
||||
|
|
@ -258,7 +258,7 @@ int BotCommandHandler (edict_t *ent, const char *arg0, const char *arg1, const c
|
|||
|
||||
// show direction to specified waypoint
|
||||
else if (stricmp (arg1, "find") == 0)
|
||||
waypoint->SetFindIndex (atoi (arg2));
|
||||
waypoint.SetFindIndex (atoi (arg2));
|
||||
|
||||
// opens adding waypoint menu
|
||||
else if (stricmp (arg1, "add") == 0)
|
||||
|
|
@ -270,7 +270,7 @@ int BotCommandHandler (edict_t *ent, const char *arg0, const char *arg1, const c
|
|||
// creates basic waypoints on the map (ladder/spawn points/goals)
|
||||
else if (stricmp (arg1, "addbasic") == 0)
|
||||
{
|
||||
waypoint->CreateBasic ();
|
||||
waypoint.CreateBasic ();
|
||||
CenterPrint ("Basic waypoints was Created");
|
||||
}
|
||||
|
||||
|
|
@ -278,41 +278,41 @@ int BotCommandHandler (edict_t *ent, const char *arg0, const char *arg1, const c
|
|||
else if (stricmp (arg1, "delete") == 0)
|
||||
{
|
||||
g_waypointOn = true; // turn waypoints on
|
||||
waypoint->Delete ();
|
||||
waypoint.Delete ();
|
||||
}
|
||||
|
||||
// save waypoint data into file on hard disk
|
||||
else if (stricmp (arg1, "save") == 0)
|
||||
{
|
||||
char *waypointSaveMessage = locale->TranslateInput ("Waypoints Saved");
|
||||
char *waypointSaveMessage = locale.TranslateInput ("Waypoints Saved");
|
||||
|
||||
if (FStrEq (arg2, "nocheck"))
|
||||
{
|
||||
waypoint->Save ();
|
||||
waypoint.Save ();
|
||||
ServerPrint (waypointSaveMessage);
|
||||
}
|
||||
else if (waypoint->NodesValid ())
|
||||
else if (waypoint.NodesValid ())
|
||||
{
|
||||
waypoint->Save ();
|
||||
waypoint.Save ();
|
||||
ServerPrint (waypointSaveMessage);
|
||||
}
|
||||
}
|
||||
|
||||
// remove waypoint and all corresponding files from hard disk
|
||||
else if (stricmp (arg1, "erase") == 0)
|
||||
waypoint->EraseFromHardDisk ();
|
||||
waypoint.EraseFromHardDisk ();
|
||||
|
||||
// load all waypoints again (overrides all changes, that wasn't saved)
|
||||
else if (stricmp (arg1, "load") == 0)
|
||||
{
|
||||
if (waypoint->Load ())
|
||||
if (waypoint.Load ())
|
||||
ServerPrint ("Waypoints loaded");
|
||||
}
|
||||
|
||||
// check all nodes for validation
|
||||
else if (stricmp (arg1, "check") == 0)
|
||||
{
|
||||
if (waypoint->NodesValid ())
|
||||
if (waypoint.NodesValid ())
|
||||
CenterPrint ("Nodes work Fine");
|
||||
}
|
||||
|
||||
|
|
@ -322,11 +322,11 @@ int BotCommandHandler (edict_t *ent, const char *arg0, const char *arg1, const c
|
|||
|
||||
// setting waypoint radius
|
||||
else if (stricmp (arg1, "setradius") == 0)
|
||||
waypoint->SetRadius (atoi (arg2));
|
||||
waypoint.SetRadius (atoi (arg2));
|
||||
|
||||
// remembers nearest waypoint
|
||||
else if (stricmp (arg1, "cache") == 0)
|
||||
waypoint->CacheWaypoint ();
|
||||
waypoint.CacheWaypoint ();
|
||||
|
||||
// teleport player to specified waypoint
|
||||
else if (stricmp (arg1, "teleport") == 0)
|
||||
|
|
@ -335,7 +335,7 @@ int BotCommandHandler (edict_t *ent, const char *arg0, const char *arg1, const c
|
|||
|
||||
if (teleportPoint < g_numWaypoints)
|
||||
{
|
||||
Path *path = waypoint->GetPath (teleportPoint);
|
||||
Path *path = waypoint.GetPath (teleportPoint);
|
||||
|
||||
(*g_engfuncs.pfnSetOrigin) (g_hostEntity, path->origin);
|
||||
g_waypointOn = true;
|
||||
|
|
@ -366,19 +366,19 @@ int BotCommandHandler (edict_t *ent, const char *arg0, const char *arg1, const c
|
|||
|
||||
// creates incoming path from the cached waypoint
|
||||
else if (stricmp (arg1, "create_in") == 0)
|
||||
waypoint->CreatePath (CONNECTION_INCOMING);
|
||||
waypoint.CreatePath (CONNECTION_INCOMING);
|
||||
|
||||
// creates outgoing path from current waypoint
|
||||
else if (stricmp (arg1, "create_out") == 0)
|
||||
waypoint->CreatePath (CONNECTION_OUTGOING);
|
||||
waypoint.CreatePath (CONNECTION_OUTGOING);
|
||||
|
||||
// creates bidirectional path from cahed to current waypoint
|
||||
else if (stricmp (arg1, "create_both") == 0)
|
||||
waypoint->CreatePath (CONNECTION_BOTHWAYS);
|
||||
waypoint.CreatePath (CONNECTION_BOTHWAYS);
|
||||
|
||||
// delete special path
|
||||
else if (stricmp (arg1, "delete") == 0)
|
||||
waypoint->DeletePath ();
|
||||
waypoint.DeletePath ();
|
||||
|
||||
// sets auto path maximum distance
|
||||
else if (stricmp (arg1, "autodistance") == 0)
|
||||
|
|
@ -415,8 +415,8 @@ int BotCommandHandler (edict_t *ent, const char *arg0, const char *arg1, const c
|
|||
// write experience table (and visibility table) to hard disk
|
||||
if (stricmp (arg1, "save") == 0)
|
||||
{
|
||||
waypoint->SaveExperienceTab ();
|
||||
waypoint->SaveVisibilityTab ();
|
||||
waypoint.SaveExperienceTab ();
|
||||
waypoint.SaveVisibilityTab ();
|
||||
|
||||
ServerPrint ("Experience tab saved");
|
||||
}
|
||||
|
|
@ -840,7 +840,7 @@ void InitConfig (void)
|
|||
}
|
||||
|
||||
if (!IsNullString (temp.translated) && !IsNullString (temp.original))
|
||||
locale->m_langTab.Push (temp);
|
||||
locale.m_langTab.Push (temp);
|
||||
}
|
||||
else if (strncmp (line, "[TRANSLATED]", 12) == 0)
|
||||
{
|
||||
|
|
@ -936,7 +936,7 @@ void Touch (edict_t *pentTouched, edict_t *pentOther)
|
|||
|
||||
if (!IsEntityNull (pentOther) && (pentOther->v.flags & FL_FAKECLIENT))
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (pentOther);
|
||||
Bot *bot = botMgr.GetBot (pentOther);
|
||||
|
||||
if (bot != NULL)
|
||||
bot->VerifyBreakable (pentTouched);
|
||||
|
|
@ -958,7 +958,7 @@ int Spawn (edict_t *ent)
|
|||
{
|
||||
g_worldEntity = ent; // save the world entity for future use
|
||||
|
||||
convars->PushRegisteredConVarsToEngine (true);
|
||||
convars.PushRegisteredConVarsToEngine (true);
|
||||
|
||||
PRECACHE_SOUND (ENGINE_STR ("weapons/xbow_hit1.wav")); // waypoint add
|
||||
PRECACHE_SOUND (ENGINE_STR ("weapons/mine_activate.wav")); // waypoint delete
|
||||
|
|
@ -1036,7 +1036,7 @@ void UpdateClientData (const struct edict_s *ent, int sendweapons, struct client
|
|||
extern ConVar yb_latency_display;
|
||||
|
||||
if (yb_latency_display.GetInt () == 2)
|
||||
botMgr->SendPingDataOffsets (const_cast <edict_t *> (ent));
|
||||
botMgr.SendPingDataOffsets (const_cast <edict_t *> (ent));
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -1046,7 +1046,7 @@ void UpdateClientData (const struct edict_s *ent, int sendweapons, struct client
|
|||
|
||||
void ClientPutInServer (edict_t *ent)
|
||||
{
|
||||
botMgr->CheckAutoVacate ();
|
||||
botMgr.CheckAutoVacate ();
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -1109,7 +1109,7 @@ void ClientDisconnect (edict_t *ent)
|
|||
|
||||
InternalAssert (i >= 0 && i < 32);
|
||||
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
// check if its a bot
|
||||
if (bot != NULL)
|
||||
|
|
@ -1119,7 +1119,7 @@ void ClientDisconnect (edict_t *ent)
|
|||
bot->SwitchChatterIcon (false);
|
||||
bot->ReleaseUsedName ();
|
||||
|
||||
botMgr->Free (i);
|
||||
botMgr.Free (i);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1220,15 +1220,15 @@ void ClientCommand (edict_t *ent)
|
|||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
waypoint->Add (selection - 1);
|
||||
waypoint.Add (selection - 1);
|
||||
break;
|
||||
|
||||
case 8:
|
||||
waypoint->Add (100);
|
||||
waypoint.Add (100);
|
||||
break;
|
||||
|
||||
case 9:
|
||||
waypoint->SetLearnJumpWaypoint ();
|
||||
waypoint.SetLearnJumpWaypoint ();
|
||||
break;
|
||||
|
||||
case 10:
|
||||
|
|
@ -1247,23 +1247,23 @@ void ClientCommand (edict_t *ent)
|
|||
switch (selection)
|
||||
{
|
||||
case 1:
|
||||
waypoint->ToggleFlags (FLAG_NOHOSTAGE);
|
||||
waypoint.ToggleFlags (FLAG_NOHOSTAGE);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
waypoint->ToggleFlags (FLAG_TF_ONLY);
|
||||
waypoint.ToggleFlags (FLAG_TF_ONLY);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
waypoint->ToggleFlags (FLAG_CF_ONLY);
|
||||
waypoint.ToggleFlags (FLAG_CF_ONLY);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
waypoint->ToggleFlags (FLAG_LIFT);
|
||||
waypoint.ToggleFlags (FLAG_LIFT);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
waypoint->ToggleFlags (FLAG_SNIPER);
|
||||
waypoint.ToggleFlags (FLAG_SNIPER);
|
||||
break;
|
||||
}
|
||||
if (g_isMetamod)
|
||||
|
|
@ -1286,7 +1286,7 @@ void ClientCommand (edict_t *ent)
|
|||
|
||||
case 2:
|
||||
g_waypointOn = true;
|
||||
waypoint->CacheWaypoint ();
|
||||
waypoint.CacheWaypoint ();
|
||||
break;
|
||||
|
||||
case 3:
|
||||
|
|
@ -1296,7 +1296,7 @@ void ClientCommand (edict_t *ent)
|
|||
|
||||
case 4:
|
||||
g_waypointOn = true;
|
||||
waypoint->DeletePath ();
|
||||
waypoint.DeletePath ();
|
||||
break;
|
||||
|
||||
case 5:
|
||||
|
|
@ -1306,7 +1306,7 @@ void ClientCommand (edict_t *ent)
|
|||
|
||||
case 6:
|
||||
g_waypointOn = true;
|
||||
waypoint->Delete ();
|
||||
waypoint.Delete ();
|
||||
break;
|
||||
|
||||
case 7:
|
||||
|
|
@ -1350,7 +1350,7 @@ void ClientCommand (edict_t *ent)
|
|||
|
||||
for (int i = 0; i < g_numWaypoints; i++)
|
||||
{
|
||||
Path *path = waypoint->GetPath (i);
|
||||
Path *path = waypoint.GetPath (i);
|
||||
|
||||
if (path->flags & FLAG_TF_ONLY)
|
||||
terrPoints++;
|
||||
|
|
@ -1394,22 +1394,22 @@ void ClientCommand (edict_t *ent)
|
|||
break;
|
||||
|
||||
case 4:
|
||||
if (waypoint->NodesValid ())
|
||||
waypoint->Save ();
|
||||
if (waypoint.NodesValid ())
|
||||
waypoint.Save ();
|
||||
else
|
||||
CenterPrint ("Waypoint not saved\nThere are errors, see console");
|
||||
break;
|
||||
|
||||
case 5:
|
||||
waypoint->Save ();
|
||||
waypoint.Save ();
|
||||
break;
|
||||
|
||||
case 6:
|
||||
waypoint->Load ();
|
||||
waypoint.Load ();
|
||||
break;
|
||||
|
||||
case 7:
|
||||
if (waypoint->NodesValid ())
|
||||
if (waypoint.NodesValid ())
|
||||
CenterPrint ("Nodes work Find");
|
||||
else
|
||||
CenterPrint ("There are errors, see console");
|
||||
|
|
@ -1437,7 +1437,7 @@ void ClientCommand (edict_t *ent)
|
|||
const int radiusValue[] = {0, 8, 16, 32, 48, 64, 80, 96, 128};
|
||||
|
||||
if ((selection >= 1) && (selection <= 9))
|
||||
waypoint->SetRadius (radiusValue[selection - 1]);
|
||||
waypoint.SetRadius (radiusValue[selection - 1]);
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_SUPERCEDE);
|
||||
|
|
@ -1465,7 +1465,7 @@ void ClientCommand (edict_t *ent)
|
|||
break;
|
||||
|
||||
case 4:
|
||||
botMgr->KillAll ();
|
||||
botMgr.KillAll ();
|
||||
break;
|
||||
|
||||
case 10:
|
||||
|
|
@ -1485,7 +1485,7 @@ void ClientCommand (edict_t *ent)
|
|||
switch (selection)
|
||||
{
|
||||
case 1:
|
||||
botMgr->AddRandom ();
|
||||
botMgr.AddRandom ();
|
||||
break;
|
||||
|
||||
case 2:
|
||||
|
|
@ -1493,15 +1493,15 @@ void ClientCommand (edict_t *ent)
|
|||
break;
|
||||
|
||||
case 3:
|
||||
botMgr->RemoveRandom ();
|
||||
botMgr.RemoveRandom ();
|
||||
break;
|
||||
|
||||
case 4:
|
||||
botMgr->RemoveAll ();
|
||||
botMgr.RemoveAll ();
|
||||
break;
|
||||
|
||||
case 5:
|
||||
botMgr->RemoveMenu (ent, 1);
|
||||
botMgr.RemoveMenu (ent, 1);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
|
|
@ -1628,15 +1628,15 @@ void ClientCommand (edict_t *ent)
|
|||
switch (selection)
|
||||
{
|
||||
case 1:
|
||||
waypoint->CreatePath (CONNECTION_OUTGOING);
|
||||
waypoint.CreatePath (CONNECTION_OUTGOING);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
waypoint->CreatePath (CONNECTION_INCOMING);
|
||||
waypoint.CreatePath (CONNECTION_INCOMING);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
waypoint->CreatePath (CONNECTION_BOTHWAYS);
|
||||
waypoint.CreatePath (CONNECTION_BOTHWAYS);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
|
|
@ -1726,7 +1726,7 @@ void ClientCommand (edict_t *ent)
|
|||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
botMgr->FillServer (fillServerTeam, selection - 2, g_storeAddbotVars[0]);
|
||||
botMgr.FillServer (fillServerTeam, selection - 2, g_storeAddbotVars[0]);
|
||||
|
||||
case 10:
|
||||
DisplayMenuToClient (ent, NULL);
|
||||
|
|
@ -1750,7 +1750,7 @@ void ClientCommand (edict_t *ent)
|
|||
if (selection == 5)
|
||||
{
|
||||
g_storeAddbotVars[2] = 5;
|
||||
botMgr->AddBot ("", g_storeAddbotVars[0], g_storeAddbotVars[3], g_storeAddbotVars[1], g_storeAddbotVars[2]);
|
||||
botMgr.AddBot ("", g_storeAddbotVars[0], g_storeAddbotVars[3], g_storeAddbotVars[1], g_storeAddbotVars[2]);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -1805,7 +1805,7 @@ void ClientCommand (edict_t *ent)
|
|||
case 4:
|
||||
case 5:
|
||||
g_storeAddbotVars[2] = selection;
|
||||
botMgr->AddBot ("", g_storeAddbotVars[0], g_storeAddbotVars[3], g_storeAddbotVars[1], g_storeAddbotVars[2]);
|
||||
botMgr.AddBot ("", g_storeAddbotVars[0], g_storeAddbotVars[3], g_storeAddbotVars[1], g_storeAddbotVars[2]);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
|
|
@ -1830,7 +1830,7 @@ void ClientCommand (edict_t *ent)
|
|||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
botMgr->SetWeaponMode (selection);
|
||||
botMgr.SetWeaponMode (selection);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
|
|
@ -1856,11 +1856,11 @@ void ClientCommand (edict_t *ent)
|
|||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
botMgr->GetBot (selection - 1)->Kick ();
|
||||
botMgr.GetBot (selection - 1)->Kick ();
|
||||
break;
|
||||
|
||||
case 9:
|
||||
botMgr->RemoveMenu (ent, 2);
|
||||
botMgr.RemoveMenu (ent, 2);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
|
|
@ -1886,15 +1886,15 @@ void ClientCommand (edict_t *ent)
|
|||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
botMgr->GetBot (selection + 8 - 1)->Kick ();
|
||||
botMgr.GetBot (selection + 8 - 1)->Kick ();
|
||||
break;
|
||||
|
||||
case 9:
|
||||
botMgr->RemoveMenu (ent, 3);
|
||||
botMgr.RemoveMenu (ent, 3);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
botMgr->RemoveMenu (ent, 1);
|
||||
botMgr.RemoveMenu (ent, 1);
|
||||
break;
|
||||
}
|
||||
if (g_isMetamod)
|
||||
|
|
@ -1916,15 +1916,15 @@ void ClientCommand (edict_t *ent)
|
|||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
botMgr->GetBot (selection + 16 - 1)->Kick ();
|
||||
botMgr.GetBot (selection + 16 - 1)->Kick ();
|
||||
break;
|
||||
|
||||
case 9:
|
||||
botMgr->RemoveMenu (ent, 4);
|
||||
botMgr.RemoveMenu (ent, 4);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
botMgr->RemoveMenu (ent, 2);
|
||||
botMgr.RemoveMenu (ent, 2);
|
||||
break;
|
||||
}
|
||||
if (g_isMetamod)
|
||||
|
|
@ -1946,11 +1946,11 @@ void ClientCommand (edict_t *ent)
|
|||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
botMgr->GetBot (selection + 24 - 1)->Kick ();
|
||||
botMgr.GetBot (selection + 24 - 1)->Kick ();
|
||||
break;
|
||||
|
||||
case 10:
|
||||
botMgr->RemoveMenu (ent, 3);
|
||||
botMgr.RemoveMenu (ent, 3);
|
||||
break;
|
||||
}
|
||||
if (g_isMetamod)
|
||||
|
|
@ -1984,7 +1984,7 @@ void ClientCommand (edict_t *ent)
|
|||
if (!(g_clients[i].flags & CF_USED) || (team != -1 && team != g_clients[i].team) || isAlive != IsAlive (g_clients[i].ent))
|
||||
continue;
|
||||
|
||||
Bot *target = botMgr->GetBot (i);
|
||||
Bot *target = botMgr.GetBot (i);
|
||||
|
||||
if (target != NULL)
|
||||
{
|
||||
|
|
@ -2013,7 +2013,7 @@ void ClientCommand (edict_t *ent)
|
|||
{
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
// validate bot
|
||||
if (bot != NULL && GetTeam (bot->GetEntity ()) == g_clients[clientIndex].team && VARS (ent) != bot->pev && bot->m_radioOrder == 0)
|
||||
|
|
@ -2049,8 +2049,8 @@ void ServerActivate (edict_t *pentEdictList, int edictCount, int clientMax)
|
|||
InitConfig (); // initialize all config files
|
||||
|
||||
// do level initialization stuff here...
|
||||
waypoint->Init ();
|
||||
waypoint->Load ();
|
||||
waypoint.Init ();
|
||||
waypoint.Load ();
|
||||
|
||||
// execute main config
|
||||
ServerCommand ("exec addons/yapb/conf/yapb.cfg");
|
||||
|
|
@ -2060,14 +2060,14 @@ void ServerActivate (edict_t *pentEdictList, int edictCount, int clientMax)
|
|||
ServerCommand ("exec maps/%s_yapb.cfg", GetMapName ());
|
||||
ServerPrint ("Executing Map-Specific config file");
|
||||
}
|
||||
botMgr->InitQuota ();
|
||||
botMgr.InitQuota ();
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
||||
(*g_functionTable.pfnServerActivate) (pentEdictList, edictCount, clientMax);
|
||||
|
||||
waypoint->InitializeVisibility ();
|
||||
waypoint.InitializeVisibility ();
|
||||
}
|
||||
|
||||
void ServerDeactivate (void)
|
||||
|
|
@ -2083,8 +2083,8 @@ void ServerDeactivate (void)
|
|||
// the loading of new bots and the new BSP data parsing there.
|
||||
|
||||
// save collected experience on shutdown
|
||||
waypoint->SaveExperienceTab ();
|
||||
waypoint->SaveVisibilityTab ();
|
||||
waypoint.SaveExperienceTab ();
|
||||
waypoint.SaveVisibilityTab ();
|
||||
|
||||
FreeLibraryMemory ();
|
||||
|
||||
|
|
@ -2105,7 +2105,7 @@ void StartFrame (void)
|
|||
// player population decreases, we should fill the server with other bots.
|
||||
|
||||
// run periodic update of bot states
|
||||
botMgr->PeriodicThink ();
|
||||
botMgr.PeriodicThink ();
|
||||
|
||||
// record some stats of all players on the server
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
|
|
@ -2142,15 +2142,15 @@ void StartFrame (void)
|
|||
if (!IsDedicatedServer () && !IsEntityNull (g_hostEntity))
|
||||
{
|
||||
if (g_waypointOn)
|
||||
waypoint->Think ();
|
||||
waypoint.Think ();
|
||||
|
||||
CheckWelcomeMessage ();
|
||||
}
|
||||
botMgr->SetDeathMsgState (false);
|
||||
botMgr.SetDeathMsgState (false);
|
||||
|
||||
if (g_timePerSecondUpdate < GetWorldTime ())
|
||||
{
|
||||
botMgr->CalculatePingOffsets ();
|
||||
botMgr.CalculatePingOffsets ();
|
||||
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
|
|
@ -2180,7 +2180,7 @@ void StartFrame (void)
|
|||
}
|
||||
}
|
||||
if (g_bombPlanted)
|
||||
waypoint->SetBombPosition ();
|
||||
waypoint.SetBombPosition ();
|
||||
|
||||
if (g_isMetamod)
|
||||
{
|
||||
|
|
@ -2199,10 +2199,10 @@ void StartFrame (void)
|
|||
g_timePerSecondUpdate = GetWorldTime () + 1.0f;
|
||||
}
|
||||
else if (g_timePerSecondUpdate * 0.5f < GetWorldTime ())
|
||||
botMgr->UpdateActiveGrenades ();
|
||||
botMgr.UpdateActiveGrenades ();
|
||||
|
||||
// keep bot number up to date
|
||||
botMgr->MaintainBotQuota ();
|
||||
botMgr.MaintainBotQuota ();
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2210,7 +2210,7 @@ void StartFrame (void)
|
|||
(*g_functionTable.pfnStartFrame) ();
|
||||
|
||||
// **** AI EXECUTION STARTS ****
|
||||
botMgr->Think ();
|
||||
botMgr.Think ();
|
||||
// **** AI EXECUTION FINISH ****
|
||||
}
|
||||
|
||||
|
|
@ -2223,7 +2223,7 @@ void StartFrame_Post (void)
|
|||
// for the bots by the MOD side, remember). Post version called only by metamod.
|
||||
|
||||
// **** AI EXECUTION STARTS ****
|
||||
botMgr->Think ();
|
||||
botMgr.Think ();
|
||||
// **** AI EXECUTION FINISH ****
|
||||
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2254,7 +2254,7 @@ void ServerActivate_Post (edict_t *, int, int)
|
|||
// Once this function has been called, the server can be considered as "running". Post version
|
||||
// called only by metamod.
|
||||
|
||||
waypoint->InitializeVisibility ();
|
||||
waypoint.InitializeVisibility ();
|
||||
|
||||
RETURN_META (MRES_IGNORED);
|
||||
}
|
||||
|
|
@ -2271,8 +2271,8 @@ void pfnChangeLevel (char *s1, char *s2)
|
|||
// spawn point named "tr_2lm".
|
||||
|
||||
// save collected experience on map change
|
||||
waypoint->SaveExperienceTab ();
|
||||
waypoint->SaveVisibilityTab ();
|
||||
waypoint.SaveExperienceTab ();
|
||||
waypoint.SaveVisibilityTab ();
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2356,75 +2356,75 @@ void pfnMessageBegin (int msgDest, int msgType, const float *origin, edict_t *ed
|
|||
// this function called each time a message is about to sent.
|
||||
|
||||
// store the message type in our own variables, since the GET_USER_MSG_ID () will just do a lot of strcmp()'s...
|
||||
if (g_isMetamod && netmsg->GetId (NETMSG_MONEY) == -1)
|
||||
if (g_isMetamod && netmsg.GetId (NETMSG_MONEY) == -1)
|
||||
{
|
||||
netmsg->SetId (NETMSG_VGUI, GET_USER_MSG_ID (PLID, "VGUIMenu", NULL));
|
||||
netmsg->SetId (NETMSG_SHOWMENU, GET_USER_MSG_ID (PLID, "ShowMenu", NULL));
|
||||
netmsg->SetId (NETMSG_WEAPONLIST, GET_USER_MSG_ID (PLID, "WeaponList", NULL));
|
||||
netmsg->SetId (NETMSG_CURWEAPON, GET_USER_MSG_ID (PLID, "CurWeapon", NULL));
|
||||
netmsg->SetId (NETMSG_AMMOX, GET_USER_MSG_ID (PLID, "AmmoX", NULL));
|
||||
netmsg->SetId (NETMSG_AMMOPICKUP, GET_USER_MSG_ID (PLID, "AmmoPickup", NULL));
|
||||
netmsg->SetId (NETMSG_DAMAGE, GET_USER_MSG_ID (PLID, "Damage", NULL));
|
||||
netmsg->SetId (NETMSG_MONEY, GET_USER_MSG_ID (PLID, "Money", NULL));
|
||||
netmsg->SetId (NETMSG_STATUSICON, GET_USER_MSG_ID (PLID, "StatusIcon", NULL));
|
||||
netmsg->SetId (NETMSG_DEATH, GET_USER_MSG_ID (PLID, "DeathMsg", NULL));
|
||||
netmsg->SetId (NETMSG_SCREENFADE, GET_USER_MSG_ID (PLID, "ScreenFade", NULL));
|
||||
netmsg->SetId (NETMSG_HLTV, GET_USER_MSG_ID (PLID, "HLTV", NULL));
|
||||
netmsg->SetId (NETMSG_TEXTMSG, GET_USER_MSG_ID (PLID, "TextMsg", NULL));
|
||||
netmsg->SetId (NETMSG_SCOREINFO, GET_USER_MSG_ID (PLID, "ScoreInfo", NULL));
|
||||
netmsg->SetId (NETMSG_BARTIME, GET_USER_MSG_ID (PLID, "BarTime", NULL));
|
||||
netmsg->SetId (NETMSG_SENDAUDIO, GET_USER_MSG_ID (PLID, "SendAudio", NULL));
|
||||
netmsg->SetId (NETMSG_SAYTEXT, GET_USER_MSG_ID (PLID, "SayText", NULL));
|
||||
netmsg->SetId (NETMSG_RESETHUD, GET_USER_MSG_ID (PLID, "ResetHUD", NULL));
|
||||
netmsg.SetId (NETMSG_VGUI, GET_USER_MSG_ID (PLID, "VGUIMenu", NULL));
|
||||
netmsg.SetId (NETMSG_SHOWMENU, GET_USER_MSG_ID (PLID, "ShowMenu", NULL));
|
||||
netmsg.SetId (NETMSG_WEAPONLIST, GET_USER_MSG_ID (PLID, "WeaponList", NULL));
|
||||
netmsg.SetId (NETMSG_CURWEAPON, GET_USER_MSG_ID (PLID, "CurWeapon", NULL));
|
||||
netmsg.SetId (NETMSG_AMMOX, GET_USER_MSG_ID (PLID, "AmmoX", NULL));
|
||||
netmsg.SetId (NETMSG_AMMOPICKUP, GET_USER_MSG_ID (PLID, "AmmoPickup", NULL));
|
||||
netmsg.SetId (NETMSG_DAMAGE, GET_USER_MSG_ID (PLID, "Damage", NULL));
|
||||
netmsg.SetId (NETMSG_MONEY, GET_USER_MSG_ID (PLID, "Money", NULL));
|
||||
netmsg.SetId (NETMSG_STATUSICON, GET_USER_MSG_ID (PLID, "StatusIcon", NULL));
|
||||
netmsg.SetId (NETMSG_DEATH, GET_USER_MSG_ID (PLID, "DeathMsg", NULL));
|
||||
netmsg.SetId (NETMSG_SCREENFADE, GET_USER_MSG_ID (PLID, "ScreenFade", NULL));
|
||||
netmsg.SetId (NETMSG_HLTV, GET_USER_MSG_ID (PLID, "HLTV", NULL));
|
||||
netmsg.SetId (NETMSG_TEXTMSG, GET_USER_MSG_ID (PLID, "TextMsg", NULL));
|
||||
netmsg.SetId (NETMSG_SCOREINFO, GET_USER_MSG_ID (PLID, "ScoreInfo", NULL));
|
||||
netmsg.SetId (NETMSG_BARTIME, GET_USER_MSG_ID (PLID, "BarTime", NULL));
|
||||
netmsg.SetId (NETMSG_SENDAUDIO, GET_USER_MSG_ID (PLID, "SendAudio", NULL));
|
||||
netmsg.SetId (NETMSG_SAYTEXT, GET_USER_MSG_ID (PLID, "SayText", NULL));
|
||||
netmsg.SetId (NETMSG_RESETHUD, GET_USER_MSG_ID (PLID, "ResetHUD", NULL));
|
||||
|
||||
if (g_gameVersion != CSV_OLD)
|
||||
netmsg->SetId (NETMSG_BOTVOICE, GET_USER_MSG_ID (PLID, "BotVoice", NULL));
|
||||
netmsg.SetId (NETMSG_BOTVOICE, GET_USER_MSG_ID (PLID, "BotVoice", NULL));
|
||||
}
|
||||
netmsg->Reset ();
|
||||
netmsg.Reset ();
|
||||
|
||||
if (msgDest == MSG_SPEC && msgType == netmsg->GetId (NETMSG_HLTV) && g_gameVersion != CSV_OLD)
|
||||
netmsg->SetMessage (NETMSG_HLTV);
|
||||
if (msgDest == MSG_SPEC && msgType == netmsg.GetId (NETMSG_HLTV) && g_gameVersion != CSV_OLD)
|
||||
netmsg.SetMessage (NETMSG_HLTV);
|
||||
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_WEAPONLIST);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_WEAPONLIST);
|
||||
|
||||
if (!IsEntityNull (ed))
|
||||
{
|
||||
int index = botMgr->GetIndex (ed);
|
||||
int index = botMgr.GetIndex (ed);
|
||||
|
||||
// is this message for a bot?
|
||||
if (index != -1 && !(ed->v.flags & FL_DORMANT) && botMgr->GetBot (index)->GetEntity () == ed)
|
||||
if (index != -1 && !(ed->v.flags & FL_DORMANT) && botMgr.GetBot (index)->GetEntity () == ed)
|
||||
{
|
||||
netmsg->Reset ();
|
||||
netmsg->SetBot (botMgr->GetBot (index));
|
||||
netmsg.Reset ();
|
||||
netmsg.SetBot (botMgr.GetBot (index));
|
||||
|
||||
// message handling is done in usermsg.cpp
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_VGUI);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_CURWEAPON);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_AMMOX);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_AMMOPICKUP);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_DAMAGE);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_MONEY);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_STATUSICON);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_SCREENFADE);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_BARTIME);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_TEXTMSG);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_SHOWMENU);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_RESETHUD);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_VGUI);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_CURWEAPON);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_AMMOX);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_AMMOPICKUP);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_DAMAGE);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_MONEY);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_STATUSICON);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_SCREENFADE);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_BARTIME);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_TEXTMSG);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_SHOWMENU);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_RESETHUD);
|
||||
}
|
||||
}
|
||||
else if (msgDest == MSG_ALL)
|
||||
{
|
||||
netmsg->Reset ();
|
||||
netmsg.Reset ();
|
||||
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_SCOREINFO);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_DEATH);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_TEXTMSG);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_SCOREINFO);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_DEATH);
|
||||
netmsg.HandleMessageIfRequired (msgType, NETMSG_TEXTMSG);
|
||||
|
||||
if (msgType == SVC_INTERMISSION)
|
||||
{
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
if (bot != NULL)
|
||||
bot->m_notKilled = false;
|
||||
|
|
@ -2440,7 +2440,7 @@ void pfnMessageBegin (int msgDest, int msgType, const float *origin, edict_t *ed
|
|||
|
||||
void pfnMessageEnd (void)
|
||||
{
|
||||
netmsg->Reset ();
|
||||
netmsg.Reset ();
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2448,13 +2448,13 @@ void pfnMessageEnd (void)
|
|||
MESSAGE_END ();
|
||||
|
||||
// send latency fix
|
||||
botMgr->SendDeathMsgFix ();
|
||||
botMgr.SendDeathMsgFix ();
|
||||
}
|
||||
|
||||
void pfnMessageEnd_Post (void)
|
||||
{
|
||||
// send latency fix
|
||||
botMgr->SendDeathMsgFix ();
|
||||
botMgr.SendDeathMsgFix ();
|
||||
|
||||
RETURN_META (MRES_IGNORED);
|
||||
}
|
||||
|
|
@ -2462,7 +2462,7 @@ void pfnMessageEnd_Post (void)
|
|||
void pfnWriteByte (int value)
|
||||
{
|
||||
// if this message is for a bot, call the client message function...
|
||||
netmsg->Execute ((void *) &value);
|
||||
netmsg.Execute ((void *) &value);
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2473,7 +2473,7 @@ void pfnWriteByte (int value)
|
|||
void pfnWriteChar (int value)
|
||||
{
|
||||
// if this message is for a bot, call the client message function...
|
||||
netmsg->Execute ((void *) &value);
|
||||
netmsg.Execute ((void *) &value);
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2484,7 +2484,7 @@ void pfnWriteChar (int value)
|
|||
void pfnWriteShort (int value)
|
||||
{
|
||||
// if this message is for a bot, call the client message function...
|
||||
netmsg->Execute ((void *) &value);
|
||||
netmsg.Execute ((void *) &value);
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2495,7 +2495,7 @@ void pfnWriteShort (int value)
|
|||
void pfnWriteLong (int value)
|
||||
{
|
||||
// if this message is for a bot, call the client message function...
|
||||
netmsg->Execute ((void *) &value);
|
||||
netmsg.Execute ((void *) &value);
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2506,7 +2506,7 @@ void pfnWriteLong (int value)
|
|||
void pfnWriteAngle (float value)
|
||||
{
|
||||
// if this message is for a bot, call the client message function...
|
||||
netmsg->Execute ((void *) &value);
|
||||
netmsg.Execute ((void *) &value);
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2517,7 +2517,7 @@ void pfnWriteAngle (float value)
|
|||
void pfnWriteCoord (float value)
|
||||
{
|
||||
// if this message is for a bot, call the client message function...
|
||||
netmsg->Execute ((void *) &value);
|
||||
netmsg.Execute ((void *) &value);
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2528,7 +2528,7 @@ void pfnWriteCoord (float value)
|
|||
void pfnWriteString (const char *sz)
|
||||
{
|
||||
// if this message is for a bot, call the client message function...
|
||||
netmsg->Execute ((void *) sz);
|
||||
netmsg.Execute ((void *) sz);
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2539,7 +2539,7 @@ void pfnWriteString (const char *sz)
|
|||
void pfnWriteEntity (int value)
|
||||
{
|
||||
// if this message is for a bot, call the client message function...
|
||||
netmsg->Execute ((void *) &value);
|
||||
netmsg.Execute ((void *) &value);
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2658,7 +2658,7 @@ void pfnClientPrintf (edict_t *ent, PRINT_TYPE printType, const char *message)
|
|||
|
||||
void pfnSetClientMaxspeed (const edict_t *ent, float newMaxspeed)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (const_cast <edict_t *> (ent));
|
||||
Bot *bot = botMgr.GetBot (const_cast <edict_t *> (ent));
|
||||
|
||||
// check wether it's not a bot
|
||||
if (bot != NULL)
|
||||
|
|
@ -2688,43 +2688,43 @@ int pfnRegUserMsg (const char *name, int size)
|
|||
int message = REG_USER_MSG (name, size);
|
||||
|
||||
if (strcmp (name, "VGUIMenu") == 0)
|
||||
netmsg->SetId (NETMSG_VGUI, message);
|
||||
netmsg.SetId (NETMSG_VGUI, message);
|
||||
else if (strcmp (name, "ShowMenu") == 0)
|
||||
netmsg->SetId (NETMSG_SHOWMENU, message);
|
||||
netmsg.SetId (NETMSG_SHOWMENU, message);
|
||||
else if (strcmp (name, "WeaponList") == 0)
|
||||
netmsg->SetId (NETMSG_WEAPONLIST, message);
|
||||
netmsg.SetId (NETMSG_WEAPONLIST, message);
|
||||
else if (strcmp (name, "CurWeapon") == 0)
|
||||
netmsg->SetId (NETMSG_CURWEAPON, message);
|
||||
netmsg.SetId (NETMSG_CURWEAPON, message);
|
||||
else if (strcmp (name, "AmmoX") == 0)
|
||||
netmsg->SetId (NETMSG_AMMOX, message);
|
||||
netmsg.SetId (NETMSG_AMMOX, message);
|
||||
else if (strcmp (name, "AmmoPickup") == 0)
|
||||
netmsg->SetId (NETMSG_AMMOPICKUP, message);
|
||||
netmsg.SetId (NETMSG_AMMOPICKUP, message);
|
||||
else if (strcmp (name, "Damage") == 0)
|
||||
netmsg->SetId (NETMSG_DAMAGE, message);
|
||||
netmsg.SetId (NETMSG_DAMAGE, message);
|
||||
else if (strcmp (name, "Money") == 0)
|
||||
netmsg->SetId (NETMSG_MONEY, message);
|
||||
netmsg.SetId (NETMSG_MONEY, message);
|
||||
else if (strcmp (name, "StatusIcon") == 0)
|
||||
netmsg->SetId (NETMSG_STATUSICON, message);
|
||||
netmsg.SetId (NETMSG_STATUSICON, message);
|
||||
else if (strcmp (name, "DeathMsg") == 0)
|
||||
netmsg->SetId (NETMSG_DEATH, message);
|
||||
netmsg.SetId (NETMSG_DEATH, message);
|
||||
else if (strcmp (name, "ScreenFade") == 0)
|
||||
netmsg->SetId (NETMSG_SCREENFADE, message);
|
||||
netmsg.SetId (NETMSG_SCREENFADE, message);
|
||||
else if (strcmp (name, "HLTV") == 0)
|
||||
netmsg->SetId (NETMSG_HLTV, message);
|
||||
netmsg.SetId (NETMSG_HLTV, message);
|
||||
else if (strcmp (name, "TextMsg") == 0)
|
||||
netmsg->SetId (NETMSG_TEXTMSG, message);
|
||||
netmsg.SetId (NETMSG_TEXTMSG, message);
|
||||
else if (strcmp (name, "ScoreInfo") == 0)
|
||||
netmsg->SetId (NETMSG_SCOREINFO, message);
|
||||
netmsg.SetId (NETMSG_SCOREINFO, message);
|
||||
else if (strcmp (name, "BarTime") == 0)
|
||||
netmsg->SetId (NETMSG_BARTIME, message);
|
||||
netmsg.SetId (NETMSG_BARTIME, message);
|
||||
else if (strcmp (name, "SendAudio") == 0)
|
||||
netmsg->SetId (NETMSG_SENDAUDIO, message);
|
||||
netmsg.SetId (NETMSG_SENDAUDIO, message);
|
||||
else if (strcmp (name, "SayText") == 0)
|
||||
netmsg->SetId (NETMSG_SAYTEXT, message);
|
||||
netmsg.SetId (NETMSG_SAYTEXT, message);
|
||||
else if (strcmp (name, "BotVoice") == 0)
|
||||
netmsg->SetId (NETMSG_BOTVOICE, message);
|
||||
netmsg.SetId (NETMSG_BOTVOICE, message);
|
||||
else if (strcmp (name, "ResetHUD") == 0)
|
||||
netmsg->SetId (NETMSG_RESETHUD, message);
|
||||
netmsg.SetId (NETMSG_RESETHUD, message);
|
||||
|
||||
return message;
|
||||
}
|
||||
|
|
@ -2743,12 +2743,12 @@ void pfnAlertMessage (ALERT_TYPE alertType, char *format, ...)
|
|||
// notify all terrorists that CT is starting bomb defusing
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
if (bot != NULL && GetTeam (bot->GetEntity ()) == TEAM_TF && IsAlive (bot->GetEntity ()))
|
||||
{
|
||||
bot->ResetTasks ();
|
||||
bot->MoveToVector (waypoint->GetBombPosition ());
|
||||
bot->MoveToVector (waypoint.GetBombPosition ());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2978,7 +2978,7 @@ export int Meta_Detach (PLUG_LOADTIME now, PL_UNLOAD_REASON reason)
|
|||
return FALSE; // returning false prevents metamod from unloading this plugin
|
||||
}
|
||||
|
||||
botMgr->RemoveAll (); // kick all bots off this server
|
||||
botMgr.RemoveAll (); // kick all bots off this server
|
||||
FreeLibraryMemory ();
|
||||
|
||||
return TRUE;
|
||||
|
|
@ -3010,7 +3010,7 @@ DLL_GIVEFNPTRSTODLL GiveFnptrsToDll (enginefuncs_t *functionTable, globalvars_t
|
|||
g_pGlobals = pGlobals;
|
||||
|
||||
// register our cvars
|
||||
convars->PushRegisteredConVarsToEngine ();
|
||||
convars.PushRegisteredConVarsToEngine ();
|
||||
|
||||
static struct ModSupport
|
||||
{
|
||||
|
|
@ -3152,16 +3152,14 @@ void ConVarWrapper::RegisterVariable (const char *variable, const char *value, V
|
|||
newVariable.self = self;
|
||||
newVariable.type = varType;
|
||||
|
||||
memcpy (&m_regVars[m_regCount], &newVariable, sizeof (VarPair));
|
||||
m_regCount++;
|
||||
m_regs.Push (newVariable);
|
||||
}
|
||||
|
||||
|
||||
void ConVarWrapper::PushRegisteredConVarsToEngine (bool gameVars)
|
||||
{
|
||||
for (int i = 0; i < m_regCount; i++)
|
||||
FOR_EACH_AE (m_regs, i)
|
||||
{
|
||||
VarPair *ptr = &m_regVars[i];
|
||||
VarPair *ptr = &m_regs[i];
|
||||
|
||||
if (ptr == NULL)
|
||||
break;
|
||||
|
|
@ -3184,15 +3182,15 @@ void ConVarWrapper::PushRegisteredConVarsToEngine (bool gameVars)
|
|||
#define LINK_ENTITY(entityFunction) \
|
||||
export void entityFunction (entvars_t *pev) \
|
||||
{ \
|
||||
static EntityPtr_t funcPtr = NULL; \
|
||||
static EntityPtr_t entity_addr = NULL; \
|
||||
\
|
||||
if (funcPtr == NULL) \
|
||||
funcPtr = reinterpret_cast <EntityPtr_t> (g_gameLib->GetFunctionAddr (#entityFunction)); \
|
||||
if (entity_addr == NULL) \
|
||||
entity_addr = reinterpret_cast <EntityPtr_t> (g_gameLib->GetFunctionAddr (#entityFunction)); \
|
||||
\
|
||||
if (funcPtr == NULL) \
|
||||
if (entity_addr == NULL) \
|
||||
return; \
|
||||
\
|
||||
(*funcPtr) (pev); \
|
||||
(*entity_addr) (pev); \
|
||||
} \
|
||||
|
||||
// entities in counter-strike...
|
||||
|
|
|
|||
|
|
@ -650,7 +650,7 @@ Bot *BotManager::GetHighestFragsBot (int team)
|
|||
// search bots in this team
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
highFragBot = botMgr->GetBot (i);
|
||||
highFragBot = botMgr.GetBot (i);
|
||||
|
||||
if (highFragBot != NULL && IsAlive (highFragBot->GetEntity ()) && GetTeam (highFragBot->GetEntity ()) == team)
|
||||
{
|
||||
|
|
@ -1158,8 +1158,8 @@ void Bot::Kick (void)
|
|||
CenterPrint ("Bot '%s' kicked", STRING (pev->netname));
|
||||
|
||||
// balances quota
|
||||
if (botMgr->GetBotsNum () - 1 < yb_quota.GetInt ())
|
||||
yb_quota.SetInt (botMgr->GetBotsNum () - 1);
|
||||
if (botMgr.GetBotsNum () - 1 < yb_quota.GetInt ())
|
||||
yb_quota.SetInt (botMgr.GetBotsNum () - 1);
|
||||
}
|
||||
|
||||
void Bot::StartGame (void)
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ int Bot::FindGoal (void)
|
|||
{
|
||||
if (strcmp (STRING (pent->v.model), "models/w_backpack.mdl") == 0)
|
||||
{
|
||||
int index = waypoint->FindNearest (GetEntityOrigin (pent));
|
||||
int index = waypoint.FindNearest (GetEntityOrigin (pent));
|
||||
|
||||
if (index >= 0 && index < g_numWaypoints)
|
||||
return m_loosedBombWptIndex = index;
|
||||
|
|
@ -49,13 +49,13 @@ int Bot::FindGoal (void)
|
|||
switch (m_team)
|
||||
{
|
||||
case TEAM_TF:
|
||||
offensiveWpts = waypoint->m_ctPoints;
|
||||
defensiveWpts = waypoint->m_terrorPoints;
|
||||
offensiveWpts = waypoint.m_ctPoints;
|
||||
defensiveWpts = waypoint.m_terrorPoints;
|
||||
break;
|
||||
|
||||
case TEAM_CF:
|
||||
offensiveWpts = waypoint->m_terrorPoints;
|
||||
defensiveWpts = waypoint->m_ctPoints;
|
||||
offensiveWpts = waypoint.m_terrorPoints;
|
||||
defensiveWpts = waypoint.m_ctPoints;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -68,7 +68,7 @@ int Bot::FindGoal (void)
|
|||
else if (m_team == TEAM_CF && HasHostage ())
|
||||
{
|
||||
tactic = 2;
|
||||
offensiveWpts = waypoint->m_rescuePoints;
|
||||
offensiveWpts = waypoint.m_rescuePoints;
|
||||
|
||||
goto TacticChoosen;
|
||||
}
|
||||
|
|
@ -100,7 +100,7 @@ int Bot::FindGoal (void)
|
|||
}
|
||||
else if ((g_mapType & MAP_DE) && m_team == TEAM_CF)
|
||||
{
|
||||
if (g_bombPlanted && GetTaskId () != TASK_ESCAPEFROMBOMB && waypoint->GetBombPosition () != nullvec)
|
||||
if (g_bombPlanted && GetTaskId () != TASK_ESCAPEFROMBOMB && waypoint.GetBombPosition () != nullvec)
|
||||
{
|
||||
if (g_bombSayString)
|
||||
{
|
||||
|
|
@ -119,7 +119,7 @@ int Bot::FindGoal (void)
|
|||
{
|
||||
// send some terrorists to guard planter bomb
|
||||
if (g_bombPlanted && GetTaskId () != TASK_ESCAPEFROMBOMB && GetBombTimeleft () >= 15.0)
|
||||
return m_chosenGoalIndex = FindDefendWaypoint (waypoint->GetBombPosition ());
|
||||
return m_chosenGoalIndex = FindDefendWaypoint (waypoint.GetBombPosition ());
|
||||
}
|
||||
|
||||
goalDesire = Random.Float (0.0f, 100.0f) + offensive;
|
||||
|
|
@ -153,17 +153,17 @@ TacticChoosen:
|
|||
|
||||
if (tactic == 0 && !defensiveWpts.IsEmpty ()) // careful goal
|
||||
FilterGoals (defensiveWpts, goalChoices);
|
||||
else if (tactic == 1 && !waypoint->m_campPoints.IsEmpty ()) // camp waypoint goal
|
||||
else if (tactic == 1 && !waypoint.m_campPoints.IsEmpty ()) // camp waypoint goal
|
||||
{
|
||||
// pickup sniper points if possible for sniping bots
|
||||
if (!waypoint->m_sniperPoints.IsEmpty () && UsesSniper ())
|
||||
FilterGoals (waypoint->m_sniperPoints, goalChoices);
|
||||
if (!waypoint.m_sniperPoints.IsEmpty () && UsesSniper ())
|
||||
FilterGoals (waypoint.m_sniperPoints, goalChoices);
|
||||
else
|
||||
FilterGoals (waypoint->m_campPoints, goalChoices);
|
||||
FilterGoals (waypoint.m_campPoints, goalChoices);
|
||||
}
|
||||
else if (tactic == 2 && !offensiveWpts.IsEmpty ()) // offensive goal
|
||||
FilterGoals (offensiveWpts, goalChoices);
|
||||
else if (tactic == 3 && !waypoint->m_goalPoints.IsEmpty ()) // map goal waypoint
|
||||
else if (tactic == 3 && !waypoint.m_goalPoints.IsEmpty ()) // map goal waypoint
|
||||
{
|
||||
// forcee bomber to select closest goal, if round-start goal was reset by something
|
||||
if (m_hasC4 && g_timeRoundStart + 20.0f < GetWorldTime ())
|
||||
|
|
@ -173,7 +173,7 @@ TacticChoosen:
|
|||
|
||||
for (int i = 0; i < g_numWaypoints; i++)
|
||||
{
|
||||
Path *path = waypoint->GetPath (i);
|
||||
Path *path = waypoint.GetPath (i);
|
||||
|
||||
if (!(path->flags & FLAG_GOAL))
|
||||
continue;
|
||||
|
|
@ -195,17 +195,17 @@ TacticChoosen:
|
|||
{
|
||||
if (goalChoices[i] == -1)
|
||||
{
|
||||
goalChoices[i] = waypoint->m_goalPoints.GetRandomElement ();
|
||||
goalChoices[i] = waypoint.m_goalPoints.GetRandomElement ();
|
||||
InternalAssert (goalChoices[i] >= 0 && goalChoices[i] < g_numWaypoints);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
FilterGoals (waypoint->m_goalPoints, goalChoices);
|
||||
FilterGoals (waypoint.m_goalPoints, goalChoices);
|
||||
}
|
||||
|
||||
if (m_currentWaypointIndex == -1 || m_currentWaypointIndex >= g_numWaypoints)
|
||||
m_currentWaypointIndex = ChangeWptIndex (waypoint->FindNearest (pev->origin));
|
||||
m_currentWaypointIndex = ChangeWptIndex (waypoint.FindNearest (pev->origin));
|
||||
|
||||
if (goalChoices[0] == -1)
|
||||
return m_chosenGoalIndex = Random.Long (0, g_numWaypoints - 1);
|
||||
|
|
@ -767,9 +767,9 @@ bool Bot::DoWaypointNav (void)
|
|||
{
|
||||
if ((m_liftState == LIFT_NO_NEARBY || m_liftState == LIFT_WAITING_FOR) && m_navNode->next != NULL)
|
||||
{
|
||||
if (m_navNode->next->index >= 0 && m_navNode->next->index < g_numWaypoints && (waypoint->GetPath (m_navNode->next->index)->flags & FLAG_LIFT))
|
||||
if (m_navNode->next->index >= 0 && m_navNode->next->index < g_numWaypoints && (waypoint.GetPath (m_navNode->next->index)->flags & FLAG_LIFT))
|
||||
{
|
||||
TraceLine (m_currentPath->origin, waypoint->GetPath (m_navNode->next->index)->origin, true, true, GetEntity (), &tr);
|
||||
TraceLine (m_currentPath->origin, waypoint.GetPath (m_navNode->next->index)->origin, true, true, GetEntity (), &tr);
|
||||
|
||||
if (!IsEntityNull (tr.pHit) && (strcmp (STRING (tr.pHit->v.classname), "func_door") == 0 || strcmp (STRING (tr.pHit->v.classname), "func_plat") == 0 || strcmp (STRING (tr.pHit->v.classname), "func_train") == 0))
|
||||
m_liftEntity = tr.pHit;
|
||||
|
|
@ -801,7 +801,7 @@ bool Bot::DoWaypointNav (void)
|
|||
// if some bot is following a bot going into lift - he should take the same lift to go
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
if (bot == NULL || bot == this)
|
||||
continue;
|
||||
|
|
@ -840,7 +840,7 @@ bool Bot::DoWaypointNav (void)
|
|||
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
if (bot == NULL)
|
||||
continue; // skip invalid bots
|
||||
|
|
@ -898,7 +898,7 @@ bool Bot::DoWaypointNav (void)
|
|||
// is lift activated and bot is standing on it and lift is moving ?
|
||||
if (m_liftState == LIFT_LOOKING_BUTTON_INSIDE || m_liftState == LIFT_ENTERING_IN || m_liftState == LIFT_WAIT_FOR_TEAMMATES || m_liftState == LIFT_WAITING_FOR)
|
||||
{
|
||||
if (pev->groundentity == m_liftEntity && m_liftEntity->v.velocity.z != 0 && IsOnFloor () && ((waypoint->GetPath (m_prevWptIndex[0])->flags & FLAG_LIFT) || !IsEntityNull (m_targetEntity)))
|
||||
if (pev->groundentity == m_liftEntity && m_liftEntity->v.velocity.z != 0 && IsOnFloor () && ((waypoint.GetPath (m_prevWptIndex[0])->flags & FLAG_LIFT) || !IsEntityNull (m_targetEntity)))
|
||||
{
|
||||
m_liftState = LIFT_TRAVELING_BY;
|
||||
m_liftUsageTime = GetWorldTime () + 14.0;
|
||||
|
|
@ -941,7 +941,7 @@ bool Bot::DoWaypointNav (void)
|
|||
if (m_buttonPushTime + 8.0 >= GetWorldTime ())
|
||||
{
|
||||
if ((m_prevWptIndex[0] >= 0) && (m_prevWptIndex[0] < g_numWaypoints))
|
||||
m_destOrigin = waypoint->GetPath (m_prevWptIndex[0])->origin;
|
||||
m_destOrigin = waypoint.GetPath (m_prevWptIndex[0])->origin;
|
||||
else
|
||||
m_destOrigin = pev->origin;
|
||||
|
||||
|
|
@ -983,7 +983,7 @@ bool Bot::DoWaypointNav (void)
|
|||
if (liftUsed)
|
||||
{
|
||||
if (m_prevWptIndex[0] >= 0 && m_prevWptIndex[0] < g_numWaypoints)
|
||||
m_destOrigin = waypoint->GetPath (m_prevWptIndex[0])->origin;
|
||||
m_destOrigin = waypoint.GetPath (m_prevWptIndex[0])->origin;
|
||||
else
|
||||
m_destOrigin = button->v.origin;
|
||||
|
||||
|
|
@ -1016,10 +1016,10 @@ bool Bot::DoWaypointNav (void)
|
|||
{
|
||||
if ((m_prevWptIndex[0] >= 0) && (m_prevWptIndex[0] < g_numWaypoints))
|
||||
{
|
||||
if (!(waypoint->GetPath (m_prevWptIndex[0])->flags & FLAG_LIFT))
|
||||
m_destOrigin = waypoint->GetPath (m_prevWptIndex[0])->origin;
|
||||
if (!(waypoint.GetPath (m_prevWptIndex[0])->flags & FLAG_LIFT))
|
||||
m_destOrigin = waypoint.GetPath (m_prevWptIndex[0])->origin;
|
||||
else if ((m_prevWptIndex[1] >= 0) && (m_prevWptIndex[0] < g_numWaypoints))
|
||||
m_destOrigin = waypoint->GetPath (m_prevWptIndex[1])->origin;
|
||||
m_destOrigin = waypoint.GetPath (m_prevWptIndex[1])->origin;
|
||||
}
|
||||
|
||||
if ((pev->origin - m_destOrigin).GetLengthSquared () < 100)
|
||||
|
|
@ -1040,7 +1040,7 @@ bool Bot::DoWaypointNav (void)
|
|||
// bot fall down somewhere inside the lift's groove :)
|
||||
if (pev->groundentity != m_liftEntity && m_prevWptIndex[0] >= 0 && m_prevWptIndex[0] < g_numWaypoints)
|
||||
{
|
||||
if ((waypoint->GetPath (m_prevWptIndex[0])->flags & FLAG_LIFT) && (m_currentPath->origin.z - pev->origin.z) > 50.0 && (waypoint->GetPath (m_prevWptIndex[0])->origin.z - pev->origin.z) > 50.0)
|
||||
if ((waypoint.GetPath (m_prevWptIndex[0])->flags & FLAG_LIFT) && (m_currentPath->origin.z - pev->origin.z) > 50.0 && (waypoint.GetPath (m_prevWptIndex[0])->origin.z - pev->origin.z) > 50.0)
|
||||
{
|
||||
m_liftState = LIFT_NO_NEARBY;
|
||||
m_liftEntity = NULL;
|
||||
|
|
@ -1084,7 +1084,7 @@ bool Bot::DoWaypointNav (void)
|
|||
|
||||
if (m_prevWptIndex[0] >= 0 && m_prevWptIndex[0] < g_numWaypoints)
|
||||
{
|
||||
if (!(waypoint->GetPath (m_prevWptIndex[0])->flags & FLAG_LIFT))
|
||||
if (!(waypoint.GetPath (m_prevWptIndex[0])->flags & FLAG_LIFT))
|
||||
ChangeWptIndex (m_prevWptIndex[0]);
|
||||
else
|
||||
FindWaypoint ();
|
||||
|
|
@ -1237,13 +1237,13 @@ bool Bot::DoWaypointNav (void)
|
|||
// bot within 'hearable' bomb tick noises?
|
||||
if (bombOrigin != nullvec)
|
||||
{
|
||||
float distance = (bombOrigin - waypoint->GetPath (GetTask ()->data)->origin).GetLength ();
|
||||
float distance = (bombOrigin - waypoint.GetPath (GetTask ()->data)->origin).GetLength ();
|
||||
|
||||
if (distance > 512.0)
|
||||
waypoint->SetGoalVisited (GetTask ()->data); // doesn't hear so not a good goal
|
||||
waypoint.SetGoalVisited (GetTask ()->data); // doesn't hear so not a good goal
|
||||
}
|
||||
else
|
||||
waypoint->SetGoalVisited (GetTask ()->data); // doesn't hear so not a good goal
|
||||
waypoint.SetGoalVisited (GetTask ()->data); // doesn't hear so not a good goal
|
||||
}
|
||||
HeadTowardWaypoint (); // do the actual movement checking
|
||||
}
|
||||
|
|
@ -1270,7 +1270,7 @@ void Bot::FindShortestPath (int srcIndex, int destIndex)
|
|||
|
||||
while (srcIndex != destIndex)
|
||||
{
|
||||
srcIndex = *(waypoint->m_pathMatrix + (srcIndex * g_numWaypoints) + destIndex);
|
||||
srcIndex = *(waypoint.m_pathMatrix + (srcIndex * g_numWaypoints) + destIndex);
|
||||
|
||||
if (srcIndex < 0)
|
||||
{
|
||||
|
|
@ -1415,7 +1415,7 @@ float gfunctionKillsDistT (int currentIndex, int parentIndex)
|
|||
|
||||
float cost = (g_experienceData + (currentIndex * g_numWaypoints) + currentIndex)->team0Damage + g_highestDamageT;
|
||||
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint.GetPath (currentIndex);
|
||||
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
|
|
@ -1428,7 +1428,7 @@ float gfunctionKillsDistT (int currentIndex, int parentIndex)
|
|||
if (current->flags & FLAG_CROUCH)
|
||||
cost *= 1.5;
|
||||
|
||||
return waypoint->GetPathDistance (parentIndex, currentIndex) + cost;
|
||||
return waypoint.GetPathDistance (parentIndex, currentIndex) + cost;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1441,7 +1441,7 @@ float gfunctionKillsDistCT (int currentIndex, int parentIndex)
|
|||
|
||||
float cost = (g_experienceData + (currentIndex * g_numWaypoints) + currentIndex)->team1Damage + g_highestDamageCT;
|
||||
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint.GetPath (currentIndex);
|
||||
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
|
|
@ -1454,14 +1454,14 @@ float gfunctionKillsDistCT (int currentIndex, int parentIndex)
|
|||
if (current->flags & FLAG_CROUCH)
|
||||
cost *= 1.5;
|
||||
|
||||
return waypoint->GetPathDistance (parentIndex, currentIndex) + cost;
|
||||
return waypoint.GetPathDistance (parentIndex, currentIndex) + cost;
|
||||
}
|
||||
|
||||
float gfunctionKillsDistCTWithHostage (int currentIndex, int parentIndex)
|
||||
{
|
||||
// least kills and number of nodes to goal for a team
|
||||
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint.GetPath (currentIndex);
|
||||
|
||||
if (current->flags & FLAG_NOHOSTAGE)
|
||||
return 65355;
|
||||
|
|
@ -1478,7 +1478,7 @@ float gfunctionKillsT (int currentIndex, int)
|
|||
|
||||
float cost = (g_experienceData + (currentIndex * g_numWaypoints) + currentIndex)->team0Damage;
|
||||
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint.GetPath (currentIndex);
|
||||
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
|
|
@ -1503,7 +1503,7 @@ float gfunctionKillsCT (int currentIndex, int parentIndex)
|
|||
|
||||
float cost = (g_experienceData + (currentIndex * g_numWaypoints) + currentIndex)->team1Damage;
|
||||
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint.GetPath (currentIndex);
|
||||
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
|
|
@ -1526,7 +1526,7 @@ float gfunctionKillsCTWithHostage (int currentIndex, int parentIndex)
|
|||
if (parentIndex == -1)
|
||||
return 0;
|
||||
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint.GetPath (currentIndex);
|
||||
|
||||
if (current->flags & FLAG_NOHOSTAGE)
|
||||
return 65355;
|
||||
|
|
@ -1542,8 +1542,8 @@ float gfunctionPathDist (int currentIndex, int parentIndex)
|
|||
if (parentIndex == -1)
|
||||
return 0;
|
||||
|
||||
Path *parent = waypoint->GetPath (parentIndex);
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
Path *parent = waypoint.GetPath (parentIndex);
|
||||
Path *current = waypoint.GetPath (currentIndex);
|
||||
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
|
|
@ -1561,7 +1561,7 @@ float gfunctionPathDist (int currentIndex, int parentIndex)
|
|||
|
||||
float gfunctionPathDistWithHostage (int currentIndex, int parentIndex)
|
||||
{
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint.GetPath (currentIndex);
|
||||
|
||||
if (current->flags & FLAG_NOHOSTAGE)
|
||||
return 65355;
|
||||
|
|
@ -1576,8 +1576,8 @@ float hfunctionSquareDist (int index, int, int goalIndex)
|
|||
{
|
||||
// square distance heuristic
|
||||
|
||||
Path *start = waypoint->GetPath (index);
|
||||
Path *goal = waypoint->GetPath (goalIndex);
|
||||
Path *start = waypoint.GetPath (index);
|
||||
Path *goal = waypoint.GetPath (goalIndex);
|
||||
|
||||
#if 0
|
||||
float deltaX = fabsf (start->origin.x - goal->origin.x);
|
||||
|
|
@ -1601,7 +1601,7 @@ float hfunctionSquareDistWithHostage (int index, int startIndex, int goalIndex)
|
|||
{
|
||||
// square distance heuristic with hostages
|
||||
|
||||
if (waypoint->GetPath (startIndex)->flags & FLAG_NOHOSTAGE)
|
||||
if (waypoint.GetPath (startIndex)->flags & FLAG_NOHOSTAGE)
|
||||
return 65355;
|
||||
|
||||
return hfunctionSquareDist (index, startIndex, goalIndex);
|
||||
|
|
@ -1758,7 +1758,7 @@ void Bot::FindPath (int srcIndex, int destIndex, unsigned char pathType)
|
|||
// now expand the current node
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
int currentChild = waypoint->GetPath (currentIndex)->index[i];
|
||||
int currentChild = waypoint.GetPath (currentIndex)->index[i];
|
||||
|
||||
if (currentChild == -1)
|
||||
continue;
|
||||
|
|
@ -1806,20 +1806,20 @@ int Bot::GetAimingWaypoint (const Vector &to)
|
|||
// return the most distant waypoint which is seen from the bot to the target and is within count
|
||||
|
||||
if (m_currentWaypointIndex == -1)
|
||||
m_currentWaypointIndex = ChangeWptIndex (waypoint->FindNearest (pev->origin));
|
||||
m_currentWaypointIndex = ChangeWptIndex (waypoint.FindNearest (pev->origin));
|
||||
|
||||
int srcIndex = m_currentWaypointIndex;
|
||||
int destIndex = waypoint->FindNearest (to);
|
||||
int destIndex = waypoint.FindNearest (to);
|
||||
int bestIndex = srcIndex;
|
||||
|
||||
while (destIndex != srcIndex)
|
||||
{
|
||||
destIndex = *(waypoint->m_pathMatrix + (destIndex * g_numWaypoints) + srcIndex);
|
||||
destIndex = *(waypoint.m_pathMatrix + (destIndex * g_numWaypoints) + srcIndex);
|
||||
|
||||
if (destIndex < 0)
|
||||
break;
|
||||
|
||||
if (waypoint->IsVisible (m_currentWaypointIndex, destIndex))
|
||||
if (waypoint.IsVisible (m_currentWaypointIndex, destIndex))
|
||||
{
|
||||
bestIndex = destIndex;
|
||||
break;
|
||||
|
|
@ -1854,11 +1854,11 @@ bool Bot::FindWaypoint (void)
|
|||
#endif
|
||||
continue;
|
||||
|
||||
if ((g_mapType & MAP_CS) && HasHostage () && (waypoint->GetPath (i)->flags & FLAG_NOHOSTAGE))
|
||||
if ((g_mapType & MAP_CS) && HasHostage () && (waypoint.GetPath (i)->flags & FLAG_NOHOSTAGE))
|
||||
continue;
|
||||
|
||||
// ignore non-reacheable waypoints...
|
||||
if (!waypoint->Reachable (this, i))
|
||||
if (!waypoint.Reachable (this, i))
|
||||
continue;
|
||||
|
||||
// check if waypoint is already used by another bot...
|
||||
|
|
@ -1869,7 +1869,7 @@ bool Bot::FindWaypoint (void)
|
|||
}
|
||||
|
||||
// now pick 1-2 random waypoints that near the bot
|
||||
float distance = (waypoint->GetPath (i)->origin - pev->origin).GetLengthSquared ();
|
||||
float distance = (waypoint.GetPath (i)->origin - pev->origin).GetLengthSquared ();
|
||||
|
||||
// now fill the waypoint list
|
||||
for (int j = 0; j < 3; j++)
|
||||
|
|
@ -1902,7 +1902,7 @@ bool Bot::FindWaypoint (void)
|
|||
i = 0;
|
||||
|
||||
Array <int> found;
|
||||
waypoint->FindInRadius (found, 256.0f, pev->origin);
|
||||
waypoint.FindInRadius (found, 256.0f, pev->origin);
|
||||
|
||||
if (!found.IsEmpty ())
|
||||
{
|
||||
|
|
@ -1913,7 +1913,7 @@ bool Bot::FindWaypoint (void)
|
|||
{
|
||||
int index = found.Pop ();
|
||||
|
||||
if (!waypoint->Reachable (this, index))
|
||||
if (!waypoint.Reachable (this, index))
|
||||
continue;
|
||||
|
||||
waypointIndeces[i] = index;
|
||||
|
|
@ -2042,7 +2042,7 @@ int Bot::ChangeWptIndex(int waypointIndex)
|
|||
m_currentWaypointIndex = waypointIndex;
|
||||
m_navTimeset = GetWorldTime ();
|
||||
|
||||
m_currentPath = waypoint->GetPath (m_currentWaypointIndex);
|
||||
m_currentPath = waypoint.GetPath (m_currentWaypointIndex);
|
||||
m_waypointFlags = m_currentPath->flags;
|
||||
|
||||
return m_currentWaypointIndex; // to satisfy static-code analyzers
|
||||
|
|
@ -2052,7 +2052,7 @@ int Bot::ChooseBombWaypoint (void)
|
|||
{
|
||||
// this function finds the best goal (bomb) waypoint for CTs when searching for a planted bomb.
|
||||
|
||||
Array <int> goals = waypoint->m_goalPoints;
|
||||
Array <int> goals = waypoint.m_goalPoints;
|
||||
|
||||
if (goals.IsEmpty ())
|
||||
return Random.Long (0, g_numWaypoints - 1); // reliability check
|
||||
|
|
@ -2069,7 +2069,7 @@ int Bot::ChooseBombWaypoint (void)
|
|||
// find nearest goal waypoint either to bomb (if "heard" or player)
|
||||
FOR_EACH_AE (goals, i)
|
||||
{
|
||||
float distance = (waypoint->GetPath (goals[i])->origin - bombOrigin).GetLengthSquared ();
|
||||
float distance = (waypoint.GetPath (goals[i])->origin - bombOrigin).GetLengthSquared ();
|
||||
|
||||
// check if we got more close distance
|
||||
if (distance < lastDistance)
|
||||
|
|
@ -2079,7 +2079,7 @@ int Bot::ChooseBombWaypoint (void)
|
|||
}
|
||||
}
|
||||
|
||||
while (waypoint->IsGoalVisited (goal))
|
||||
while (waypoint.IsGoalVisited (goal))
|
||||
{
|
||||
goal = goals.GetRandomElement ();
|
||||
|
||||
|
|
@ -2105,8 +2105,8 @@ int Bot::FindDefendWaypoint (const Vector &origin)
|
|||
minDistance[i] = 128;
|
||||
}
|
||||
|
||||
int posIndex = waypoint->FindNearest (origin);
|
||||
int srcIndex = waypoint->FindNearest (pev->origin);
|
||||
int posIndex = waypoint.FindNearest (origin);
|
||||
int srcIndex = waypoint.FindNearest (pev->origin);
|
||||
|
||||
// some of points not found, return random one
|
||||
if (srcIndex == -1 || posIndex == -1)
|
||||
|
|
@ -2115,17 +2115,17 @@ int Bot::FindDefendWaypoint (const Vector &origin)
|
|||
for (int i = 0; i < g_numWaypoints; i++) // find the best waypoint now
|
||||
{
|
||||
// exclude ladder & current waypoints
|
||||
if ((waypoint->GetPath (i)->flags & FLAG_LADDER) || i == srcIndex || !waypoint->IsVisible (i, posIndex) || IsPointOccupied (i))
|
||||
if ((waypoint.GetPath (i)->flags & FLAG_LADDER) || i == srcIndex || !waypoint.IsVisible (i, posIndex) || IsPointOccupied (i))
|
||||
continue;
|
||||
|
||||
// use the 'real' pathfinding distances
|
||||
int distances = waypoint->GetPathDistance (srcIndex, i);
|
||||
int distances = waypoint.GetPathDistance (srcIndex, i);
|
||||
|
||||
// skip wayponts with distance more than 1024 units
|
||||
if (distances > 1248.0f)
|
||||
continue;
|
||||
|
||||
TraceLine (waypoint->GetPath (i)->origin, waypoint->GetPath (posIndex)->origin, true, true, GetEntity (), &tr);
|
||||
TraceLine (waypoint.GetPath (i)->origin, waypoint.GetPath (posIndex)->origin, true, true, GetEntity (), &tr);
|
||||
|
||||
// check if line not hit anything
|
||||
if (tr.flFraction != 1.0)
|
||||
|
|
@ -2192,7 +2192,7 @@ int Bot::FindDefendWaypoint (const Vector &origin)
|
|||
|
||||
for (int i = 0; i < g_numWaypoints; i++)
|
||||
{
|
||||
if ((waypoint->GetPath (i)->origin - origin).GetLength () <= 1248.0f && !IsPointOccupied (i))
|
||||
if ((waypoint.GetPath (i)->origin - origin).GetLength () <= 1248.0f && !IsPointOccupied (i))
|
||||
found.Push (i);
|
||||
}
|
||||
|
||||
|
|
@ -2224,7 +2224,7 @@ int Bot::FindCoverWaypoint (float maxDistance)
|
|||
maxDistance = 300.0;
|
||||
|
||||
int srcIndex = m_currentWaypointIndex;
|
||||
int enemyIndex = waypoint->FindNearest (m_lastEnemyOrigin);
|
||||
int enemyIndex = waypoint.FindNearest (m_lastEnemyOrigin);
|
||||
Array <int> enemyIndices;
|
||||
|
||||
int waypointIndex[MAX_PATH_INDEX];
|
||||
|
|
@ -2242,8 +2242,8 @@ int Bot::FindCoverWaypoint (float maxDistance)
|
|||
// now get enemies neigbouring points
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
if (waypoint->GetPath (enemyIndex)->index[i] != -1)
|
||||
enemyIndices.Push (waypoint->GetPath (enemyIndex)->index[i]);
|
||||
if (waypoint.GetPath (enemyIndex)->index[i] != -1)
|
||||
enemyIndices.Push (waypoint.GetPath (enemyIndex)->index[i]);
|
||||
}
|
||||
|
||||
// ensure we're on valid point
|
||||
|
|
@ -2253,14 +2253,14 @@ int Bot::FindCoverWaypoint (float maxDistance)
|
|||
for (int i = 0; i < g_numWaypoints; i++)
|
||||
{
|
||||
// exclude ladder, current waypoints and waypoints seen by the enemy
|
||||
if ((waypoint->GetPath (i)->flags & FLAG_LADDER) || i == srcIndex || waypoint->IsVisible (enemyIndex, i))
|
||||
if ((waypoint.GetPath (i)->flags & FLAG_LADDER) || i == srcIndex || waypoint.IsVisible (enemyIndex, i))
|
||||
continue;
|
||||
|
||||
bool neighbourVisible = false; // now check neighbour waypoints for visibility
|
||||
|
||||
FOR_EACH_AE (enemyIndices, j)
|
||||
{
|
||||
if (waypoint->IsVisible (enemyIndices[j], i))
|
||||
if (waypoint.IsVisible (enemyIndices[j], i))
|
||||
{
|
||||
neighbourVisible = true;
|
||||
break;
|
||||
|
|
@ -2272,8 +2272,8 @@ int Bot::FindCoverWaypoint (float maxDistance)
|
|||
continue;
|
||||
|
||||
// use the 'real' pathfinding distances
|
||||
int distances = waypoint->GetPathDistance (srcIndex, i);
|
||||
int enemyDistance = waypoint->GetPathDistance (enemyIndex, i);
|
||||
int distances = waypoint.GetPathDistance (srcIndex, i);
|
||||
int enemyDistance = waypoint.GetPathDistance (enemyIndex, i);
|
||||
|
||||
if (distances >= enemyDistance)
|
||||
continue;
|
||||
|
|
@ -2337,7 +2337,7 @@ int Bot::FindCoverWaypoint (float maxDistance)
|
|||
{
|
||||
if (waypointIndex[i] != -1)
|
||||
{
|
||||
TraceLine (m_lastEnemyOrigin + Vector (0, 0, 36), waypoint->GetPath (waypointIndex[i])->origin, true, true, GetEntity (), &tr);
|
||||
TraceLine (m_lastEnemyOrigin + Vector (0, 0, 36), waypoint.GetPath (waypointIndex[i])->origin, true, true, GetEntity (), &tr);
|
||||
|
||||
if (tr.flFraction < 1.0)
|
||||
return waypointIndex[i];
|
||||
|
|
@ -2366,9 +2366,9 @@ bool Bot::GetBestNextWaypoint (void)
|
|||
{
|
||||
int id = m_currentPath->index[i];
|
||||
|
||||
if (id != -1 && waypoint->IsConnected (id, m_navNode->next->index) && waypoint->IsConnected (m_currentWaypointIndex, id))
|
||||
if (id != -1 && waypoint.IsConnected (id, m_navNode->next->index) && waypoint.IsConnected (m_currentWaypointIndex, id))
|
||||
{
|
||||
if (waypoint->GetPath (id)->flags & FLAG_LADDER) // don't use ladder waypoints as alternative
|
||||
if (waypoint.GetPath (id)->flags & FLAG_LADDER) // don't use ladder waypoints as alternative
|
||||
continue;
|
||||
|
||||
if (!IsPointOccupied (id))
|
||||
|
|
@ -2435,7 +2435,7 @@ bool Bot::HeadTowardWaypoint (void)
|
|||
if (m_baseAgressionLevel < kills && HasPrimaryWeapon ())
|
||||
{
|
||||
PushTask (TASK_CAMP, TASKPRI_CAMP, -1, GetWorldTime () + Random.Float (m_difficulty * 0.5, m_difficulty) * 5, true);
|
||||
PushTask (TASK_MOVETOPOSITION, TASKPRI_MOVETOPOSITION, FindDefendWaypoint (waypoint->GetPath (nextIndex)->origin), GetWorldTime () + Random.Float (3.0f, 10.0f), true);
|
||||
PushTask (TASK_MOVETOPOSITION, TASKPRI_MOVETOPOSITION, FindDefendWaypoint (waypoint.GetPath (nextIndex)->origin), GetWorldTime () + Random.Float (3.0f, 10.0f), true);
|
||||
}
|
||||
}
|
||||
else if (g_botsCanPause && !IsOnLadder () && !IsInWater () && !m_currentTravelFlags && IsOnFloor ())
|
||||
|
|
@ -2479,8 +2479,8 @@ bool Bot::HeadTowardWaypoint (void)
|
|||
{
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
Path *path = waypoint->GetPath (m_navNode->index);
|
||||
Path *next = waypoint->GetPath (m_navNode->next->index);
|
||||
Path *path = waypoint.GetPath (m_navNode->index);
|
||||
Path *next = waypoint.GetPath (m_navNode->next->index);
|
||||
|
||||
if (path->index[i] == m_navNode->next->index && (path->connectionFlags[i] & PATHFLAG_JUMP))
|
||||
{
|
||||
|
|
@ -2500,12 +2500,12 @@ bool Bot::HeadTowardWaypoint (void)
|
|||
SelectWeaponByName ("weapon_knife"); // draw out the knife if we needed
|
||||
|
||||
// bot not already on ladder but will be soon?
|
||||
if ((waypoint->GetPath (destIndex)->flags & FLAG_LADDER) && !IsOnLadder ())
|
||||
if ((waypoint.GetPath (destIndex)->flags & FLAG_LADDER) && !IsOnLadder ())
|
||||
{
|
||||
// get ladder waypoints used by other (first moving) bots
|
||||
for (int c = 0; c < GetMaxClients (); c++)
|
||||
{
|
||||
Bot *otherBot = botMgr->GetBot (c);
|
||||
Bot *otherBot = botMgr.GetBot (c);
|
||||
|
||||
// if another bot uses this ladder, wait 3 secs
|
||||
if (otherBot != NULL && otherBot != this && IsAlive (otherBot->GetEntity ()) && otherBot->m_currentWaypointIndex == m_navNode->index)
|
||||
|
|
@ -3112,10 +3112,10 @@ int Bot::GetAimingWaypoint (void)
|
|||
|
||||
for (int i = 0; i < g_numWaypoints; i++)
|
||||
{
|
||||
if (currentWaypoint == i || !waypoint->IsVisible (currentWaypoint, i))
|
||||
if (currentWaypoint == i || !waypoint.IsVisible (currentWaypoint, i))
|
||||
continue;
|
||||
|
||||
Path *path = waypoint->GetPath (i);
|
||||
Path *path = waypoint.GetPath (i);
|
||||
|
||||
if (count < 3)
|
||||
{
|
||||
|
|
@ -3257,7 +3257,7 @@ int Bot::FindPlantedBomb (void)
|
|||
{
|
||||
if (strcmp (STRING (bombEntity->v.model) + 9, "c4.mdl") == 0)
|
||||
{
|
||||
int nearestIndex = waypoint->FindNearest (GetEntityOrigin (bombEntity));
|
||||
int nearestIndex = waypoint.FindNearest (GetEntityOrigin (bombEntity));
|
||||
|
||||
if (nearestIndex >= 0 && nearestIndex < g_numWaypoints)
|
||||
return nearestIndex;
|
||||
|
|
@ -3276,7 +3276,7 @@ bool Bot::IsPointOccupied (int index)
|
|||
// first check if current waypoint of one of the bots is index waypoint
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
if (bot == NULL || bot == this)
|
||||
continue;
|
||||
|
|
@ -3287,7 +3287,7 @@ bool Bot::IsPointOccupied (int index)
|
|||
int occupyId = GetShootingConeDeviation (bot->GetEntity (), &pev->origin) >= 0.7f ? bot->m_prevWptIndex[0] : m_currentWaypointIndex;
|
||||
|
||||
// length check
|
||||
float length = (waypoint->GetPath (occupyId)->origin - waypoint->GetPath (index)->origin).GetLengthSquared ();
|
||||
float length = (waypoint.GetPath (occupyId)->origin - waypoint.GetPath (index)->origin).GetLengthSquared ();
|
||||
|
||||
if (occupyId == index || bot->GetTask ()->data == index || length < GET_SQUARE (64.0f))
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -255,7 +255,7 @@ void NetworkMsg::Execute (void *p)
|
|||
break;
|
||||
|
||||
case 2:
|
||||
botMgr->SetDeathMsgState (true);
|
||||
botMgr.SetDeathMsgState (true);
|
||||
|
||||
if (killerIndex != 0 && killerIndex != victimIndex)
|
||||
{
|
||||
|
|
@ -270,7 +270,7 @@ void NetworkMsg::Execute (void *p)
|
|||
// need to send congrats on well placed shot
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
if (bot != NULL && IsAlive (bot->GetEntity ()) && killer != bot->GetEntity () && bot->EntityIsVisible (victim->v.origin) && GetTeam (killer) == GetTeam (bot->GetEntity ()) && GetTeam (killer) != GetTeam (victim))
|
||||
{
|
||||
|
|
@ -287,7 +287,7 @@ void NetworkMsg::Execute (void *p)
|
|||
// notice nearby to victim teammates, that attacker is near
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
if (bot != NULL && IsAlive (bot->GetEntity ()) && GetTeam (bot->GetEntity ()) == GetTeam (victim) && IsVisible (killer->v.origin, bot->GetEntity ()) && IsEntityNull (bot->m_enemy) && GetTeam (killer) != GetTeam (victim))
|
||||
{
|
||||
|
|
@ -299,7 +299,7 @@ void NetworkMsg::Execute (void *p)
|
|||
}
|
||||
}
|
||||
|
||||
Bot *bot = botMgr->GetBot (killer);
|
||||
Bot *bot = botMgr.GetBot (killer);
|
||||
|
||||
// is this message about a bot who killed somebody?
|
||||
if (bot != NULL)
|
||||
|
|
@ -307,7 +307,7 @@ void NetworkMsg::Execute (void *p)
|
|||
|
||||
else // did a human kill a bot on his team?
|
||||
{
|
||||
Bot *target = botMgr->GetBot (victim);
|
||||
Bot *target = botMgr.GetBot (victim);
|
||||
|
||||
if (target != NULL)
|
||||
{
|
||||
|
|
@ -393,11 +393,11 @@ void NetworkMsg::Execute (void *p)
|
|||
|
||||
if (FStrEq (PTR_TO_STR (p), "#CTs_Win"))
|
||||
{
|
||||
botMgr->SetLastWinner (TEAM_CF); // update last winner for economics
|
||||
botMgr.SetLastWinner (TEAM_CF); // update last winner for economics
|
||||
|
||||
if (yb_communication_type.GetInt () == 2)
|
||||
{
|
||||
Bot *bot = botMgr->FindOneValidAliveBot ();
|
||||
Bot *bot = botMgr.FindOneValidAliveBot ();
|
||||
|
||||
if (bot != NULL && IsAlive (bot->GetEntity ()))
|
||||
bot->HandleChatterMessage (PTR_TO_STR (p));
|
||||
|
|
@ -406,23 +406,23 @@ void NetworkMsg::Execute (void *p)
|
|||
|
||||
if (FStrEq (PTR_TO_STR (p), "#Game_will_restart_in"))
|
||||
{
|
||||
botMgr->CheckTeamEconomics (TEAM_CF, true);
|
||||
botMgr->CheckTeamEconomics (TEAM_TF, true);
|
||||
botMgr.CheckTeamEconomics (TEAM_CF, true);
|
||||
botMgr.CheckTeamEconomics (TEAM_TF, true);
|
||||
}
|
||||
|
||||
if (FStrEq (PTR_TO_STR (p), "#Terrorists_Win"))
|
||||
{
|
||||
botMgr->SetLastWinner (TEAM_TF); // update last winner for economics
|
||||
botMgr.SetLastWinner (TEAM_TF); // update last winner for economics
|
||||
|
||||
if (yb_communication_type.GetInt () == 2)
|
||||
{
|
||||
Bot *bot = botMgr->FindOneValidAliveBot ();
|
||||
Bot *bot = botMgr.FindOneValidAliveBot ();
|
||||
|
||||
if (bot != NULL && IsAlive (bot->GetEntity ()))
|
||||
bot->HandleChatterMessage (PTR_TO_STR (p));
|
||||
}
|
||||
}
|
||||
waypoint->SetBombPosition (true);
|
||||
waypoint.SetBombPosition (true);
|
||||
}
|
||||
else if (!g_bombPlanted && FStrEq (PTR_TO_STR (p), "#Bomb_Planted"))
|
||||
{
|
||||
|
|
@ -431,7 +431,7 @@ void NetworkMsg::Execute (void *p)
|
|||
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
Bot *bot = botMgr.GetBot (i);
|
||||
|
||||
if (bot != NULL && IsAlive (bot->GetEntity ()))
|
||||
{
|
||||
|
|
@ -442,7 +442,7 @@ void NetworkMsg::Execute (void *p)
|
|||
bot->ChatterMessage (Chatter_WhereIsTheBomb);
|
||||
}
|
||||
}
|
||||
waypoint->SetBombPosition ();
|
||||
waypoint.SetBombPosition ();
|
||||
}
|
||||
else if (m_bot != NULL && FStrEq (PTR_TO_STR (p), "#Switch_To_BurstFire"))
|
||||
m_bot->m_weaponBurstMode = BM_ON;
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ void DisplayMenuToClient (edict_t *ent, MenuText *menu)
|
|||
String tempText = String (menu->menuText);
|
||||
tempText.Replace ("\v", "\n");
|
||||
|
||||
char *text = locale->TranslateInput (tempText.GetBuffer ());
|
||||
char *text = locale.TranslateInput (tempText.GetBuffer ());
|
||||
tempText = String (text);
|
||||
|
||||
// make menu looks best
|
||||
|
|
@ -173,7 +173,7 @@ void DisplayMenuToClient (edict_t *ent, MenuText *menu)
|
|||
|
||||
while (strlen (text) >= 64)
|
||||
{
|
||||
MESSAGE_BEGIN (MSG_ONE_UNRELIABLE, netmsg->GetId (NETMSG_SHOWMENU), NULL, ent);
|
||||
MESSAGE_BEGIN (MSG_ONE_UNRELIABLE, netmsg.GetId (NETMSG_SHOWMENU), NULL, ent);
|
||||
WRITE_SHORT (menu->validSlots);
|
||||
WRITE_CHAR (-1);
|
||||
WRITE_BYTE (1);
|
||||
|
|
@ -186,7 +186,7 @@ void DisplayMenuToClient (edict_t *ent, MenuText *menu)
|
|||
text += 64;
|
||||
}
|
||||
|
||||
MESSAGE_BEGIN (MSG_ONE_UNRELIABLE, netmsg->GetId (NETMSG_SHOWMENU), NULL, ent);
|
||||
MESSAGE_BEGIN (MSG_ONE_UNRELIABLE, netmsg.GetId (NETMSG_SHOWMENU), NULL, ent);
|
||||
WRITE_SHORT (menu->validSlots);
|
||||
WRITE_CHAR (-1);
|
||||
WRITE_BYTE (0);
|
||||
|
|
@ -197,7 +197,7 @@ void DisplayMenuToClient (edict_t *ent, MenuText *menu)
|
|||
}
|
||||
else
|
||||
{
|
||||
MESSAGE_BEGIN (MSG_ONE_UNRELIABLE, netmsg->GetId (NETMSG_SHOWMENU), NULL, ent);
|
||||
MESSAGE_BEGIN (MSG_ONE_UNRELIABLE, netmsg.GetId (NETMSG_SHOWMENU), NULL, ent);
|
||||
WRITE_SHORT (0);
|
||||
WRITE_CHAR (0);
|
||||
WRITE_BYTE (0);
|
||||
|
|
@ -287,15 +287,8 @@ void DecalTrace (entvars_t *pev, TraceResult *trace, int logotypeIndex)
|
|||
void FreeLibraryMemory (void)
|
||||
{
|
||||
// this function free's all allocated memory
|
||||
waypoint->Init (); // frees waypoint data
|
||||
|
||||
FOR_EACH_AE (locale->m_langTab, it)
|
||||
{
|
||||
delete[] locale->m_langTab[it].original;
|
||||
delete[] locale->m_langTab[it].translated;
|
||||
}
|
||||
locale->m_langTab.RemoveAll ();
|
||||
|
||||
waypoint.Init (); // frees waypoint data
|
||||
locale.Destroy (); // clear language
|
||||
|
||||
delete [] g_experienceData;
|
||||
g_experienceData = NULL;
|
||||
|
|
@ -738,18 +731,18 @@ void RoundInit (void)
|
|||
g_roundEnded = false;
|
||||
|
||||
// check team economics
|
||||
botMgr->CheckTeamEconomics (TEAM_TF);
|
||||
botMgr->CheckTeamEconomics (TEAM_CF);
|
||||
botMgr.CheckTeamEconomics (TEAM_TF);
|
||||
botMgr.CheckTeamEconomics (TEAM_CF);
|
||||
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
if (botMgr->GetBot (i))
|
||||
botMgr->GetBot (i)->NewRound ();
|
||||
if (botMgr.GetBot (i))
|
||||
botMgr.GetBot (i)->NewRound ();
|
||||
|
||||
g_radioSelect[i] = 0;
|
||||
}
|
||||
waypoint->SetBombPosition (true);
|
||||
waypoint->ClearGoalScore ();
|
||||
waypoint.SetBombPosition (true);
|
||||
waypoint.ClearGoalScore ();
|
||||
|
||||
g_bombSayString = false;
|
||||
g_timeBombPlanted = 0.0;
|
||||
|
|
@ -798,7 +791,7 @@ bool IsValidPlayer (edict_t *ent)
|
|||
if (ent->v.flags & FL_PROXY)
|
||||
return false;
|
||||
|
||||
if ((ent->v.flags & (FL_CLIENT | FL_FAKECLIENT)) || botMgr->GetBot (ent) != NULL)
|
||||
if ((ent->v.flags & (FL_CLIENT | FL_FAKECLIENT)) || botMgr.GetBot (ent) != NULL)
|
||||
return !IsNullString (STRING (ent->v.netname));
|
||||
|
||||
return false;
|
||||
|
|
@ -817,7 +810,7 @@ bool IsPlayerVIP (edict_t *ent)
|
|||
|
||||
bool IsValidBot (edict_t *ent)
|
||||
{
|
||||
if (botMgr->GetBot (ent) != NULL || (!IsEntityNull (ent) && (ent->v.flags & FL_FAKECLIENT)))
|
||||
if (botMgr.GetBot (ent) != NULL || (!IsEntityNull (ent) && (ent->v.flags & FL_FAKECLIENT)))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
|
@ -836,7 +829,7 @@ void ServerPrint (const char *format, ...)
|
|||
char string[3072];
|
||||
|
||||
va_start (ap, format);
|
||||
vsprintf (string, locale->TranslateInput (format), ap);
|
||||
vsprintf (string, locale.TranslateInput (format), ap);
|
||||
va_end (ap);
|
||||
|
||||
SERVER_PRINT (string);
|
||||
|
|
@ -849,7 +842,7 @@ void CenterPrint (const char *format, ...)
|
|||
char string[2048];
|
||||
|
||||
va_start (ap, format);
|
||||
vsprintf (string, locale->TranslateInput (format), ap);
|
||||
vsprintf (string, locale.TranslateInput (format), ap);
|
||||
va_end (ap);
|
||||
|
||||
if (IsDedicatedServer ())
|
||||
|
|
@ -858,7 +851,7 @@ void CenterPrint (const char *format, ...)
|
|||
return;
|
||||
}
|
||||
|
||||
MESSAGE_BEGIN (MSG_BROADCAST, netmsg->GetId (NETMSG_TEXTMSG));
|
||||
MESSAGE_BEGIN (MSG_BROADCAST, netmsg.GetId (NETMSG_TEXTMSG));
|
||||
WRITE_BYTE (HUD_PRINTCENTER);
|
||||
WRITE_STRING (FormatBuffer ("%s\n", string));
|
||||
MESSAGE_END ();
|
||||
|
|
@ -870,7 +863,7 @@ void ChartPrint (const char *format, ...)
|
|||
char string[2048];
|
||||
|
||||
va_start (ap, format);
|
||||
vsprintf (string, locale->TranslateInput (format), ap);
|
||||
vsprintf (string, locale.TranslateInput (format), ap);
|
||||
va_end (ap);
|
||||
|
||||
if (IsDedicatedServer ())
|
||||
|
|
@ -880,7 +873,7 @@ void ChartPrint (const char *format, ...)
|
|||
}
|
||||
strcat (string, "\n");
|
||||
|
||||
MESSAGE_BEGIN (MSG_BROADCAST, netmsg->GetId (NETMSG_TEXTMSG));
|
||||
MESSAGE_BEGIN (MSG_BROADCAST, netmsg.GetId (NETMSG_TEXTMSG));
|
||||
WRITE_BYTE (HUD_PRINTTALK);
|
||||
WRITE_STRING (string);
|
||||
MESSAGE_END ();
|
||||
|
|
@ -893,7 +886,7 @@ void ClientPrint (edict_t *ent, int dest, const char *format, ...)
|
|||
char string[2048];
|
||||
|
||||
va_start (ap, format);
|
||||
vsprintf (string, locale->TranslateInput (format), ap);
|
||||
vsprintf (string, locale.TranslateInput (format), ap);
|
||||
va_end (ap);
|
||||
|
||||
if (IsEntityNull (ent) || ent == g_hostEntity)
|
||||
|
|
@ -1037,7 +1030,7 @@ void CheckWelcomeMessage (void)
|
|||
WRITE_SHORT (FixedUnsigned16 (2, 1 << 8));
|
||||
WRITE_SHORT (FixedUnsigned16 (6, 1 << 8));
|
||||
WRITE_SHORT (FixedUnsigned16 (0.1, 1 << 8));
|
||||
WRITE_STRING (FormatBuffer ("\nServer is running YaPB v%s (Build: %u)\nDeveloped by %s\n\n%s", PRODUCT_VERSION, GenerateBuildNumber (), PRODUCT_AUTHOR, waypoint->GetInfo ()));
|
||||
WRITE_STRING (FormatBuffer ("\nServer is running YaPB v%s (Build: %u)\nDeveloped by %s\n\n%s", PRODUCT_VERSION, GenerateBuildNumber (), PRODUCT_AUTHOR, waypoint.GetInfo ()));
|
||||
MESSAGE_END ();
|
||||
|
||||
receiveTime = 0.0;
|
||||
|
|
@ -1113,7 +1106,7 @@ void AddLogEntry (bool outputToConsole, int logLevel, const char *format, ...)
|
|||
char buffer[512] = {0, }, levelString[32] = {0, }, logLine[1024] = {0, };
|
||||
|
||||
va_start (ap, format);
|
||||
vsprintf (buffer, locale->TranslateInput (format), ap);
|
||||
vsprintf (buffer, locale.TranslateInput (format), ap);
|
||||
va_end (ap);
|
||||
|
||||
switch (logLevel)
|
||||
|
|
@ -1217,6 +1210,17 @@ char *Localizer::TranslateInput (const char *input)
|
|||
return const_cast <char *> (&input[0]); // nothing found
|
||||
}
|
||||
|
||||
void Localizer::Destroy (void)
|
||||
{
|
||||
FOR_EACH_AE (m_langTab, it)
|
||||
{
|
||||
delete[] m_langTab[it].original;
|
||||
delete[] m_langTab[it].translated;
|
||||
}
|
||||
m_langTab.RemoveAll ();
|
||||
}
|
||||
|
||||
|
||||
bool FindNearestPlayer (void **pvHolder, edict_t *to, float searchDistance, bool sameTeam, bool needBot, bool isAlive, bool needDrawn)
|
||||
{
|
||||
// this function finds nearest to to, player with set of parameters, like his
|
||||
|
|
@ -1252,7 +1256,7 @@ bool FindNearestPlayer (void **pvHolder, edict_t *to, float searchDistance, bool
|
|||
|
||||
// fill the holder
|
||||
if (needBot)
|
||||
*pvHolder = reinterpret_cast <void *> (botMgr->GetBot (survive));
|
||||
*pvHolder = reinterpret_cast <void *> (botMgr.GetBot (survive));
|
||||
else
|
||||
*pvHolder = reinterpret_cast <void *> (survive);
|
||||
|
||||
|
|
|
|||
|
|
@ -174,8 +174,8 @@ void Waypoint::Add (int flags, const Vector &waypointOrigin)
|
|||
if (waypointOrigin == nullvec)
|
||||
newOrigin = g_hostEntity->v.origin;
|
||||
|
||||
if (botMgr->GetBotsNum () > 0)
|
||||
botMgr->RemoveAll ();
|
||||
if (botMgr.GetBotsNum () > 0)
|
||||
botMgr.RemoveAll ();
|
||||
|
||||
g_waypointsChanged = true;
|
||||
|
||||
|
|
@ -459,8 +459,8 @@ void Waypoint::Delete (void)
|
|||
if (g_numWaypoints < 1)
|
||||
return;
|
||||
|
||||
if (botMgr->GetBotsNum () > 0)
|
||||
botMgr->RemoveAll ();
|
||||
if (botMgr.GetBotsNum () > 0)
|
||||
botMgr.RemoveAll ();
|
||||
|
||||
int index = FindNearest (g_hostEntity->v.origin, 50.0);
|
||||
|
||||
|
|
@ -1210,7 +1210,7 @@ bool Waypoint::Load (void)
|
|||
InitVisibilityTab ();
|
||||
InitExperienceTab ();
|
||||
|
||||
botMgr->InitQuota ();
|
||||
botMgr.InitQuota ();
|
||||
|
||||
extern ConVar yb_debug_goal;
|
||||
yb_debug_goal.SetInt (-1);
|
||||
|
|
@ -2658,7 +2658,7 @@ WaypointDownloadError WaypointDownloader::DoDownload (void)
|
|||
recvPosition++;
|
||||
}
|
||||
|
||||
File fp (waypoint->CheckSubfolderFile (), "wb");
|
||||
File fp (waypoint.CheckSubfolderFile (), "wb");
|
||||
|
||||
if (!fp.IsValid ())
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue