starting some rework
This commit is contained in:
parent
9fa5155848
commit
2efb08752b
@ -117,7 +117,7 @@
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="cmdui|autogen|segvcatch|xoverlay|include|classinfo|vtables|ipc|ncc|memory|hooks|sdk|imgui|src|freetype-gl|copypasted|source-sdk-2013|targeting|gui|mem" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
<entry excluding="hacks|copypasted|visual|gui|classinfo|hooks|sdk" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="include"/>
|
||||
<entry excluding="reclasses|hacks|copypasted|visual|gui|classinfo|hooks|sdk" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="include"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="include/classinfo"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="include/copypasted"/>
|
||||
<entry excluding="cmdui|im|ncc" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="include/gui"/>
|
||||
@ -125,6 +125,7 @@
|
||||
<entry excluding="ac" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="include/hacks"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="include/hacks/ac"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="include/hooks"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="include/reclasses"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="include/sdk"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="include/visual"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="segvcatch"/>
|
||||
|
111
code_signing_key.asc
Normal file
111
code_signing_key.asc
Normal file
@ -0,0 +1,111 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Comment: GPGTools - https://gpgtools.org
|
||||
|
||||
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
|
||||
Hxpd
|
||||
=FMAy
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@ -519,9 +519,12 @@ namespace client_classes {
|
||||
int CBaseGrenadeProjectile { 0 };
|
||||
int CDAViewModel { 0 };
|
||||
|
||||
int CTFWeaponFlameBall { 0 };
|
||||
int CTFProjectile_BallOfFire { 0 };
|
||||
|
||||
};
|
||||
|
||||
extern dummy dummy_list;
|
||||
}
|
||||
|
||||
#endif /* DUMMY_AUTOGEN_HPP */
|
||||
#endif /* DUMMY_AUTOGEN_HPP */
|
||||
|
@ -13,4 +13,6 @@ void init();
|
||||
void update();
|
||||
void draw();
|
||||
|
||||
|
||||
|
||||
}}
|
||||
|
@ -1,55 +0,0 @@
|
||||
/*
|
||||
* node.hpp
|
||||
*
|
||||
* Created on: Nov 17, 2017
|
||||
* Author: nullifiedcat
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.hpp"
|
||||
|
||||
namespace gui { namespace cmdui {
|
||||
|
||||
struct node_descriptor
|
||||
{
|
||||
enum nodetype
|
||||
{
|
||||
UNDEFINED,
|
||||
LIST,
|
||||
VARIABLE,
|
||||
COMMAND
|
||||
};
|
||||
nodetype type;
|
||||
std::shared_ptr<node> node;
|
||||
};
|
||||
|
||||
class node
|
||||
{
|
||||
public:
|
||||
int dummy;
|
||||
};
|
||||
|
||||
class node_list: public node
|
||||
{
|
||||
public:
|
||||
node_list();
|
||||
std::vector<node_descriptor> children {};
|
||||
};
|
||||
|
||||
class node_variable: public node
|
||||
{
|
||||
public:
|
||||
node_variable(const CatVar& catvar);
|
||||
|
||||
};
|
||||
|
||||
class node_command: public node
|
||||
{
|
||||
public:
|
||||
const node_descriptor type { node_descriptor::nodetype::COMMAND };
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
|
@ -25,6 +25,7 @@ constexpr platform PLATFORM = platform::PLATFORM_UNSUPPORTED;
|
||||
#endif
|
||||
|
||||
struct offsets {
|
||||
|
||||
static constexpr uint32_t PlatformOffset(uint32_t offset_linux, uint32_t offset_windows, uint32_t offset_osx) {
|
||||
uint32_t result = -1;
|
||||
switch (PLATFORM) {
|
||||
@ -63,6 +64,12 @@ struct offsets {
|
||||
static constexpr uint32_t FireEvent() { return PlatformOffset(8, 0, 0); }
|
||||
static constexpr uint32_t FireEventClientSide() { return PlatformOffset(9, 0, 0); }
|
||||
|
||||
static constexpr uint32_t GetSlot() { return PlatformOffset(395, 0, 395); }
|
||||
static constexpr uint32_t GetProjectileSpeed() { return PlatformOffset(534, 0, 534); }
|
||||
static constexpr uint32_t GetProjectileGravity() { return PlatformOffset(534, 0, 534); }
|
||||
static constexpr uint32_t DoSwingTrace() { return PlatformOffset(522, 0, 522); }
|
||||
static constexpr uint32_t AreRandomCritsEnabled() { return PlatformOffset(466, 0, 466); }
|
||||
|
||||
static constexpr uint32_t lastoutgoingcommand() { return PlatformOffset(19228, -1, -1); }
|
||||
static constexpr uint32_t m_nOutSequenceNr() { return PlatformOffset(8, -1, -1); }
|
||||
static constexpr uint32_t m_NetChannel() { return PlatformOffset(196, -1, -1); }
|
||||
|
20
include/reclasses/C_BaseCombatWeapon.hpp
Normal file
20
include/reclasses/C_BaseCombatWeapon.hpp
Normal file
@ -0,0 +1,20 @@
|
||||
/*
|
||||
* C_BaseCombatWeapon.hpp
|
||||
*
|
||||
* Created on: Nov 23, 2017
|
||||
* Author: nullifiedcat
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
class C_BaseCombatWeapon : public IClientEntity
|
||||
{
|
||||
public:
|
||||
inline int GetSlot()
|
||||
{
|
||||
typedef int(*fn_t)(C_BaseCombatWeapon *);
|
||||
return vfunc<fn_t>(this, 395, 0)(this);
|
||||
}
|
||||
};
|
||||
|
||||
|
16
include/reclasses/C_TFWeaponBaseGun.hpp
Normal file
16
include/reclasses/C_TFWeaponBaseGun.hpp
Normal file
@ -0,0 +1,16 @@
|
||||
/*
|
||||
* C_TFWeaponBaseGun.hpp
|
||||
*
|
||||
* Created on: Nov 23, 2017
|
||||
* Author: nullifiedcat
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
class C_TFWeaponBaseGun : public C_BaseCombatWeapon
|
||||
{
|
||||
public:
|
||||
|
||||
};
|
||||
|
||||
|
19
include/reclasses/reclasses.hpp
Normal file
19
include/reclasses/reclasses.hpp
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* reclasses.hpp
|
||||
*
|
||||
* Created on: Nov 23, 2017
|
||||
* Author: nullifiedcat
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.hpp"
|
||||
|
||||
namespace re
|
||||
{
|
||||
|
||||
#include "C_BaseCombatWeapon.hpp"
|
||||
#include "C_TFWeaponBaseGun.hpp"
|
||||
|
||||
|
||||
}
|
@ -136,6 +136,7 @@ void CachedEntity::Update() {
|
||||
m_iClassID == CL_CLASS(CTFProjectile_HealingBolt) ||
|
||||
m_iClassID == CL_CLASS(CTFProjectile_Rocket) ||
|
||||
m_iClassID == CL_CLASS(CTFProjectile_SentryRocket) ||
|
||||
m_iClassID == CL_CLASS(CTFProjectile_BallOfFire) ||
|
||||
m_iClassID == CL_CLASS(CTFProjectile_Flare)) {
|
||||
m_Type = EntityType::ENTITY_PROJECTILE;
|
||||
} else {
|
||||
|
@ -22,9 +22,7 @@ void CreateMove() {
|
||||
static auto IsBehindAndFacingTarget_addr = gSignatures.GetClientSignature("55 89 E5 57 56 53 83 EC 2C 8B 45 08 8B 5D 08 C1 E0 0C");
|
||||
static auto IsBehindAndFacingTarget = reinterpret_cast<IsBehindAndFacingTarget_t>(IsBehindAndFacingTarget_addr);
|
||||
|
||||
// 522 = DoSwingTrace
|
||||
// FIXME offset
|
||||
if (vfunc<bool(*)(IClientEntity*, trace_t*)>(weapon, 522)(weapon, &trace)) {
|
||||
if (vfunc<bool(*)(IClientEntity*, trace_t*)>(weapon, offsets::DoSwingTrace())(weapon, &trace)) {
|
||||
if (trace.m_pEnt && reinterpret_cast<IClientEntity*>(trace.m_pEnt)->GetClientClass()->m_ClassID == RCC_PLAYER) {
|
||||
if (NET_INT(trace.m_pEnt, netvar.iTeamNum) != g_pLocalPlayer->team) {
|
||||
if (IsBehindAndFacingTarget(weapon, reinterpret_cast<IClientEntity*>(trace.m_pEnt)))
|
||||
|
@ -26,6 +26,7 @@ CatVar anti_afk(CV_SWITCH, "anti_afk", "0", "Anti-AFK", "Sends random commands t
|
||||
CatVar auto_strafe(CV_SWITCH, "auto_strafe", "0", "Auto-Strafe", "Automaticly airstrafes for you.");
|
||||
CatVar render_zoomed(CV_SWITCH, "render_zoomed", "0", "Render model when zoomed-in", "Renders player model while being zoomed in as Sniper");
|
||||
CatVar nopush_enabled(CV_SWITCH, "nopush_enabled", "0", "No Push", "Prevents other players from pushing you around.");
|
||||
|
||||
//CatVar no_homo(CV_SWITCH, "no_homo", "1", "No Homo", "read if gay");
|
||||
// Taunting stuff
|
||||
CatEnum spycrab_mode_enum({"DISABLED", "FORCE CRAB", "FORCE NON-CRAB"});
|
||||
@ -114,7 +115,7 @@ void CreateMove() {
|
||||
static crithack_saved_state state;
|
||||
static bool chc;
|
||||
static bool changed = false;
|
||||
|
||||
|
||||
if (g_pUserCmd->command_number && found_crit_number > g_pUserCmd->command_number + 66 * 20) found_crit_number = 0;
|
||||
if (g_pUserCmd->command_number) last_number = g_pUserCmd->command_number;
|
||||
|
||||
|
@ -553,6 +553,10 @@ bool GetProjectileData(CachedEntity* weapon, float& speed, float& gravity) {
|
||||
rspeed = 2400.0f;
|
||||
} else if (weapon->m_iClassID == CL_CLASS(CTFDRGPomson)) {
|
||||
rspeed = 1200.0f;
|
||||
} else if (weapon->m_iClassID == CL_CLASS(CTFWeaponFlameBall))
|
||||
{
|
||||
// ??
|
||||
rspeed = 2500.0f;
|
||||
}
|
||||
speed = rspeed;
|
||||
gravity = rgrav;
|
||||
|
@ -97,6 +97,7 @@ static CatVar engine_pred(CV_SWITCH, "engine_prediction", "0", "Engine Predictio
|
||||
static CatVar debug_projectiles(CV_SWITCH, "debug_projectiles", "0", "Debug Projectiles");
|
||||
|
||||
static CatVar fakelag_amount(CV_INT, "fakelag", "0", "Bad Fakelag");
|
||||
CatVar semiauto(CV_INT, "semiauto", "0", "Semiauto");
|
||||
|
||||
bool CreateMove_hook(void* thisptr, float inputSample, CUserCmd* cmd) {
|
||||
g_Settings.is_create_move = true;
|
||||
@ -304,6 +305,21 @@ bool CreateMove_hook(void* thisptr, float inputSample, CUserCmd* cmd) {
|
||||
PROF_SECTION(CM_aimbot);
|
||||
SAFE_CALL(hacks::shared::aimbot::CreateMove());
|
||||
}
|
||||
static int attackticks = 0;
|
||||
if (g_pUserCmd->buttons & IN_ATTACK)
|
||||
++attackticks;
|
||||
else
|
||||
attackticks = 0;
|
||||
if (semiauto)
|
||||
{
|
||||
if (g_pUserCmd->buttons & IN_ATTACK)
|
||||
{
|
||||
if (attackticks % int(semiauto) < int(semiauto) - 1)
|
||||
{
|
||||
g_pUserCmd->buttons &= ~IN_ATTACK;
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
PROF_SECTION(CM_antiaim);
|
||||
SAFE_CALL(hacks::shared::antiaim::ProcessUserCmd(cmd));
|
||||
|
@ -211,11 +211,15 @@ CatVar debug_pp_rockettimeping(CV_SWITCH, "debug_pp_rocket_time_ping", "0", "Com
|
||||
Vector ProjectilePrediction(CachedEntity* ent, int hb, float speed, float gravitymod, float entgmod) {
|
||||
if (!ent) return Vector();
|
||||
Vector result;
|
||||
if (not debug_pp_extrapolate) {
|
||||
//if (not debug_pp_extrapolate) {
|
||||
GetHitbox(ent, hb, result);
|
||||
} else {
|
||||
result = SimpleLatencyPrediction(ent, hb);
|
||||
}
|
||||
//} else {
|
||||
// result = SimpleLatencyPrediction(ent, hb);
|
||||
//
|
||||
//}
|
||||
float latency = g_IEngine->GetNetChannelInfo()->GetLatency(FLOW_OUTGOING) +
|
||||
g_IEngine->GetNetChannelInfo()->GetLatency(FLOW_INCOMING);
|
||||
|
||||
if (speed == 0.0f) return Vector();
|
||||
trace::filter_no_player.SetSelf(RAW_ENT(ent));
|
||||
float dtg = DistanceToGround(ent);
|
||||
@ -236,9 +240,14 @@ Vector ProjectilePrediction(CachedEntity* ent, int hb, float speed, float gravit
|
||||
for (int steps = 0; steps < maxsteps; steps++, currenttime += ((float)(2 * range) / (float)maxsteps)) {
|
||||
Vector curpos = result;
|
||||
curpos += vel * currenttime;
|
||||
if (dtg > 0.0f) {
|
||||
curpos.z -= currenttime * currenttime * 400 * entgmod;
|
||||
if (curpos.z < result.z - dtg) curpos.z = result.z - dtg;
|
||||
if (debug_pp_extrapolate)
|
||||
{
|
||||
curpos += vel * currenttime * latency;
|
||||
}
|
||||
if (dtg > 0.0f)
|
||||
{
|
||||
curpos.z -= currenttime * currenttime * 400.0f * entgmod;
|
||||
if (curpos.z < result.z - dtg) curpos.z = result.z - dtg;
|
||||
}
|
||||
float rockettime = g_pLocalPlayer->v_Eye.DistTo(curpos) / speed;
|
||||
if (debug_pp_rockettimeping) rockettime += g_IEngine->GetNetChannelInfo()->GetLatency(FLOW_OUTGOING);
|
||||
@ -248,6 +257,8 @@ Vector ProjectilePrediction(CachedEntity* ent, int hb, float speed, float gravit
|
||||
mindelta = fabs(rockettime - currenttime);
|
||||
}
|
||||
}
|
||||
if (debug_pp_rockettimeping)
|
||||
besttime += g_IEngine->GetNetChannelInfo()->GetLatency(FLOW_OUTGOING);
|
||||
bestpos.z += (400 * besttime * besttime * gravitymod);
|
||||
// S = at^2/2 ; t = sqrt(2S/a)*/
|
||||
return bestpos;
|
||||
|
@ -80,7 +80,7 @@ bool draw::EntityCenterToScreen(CachedEntity* entity, Vector& out) {
|
||||
Vector world, min, max;
|
||||
bool succ;
|
||||
|
||||
if (!entity || !RAW_ENT(entity)) return false;
|
||||
if (CE_BAD(entity)) return false;
|
||||
RAW_ENT(entity)->GetRenderBounds(min, max);
|
||||
world = RAW_ENT(entity)->GetAbsOrigin();
|
||||
world.z += (min.z + max.z) / 2;
|
||||
|
Reference in New Issue
Block a user