some refactoring
This commit is contained in:
parent
c445d07c2b
commit
36c549a0ce
9 changed files with 1987 additions and 1856 deletions
|
|
@ -962,6 +962,28 @@ private:
|
|||
bool CanJumpUp (const Vector &normal);
|
||||
bool CantMoveForward (const Vector &normal, TraceResult *tr);
|
||||
|
||||
// split RunTask into RunTask_* functions
|
||||
void RunTask_Normal (void);
|
||||
void RunTask_Spray (void);
|
||||
void RunTask_HuntEnemy (void);
|
||||
void RunTask_SeekCover (void);
|
||||
void RunTask_Attack (void);
|
||||
void RunTask_Pause (void);
|
||||
void RunTask_Blinded (void);
|
||||
void RunTask_Camp (void);
|
||||
void RunTask_Hide (void);
|
||||
void RunTask_MoveToPos (void);
|
||||
void RunTask_PlantBomb (void);
|
||||
void RunTask_DefuseBomb (void);
|
||||
void RunTask_FollowUser (void);
|
||||
void RunTask_Throw_HE (void);
|
||||
void RunTask_Throw_FL (void);
|
||||
void RunTask_Throw_SG (void);
|
||||
void RunTask_DoubleJump (void);
|
||||
void RunTask_EscapeFromBomb (void);
|
||||
void RunTask_PickupItem (void);
|
||||
void RunTask_ShootBreakable (void);
|
||||
|
||||
#ifdef DEAD_CODE
|
||||
bool CanStrafeRight (TraceResult *tr);
|
||||
bool CanStrafeLeft (TraceResult *tr);
|
||||
|
|
@ -1035,6 +1057,7 @@ private:
|
|||
bool ReactOnEnemy (void);
|
||||
void ResetCollideState (void);
|
||||
void SetConditions (void);
|
||||
void UpdateEmotions (void);
|
||||
void SetStrafeSpeed (const Vector &moveDir, float strafeSpeed);
|
||||
void StartGame (void);
|
||||
void TaskComplete (void);
|
||||
|
|
@ -1140,7 +1163,6 @@ public:
|
|||
bool m_canChooseAimDirection; // can choose aiming direction
|
||||
float m_turnAwayFromFlashbang; // bot turned away from flashbang
|
||||
|
||||
float m_breakableCheckTime;
|
||||
float m_blindTime; // time when bot is blinded
|
||||
float m_blindMoveSpeed; // mad speeds when bot is blind
|
||||
float m_blindSidemoveSpeed; // mad side move speeds when bot is blind
|
||||
|
|
@ -1233,7 +1255,9 @@ public:
|
|||
void RemoveCertainTask (TaskID id);
|
||||
void PushTask (TaskID id, float desire, int data, float time, bool canContinue);
|
||||
|
||||
void ApplyTaskFilters (void);
|
||||
void ResetTasks (void);
|
||||
|
||||
TaskItem *GetTask (void);
|
||||
inline TaskID GetTaskId (void) { return GetTask ()->id; };
|
||||
|
||||
|
|
@ -1563,11 +1587,13 @@ public:
|
|||
void PushRegisteredConVarsToEngine (bool gameVars = false);
|
||||
};
|
||||
|
||||
#define g_netMsg NetworkMsg::GetObject ()
|
||||
#define g_botManager BotManager::GetObject ()
|
||||
#define g_localizer Localizer::GetObject ()
|
||||
#define g_convarWrapper ConVarWrapper::GetObject ()
|
||||
#define g_waypoint Waypoint::GetObject ()
|
||||
|
||||
// expose bot globals
|
||||
#define netmsg NetworkMsg::GetObject ()
|
||||
#define locale Localizer::GetObject ()
|
||||
#define convars ConVarWrapper::GetObject ()
|
||||
#define waypoint Waypoint::GetObject ()
|
||||
#define botMgr BotManager::GetObject ()
|
||||
|
||||
// simplify access for console variables
|
||||
class ConVar
|
||||
|
|
@ -1580,7 +1606,7 @@ public:
|
|||
{
|
||||
m_eptr = NULL;
|
||||
|
||||
g_convarWrapper->RegisterVariable (name, initval, type, this);
|
||||
convars->RegisterVariable (name, initval, type, this);
|
||||
}
|
||||
|
||||
inline bool GetBool(void)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -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 = g_botManager->GetBot (g_clients[j].ent);
|
||||
Bot *friendBot = botMgr->GetBot (g_clients[j].ent);
|
||||
|
||||
if (friendBot != NULL)
|
||||
{
|
||||
|
|
@ -1211,7 +1211,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) && g_waypoint->IsDuckVisible (m_currentWaypointIndex, g_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)
|
||||
g_botManager->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)
|
||||
g_botManager->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)
|
||||
g_botManager->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)
|
||||
g_botManager->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)
|
||||
g_botManager->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)
|
||||
g_botManager->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)
|
||||
g_botManager->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)
|
||||
g_botManager->KillAll (TEAM_CF);
|
||||
botMgr->KillAll (TEAM_CF);
|
||||
|
||||
// list all bots playeing on the server
|
||||
else if (stricmp (arg0, "listbots") == 0 || stricmp (arg0, "list") == 0)
|
||||
g_botManager->ListBots ();
|
||||
botMgr->ListBots ();
|
||||
|
||||
// kick off all bots from the played server
|
||||
else if (stricmp (arg0, "kickbots") == 0 || stricmp (arg0, "kickall") == 0)
|
||||
g_botManager->RemoveAll ();
|
||||
botMgr->RemoveAll ();
|
||||
|
||||
// kill all bots on the played server
|
||||
else if (stricmp (arg0, "killbots") == 0 || stricmp (arg0, "killall") == 0)
|
||||
g_botManager->KillAll ();
|
||||
botMgr->KillAll ();
|
||||
|
||||
// kick off one random bot from the played server
|
||||
else if (stricmp (arg0, "kickone") == 0 || stricmp (arg0, "kick") == 0)
|
||||
g_botManager->RemoveRandom ();
|
||||
botMgr->RemoveRandom ();
|
||||
|
||||
// fill played server with bots
|
||||
else if (stricmp (arg0, "fillserver") == 0 || stricmp (arg0, "fill") == 0)
|
||||
g_botManager->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)
|
||||
g_botManager->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 (g_botManager->GetBot (i) != NULL)
|
||||
g_botManager->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)
|
||||
g_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)
|
||||
{
|
||||
g_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
|
||||
g_waypoint->Delete ();
|
||||
waypoint->Delete ();
|
||||
}
|
||||
|
||||
// save waypoint data into file on hard disk
|
||||
else if (stricmp (arg1, "save") == 0)
|
||||
{
|
||||
char *waypointSaveMessage = g_localizer->TranslateInput ("Waypoints Saved");
|
||||
char *waypointSaveMessage = locale->TranslateInput ("Waypoints Saved");
|
||||
|
||||
if (FStrEq (arg2, "nocheck"))
|
||||
{
|
||||
g_waypoint->Save ();
|
||||
waypoint->Save ();
|
||||
ServerPrint (waypointSaveMessage);
|
||||
}
|
||||
else if (g_waypoint->NodesValid ())
|
||||
else if (waypoint->NodesValid ())
|
||||
{
|
||||
g_waypoint->Save ();
|
||||
waypoint->Save ();
|
||||
ServerPrint (waypointSaveMessage);
|
||||
}
|
||||
}
|
||||
|
||||
// remove waypoint and all corresponding files from hard disk
|
||||
else if (stricmp (arg1, "erase") == 0)
|
||||
g_waypoint->EraseFromHardDisk ();
|
||||
waypoint->EraseFromHardDisk ();
|
||||
|
||||
// load all waypoints again (overrides all changes, that wasn't saved)
|
||||
else if (stricmp (arg1, "load") == 0)
|
||||
{
|
||||
if (g_waypoint->Load ())
|
||||
if (waypoint->Load ())
|
||||
ServerPrint ("Waypoints loaded");
|
||||
}
|
||||
|
||||
// check all nodes for validation
|
||||
else if (stricmp (arg1, "check") == 0)
|
||||
{
|
||||
if (g_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)
|
||||
g_waypoint->SetRadius (atoi (arg2));
|
||||
waypoint->SetRadius (atoi (arg2));
|
||||
|
||||
// remembers nearest waypoint
|
||||
else if (stricmp (arg1, "cache") == 0)
|
||||
g_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 = g_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)
|
||||
g_waypoint->CreatePath (CONNECTION_INCOMING);
|
||||
waypoint->CreatePath (CONNECTION_INCOMING);
|
||||
|
||||
// creates outgoing path from current waypoint
|
||||
else if (stricmp (arg1, "create_out") == 0)
|
||||
g_waypoint->CreatePath (CONNECTION_OUTGOING);
|
||||
waypoint->CreatePath (CONNECTION_OUTGOING);
|
||||
|
||||
// creates bidirectional path from cahed to current waypoint
|
||||
else if (stricmp (arg1, "create_both") == 0)
|
||||
g_waypoint->CreatePath (CONNECTION_BOTHWAYS);
|
||||
waypoint->CreatePath (CONNECTION_BOTHWAYS);
|
||||
|
||||
// delete special path
|
||||
else if (stricmp (arg1, "delete") == 0)
|
||||
g_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)
|
||||
{
|
||||
g_waypoint->SaveExperienceTab ();
|
||||
g_waypoint->SaveVisibilityTab ();
|
||||
waypoint->SaveExperienceTab ();
|
||||
waypoint->SaveVisibilityTab ();
|
||||
|
||||
ServerPrint ("Experience tab saved");
|
||||
}
|
||||
|
|
@ -840,7 +840,7 @@ void InitConfig (void)
|
|||
}
|
||||
|
||||
if (!IsNullString (temp.translated) && !IsNullString (temp.original))
|
||||
g_localizer->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 = g_botManager->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
|
||||
|
||||
g_convarWrapper->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)
|
||||
g_botManager->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)
|
||||
{
|
||||
g_botManager->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 = g_botManager->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 ();
|
||||
|
||||
g_botManager->Free (i);
|
||||
botMgr->Free (i);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1220,15 +1220,15 @@ void ClientCommand (edict_t *ent)
|
|||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
g_waypoint->Add (selection - 1);
|
||||
waypoint->Add (selection - 1);
|
||||
break;
|
||||
|
||||
case 8:
|
||||
g_waypoint->Add (100);
|
||||
waypoint->Add (100);
|
||||
break;
|
||||
|
||||
case 9:
|
||||
g_waypoint->SetLearnJumpWaypoint ();
|
||||
waypoint->SetLearnJumpWaypoint ();
|
||||
break;
|
||||
|
||||
case 10:
|
||||
|
|
@ -1247,23 +1247,23 @@ void ClientCommand (edict_t *ent)
|
|||
switch (selection)
|
||||
{
|
||||
case 1:
|
||||
g_waypoint->ToggleFlags (FLAG_NOHOSTAGE);
|
||||
waypoint->ToggleFlags (FLAG_NOHOSTAGE);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
g_waypoint->ToggleFlags (FLAG_TF_ONLY);
|
||||
waypoint->ToggleFlags (FLAG_TF_ONLY);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
g_waypoint->ToggleFlags (FLAG_CF_ONLY);
|
||||
waypoint->ToggleFlags (FLAG_CF_ONLY);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
g_waypoint->ToggleFlags (FLAG_LIFT);
|
||||
waypoint->ToggleFlags (FLAG_LIFT);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
g_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;
|
||||
g_waypoint->CacheWaypoint ();
|
||||
waypoint->CacheWaypoint ();
|
||||
break;
|
||||
|
||||
case 3:
|
||||
|
|
@ -1296,7 +1296,7 @@ void ClientCommand (edict_t *ent)
|
|||
|
||||
case 4:
|
||||
g_waypointOn = true;
|
||||
g_waypoint->DeletePath ();
|
||||
waypoint->DeletePath ();
|
||||
break;
|
||||
|
||||
case 5:
|
||||
|
|
@ -1306,7 +1306,7 @@ void ClientCommand (edict_t *ent)
|
|||
|
||||
case 6:
|
||||
g_waypointOn = true;
|
||||
g_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 = g_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 (g_waypoint->NodesValid ())
|
||||
g_waypoint->Save ();
|
||||
if (waypoint->NodesValid ())
|
||||
waypoint->Save ();
|
||||
else
|
||||
CenterPrint ("Waypoint not saved\nThere are errors, see console");
|
||||
break;
|
||||
|
||||
case 5:
|
||||
g_waypoint->Save ();
|
||||
waypoint->Save ();
|
||||
break;
|
||||
|
||||
case 6:
|
||||
g_waypoint->Load ();
|
||||
waypoint->Load ();
|
||||
break;
|
||||
|
||||
case 7:
|
||||
if (g_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))
|
||||
g_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:
|
||||
g_botManager->KillAll ();
|
||||
botMgr->KillAll ();
|
||||
break;
|
||||
|
||||
case 10:
|
||||
|
|
@ -1485,7 +1485,7 @@ void ClientCommand (edict_t *ent)
|
|||
switch (selection)
|
||||
{
|
||||
case 1:
|
||||
g_botManager->AddRandom ();
|
||||
botMgr->AddRandom ();
|
||||
break;
|
||||
|
||||
case 2:
|
||||
|
|
@ -1493,15 +1493,15 @@ void ClientCommand (edict_t *ent)
|
|||
break;
|
||||
|
||||
case 3:
|
||||
g_botManager->RemoveRandom ();
|
||||
botMgr->RemoveRandom ();
|
||||
break;
|
||||
|
||||
case 4:
|
||||
g_botManager->RemoveAll ();
|
||||
botMgr->RemoveAll ();
|
||||
break;
|
||||
|
||||
case 5:
|
||||
g_botManager->RemoveMenu (ent, 1);
|
||||
botMgr->RemoveMenu (ent, 1);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
|
|
@ -1628,15 +1628,15 @@ void ClientCommand (edict_t *ent)
|
|||
switch (selection)
|
||||
{
|
||||
case 1:
|
||||
g_waypoint->CreatePath (CONNECTION_OUTGOING);
|
||||
waypoint->CreatePath (CONNECTION_OUTGOING);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
g_waypoint->CreatePath (CONNECTION_INCOMING);
|
||||
waypoint->CreatePath (CONNECTION_INCOMING);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
g_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:
|
||||
g_botManager->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;
|
||||
g_botManager->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;
|
||||
g_botManager->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:
|
||||
g_botManager->SetWeaponMode (selection);
|
||||
botMgr->SetWeaponMode (selection);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
|
|
@ -1856,11 +1856,11 @@ void ClientCommand (edict_t *ent)
|
|||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
g_botManager->GetBot (selection - 1)->Kick ();
|
||||
botMgr->GetBot (selection - 1)->Kick ();
|
||||
break;
|
||||
|
||||
case 9:
|
||||
g_botManager->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:
|
||||
g_botManager->GetBot (selection + 8 - 1)->Kick ();
|
||||
botMgr->GetBot (selection + 8 - 1)->Kick ();
|
||||
break;
|
||||
|
||||
case 9:
|
||||
g_botManager->RemoveMenu (ent, 3);
|
||||
botMgr->RemoveMenu (ent, 3);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
g_botManager->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:
|
||||
g_botManager->GetBot (selection + 16 - 1)->Kick ();
|
||||
botMgr->GetBot (selection + 16 - 1)->Kick ();
|
||||
break;
|
||||
|
||||
case 9:
|
||||
g_botManager->RemoveMenu (ent, 4);
|
||||
botMgr->RemoveMenu (ent, 4);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
g_botManager->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:
|
||||
g_botManager->GetBot (selection + 24 - 1)->Kick ();
|
||||
botMgr->GetBot (selection + 24 - 1)->Kick ();
|
||||
break;
|
||||
|
||||
case 10:
|
||||
g_botManager->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 = g_botManager->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 = g_botManager->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...
|
||||
g_waypoint->Init ();
|
||||
g_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");
|
||||
}
|
||||
g_botManager->InitQuota ();
|
||||
botMgr->InitQuota ();
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
||||
(*g_functionTable.pfnServerActivate) (pentEdictList, edictCount, clientMax);
|
||||
|
||||
g_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
|
||||
g_waypoint->SaveExperienceTab ();
|
||||
g_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
|
||||
g_botManager->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)
|
||||
g_waypoint->Think ();
|
||||
waypoint->Think ();
|
||||
|
||||
CheckWelcomeMessage ();
|
||||
}
|
||||
g_botManager->SetDeathMsgState (false);
|
||||
botMgr->SetDeathMsgState (false);
|
||||
|
||||
if (g_timePerSecondUpdate < GetWorldTime ())
|
||||
{
|
||||
g_botManager->CalculatePingOffsets ();
|
||||
botMgr->CalculatePingOffsets ();
|
||||
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
|
|
@ -2180,7 +2180,7 @@ void StartFrame (void)
|
|||
}
|
||||
}
|
||||
if (g_bombPlanted)
|
||||
g_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 ())
|
||||
g_botManager->UpdateActiveGrenades ();
|
||||
botMgr->UpdateActiveGrenades ();
|
||||
|
||||
// keep bot number up to date
|
||||
g_botManager->MaintainBotQuota ();
|
||||
botMgr->MaintainBotQuota ();
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2210,7 +2210,7 @@ void StartFrame (void)
|
|||
(*g_functionTable.pfnStartFrame) ();
|
||||
|
||||
// **** AI EXECUTION STARTS ****
|
||||
g_botManager->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 ****
|
||||
g_botManager->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.
|
||||
|
||||
g_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
|
||||
g_waypoint->SaveExperienceTab ();
|
||||
g_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 && g_netMsg->GetId (NETMSG_MONEY) == -1)
|
||||
if (g_isMetamod && netmsg->GetId (NETMSG_MONEY) == -1)
|
||||
{
|
||||
g_netMsg->SetId (NETMSG_VGUI, GET_USER_MSG_ID (PLID, "VGUIMenu", NULL));
|
||||
g_netMsg->SetId (NETMSG_SHOWMENU, GET_USER_MSG_ID (PLID, "ShowMenu", NULL));
|
||||
g_netMsg->SetId (NETMSG_WEAPONLIST, GET_USER_MSG_ID (PLID, "WeaponList", NULL));
|
||||
g_netMsg->SetId (NETMSG_CURWEAPON, GET_USER_MSG_ID (PLID, "CurWeapon", NULL));
|
||||
g_netMsg->SetId (NETMSG_AMMOX, GET_USER_MSG_ID (PLID, "AmmoX", NULL));
|
||||
g_netMsg->SetId (NETMSG_AMMOPICKUP, GET_USER_MSG_ID (PLID, "AmmoPickup", NULL));
|
||||
g_netMsg->SetId (NETMSG_DAMAGE, GET_USER_MSG_ID (PLID, "Damage", NULL));
|
||||
g_netMsg->SetId (NETMSG_MONEY, GET_USER_MSG_ID (PLID, "Money", NULL));
|
||||
g_netMsg->SetId (NETMSG_STATUSICON, GET_USER_MSG_ID (PLID, "StatusIcon", NULL));
|
||||
g_netMsg->SetId (NETMSG_DEATH, GET_USER_MSG_ID (PLID, "DeathMsg", NULL));
|
||||
g_netMsg->SetId (NETMSG_SCREENFADE, GET_USER_MSG_ID (PLID, "ScreenFade", NULL));
|
||||
g_netMsg->SetId (NETMSG_HLTV, GET_USER_MSG_ID (PLID, "HLTV", NULL));
|
||||
g_netMsg->SetId (NETMSG_TEXTMSG, GET_USER_MSG_ID (PLID, "TextMsg", NULL));
|
||||
g_netMsg->SetId (NETMSG_SCOREINFO, GET_USER_MSG_ID (PLID, "ScoreInfo", NULL));
|
||||
g_netMsg->SetId (NETMSG_BARTIME, GET_USER_MSG_ID (PLID, "BarTime", NULL));
|
||||
g_netMsg->SetId (NETMSG_SENDAUDIO, GET_USER_MSG_ID (PLID, "SendAudio", NULL));
|
||||
g_netMsg->SetId (NETMSG_SAYTEXT, GET_USER_MSG_ID (PLID, "SayText", NULL));
|
||||
g_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)
|
||||
g_netMsg->SetId (NETMSG_BOTVOICE, GET_USER_MSG_ID (PLID, "BotVoice", NULL));
|
||||
netmsg->SetId (NETMSG_BOTVOICE, GET_USER_MSG_ID (PLID, "BotVoice", NULL));
|
||||
}
|
||||
g_netMsg->Reset ();
|
||||
netmsg->Reset ();
|
||||
|
||||
if (msgDest == MSG_SPEC && msgType == g_netMsg->GetId (NETMSG_HLTV) && g_gameVersion != CSV_OLD)
|
||||
g_netMsg->SetMessage (NETMSG_HLTV);
|
||||
if (msgDest == MSG_SPEC && msgType == netmsg->GetId (NETMSG_HLTV) && g_gameVersion != CSV_OLD)
|
||||
netmsg->SetMessage (NETMSG_HLTV);
|
||||
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_WEAPONLIST);
|
||||
netmsg->HandleMessageIfRequired (msgType, NETMSG_WEAPONLIST);
|
||||
|
||||
if (!IsEntityNull (ed))
|
||||
{
|
||||
int index = g_botManager->GetIndex (ed);
|
||||
int index = botMgr->GetIndex (ed);
|
||||
|
||||
// is this message for a bot?
|
||||
if (index != -1 && !(ed->v.flags & FL_DORMANT) && g_botManager->GetBot (index)->GetEntity () == ed)
|
||||
if (index != -1 && !(ed->v.flags & FL_DORMANT) && botMgr->GetBot (index)->GetEntity () == ed)
|
||||
{
|
||||
g_netMsg->Reset ();
|
||||
g_netMsg->SetBot (g_botManager->GetBot (index));
|
||||
netmsg->Reset ();
|
||||
netmsg->SetBot (botMgr->GetBot (index));
|
||||
|
||||
// message handling is done in usermsg.cpp
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_VGUI);
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_CURWEAPON);
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_AMMOX);
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_AMMOPICKUP);
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_DAMAGE);
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_MONEY);
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_STATUSICON);
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_SCREENFADE);
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_BARTIME);
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_TEXTMSG);
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_SHOWMENU);
|
||||
g_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)
|
||||
{
|
||||
g_netMsg->Reset ();
|
||||
netmsg->Reset ();
|
||||
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_SCOREINFO);
|
||||
g_netMsg->HandleMessageIfRequired (msgType, NETMSG_DEATH);
|
||||
g_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 = g_botManager->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)
|
||||
{
|
||||
g_netMsg->Reset ();
|
||||
netmsg->Reset ();
|
||||
|
||||
if (g_isMetamod)
|
||||
RETURN_META (MRES_IGNORED);
|
||||
|
|
@ -2448,13 +2448,13 @@ void pfnMessageEnd (void)
|
|||
MESSAGE_END ();
|
||||
|
||||
// send latency fix
|
||||
g_botManager->SendDeathMsgFix ();
|
||||
botMgr->SendDeathMsgFix ();
|
||||
}
|
||||
|
||||
void pfnMessageEnd_Post (void)
|
||||
{
|
||||
// send latency fix
|
||||
g_botManager->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...
|
||||
g_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...
|
||||
g_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...
|
||||
g_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...
|
||||
g_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...
|
||||
g_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...
|
||||
g_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...
|
||||
g_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...
|
||||
g_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 = g_botManager->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)
|
||||
g_netMsg->SetId (NETMSG_VGUI, message);
|
||||
netmsg->SetId (NETMSG_VGUI, message);
|
||||
else if (strcmp (name, "ShowMenu") == 0)
|
||||
g_netMsg->SetId (NETMSG_SHOWMENU, message);
|
||||
netmsg->SetId (NETMSG_SHOWMENU, message);
|
||||
else if (strcmp (name, "WeaponList") == 0)
|
||||
g_netMsg->SetId (NETMSG_WEAPONLIST, message);
|
||||
netmsg->SetId (NETMSG_WEAPONLIST, message);
|
||||
else if (strcmp (name, "CurWeapon") == 0)
|
||||
g_netMsg->SetId (NETMSG_CURWEAPON, message);
|
||||
netmsg->SetId (NETMSG_CURWEAPON, message);
|
||||
else if (strcmp (name, "AmmoX") == 0)
|
||||
g_netMsg->SetId (NETMSG_AMMOX, message);
|
||||
netmsg->SetId (NETMSG_AMMOX, message);
|
||||
else if (strcmp (name, "AmmoPickup") == 0)
|
||||
g_netMsg->SetId (NETMSG_AMMOPICKUP, message);
|
||||
netmsg->SetId (NETMSG_AMMOPICKUP, message);
|
||||
else if (strcmp (name, "Damage") == 0)
|
||||
g_netMsg->SetId (NETMSG_DAMAGE, message);
|
||||
netmsg->SetId (NETMSG_DAMAGE, message);
|
||||
else if (strcmp (name, "Money") == 0)
|
||||
g_netMsg->SetId (NETMSG_MONEY, message);
|
||||
netmsg->SetId (NETMSG_MONEY, message);
|
||||
else if (strcmp (name, "StatusIcon") == 0)
|
||||
g_netMsg->SetId (NETMSG_STATUSICON, message);
|
||||
netmsg->SetId (NETMSG_STATUSICON, message);
|
||||
else if (strcmp (name, "DeathMsg") == 0)
|
||||
g_netMsg->SetId (NETMSG_DEATH, message);
|
||||
netmsg->SetId (NETMSG_DEATH, message);
|
||||
else if (strcmp (name, "ScreenFade") == 0)
|
||||
g_netMsg->SetId (NETMSG_SCREENFADE, message);
|
||||
netmsg->SetId (NETMSG_SCREENFADE, message);
|
||||
else if (strcmp (name, "HLTV") == 0)
|
||||
g_netMsg->SetId (NETMSG_HLTV, message);
|
||||
netmsg->SetId (NETMSG_HLTV, message);
|
||||
else if (strcmp (name, "TextMsg") == 0)
|
||||
g_netMsg->SetId (NETMSG_TEXTMSG, message);
|
||||
netmsg->SetId (NETMSG_TEXTMSG, message);
|
||||
else if (strcmp (name, "ScoreInfo") == 0)
|
||||
g_netMsg->SetId (NETMSG_SCOREINFO, message);
|
||||
netmsg->SetId (NETMSG_SCOREINFO, message);
|
||||
else if (strcmp (name, "BarTime") == 0)
|
||||
g_netMsg->SetId (NETMSG_BARTIME, message);
|
||||
netmsg->SetId (NETMSG_BARTIME, message);
|
||||
else if (strcmp (name, "SendAudio") == 0)
|
||||
g_netMsg->SetId (NETMSG_SENDAUDIO, message);
|
||||
netmsg->SetId (NETMSG_SENDAUDIO, message);
|
||||
else if (strcmp (name, "SayText") == 0)
|
||||
g_netMsg->SetId (NETMSG_SAYTEXT, message);
|
||||
netmsg->SetId (NETMSG_SAYTEXT, message);
|
||||
else if (strcmp (name, "BotVoice") == 0)
|
||||
g_netMsg->SetId (NETMSG_BOTVOICE, message);
|
||||
netmsg->SetId (NETMSG_BOTVOICE, message);
|
||||
else if (strcmp (name, "ResetHUD") == 0)
|
||||
g_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 = g_botManager->GetBot (i);
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
|
||||
if (bot != NULL && GetTeam (bot->GetEntity ()) == TEAM_TF && IsAlive (bot->GetEntity ()))
|
||||
{
|
||||
bot->ResetTasks ();
|
||||
bot->MoveToVector (g_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
|
||||
}
|
||||
|
||||
g_botManager->RemoveAll (); // kick all bots off this server
|
||||
botMgr->RemoveAll (); // kick all bots off this server
|
||||
FreeLibraryMemory ();
|
||||
|
||||
return TRUE;
|
||||
|
|
@ -3056,7 +3056,7 @@ DLL_GIVEFNPTRSTODLL GiveFnptrsToDll (enginefuncs_t *functionTable, globalvars_t
|
|||
FixDirectoryStructure ();
|
||||
|
||||
// register our cvars
|
||||
g_convarWrapper->PushRegisteredConVarsToEngine ();
|
||||
convars->PushRegisteredConVarsToEngine ();
|
||||
|
||||
static struct ModSupport
|
||||
{
|
||||
|
|
|
|||
|
|
@ -650,7 +650,7 @@ Bot *BotManager::GetHighestFragsBot (int team)
|
|||
// search bots in this team
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
highFragBot = g_botManager->GetBot (i);
|
||||
highFragBot = botMgr->GetBot (i);
|
||||
|
||||
if (highFragBot != NULL && IsAlive (highFragBot->GetEntity ()) && GetTeam (highFragBot->GetEntity ()) == team)
|
||||
{
|
||||
|
|
@ -1051,7 +1051,6 @@ void Bot::NewRound (void)
|
|||
m_grenadeCheckTime = 0.0;
|
||||
m_isUsingGrenade = false;
|
||||
|
||||
m_breakableCheckTime = 0.0f;
|
||||
m_blindButton = 0;
|
||||
m_blindTime = 0.0;
|
||||
m_jumpTime = 0.0;
|
||||
|
|
@ -1166,8 +1165,8 @@ void Bot::Kick (void)
|
|||
CenterPrint ("Bot '%s' kicked", STRING (pev->netname));
|
||||
|
||||
// balances quota
|
||||
if (g_botManager->GetBotsNum () - 1 < yb_quota.GetInt ())
|
||||
yb_quota.SetInt (g_botManager->GetBotsNum () - 1);
|
||||
if (botMgr->GetBotsNum () - 1 < yb_quota.GetInt ())
|
||||
yb_quota.SetInt (botMgr->GetBotsNum () - 1);
|
||||
}
|
||||
|
||||
void Bot::StartGame (void)
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ int Bot::FindGoal (void)
|
|||
{
|
||||
if (strcmp (STRING (pent->v.model), "models/w_backpack.mdl") == 0)
|
||||
{
|
||||
int index = g_waypoint->FindNearest (GetEntityOrigin (pent));
|
||||
int index = waypoint->FindNearest (GetEntityOrigin (pent));
|
||||
|
||||
if (index >= 0 && index < g_numWaypoints)
|
||||
return m_loosedBombWptIndex = index;
|
||||
|
|
@ -71,13 +71,13 @@ int Bot::FindGoal (void)
|
|||
switch (m_team)
|
||||
{
|
||||
case TEAM_TF:
|
||||
offensiveWpts = g_waypoint->m_ctPoints;
|
||||
defensiveWpts = g_waypoint->m_terrorPoints;
|
||||
offensiveWpts = waypoint->m_ctPoints;
|
||||
defensiveWpts = waypoint->m_terrorPoints;
|
||||
break;
|
||||
|
||||
case TEAM_CF:
|
||||
offensiveWpts = g_waypoint->m_terrorPoints;
|
||||
defensiveWpts = g_waypoint->m_ctPoints;
|
||||
offensiveWpts = waypoint->m_terrorPoints;
|
||||
defensiveWpts = waypoint->m_ctPoints;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ int Bot::FindGoal (void)
|
|||
else if (m_team == TEAM_CF && HasHostage ())
|
||||
{
|
||||
tactic = 2;
|
||||
offensiveWpts = g_waypoint->m_rescuePoints;
|
||||
offensiveWpts = waypoint->m_rescuePoints;
|
||||
|
||||
goto TacticChoosen;
|
||||
}
|
||||
|
|
@ -122,7 +122,7 @@ int Bot::FindGoal (void)
|
|||
}
|
||||
else if ((g_mapType & MAP_DE) && m_team == TEAM_CF)
|
||||
{
|
||||
if (g_bombPlanted && GetTaskId () != TASK_ESCAPEFROMBOMB && g_waypoint->GetBombPosition () != nullvec)
|
||||
if (g_bombPlanted && GetTaskId () != TASK_ESCAPEFROMBOMB && waypoint->GetBombPosition () != nullvec)
|
||||
{
|
||||
if (g_bombSayString)
|
||||
{
|
||||
|
|
@ -133,12 +133,15 @@ int Bot::FindGoal (void)
|
|||
}
|
||||
defensive += 25.0f;
|
||||
offensive -= 25.0f;
|
||||
|
||||
if (m_personality != PERSONALITY_RUSHER)
|
||||
defensive += 10.0f;
|
||||
}
|
||||
else if ((g_mapType & MAP_DE) && m_team == TEAM_TF && g_timeRoundStart + 10.0f < GetWorldTime ())
|
||||
{
|
||||
// send some terrorists to guard planter bomb
|
||||
if (g_bombPlanted && GetTaskId () != TASK_ESCAPEFROMBOMB && GetBombTimeleft () >= 15.0)
|
||||
return m_chosenGoalIndex = FindDefendWaypoint (g_waypoint->GetBombPosition ());
|
||||
return m_chosenGoalIndex = FindDefendWaypoint (waypoint->GetBombPosition ());
|
||||
}
|
||||
|
||||
goalDesire = Random.Float (0.0f, 100.0f) + offensive;
|
||||
|
|
@ -147,7 +150,7 @@ int Bot::FindGoal (void)
|
|||
backoffDesire = Random.Float (0.0f, 100.0f) + defensive;
|
||||
|
||||
if (!UsesCampGun ())
|
||||
campDesire = 0;
|
||||
campDesire *= 0.5f;
|
||||
|
||||
tacticChoice = backoffDesire;
|
||||
tactic = 0;
|
||||
|
|
@ -172,17 +175,17 @@ TacticChoosen:
|
|||
|
||||
if (tactic == 0 && !defensiveWpts.IsEmpty ()) // careful goal
|
||||
FilterGoals (defensiveWpts, goalChoices);
|
||||
else if (tactic == 1 && !g_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 (!g_waypoint->m_sniperPoints.IsEmpty () && UsesSniper ())
|
||||
FilterGoals (g_waypoint->m_sniperPoints, goalChoices);
|
||||
if (!waypoint->m_sniperPoints.IsEmpty () && UsesSniper ())
|
||||
FilterGoals (waypoint->m_sniperPoints, goalChoices);
|
||||
else
|
||||
FilterGoals (g_waypoint->m_campPoints, goalChoices);
|
||||
FilterGoals (waypoint->m_campPoints, goalChoices);
|
||||
}
|
||||
else if (tactic == 2 && !offensiveWpts.IsEmpty ()) // offensive goal
|
||||
FilterGoals (offensiveWpts, goalChoices);
|
||||
else if (tactic == 3 && !g_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 ())
|
||||
|
|
@ -192,7 +195,7 @@ TacticChoosen:
|
|||
|
||||
for (int i = 0; i < g_numWaypoints; i++)
|
||||
{
|
||||
Path *path = g_waypoint->GetPath (i);
|
||||
Path *path = waypoint->GetPath (i);
|
||||
|
||||
if (!(path->flags & FLAG_GOAL))
|
||||
continue;
|
||||
|
|
@ -214,17 +217,17 @@ TacticChoosen:
|
|||
{
|
||||
if (goalChoices[i] == -1)
|
||||
{
|
||||
goalChoices[i] = g_waypoint->m_goalPoints.GetRandomElement ();
|
||||
goalChoices[i] = waypoint->m_goalPoints.GetRandomElement ();
|
||||
InternalAssert (goalChoices[i] >= 0 && goalChoices[i] < g_numWaypoints);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
FilterGoals (g_waypoint->m_goalPoints, goalChoices);
|
||||
FilterGoals (waypoint->m_goalPoints, goalChoices);
|
||||
}
|
||||
|
||||
if (m_currentWaypointIndex == -1 || m_currentWaypointIndex >= g_numWaypoints)
|
||||
m_currentWaypointIndex = ChangeWptIndex (g_waypoint->FindNearest (pev->origin));
|
||||
m_currentWaypointIndex = ChangeWptIndex (waypoint->FindNearest (pev->origin));
|
||||
|
||||
if (goalChoices[0] == -1)
|
||||
return m_chosenGoalIndex = Random.Long (0, g_numWaypoints - 1);
|
||||
|
|
@ -779,9 +782,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 && (g_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, g_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;
|
||||
|
|
@ -813,7 +816,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 = g_botManager->GetBot (i);
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
|
||||
if (bot == NULL || bot == this)
|
||||
continue;
|
||||
|
|
@ -852,7 +855,7 @@ bool Bot::DoWaypointNav (void)
|
|||
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
Bot *bot = g_botManager->GetBot (i);
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
|
||||
if (bot == NULL)
|
||||
continue; // skip invalid bots
|
||||
|
|
@ -910,7 +913,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 () && ((g_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;
|
||||
|
|
@ -953,7 +956,7 @@ bool Bot::DoWaypointNav (void)
|
|||
if (m_buttonPushTime + 8.0 >= GetWorldTime ())
|
||||
{
|
||||
if ((m_prevWptIndex[0] >= 0) && (m_prevWptIndex[0] < g_numWaypoints))
|
||||
m_destOrigin = g_waypoint->GetPath (m_prevWptIndex[0])->origin;
|
||||
m_destOrigin = waypoint->GetPath (m_prevWptIndex[0])->origin;
|
||||
else
|
||||
m_destOrigin = pev->origin;
|
||||
|
||||
|
|
@ -995,7 +998,7 @@ bool Bot::DoWaypointNav (void)
|
|||
if (liftUsed)
|
||||
{
|
||||
if (m_prevWptIndex[0] >= 0 && m_prevWptIndex[0] < g_numWaypoints)
|
||||
m_destOrigin = g_waypoint->GetPath (m_prevWptIndex[0])->origin;
|
||||
m_destOrigin = waypoint->GetPath (m_prevWptIndex[0])->origin;
|
||||
else
|
||||
m_destOrigin = button->v.origin;
|
||||
|
||||
|
|
@ -1028,10 +1031,10 @@ bool Bot::DoWaypointNav (void)
|
|||
{
|
||||
if ((m_prevWptIndex[0] >= 0) && (m_prevWptIndex[0] < g_numWaypoints))
|
||||
{
|
||||
if (!(g_waypoint->GetPath (m_prevWptIndex[0])->flags & FLAG_LIFT))
|
||||
m_destOrigin = g_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 = g_waypoint->GetPath (m_prevWptIndex[1])->origin;
|
||||
m_destOrigin = waypoint->GetPath (m_prevWptIndex[1])->origin;
|
||||
}
|
||||
|
||||
if ((pev->origin - m_destOrigin).GetLengthSquared () < 100)
|
||||
|
|
@ -1052,7 +1055,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 ((g_waypoint->GetPath (m_prevWptIndex[0])->flags & FLAG_LIFT) && (m_currentPath->origin.z - pev->origin.z) > 50.0 && (g_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;
|
||||
|
|
@ -1096,7 +1099,7 @@ bool Bot::DoWaypointNav (void)
|
|||
|
||||
if (m_prevWptIndex[0] >= 0 && m_prevWptIndex[0] < g_numWaypoints)
|
||||
{
|
||||
if (!(g_waypoint->GetPath (m_prevWptIndex[0])->flags & FLAG_LIFT))
|
||||
if (!(waypoint->GetPath (m_prevWptIndex[0])->flags & FLAG_LIFT))
|
||||
ChangeWptIndex (m_prevWptIndex[0]);
|
||||
else
|
||||
FindWaypoint ();
|
||||
|
|
@ -1249,13 +1252,13 @@ bool Bot::DoWaypointNav (void)
|
|||
// bot within 'hearable' bomb tick noises?
|
||||
if (bombOrigin != nullvec)
|
||||
{
|
||||
float distance = (bombOrigin - g_waypoint->GetPath (GetTask ()->data)->origin).GetLength ();
|
||||
float distance = (bombOrigin - waypoint->GetPath (GetTask ()->data)->origin).GetLength ();
|
||||
|
||||
if (distance > 512.0)
|
||||
g_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
|
||||
g_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
|
||||
}
|
||||
|
|
@ -1282,7 +1285,7 @@ void Bot::FindShortestPath (int srcIndex, int destIndex)
|
|||
|
||||
while (srcIndex != destIndex)
|
||||
{
|
||||
srcIndex = *(g_waypoint->m_pathMatrix + (srcIndex * g_numWaypoints) + destIndex);
|
||||
srcIndex = *(waypoint->m_pathMatrix + (srcIndex * g_numWaypoints) + destIndex);
|
||||
|
||||
if (srcIndex < 0)
|
||||
{
|
||||
|
|
@ -1427,7 +1430,7 @@ float gfunctionKillsDistT (int currentIndex, int parentIndex)
|
|||
|
||||
float cost = (g_experienceData + (currentIndex * g_numWaypoints) + currentIndex)->team0Damage + g_highestDamageT;
|
||||
|
||||
Path *current = g_waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
|
|
@ -1440,7 +1443,7 @@ float gfunctionKillsDistT (int currentIndex, int parentIndex)
|
|||
if (current->flags & FLAG_CROUCH)
|
||||
cost *= 1.5;
|
||||
|
||||
return g_waypoint->GetPathDistance (parentIndex, currentIndex) + cost;
|
||||
return waypoint->GetPathDistance (parentIndex, currentIndex) + cost;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1453,7 +1456,7 @@ float gfunctionKillsDistCT (int currentIndex, int parentIndex)
|
|||
|
||||
float cost = (g_experienceData + (currentIndex * g_numWaypoints) + currentIndex)->team1Damage + g_highestDamageCT;
|
||||
|
||||
Path *current = g_waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
|
|
@ -1466,14 +1469,14 @@ float gfunctionKillsDistCT (int currentIndex, int parentIndex)
|
|||
if (current->flags & FLAG_CROUCH)
|
||||
cost *= 1.5;
|
||||
|
||||
return g_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 = g_waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
|
||||
if (current->flags & FLAG_NOHOSTAGE)
|
||||
return 65355;
|
||||
|
|
@ -1490,7 +1493,7 @@ float gfunctionKillsT (int currentIndex, int)
|
|||
|
||||
float cost = (g_experienceData + (currentIndex * g_numWaypoints) + currentIndex)->team0Damage;
|
||||
|
||||
Path *current = g_waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
|
|
@ -1515,7 +1518,7 @@ float gfunctionKillsCT (int currentIndex, int parentIndex)
|
|||
|
||||
float cost = (g_experienceData + (currentIndex * g_numWaypoints) + currentIndex)->team1Damage;
|
||||
|
||||
Path *current = g_waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
|
|
@ -1538,7 +1541,7 @@ float gfunctionKillsCTWithHostage (int currentIndex, int parentIndex)
|
|||
if (parentIndex == -1)
|
||||
return 0;
|
||||
|
||||
Path *current = g_waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
|
||||
if (current->flags & FLAG_NOHOSTAGE)
|
||||
return 65355;
|
||||
|
|
@ -1554,8 +1557,8 @@ float gfunctionPathDist (int currentIndex, int parentIndex)
|
|||
if (parentIndex == -1)
|
||||
return 0;
|
||||
|
||||
Path *parent = g_waypoint->GetPath (parentIndex);
|
||||
Path *current = g_waypoint->GetPath (currentIndex);
|
||||
Path *parent = waypoint->GetPath (parentIndex);
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
|
|
@ -1573,7 +1576,7 @@ float gfunctionPathDist (int currentIndex, int parentIndex)
|
|||
|
||||
float gfunctionPathDistWithHostage (int currentIndex, int parentIndex)
|
||||
{
|
||||
Path *current = g_waypoint->GetPath (currentIndex);
|
||||
Path *current = waypoint->GetPath (currentIndex);
|
||||
|
||||
if (current->flags & FLAG_NOHOSTAGE)
|
||||
return 65355;
|
||||
|
|
@ -1588,8 +1591,8 @@ float hfunctionSquareDist (int index, int, int goalIndex)
|
|||
{
|
||||
// square distance heuristic
|
||||
|
||||
Path *start = g_waypoint->GetPath (index);
|
||||
Path *goal = g_waypoint->GetPath (goalIndex);
|
||||
Path *start = waypoint->GetPath (index);
|
||||
Path *goal = waypoint->GetPath (goalIndex);
|
||||
|
||||
#if 0
|
||||
float deltaX = fabsf (start->origin.x - goal->origin.x);
|
||||
|
|
@ -1613,7 +1616,7 @@ float hfunctionSquareDistWithHostage (int index, int startIndex, int goalIndex)
|
|||
{
|
||||
// square distance heuristic with hostages
|
||||
|
||||
if (g_waypoint->GetPath (startIndex)->flags & FLAG_NOHOSTAGE)
|
||||
if (waypoint->GetPath (startIndex)->flags & FLAG_NOHOSTAGE)
|
||||
return 65355;
|
||||
|
||||
return hfunctionSquareDist (index, startIndex, goalIndex);
|
||||
|
|
@ -1771,7 +1774,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 = g_waypoint->GetPath (currentIndex)->index[i];
|
||||
int currentChild = waypoint->GetPath (currentIndex)->index[i];
|
||||
|
||||
if (currentChild == -1)
|
||||
continue;
|
||||
|
|
@ -1819,20 +1822,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 (g_waypoint->FindNearest (pev->origin));
|
||||
m_currentWaypointIndex = ChangeWptIndex (waypoint->FindNearest (pev->origin));
|
||||
|
||||
int srcIndex = m_currentWaypointIndex;
|
||||
int destIndex = g_waypoint->FindNearest (to);
|
||||
int destIndex = waypoint->FindNearest (to);
|
||||
int bestIndex = srcIndex;
|
||||
|
||||
while (destIndex != srcIndex)
|
||||
{
|
||||
destIndex = *(g_waypoint->m_pathMatrix + (destIndex * g_numWaypoints) + srcIndex);
|
||||
destIndex = *(waypoint->m_pathMatrix + (destIndex * g_numWaypoints) + srcIndex);
|
||||
|
||||
if (destIndex < 0)
|
||||
break;
|
||||
|
||||
if (g_waypoint->IsVisible (m_currentWaypointIndex, destIndex))
|
||||
if (waypoint->IsVisible (m_currentWaypointIndex, destIndex))
|
||||
{
|
||||
bestIndex = destIndex;
|
||||
break;
|
||||
|
|
@ -1867,11 +1870,11 @@ bool Bot::FindWaypoint (void)
|
|||
#endif
|
||||
continue;
|
||||
|
||||
if ((g_mapType & MAP_CS) && HasHostage () && (g_waypoint->GetPath (i)->flags & FLAG_NOHOSTAGE))
|
||||
if ((g_mapType & MAP_CS) && HasHostage () && (waypoint->GetPath (i)->flags & FLAG_NOHOSTAGE))
|
||||
continue;
|
||||
|
||||
// ignore non-reacheable waypoints...
|
||||
if (!g_waypoint->Reachable (this, i))
|
||||
if (!waypoint->Reachable (this, i))
|
||||
continue;
|
||||
|
||||
// check if waypoint is already used by another bot...
|
||||
|
|
@ -1882,7 +1885,7 @@ bool Bot::FindWaypoint (void)
|
|||
}
|
||||
|
||||
// now pick 1-2 random waypoints that near the bot
|
||||
float distance = (g_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++)
|
||||
|
|
@ -1915,7 +1918,7 @@ bool Bot::FindWaypoint (void)
|
|||
i = 0;
|
||||
|
||||
Array <int> found;
|
||||
g_waypoint->FindInRadius (found, 256.0f, pev->origin);
|
||||
waypoint->FindInRadius (found, 256.0f, pev->origin);
|
||||
|
||||
if (!found.IsEmpty ())
|
||||
{
|
||||
|
|
@ -1926,7 +1929,7 @@ bool Bot::FindWaypoint (void)
|
|||
{
|
||||
int index = found.Pop ();
|
||||
|
||||
if (!g_waypoint->Reachable (this, index))
|
||||
if (!waypoint->Reachable (this, index))
|
||||
continue;
|
||||
|
||||
waypointIndeces[i] = index;
|
||||
|
|
@ -2055,7 +2058,7 @@ int Bot::ChangeWptIndex(int waypointIndex)
|
|||
m_currentWaypointIndex = waypointIndex;
|
||||
m_navTimeset = GetWorldTime ();
|
||||
|
||||
m_currentPath = g_waypoint->GetPath (m_currentWaypointIndex);
|
||||
m_currentPath = waypoint->GetPath (m_currentWaypointIndex);
|
||||
m_waypointFlags = m_currentPath->flags;
|
||||
|
||||
return m_currentWaypointIndex; // to satisfy static-code analyzers
|
||||
|
|
@ -2065,7 +2068,7 @@ int Bot::ChooseBombWaypoint (void)
|
|||
{
|
||||
// this function finds the best goal (bomb) waypoint for CTs when searching for a planted bomb.
|
||||
|
||||
Array <int> goals = g_waypoint->m_goalPoints;
|
||||
Array <int> goals = waypoint->m_goalPoints;
|
||||
|
||||
if (goals.IsEmpty ())
|
||||
return Random.Long (0, g_numWaypoints - 1); // reliability check
|
||||
|
|
@ -2082,7 +2085,7 @@ int Bot::ChooseBombWaypoint (void)
|
|||
// find nearest goal waypoint either to bomb (if "heard" or player)
|
||||
FOR_EACH_AE (goals, i)
|
||||
{
|
||||
float distance = (g_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)
|
||||
|
|
@ -2092,7 +2095,7 @@ int Bot::ChooseBombWaypoint (void)
|
|||
}
|
||||
}
|
||||
|
||||
while (g_waypoint->IsGoalVisited (goal))
|
||||
while (waypoint->IsGoalVisited (goal))
|
||||
{
|
||||
goal = goals.GetRandomElement ();
|
||||
|
||||
|
|
@ -2118,8 +2121,8 @@ int Bot::FindDefendWaypoint (const Vector &origin)
|
|||
minDistance[i] = 128;
|
||||
}
|
||||
|
||||
int posIndex = g_waypoint->FindNearest (origin);
|
||||
int srcIndex = g_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)
|
||||
|
|
@ -2128,17 +2131,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 ((g_waypoint->GetPath (i)->flags & FLAG_LADDER) || i == srcIndex || !g_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 = g_waypoint->GetPathDistance (srcIndex, i);
|
||||
int distances = waypoint->GetPathDistance (srcIndex, i);
|
||||
|
||||
// skip wayponts with distance more than 1024 units
|
||||
if (distances > 1248.0f)
|
||||
continue;
|
||||
|
||||
TraceLine (g_waypoint->GetPath (i)->origin, g_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)
|
||||
|
|
@ -2205,7 +2208,7 @@ int Bot::FindDefendWaypoint (const Vector &origin)
|
|||
|
||||
for (int i = 0; i < g_numWaypoints; i++)
|
||||
{
|
||||
if ((g_waypoint->GetPath (i)->origin - origin).GetLength () <= 1248.0f && !IsPointOccupied (i))
|
||||
if ((waypoint->GetPath (i)->origin - origin).GetLength () <= 1248.0f && !IsPointOccupied (i))
|
||||
found.Push (i);
|
||||
}
|
||||
|
||||
|
|
@ -2237,7 +2240,7 @@ int Bot::FindCoverWaypoint (float maxDistance)
|
|||
maxDistance = 300.0;
|
||||
|
||||
int srcIndex = m_currentWaypointIndex;
|
||||
int enemyIndex = g_waypoint->FindNearest (m_lastEnemyOrigin);
|
||||
int enemyIndex = waypoint->FindNearest (m_lastEnemyOrigin);
|
||||
Array <int> enemyIndices;
|
||||
|
||||
int waypointIndex[MAX_PATH_INDEX];
|
||||
|
|
@ -2255,8 +2258,8 @@ int Bot::FindCoverWaypoint (float maxDistance)
|
|||
// now get enemies neigbouring points
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
if (g_waypoint->GetPath (enemyIndex)->index[i] != -1)
|
||||
enemyIndices.Push (g_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
|
||||
|
|
@ -2266,14 +2269,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 ((g_waypoint->GetPath (i)->flags & FLAG_LADDER) || i == srcIndex || g_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 (g_waypoint->IsVisible (enemyIndices[j], i))
|
||||
if (waypoint->IsVisible (enemyIndices[j], i))
|
||||
{
|
||||
neighbourVisible = true;
|
||||
break;
|
||||
|
|
@ -2285,8 +2288,8 @@ int Bot::FindCoverWaypoint (float maxDistance)
|
|||
continue;
|
||||
|
||||
// use the 'real' pathfinding distances
|
||||
int distances = g_waypoint->GetPathDistance (srcIndex, i);
|
||||
int enemyDistance = g_waypoint->GetPathDistance (enemyIndex, i);
|
||||
int distances = waypoint->GetPathDistance (srcIndex, i);
|
||||
int enemyDistance = waypoint->GetPathDistance (enemyIndex, i);
|
||||
|
||||
if (distances >= enemyDistance)
|
||||
continue;
|
||||
|
|
@ -2350,7 +2353,7 @@ int Bot::FindCoverWaypoint (float maxDistance)
|
|||
{
|
||||
if (waypointIndex[i] != -1)
|
||||
{
|
||||
TraceLine (m_lastEnemyOrigin + Vector (0, 0, 36), g_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];
|
||||
|
|
@ -2379,9 +2382,9 @@ bool Bot::GetBestNextWaypoint (void)
|
|||
{
|
||||
int id = m_currentPath->index[i];
|
||||
|
||||
if (id != -1 && g_waypoint->IsConnected (id, m_navNode->next->index) && g_waypoint->IsConnected (m_currentWaypointIndex, id))
|
||||
if (id != -1 && waypoint->IsConnected (id, m_navNode->next->index) && waypoint->IsConnected (m_currentWaypointIndex, id))
|
||||
{
|
||||
if (g_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))
|
||||
|
|
@ -2423,13 +2426,13 @@ bool Bot::HeadTowardWaypoint (void)
|
|||
{
|
||||
m_campButtons = 0;
|
||||
|
||||
int waypoint = m_navNode->next->index;
|
||||
int nextIndex = m_navNode->next->index;
|
||||
float kills = 0;
|
||||
|
||||
if (m_team == TEAM_TF)
|
||||
kills = (g_experienceData + (waypoint * g_numWaypoints) + waypoint)->team0Damage / g_highestDamageT;
|
||||
kills = (g_experienceData + (nextIndex * g_numWaypoints) + nextIndex)->team0Damage / g_highestDamageT;
|
||||
else
|
||||
kills = (g_experienceData + (waypoint * g_numWaypoints) + waypoint)->team1Damage / g_highestDamageCT;
|
||||
kills = (g_experienceData + (nextIndex * g_numWaypoints) + nextIndex)->team1Damage / g_highestDamageCT;
|
||||
|
||||
// if damage done higher than one
|
||||
if (kills > 0.15f && g_timeRoundMid + 15.0f < GetWorldTime ())
|
||||
|
|
@ -2448,7 +2451,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 (g_waypoint->GetPath (waypoint)->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 ())
|
||||
|
|
@ -2492,8 +2495,8 @@ bool Bot::HeadTowardWaypoint (void)
|
|||
{
|
||||
for (int i = 0; i < MAX_PATH_INDEX; i++)
|
||||
{
|
||||
Path *path = g_waypoint->GetPath (m_navNode->index);
|
||||
Path *next = g_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))
|
||||
{
|
||||
|
|
@ -2513,12 +2516,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 ((g_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 = g_botManager->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)
|
||||
|
|
@ -3125,10 +3128,10 @@ int Bot::GetAimingWaypoint (void)
|
|||
|
||||
for (int i = 0; i < g_numWaypoints; i++)
|
||||
{
|
||||
if (currentWaypoint == i || !g_waypoint->IsVisible (currentWaypoint, i))
|
||||
if (currentWaypoint == i || !waypoint->IsVisible (currentWaypoint, i))
|
||||
continue;
|
||||
|
||||
Path *path = g_waypoint->GetPath (i);
|
||||
Path *path = waypoint->GetPath (i);
|
||||
|
||||
if (count < 3)
|
||||
{
|
||||
|
|
@ -3375,7 +3378,7 @@ int Bot::FindPlantedBomb (void)
|
|||
{
|
||||
if (strcmp (STRING (bombEntity->v.model) + 9, "c4.mdl") == 0)
|
||||
{
|
||||
int nearestIndex = g_waypoint->FindNearest (GetEntityOrigin (bombEntity));
|
||||
int nearestIndex = waypoint->FindNearest (GetEntityOrigin (bombEntity));
|
||||
|
||||
if ((nearestIndex >= 0) && (nearestIndex < g_numWaypoints))
|
||||
return nearestIndex;
|
||||
|
|
@ -3394,7 +3397,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 = g_botManager->GetBot (i);
|
||||
Bot *bot = botMgr->GetBot (i);
|
||||
|
||||
if (bot == NULL || bot == this)
|
||||
continue;
|
||||
|
|
@ -3404,7 +3407,7 @@ bool Bot::IsPointOccupied (int index)
|
|||
{
|
||||
int occupyId = GetShootingConeDeviation (bot->GetEntity (), &pev->origin) >= 0.7f ? bot->m_prevWptIndex[0] : m_currentWaypointIndex;
|
||||
|
||||
if (occupyId == index || bot->GetTask ()->data == index || (g_waypoint->GetPath (occupyId)->origin - g_waypoint->GetPath (index)->origin).GetLengthSquared () < 4096.0f)
|
||||
if (occupyId == index || bot->GetTask ()->data == index || (waypoint->GetPath (occupyId)->origin - waypoint->GetPath (index)->origin).GetLengthSquared () < 4096.0f)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -255,7 +255,7 @@ void NetworkMsg::Execute (void *p)
|
|||
break;
|
||||
|
||||
case 2:
|
||||
g_botManager->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 = g_botManager->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 = g_botManager->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 = g_botManager->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 = g_botManager->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"))
|
||||
{
|
||||
g_botManager->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 = g_botManager->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"))
|
||||
{
|
||||
g_botManager->CheckTeamEconomics (TEAM_CF, true);
|
||||
g_botManager->CheckTeamEconomics (TEAM_TF, true);
|
||||
botMgr->CheckTeamEconomics (TEAM_CF, true);
|
||||
botMgr->CheckTeamEconomics (TEAM_TF, true);
|
||||
}
|
||||
|
||||
if (FStrEq (PTR_TO_STR (p), "#Terrorists_Win"))
|
||||
{
|
||||
g_botManager->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 = g_botManager->FindOneValidAliveBot ();
|
||||
Bot *bot = botMgr->FindOneValidAliveBot ();
|
||||
|
||||
if (bot != NULL && IsAlive (bot->GetEntity ()))
|
||||
bot->HandleChatterMessage (PTR_TO_STR (p));
|
||||
}
|
||||
}
|
||||
g_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 = g_botManager->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);
|
||||
}
|
||||
}
|
||||
g_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 = g_localizer->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, g_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, g_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, g_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,14 +287,14 @@ void DecalTrace (entvars_t *pev, TraceResult *trace, int logotypeIndex)
|
|||
void FreeLibraryMemory (void)
|
||||
{
|
||||
// this function free's all allocated memory
|
||||
g_waypoint->Init (); // frees waypoint data
|
||||
waypoint->Init (); // frees waypoint data
|
||||
|
||||
FOR_EACH_AE (g_localizer->m_langTab, it)
|
||||
FOR_EACH_AE (locale->m_langTab, it)
|
||||
{
|
||||
delete[] g_localizer->m_langTab[it].original;
|
||||
delete[] g_localizer->m_langTab[it].translated;
|
||||
delete[] locale->m_langTab[it].original;
|
||||
delete[] locale->m_langTab[it].translated;
|
||||
}
|
||||
g_localizer->m_langTab.RemoveAll ();
|
||||
locale->m_langTab.RemoveAll ();
|
||||
|
||||
|
||||
delete [] g_experienceData;
|
||||
|
|
@ -738,18 +738,18 @@ void RoundInit (void)
|
|||
g_roundEnded = false;
|
||||
|
||||
// check team economics
|
||||
g_botManager->CheckTeamEconomics (TEAM_TF);
|
||||
g_botManager->CheckTeamEconomics (TEAM_CF);
|
||||
botMgr->CheckTeamEconomics (TEAM_TF);
|
||||
botMgr->CheckTeamEconomics (TEAM_CF);
|
||||
|
||||
for (int i = 0; i < GetMaxClients (); i++)
|
||||
{
|
||||
if (g_botManager->GetBot (i))
|
||||
g_botManager->GetBot (i)->NewRound ();
|
||||
if (botMgr->GetBot (i))
|
||||
botMgr->GetBot (i)->NewRound ();
|
||||
|
||||
g_radioSelect[i] = 0;
|
||||
}
|
||||
g_waypoint->SetBombPosition (true);
|
||||
g_waypoint->ClearGoalScore ();
|
||||
waypoint->SetBombPosition (true);
|
||||
waypoint->ClearGoalScore ();
|
||||
|
||||
g_bombSayString = false;
|
||||
g_timeBombPlanted = 0.0;
|
||||
|
|
@ -798,7 +798,7 @@ bool IsValidPlayer (edict_t *ent)
|
|||
if (ent->v.flags & FL_PROXY)
|
||||
return false;
|
||||
|
||||
if ((ent->v.flags & (FL_CLIENT | FL_FAKECLIENT)) || g_botManager->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 +817,7 @@ bool IsPlayerVIP (edict_t *ent)
|
|||
|
||||
bool IsValidBot (edict_t *ent)
|
||||
{
|
||||
if (g_botManager->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 +836,7 @@ void ServerPrint (const char *format, ...)
|
|||
char string[3072];
|
||||
|
||||
va_start (ap, format);
|
||||
vsprintf (string, g_localizer->TranslateInput (format), ap);
|
||||
vsprintf (string, locale->TranslateInput (format), ap);
|
||||
va_end (ap);
|
||||
|
||||
SERVER_PRINT (string);
|
||||
|
|
@ -849,7 +849,7 @@ void CenterPrint (const char *format, ...)
|
|||
char string[2048];
|
||||
|
||||
va_start (ap, format);
|
||||
vsprintf (string, g_localizer->TranslateInput (format), ap);
|
||||
vsprintf (string, locale->TranslateInput (format), ap);
|
||||
va_end (ap);
|
||||
|
||||
if (IsDedicatedServer ())
|
||||
|
|
@ -858,7 +858,7 @@ void CenterPrint (const char *format, ...)
|
|||
return;
|
||||
}
|
||||
|
||||
MESSAGE_BEGIN (MSG_BROADCAST, g_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 +870,7 @@ void ChartPrint (const char *format, ...)
|
|||
char string[2048];
|
||||
|
||||
va_start (ap, format);
|
||||
vsprintf (string, g_localizer->TranslateInput (format), ap);
|
||||
vsprintf (string, locale->TranslateInput (format), ap);
|
||||
va_end (ap);
|
||||
|
||||
if (IsDedicatedServer ())
|
||||
|
|
@ -880,7 +880,7 @@ void ChartPrint (const char *format, ...)
|
|||
}
|
||||
strcat (string, "\n");
|
||||
|
||||
MESSAGE_BEGIN (MSG_BROADCAST, g_netMsg->GetId (NETMSG_TEXTMSG));
|
||||
MESSAGE_BEGIN (MSG_BROADCAST, netmsg->GetId (NETMSG_TEXTMSG));
|
||||
WRITE_BYTE (HUD_PRINTTALK);
|
||||
WRITE_STRING (string);
|
||||
MESSAGE_END ();
|
||||
|
|
@ -893,7 +893,7 @@ void ClientPrint (edict_t *ent, int dest, const char *format, ...)
|
|||
char string[2048];
|
||||
|
||||
va_start (ap, format);
|
||||
vsprintf (string, g_localizer->TranslateInput (format), ap);
|
||||
vsprintf (string, locale->TranslateInput (format), ap);
|
||||
va_end (ap);
|
||||
|
||||
if (IsEntityNull (ent) || ent == g_hostEntity)
|
||||
|
|
@ -1037,7 +1037,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, g_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 +1113,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, g_localizer->TranslateInput (format), ap);
|
||||
vsprintf (buffer, locale->TranslateInput (format), ap);
|
||||
va_end (ap);
|
||||
|
||||
switch (logLevel)
|
||||
|
|
@ -1252,7 +1252,7 @@ bool FindNearestPlayer (void **pvHolder, edict_t *to, float searchDistance, bool
|
|||
|
||||
// fill the holder
|
||||
if (needBot)
|
||||
*pvHolder = reinterpret_cast <void *> (g_botManager->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 (g_botManager->GetBotsNum () > 0)
|
||||
g_botManager->RemoveAll ();
|
||||
if (botMgr->GetBotsNum () > 0)
|
||||
botMgr->RemoveAll ();
|
||||
|
||||
g_waypointsChanged = true;
|
||||
|
||||
|
|
@ -459,8 +459,8 @@ void Waypoint::Delete (void)
|
|||
if (g_numWaypoints < 1)
|
||||
return;
|
||||
|
||||
if (g_botManager->GetBotsNum () > 0)
|
||||
g_botManager->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 ();
|
||||
|
||||
g_botManager->InitQuota ();
|
||||
botMgr->InitQuota ();
|
||||
|
||||
extern ConVar yb_debug_goal;
|
||||
yb_debug_goal.SetInt (-1);
|
||||
|
|
@ -2658,7 +2658,7 @@ WaypointDownloadError WaypointDownloader::DoDownload (void)
|
|||
recvPosition++;
|
||||
}
|
||||
|
||||
File fp (g_waypoint->CheckSubfolderFile (), "wb");
|
||||
File fp (waypoint->CheckSubfolderFile (), "wb");
|
||||
|
||||
if (!fp.IsValid ())
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue