more backtrack fixes

This commit is contained in:
bencat07 2018-08-14 10:01:56 +02:00
parent a3d7e18d2e
commit 2f9db0a5fc

View File

@ -73,8 +73,8 @@ void Init()
int BestTick = 0; int BestTick = 0;
int iBestTarget = -1; int iBestTarget = -1;
bool istickvalid[66]{}; bool istickvalid[32][66]{};
bool istickinvalid[66]{}; bool istickinvalid[32][66]{};
void Run() void Run()
{ {
if (!shouldBacktrack()) if (!shouldBacktrack())
@ -88,9 +88,11 @@ void Run()
return; return;
for (auto &a : istickvalid) for (auto &a : istickvalid)
a = false; for (auto &b : a)
b = false;
for (auto &a : istickinvalid) for (auto &a : istickinvalid)
a = false; for (auto &b : a)
b = false;
CUserCmd *cmd = current_user_cmd; CUserCmd *cmd = current_user_cmd;
float bestFov = 99999; float bestFov = 99999;
@ -252,18 +254,18 @@ int getTicks()
bool ValidTick(BacktrackData &i, CachedEntity *ent) bool ValidTick(BacktrackData &i, CachedEntity *ent)
{ {
if (istickvalid[i.index]) if (istickvalid[ent->m_IDX][i.index])
return true; return true;
if (istickinvalid[i.index]) if (istickinvalid[ent->m_IDX][i.index])
return false; return false;
if (IsVectorVisible(g_pLocalPlayer->v_Eye, i.hitboxes[head].center, true)) if (IsVectorVisible(g_pLocalPlayer->v_Eye, i.hitboxes[head].center, true))
if (fabsf(NET_FLOAT(RAW_ENT(ent), netvar.m_flSimulationTime) * 1000.0f - if (fabsf(NET_FLOAT(RAW_ENT(ent), netvar.m_flSimulationTime) * 1000.0f -
getLatency() - i.simtime * 1000.0f) < 200.0f) getLatency() - i.simtime * 1000.0f) < 200.0f)
{ {
istickvalid[i.index] = true; istickvalid[ent->m_IDX][i.index] = true;
return true; return true;
} }
istickinvalid[i.index] = true; istickinvalid[ent->m_IDX][i.index] = true;
return false; return false;
} }