Fix isBacktrackEnabled

This commit is contained in:
TotallyNotElite 2018-08-11 13:36:33 +02:00
parent 9b8cb223a8
commit 77dcc3d44f
5 changed files with 26 additions and 30 deletions

View File

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

View File

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

View File

@ -45,9 +45,9 @@ int ClosestDistanceHitbox(CachedEntity *target,
{
int closest = -1;
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);
else
dist = g_pLocalPlayer->v_Eye.DistTo(
@ -67,7 +67,7 @@ bool unifiedCanBackstab(Vector &vecAngle, Vector min, Vector max,
// Get melee range
float meleeRange = re::C_TFWeaponBaseMelee::GetSwingRange(RAW_ENT(LOCAL_W));
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;
if (!min.x && !max.x)
return false;
@ -104,9 +104,8 @@ bool unifiedCanBackstab(Vector &vecAngle, Vector min, Vector max,
forward.z = -sp;
forward = forward * meleeRange + head;
Vector hit;
// Check if we our line is within the targets hitbox
if (hacks::shared::triggerbot::CheckLineBox(minz, maxz, head, forward, hit))
if (LineIntersectsBox(minz, maxz, head, forward))
return true;
return false;
}
@ -122,7 +121,7 @@ void CreateMove()
if (!CanShoot())
return;
CachedEntity *besttarget = nullptr;
if (!backtrack::isBacktrackEnabled())
if (!backtrack::isBacktrackEnabled)
{
for (int i = 0; i < g_IEngine->GetMaxClients(); i++)
{
@ -173,7 +172,7 @@ void CreateMove()
{
hacks::shared::anti_anti_aim::resolveEnt(besttarget->m_IDX);
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)
{

View File

@ -22,10 +22,12 @@ namespace hacks::shared::backtrack
{
void EmptyBacktrackData(BacktrackData &i);
std::pair<int, int> getBestEntBestTick();
bool shouldBacktrack();
BacktrackData headPositions[32][66]{};
int highesttick[32]{};
int lastincomingsequencenumber = 0;
static bool shouldDrawBt;
bool isBacktrackEnabled;
circular_buf sequences{ 2048 };
void UpdateIncomingSequences()
@ -71,19 +73,16 @@ int BestTick = 0;
int iBestTarget = -1;
void Run()
{
if (!enable)
if (!shouldBacktrack())
{
isBacktrackEnabled = false;
return;
}
isBacktrackEnabled = true;
if (CE_BAD(LOCAL_E))
return;
if (!shouldBacktrack())
{
shouldDrawBt = false;
return;
}
shouldDrawBt = true;
CUserCmd *cmd = current_user_cmd;
float bestFov = 99999;
@ -151,12 +150,10 @@ void Run()
void Draw()
{
#if ENABLE_VISUALS
if (!enable)
if (!isBacktrackEnabled)
return;
if (!draw_bt)
return;
if (!shouldDrawBt)
return;
for (int i = 0; i < g_IEngine->GetMaxClients(); i++)
{
CachedEntity *ent = ENTITY(i);
@ -192,10 +189,16 @@ void Draw()
#endif
}
// Internal only, use isBacktrackEnabled var instead
bool shouldBacktrack()
{
if (!*enable)
return false;
CachedEntity *wep = g_pLocalPlayer->weapon();
if (CE_BAD(wep))
return false;
int slot =
re::C_BaseCombatWeapon::GetSlot(RAW_ENT(g_pLocalPlayer->weapon()));
re::C_BaseCombatWeapon::GetSlot(RAW_ENT(wep));
switch ((int) slots)
{
case 0:
@ -229,11 +232,6 @@ bool shouldBacktrack()
return false;
}
bool isBacktrackEnabled()
{
return *enable;
}
float getLatency()
{
return *latency;
@ -293,7 +291,7 @@ std::pair<int, int> getBestEntBestTick()
}
else
{
float bestFov = 0.0f;
float bestFov = 100.0f;
for (int i = 0; i < g_IEngine->GetMaxClients(); i++)
{
CachedEntity *tar = ENTITY(i);

View File

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