You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
1.9 KiB
C++

#include "Math.h"
#include "offsets.h"
#include "memory.h"
#define NUM_ENT_ENTRIES (1 << 12)
#define ENT_ENTRY_MASK (NUM_ENT_ENTRIES - 1)
typedef struct Bone
{
uint8_t pad1[0xCC];
float x;
uint8_t pad2[0xC];
float y;
uint8_t pad3[0xC];
float z;
}Bone;
class Entity
{
public:
uint64_t ptr;
uint8_t buffer[0x3FF0];
Vector getPosition();
bool isDummy();
bool isPlayer();
bool isKnocked();
bool isAlive();
float lastVisTime();
int getTeamId();
int getHealth();
int getShield();
bool isGlowing();
bool isZooming();
Vector getAbsVelocity();
QAngle GetSwayAngles();
QAngle GetViewAngles();
Vector GetCamPos();
QAngle GetRecoil();
Vector GetViewAnglesV();
float GetYaw();
void enableGlow();
void disableGlow();
void SetViewAngles(SVector angles);
void SetViewAngles(QAngle& angles);
Vector getBonePosition(int id);
Vector getBonePositionByHitbox(int id);
bool Observing(uint64_t local);
void get_name(uint64_t g_Base, uint64_t index, char* name);
};
class Item
{
public:
uint64_t ptr;
uint8_t buffer[0x3FF0];
Vector getPosition();
bool isItem();
bool isGlowing();
void enableGlow();
void disableGlow();
};
class WeaponXEntity
{
public:
void update(uint64_t LocalPlayer);
float get_projectile_speed();
float get_projectile_gravity();
float get_zoom_fov();
int get_ammo();
private:
float projectile_scale;
float projectile_speed;
float zoom_fov;
int ammo;
};
struct ClientClass {
uint64_t pCreateFn;
uint64_t pCreateEventFn;
uint64_t pNetworkName;
uint64_t pRecvTable;
uint64_t pNext;
uint32_t ClassID;
uint32_t ClassSize;
};
Entity getEntity(uintptr_t ptr);
Item getItem(uintptr_t ptr);
bool WorldToScreen(Vector from, float* m_vMatrix, int targetWidth, int targetHeight, Vector& to);
float CalculateFov(Entity& from, Entity& target);
QAngle CalculateBestBoneAim(Entity& from, uintptr_t target, float max_fov);
void get_class_name(uint64_t entity_ptr, char* out_str);
void charge_rifle_hack(uint64_t entity_ptr);