Skip to content

Commit d8f29d3

Browse files
notkoenVauff
authored andcommitted
leader: change to std::vector (#397)
1 parent cbfe7ad commit d8f29d3

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

src/leader.cpp

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ std::map<std::string, ColorPreset> mapColorPresets = {
4747
};
4848
// clang-format on
4949

50-
CUtlVector<ZEPlayerHandle> g_vecLeaders;
50+
std::vector<ZEPlayerHandle> g_vecLeaders;
5151

5252
static int g_iMarkerCount = 0;
5353
static bool g_bPingWithLeader = true;
@@ -110,14 +110,16 @@ static std::pair<int, std::string> GetLeaders()
110110
{
111111
int iLeaders = 0;
112112
std::string strLeaders = "";
113-
FOR_EACH_VEC_BACK(g_vecLeaders, i)
113+
114+
for (int i = g_vecLeaders.size() - 1; i >= 0; i--)
114115
{
115116
ZEPlayer* pLeader = g_vecLeaders[i].Get();
116117
if (!pLeader)
117118
{
118-
g_vecLeaders.Remove(i);
119+
g_vecLeaders.erase(g_vecLeaders.begin() + i);
119120
continue;
120121
}
122+
121123
CCSPlayerController* pController = CCSPlayerController::FromSlot((CPlayerSlot)pLeader->GetPlayerSlot());
122124
if (!pController)
123125
continue;
@@ -224,7 +226,7 @@ static bool Leader_SetNewLeader(ZEPlayer* zpLeader, std::string strColor = "")
224226
Leader_ApplyLeaderVisuals(pawnLeader);
225227

226228
zpLeader->PurgeLeaderVotes();
227-
g_vecLeaders.AddToTail(zpLeader->GetHandle());
229+
g_vecLeaders.push_back(zpLeader->GetHandle());
228230
return true;
229231
}
230232

@@ -299,11 +301,12 @@ static void RemoveLeader(CCSPlayerController* ccsLeader)
299301
zpLeader->SetTracerColor(Color(0, 0, 0, 0));
300302
zpLeader->SetBeaconColor(Color(0, 0, 0, 0));
301303
zpLeader->SetGlowColor(Color(0, 0, 0, 0));
302-
FOR_EACH_VEC_BACK(g_vecLeaders, i)
304+
305+
for (int i = g_vecLeaders.size() - 1; i >= 0; i--)
303306
{
304307
if (g_vecLeaders[i] == zpLeader)
305308
{
306-
g_vecLeaders.Remove(i);
309+
g_vecLeaders.erase(g_vecLeaders.begin() + i);
307310
break;
308311
}
309312
}
@@ -367,7 +370,8 @@ void Leader_PostEventAbstract_Source1LegacyGameEvent(const uint64* clients, cons
367370
return;
368371

369372
bool bNoHumanLeaders = true;
370-
FOR_EACH_VEC_BACK(g_vecLeaders, i)
373+
374+
for (int i = 0; i < g_vecLeaders.size(); i++)
371375
{
372376
if (g_vecLeaders[i].IsValid())
373377
{

src/leader.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
#include "playermanager.h"
2525
#include "utils/entity.h"
2626

27-
extern CUtlVector<ZEPlayerHandle> g_vecLeaders;
27+
extern std::vector<ZEPlayerHandle> g_vecLeaders;
2828
extern CConVar<bool> g_cvarEnableLeader;
2929
extern CConVar<bool> g_cvarLeaderActionsHumanOnly;
3030
extern CConVar<CUtlString> g_cvarMarkParticlePath;

0 commit comments

Comments
 (0)