Merge pull request #545 from TotallyNotElite/master

Fix isBacktrackEnabled
This commit is contained in:
LightCat 2018-08-11 18:51:49 +02:00 committed by GitHub
commit e10036b9ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 26 additions and 27 deletions

View File

@ -40,7 +40,6 @@ void Run();
void Draw(); void Draw();
void AddLatencyToNetchan(INetChannel *, float); void AddLatencyToNetchan(INetChannel *, float);
void UpdateIncomingSequences(); void UpdateIncomingSequences();
bool shouldBacktrack();
extern int lastincomingsequencenumber; extern int lastincomingsequencenumber;
extern int BestTick; extern int BestTick;
extern int iBestTarget; extern int iBestTarget;
@ -60,7 +59,7 @@ typedef boost::circular_buffer_space_optimized<CIncomingSequence> circular_buf;
extern circular_buf sequences; extern circular_buf sequences;
extern BacktrackData headPositions[32][66]; extern BacktrackData headPositions[32][66];
bool isBacktrackEnabled(); extern bool isBacktrackEnabled;
float getLatency(); float getLatency();
int getTicks(); int getTicks();
bool ValidTick(BacktrackData &i, CachedEntity *ent); bool ValidTick(BacktrackData &i, CachedEntity *ent);

View File

@ -96,7 +96,7 @@ AimbotCalculatedData_s calculated_data_array[2048]{};
#define IsMelee GetWeaponMode() == weapon_melee #define IsMelee GetWeaponMode() == weapon_melee
bool BacktrackAimbot() bool BacktrackAimbot()
{ {
if (!hacks::shared::backtrack::isBacktrackEnabled() || !backtrackAimbot) if (!hacks::shared::backtrack::isBacktrackEnabled || !*backtrackAimbot)
return false; return false;
if (aimkey && !aimkey.isKeyDown()) if (aimkey && !aimkey.isKeyDown())
return true; return true;

View File

@ -45,9 +45,9 @@ int ClosestDistanceHitbox(CachedEntity *target,
{ {
int closest = -1; int closest = -1;
float closest_dist = 0.0f, dist = 0.0f; float closest_dist = 0.0f, dist = 0.0f;
for (int i = spine_0; i < spine_3; i++) for (int i = pelvis; i < lowerArm_R; i++)
{ {
if (hacks::shared::backtrack::isBacktrackEnabled()) if (hacks::shared::backtrack::isBacktrackEnabled)
dist = g_pLocalPlayer->v_Eye.DistTo(btd.hitboxes.at(i).center); dist = g_pLocalPlayer->v_Eye.DistTo(btd.hitboxes.at(i).center);
else else
dist = g_pLocalPlayer->v_Eye.DistTo( dist = g_pLocalPlayer->v_Eye.DistTo(
@ -67,7 +67,7 @@ bool unifiedCanBackstab(Vector &vecAngle, Vector min, Vector max,
// Get melee range // Get melee range
float meleeRange = re::C_TFWeaponBaseMelee::GetSwingRange(RAW_ENT(LOCAL_W)); float meleeRange = re::C_TFWeaponBaseMelee::GetSwingRange(RAW_ENT(LOCAL_W));
if (fabsf(vecAngle.y - if (fabsf(vecAngle.y -
NET_VECTOR(RAW_ENT(besttarget), netvar.m_angEyeAngles).y) >= 50) NET_VECTOR(RAW_ENT(besttarget), netvar.m_angEyeAngles).y) >= 60.0f)
return false; return false;
if (!min.x && !max.x) if (!min.x && !max.x)
return false; return false;
@ -122,7 +122,7 @@ void CreateMove()
if (!CanShoot()) if (!CanShoot())
return; return;
CachedEntity *besttarget = nullptr; CachedEntity *besttarget = nullptr;
if (!backtrack::isBacktrackEnabled()) if (!backtrack::isBacktrackEnabled)
{ {
for (int i = 0; i < g_IEngine->GetMaxClients(); i++) for (int i = 0; i < g_IEngine->GetMaxClients(); i++)
{ {
@ -173,7 +173,7 @@ void CreateMove()
{ {
hacks::shared::anti_anti_aim::resolveEnt(besttarget->m_IDX); hacks::shared::anti_anti_aim::resolveEnt(besttarget->m_IDX);
Vector angle = NET_VECTOR(RAW_ENT(LOCAL_E), netvar.m_angEyeAngles); Vector angle = NET_VECTOR(RAW_ENT(LOCAL_E), netvar.m_angEyeAngles);
if (!backtrack::isBacktrackEnabled()) if (!backtrack::isBacktrackEnabled)
{ {
for (angle.y = -180.0f; angle.y < 180.0f; angle.y += 10.0f) for (angle.y = -180.0f; angle.y < 180.0f; angle.y += 10.0f)
{ {

View File

@ -22,10 +22,12 @@ namespace hacks::shared::backtrack
{ {
void EmptyBacktrackData(BacktrackData &i); void EmptyBacktrackData(BacktrackData &i);
std::pair<int, int> getBestEntBestTick(); std::pair<int, int> getBestEntBestTick();
bool shouldBacktrack();
BacktrackData headPositions[32][66]{}; BacktrackData headPositions[32][66]{};
int highesttick[32]{}; int highesttick[32]{};
int lastincomingsequencenumber = 0; int lastincomingsequencenumber = 0;
static bool shouldDrawBt; bool isBacktrackEnabled = false;
circular_buf sequences{ 2048 }; circular_buf sequences{ 2048 };
void UpdateIncomingSequences() void UpdateIncomingSequences()
@ -48,6 +50,8 @@ void UpdateIncomingSequences()
} }
void AddLatencyToNetchan(INetChannel *ch, float Latency) void AddLatencyToNetchan(INetChannel *ch, float Latency)
{ {
if (!isBacktrackEnabled)
return;
if (Latency > 200.0f) if (Latency > 200.0f)
Latency -= ch->GetLatency(MAX_FLOWS); Latency -= ch->GetLatency(MAX_FLOWS);
for (auto &seq : sequences) for (auto &seq : sequences)
@ -71,19 +75,16 @@ int BestTick = 0;
int iBestTarget = -1; int iBestTarget = -1;
void Run() void Run()
{ {
if (!enable) if (!shouldBacktrack())
{
isBacktrackEnabled = false;
return; return;
}
isBacktrackEnabled = true;
if (CE_BAD(LOCAL_E)) if (CE_BAD(LOCAL_E))
return; return;
if (!shouldBacktrack())
{
shouldDrawBt = false;
return;
}
shouldDrawBt = true;
CUserCmd *cmd = current_user_cmd; CUserCmd *cmd = current_user_cmd;
float bestFov = 99999; float bestFov = 99999;
@ -151,12 +152,10 @@ void Run()
void Draw() void Draw()
{ {
#if ENABLE_VISUALS #if ENABLE_VISUALS
if (!enable) if (!isBacktrackEnabled)
return; return;
if (!draw_bt) if (!draw_bt)
return; return;
if (!shouldDrawBt)
return;
for (int i = 0; i < g_IEngine->GetMaxClients(); i++) for (int i = 0; i < g_IEngine->GetMaxClients(); i++)
{ {
CachedEntity *ent = ENTITY(i); CachedEntity *ent = ENTITY(i);
@ -192,10 +191,16 @@ void Draw()
#endif #endif
} }
// Internal only, use isBacktrackEnabled var instead
bool shouldBacktrack() bool shouldBacktrack()
{ {
if (!*enable)
return false;
CachedEntity *wep = g_pLocalPlayer->weapon();
if (CE_BAD(wep))
return false;
int slot = int slot =
re::C_BaseCombatWeapon::GetSlot(RAW_ENT(g_pLocalPlayer->weapon())); re::C_BaseCombatWeapon::GetSlot(RAW_ENT(wep));
switch ((int) slots) switch ((int) slots)
{ {
case 0: case 0:
@ -229,11 +234,6 @@ bool shouldBacktrack()
return false; return false;
} }
bool isBacktrackEnabled()
{
return *enable;
}
float getLatency() float getLatency()
{ {
return *latency; return *latency;

View File

@ -113,7 +113,7 @@ void CreateMove()
CachedEntity *ent = FindEntInSight(EffectiveTargetingRange()); CachedEntity *ent = FindEntInSight(EffectiveTargetingRange());
// Check if can backtrack, shoot if we can // Check if can backtrack, shoot if we can
if (!CanBacktrack() || hacks::shared::backtrack::isBacktrackEnabled()) if (!CanBacktrack() || hacks::shared::backtrack::isBacktrackEnabled)
return; return;
// Check if dormant or null to prevent crashes // Check if dormant or null to prevent crashes