From f8d48adb3807ce36a8649221a0fc9921b9c4f29e Mon Sep 17 00:00:00 2001 From: nullifiedcat Date: Sun, 18 Dec 2016 17:15:43 +0300 Subject: [PATCH] Menu! --- cathook/src/cvwrapper.cpp | 42 ++++++++ cathook/src/cvwrapper.h | 18 ++-- cathook/src/drawing.cpp | 14 +++ cathook/src/drawing.h | 3 + cathook/src/gui/controls.cpp | 135 +++++++++++++++++++++++--- cathook/src/gui/controls.h | 40 ++++++-- cathook/src/gui/gui.cpp | 148 ++++++++++++++++++++++++++++- cathook/src/gui/gui.h | 14 +++ cathook/src/hack.cpp | 5 +- cathook/src/hacks/Aimbot.cpp | 48 +++++----- cathook/src/hacks/Airstuck.cpp | 2 +- cathook/src/hacks/AntiAim.cpp | 2 +- cathook/src/hacks/AntiDisguise.cpp | 2 +- cathook/src/hacks/AutoHeal.cpp | 4 +- cathook/src/hacks/AutoReflect.cpp | 6 +- cathook/src/hacks/AutoSticky.cpp | 8 +- cathook/src/hacks/AutoStrafe.cpp | 2 +- cathook/src/hacks/Bunnyhop.cpp | 2 +- cathook/src/hacks/ESP.cpp | 32 +++---- cathook/src/hacks/ESP.h | 1 - cathook/src/hacks/SpyAlert.cpp | 6 +- cathook/src/hacks/Trigger.cpp | 16 ++-- cathook/src/hacks/hacklist.h | 27 ++++++ cathook/src/sdk/convar.cpp | 3 +- 24 files changed, 479 insertions(+), 101 deletions(-) create mode 100644 cathook/src/cvwrapper.cpp create mode 100644 cathook/src/hacks/hacklist.h diff --git a/cathook/src/cvwrapper.cpp b/cathook/src/cvwrapper.cpp new file mode 100644 index 00000000..eab1d95d --- /dev/null +++ b/cathook/src/cvwrapper.cpp @@ -0,0 +1,42 @@ +/* + * cvwrapper.cpp + * + * Created on: Dec 18, 2016 + * Author: nullifiedcat + */ + +#include "cvwrapper.h" + +#include "common.h" +#include "sdk.h" + +void CatVar::Increment() { + if (!m_pConVar) return; + switch (m_Type) { + case CatVar_t::CV_SWITCH: { + m_pConVar->SetValue(!m_pConVar->GetInt()); + } break; + case CatVar_t::CV_INT: + m_pConVar->SetValue(m_pConVar->GetInt() + 1); + break; + case CatVar_t::CV_FLOAT: + m_pConVar->SetValue(m_pConVar->GetFloat() + 0.5f); + break; + } +} + +void CatVar::Decrement() { + if (!m_pConVar) return; + switch (m_Type) { + case CatVar_t::CV_SWITCH: + m_pConVar->SetValue((int)!m_pConVar->GetInt()); + break; + case CatVar_t::CV_INT: + m_pConVar->SetValue(m_pConVar->GetInt() - 1); + break; + case CatVar_t::CV_FLOAT: + m_pConVar->SetValue(m_pConVar->GetFloat() - 0.5f); + break; + } +} + diff --git a/cathook/src/cvwrapper.h b/cathook/src/cvwrapper.h index 9e3bff74..2db3835a 100644 --- a/cathook/src/cvwrapper.h +++ b/cathook/src/cvwrapper.h @@ -11,23 +11,21 @@ class ConVar; enum CatVar_t { + CV_SWITCH, CV_INT, CV_FLOAT, CV_STRING }; -class ICatVar { +class CatVar { public: - virtual ~ICatVar(); - virtual CatVar_t GetType() = 0; - virtual ConVar* GetConVar() = 0; -}; - -class CatVar_INT : public ICatVar { -public: - CatVar_t GetType() { return CatVar_t::CV_INT; } - ConVar* GetConVar() { return m_pConVar; } + inline CatVar(ConVar* var, CatVar_t type) { m_pConVar = var; m_Type = type; } + inline CatVar_t GetType() { return m_Type; } + inline ConVar* GetConVar() { return m_pConVar; } + void Increment(); + void Decrement(); + CatVar_t m_Type; ConVar* m_pConVar; }; diff --git a/cathook/src/drawing.cpp b/cathook/src/drawing.cpp index cc7af62f..264e11c4 100644 --- a/cathook/src/drawing.cpp +++ b/cathook/src/drawing.cpp @@ -90,6 +90,8 @@ Color draw::black(0, 0, 0, 255); Color colors::white(255, 255, 255, 255); Color colors::pink (255, 105, 180, 255); +Color colors::pinka(255, 105, 180, 180); +Color colors::bg_blk(0, 0, 0, 180); Color colors::black(0, 0, 0, 255); Color colors::tf_red(184, 56, 59, 255); Color colors::tf_blu(88, 133, 162, 255); @@ -187,6 +189,18 @@ void draw::DrawString(int x, int y, Color color, Color background, bool center, draw::DrawString(draw::font_handle, x, y, color, string); } +void draw::DrawString(int x, int y, Color color, const char* text, ...) { + if (!text) return; + va_list list; + char buffer[1024] = { '\0' }; + wchar_t string[1024] = { '\0' }; + va_start(list, text); + vsprintf(buffer, text, list); + va_end(list); + swprintf(string, 1024, L"%s", buffer); + draw::DrawString(draw::font_handle, x, y, color, string); +} + bool draw::EntityCenterToScreen(IClientEntity* entity, Vector& out) { if (!entity) return false; Vector world; diff --git a/cathook/src/drawing.h b/cathook/src/drawing.h index a838e5ca..edf671ac 100644 --- a/cathook/src/drawing.h +++ b/cathook/src/drawing.h @@ -25,7 +25,9 @@ extern Color TEAM_COLORS[4]; namespace colors { extern Color pink; +extern Color pinka; extern Color white; +extern Color bg_blk; extern Color black; extern Color tf_red; extern Color tf_blu; @@ -70,6 +72,7 @@ extern Color black; void Initialize(); void DrawString(unsigned long font, int x, int y, Color color, const wchar_t* text); void DrawString(int x, int y, Color color, Color background, bool center, const char* text, ...); +void DrawString(int x, int y, Color color, const char* text, ...); void DrawRect(int x, int y, int w, int h, Color color); bool WorldToScreen(Vector &origin, Vector &screen); bool EntityCenterToScreen(IClientEntity* entity, Vector& out); diff --git a/cathook/src/gui/controls.cpp b/cathook/src/gui/controls.cpp index 250cb709..1e9ef62c 100644 --- a/cathook/src/gui/controls.cpp +++ b/cathook/src/gui/controls.cpp @@ -6,45 +6,154 @@ */ #include "controls.h" -#include "common.h" -#include "sdk.h" +#include "gui.h" +#include "../common.h" +#include "../sdk.h" -GUI_List::GUI_List(const char* name) { - m_pszListName = name; +GUI_List::GUI_List(const char* name, const char* title) { + m_pszListID = name; + m_pszListTitle = title; m_pFirst = 0; + m_nElementCount = 0; } -void GUI_List::Draw(int x, int y) { +void GUI_List::Move(int x, int y) { + this->x = x; + this->y = y; +} + +void GUI_List::Draw() { IGUIListElement* current = m_pFirst; - int n_elements = 0; + draw::DrawRect(x, y, LIST_WIDTH, m_nElementCount * VERTICAL_SPACING, colors::bg_blk); + int curidx = 0; while (current) { - current->Draw(x + 1, y + 1 + n_elements * VERTICAL_SPACING); - n_elements++; + current->Draw(x + 1, y + 1 + curidx++ * VERTICAL_SPACING, (current == m_pSelected)); current = current->m_pNext; } - draw::OutlineRect(x, y, x + LIST_WIDTH, y + n_elements * VERTICAL_SPACING, colors::tf_blu); + draw::OutlineRect(x, y, LIST_WIDTH, m_nElementCount * VERTICAL_SPACING, colors::pink); } void GUI_List::AddElement(IGUIListElement* element) { if (!m_pFirst) { + m_pSelected = element; m_pFirst = element; m_pLast = element; + element->m_nIndex = m_nElementCount++; + element->m_pParentList = this; + return; } IGUIListElement* current = m_pFirst; while (current) { - current = current->m_pNext; + if (current->m_pNext) + current = current->m_pNext; + else { + break; + } } if (current) { current->m_pNext = element; element->m_pPrev = current; + element->m_nIndex = m_nElementCount++; + element->m_pParentList = this; m_pLast = current; } } -void GUIListElement_Var::GUIListElement_Var(ICatVar* var) { +IGUIListElement::~IGUIListElement() {} + +void GUI_List::SelectNext() { + if (!m_pSelected) { + m_pSelected = m_pFirst; + } else { + m_pSelected = m_pSelected->m_pNext; + } + if (!m_pSelected) + m_pSelected = m_pFirst; +} + +void GUI_List::SelectPrev() { + if (!m_pSelected) { + m_pSelected = m_pFirst; + } else { + m_pSelected = m_pSelected->m_pPrev; + } + if (!m_pSelected) + m_pSelected = m_pLast; +} + +void GUI_List::KeyEvent(ButtonCode_t key) { + switch (key) { + case ButtonCode_t::KEY_UP: + SelectPrev(); break; + case ButtonCode_t::KEY_DOWN: + SelectNext(); break; + default: + if (m_pSelected) { + m_pSelected->KeyEvent(key); + } + } +} + +GUIListElement_Var::GUIListElement_Var(CatVar* var) { m_pCatVar = var; + m_pNext = 0; + m_pPrev = 0; } -void GUIListElement_Var::Draw(int x, int y) { - +void GUIListElement_Var::Draw(int x, int y, bool selected) { + switch (m_pCatVar->m_Type) { + case CatVar_t::CV_SWITCH: { + draw::DrawString(x, y, selected ? colors::pink : colors::pinka, "%s", m_pCatVar->GetConVar()->GetHelpText()); + int l, h; + bool enabled = m_pCatVar->GetConVar()->GetInt(); + draw::GetStringLength(enabled ? (char*)"ON" : (char*)"OFF", l, h); + draw::DrawString(x + LIST_WIDTH - l - 3, y, selected ? colors::pink : colors::pinka, enabled ? "ON" : "OFF"); + } break; + case CatVar_t::CV_FLOAT: { + draw::DrawString(x, y, selected ? colors::pink : colors::pinka, "%s", m_pCatVar->GetConVar()->GetHelpText()); + int l, h; + draw::GetStringLength(strfmt("%.1f", m_pCatVar->GetConVar()->GetFloat()), l, h); + draw::DrawString(x + LIST_WIDTH - l - 3, y, selected ? colors::pink : colors::pinka, "%.1f", m_pCatVar->GetConVar()->GetFloat()); + } break; + case CatVar_t::CV_INT: { + draw::DrawString(x, y, selected ? colors::pink : colors::pinka, "%s", m_pCatVar->GetConVar()->GetHelpText()); + int l, h; + draw::GetStringLength(strfmt("%i", m_pCatVar->GetConVar()->GetInt()), l, h); + draw::DrawString(x + LIST_WIDTH - l - 3, y, selected ? colors::pink : colors::pinka, "%i", m_pCatVar->GetConVar()->GetInt()); + } break; + } +} + +void GUIListElement_Var::KeyEvent(ButtonCode_t key) { + switch (key) { + case ButtonCode_t::KEY_SPACE: + case ButtonCode_t::KEY_ENTER: + m_pCatVar->Increment(); + break; + case ButtonCode_t::KEY_RIGHT: + m_pCatVar->Increment(); + break; + case ButtonCode_t::KEY_LEFT: + m_pCatVar->Decrement(); + break; + } +} + +GUIListElement_SubList::GUIListElement_SubList(GUI_List* list) { + m_pList = list; + m_pNext = 0; + m_pPrev = 0; +} + +void GUIListElement_SubList::Draw(int x, int y, bool selected) { + draw::DrawString(x, y, selected ? colors::pink : colors::pinka, "> %s", m_pList->m_pszListTitle); +} + +void GUIListElement_SubList::KeyEvent(ButtonCode_t key) { + switch (key) { + case ButtonCode_t::KEY_ENTER: + case ButtonCode_t::KEY_SPACE: + m_pList->Move(m_pParentList->x + LIST_WIDTH, m_pParentList->y + VERTICAL_SPACING * m_nIndex); + g_pGUI->PushList(m_pList->m_pszListID); + } } diff --git a/cathook/src/gui/controls.h b/cathook/src/gui/controls.h index 226111f5..5ad43a91 100644 --- a/cathook/src/gui/controls.h +++ b/cathook/src/gui/controls.h @@ -8,36 +8,60 @@ #ifndef CONTROLS_H_ #define CONTROLS_H_ +#include "../cvwrapper.h" +#include "../sdk.h" + #define VERTICAL_SPACING 14 -#define LIST_WIDTH 100 +#define LIST_WIDTH 200 + +class IGUIListElement; class GUI_List { public: - GUI_List(const char* name); - void Draw(int x, int y); + GUI_List(const char* id, const char* title); + void Draw(); + void Move(int x, int y); void AddElement(IGUIListElement* element); + void KeyEvent(ButtonCode_t key); + void SelectNext(); + void SelectPrev(); + int x, y; + IGUIListElement* m_pSelected; IGUIListElement* m_pFirst; IGUIListElement* m_pLast; - const char* m_pszListName; + int m_nElementCount; + const char* m_pszListID; + const char* m_pszListTitle; }; class IGUIListElement { public: virtual ~IGUIListElement(); - virtual void Draw(int x, int y) = 0; + virtual void Draw(int x, int y, bool selected) = 0; virtual void KeyEvent(ButtonCode_t key) = 0; IGUIListElement* m_pNext; IGUIListElement* m_pPrev; + int m_nIndex; + GUI_List* m_pParentList; }; class GUIListElement_Var : public IGUIListElement { public: - GUIListElement_Var(ICatVar* var); - void Draw(int x, int y); + GUIListElement_Var(CatVar* var); + void Draw(int x, int y, bool selected); void KeyEvent(ButtonCode_t key); - ICatVar* m_pCatVar; + CatVar* m_pCatVar; +}; + +class GUIListElement_SubList : public IGUIListElement { +public: + GUIListElement_SubList(GUI_List* list); + void Draw(int x, int y, bool selected); + void KeyEvent(ButtonCode_t key); + + GUI_List* m_pList; }; #endif /* CONTROLS_H_ */ diff --git a/cathook/src/gui/gui.cpp b/cathook/src/gui/gui.cpp index 7a0e1dd8..1c54c1cd 100644 --- a/cathook/src/gui/gui.cpp +++ b/cathook/src/gui/gui.cpp @@ -6,25 +6,169 @@ */ #include "gui.h" +#include "controls.h" #include "../common.h" #include "../sdk.h" +#include "../hacks/hacklist.h" GUI::GUI() { m_bActive = false; + m_nListCount = 0; + m_nStackSize = 0; + m_ListStack = new GUI_List*[LISTS_MAX](); + m_Lists = new GUI_List*[LISTS_MAX](); +} + +void GUI::AddList(GUI_List* list) { + m_Lists[m_nListCount] = list; + m_nListCount++; +} + +void GUI::PushList(const char* id) { + logging::Info("Pushing list %s", id); + if (m_nStackSize == LISTS_MAX - 1) return; + for (int i = 0; i < m_nListCount; i++) { + GUI_List* list = m_Lists[i]; + if (strcmp(list->m_pszListID, id) == 0) { + logging::Info("Found!"); + m_ListStack[m_nStackSize] = list; + m_nStackSize++; + return; + } + } +} + +void GUI::PopList() { + if (m_nStackSize == 1) return; + m_nStackSize--; } void GUI::Draw() { if (!m_bActive) return; - draw::DrawString(50, 50, colors::pink, colors::black, false, "Menu Active!!"); + for (int i = 0; i < m_nStackSize; i++) { + GUI_List* list = m_ListStack[i]; + if (list) + list->Draw(); + } } bool GUI::KeyEvent(ButtonCode_t key) { if (key == KEY_INSERT) m_bActive = !m_bActive; if (!m_bActive) return false; - switch (key) { + if (key == KEY_BACKSPACE) { + PopList(); + return false; + } + + if (m_nStackSize) { + if (m_ListStack[m_nStackSize - 1]) + m_ListStack[m_nStackSize - 1]->KeyEvent(key); } return false; } +#define CREATE_LIST(id, name) \ + GUI_List* list_##id = new GUI_List(#id, name); \ + AddList(list_##id); + +#define ADD_SUBLIST(list, sublist) \ + list_##list->AddElement(new GUIListElement_SubList(list_##sublist)); + +#define ADD_SWITCH(list, var) \ + list_##list->AddElement(new GUIListElement_Var(new CatVar(var, CatVar_t::CV_SWITCH))); + +#define ADD_INT(list, var) \ + list_##list->AddElement(new GUIListElement_Var(new CatVar(var, CatVar_t::CV_INT))); + +#define ADD_FLOAT(list, var) \ + list_##list->AddElement(new GUIListElement_Var(new CatVar(var, CatVar_t::CV_FLOAT))); + + +void GUI::Setup() { + CREATE_LIST(main, "MAIN"); + CREATE_LIST(aimbot, "Aimbot"); + CREATE_LIST(antiaim, "Anti-Aim"); + CREATE_LIST(autoheal, "Auto Heal"); + CREATE_LIST(autoreflect, "Auto Reflect"); + CREATE_LIST(autosticky, "Auto Sticky"); + CREATE_LIST(esp, "ESP"); + CREATE_LIST(bhop, "Bunnyhop"); + CREATE_LIST(trigger, "Triggerbot"); + + list_main->Move(100, 100); + + ADD_SUBLIST(main, aimbot); + ADD_SUBLIST(main, antiaim); + ADD_SUBLIST(main, autoreflect); + ADD_SUBLIST(main, autosticky); + ADD_SUBLIST(main, esp); + ADD_SUBLIST(main, autoheal); + ADD_SUBLIST(main, bhop); + + ADD_SWITCH(aimbot, g_phAimbot->v_bEnabled); + // TODO enums + ADD_INT(aimbot, g_phAimbot->v_iAimKeyMode); + ADD_INT(aimbot, g_phAimbot->v_iAimKey); + ADD_INT(aimbot, g_phAimbot->v_iHitbox); + ADD_SWITCH(aimbot, g_phAimbot->v_bAutoHitbox); + ADD_SWITCH(aimbot, g_phAimbot->v_bPrediction); + ADD_SWITCH(aimbot, g_phAimbot->v_bAutoShoot); + ADD_SWITCH(aimbot, g_phAimbot->v_bSilent); + ADD_SWITCH(aimbot, g_phAimbot->v_bZoomedOnly); + ADD_SWITCH(aimbot, g_phAimbot->v_bRespectCloak); + ADD_SWITCH(aimbot, g_phAimbot->v_bAimBuildings); + ADD_FLOAT(aimbot, g_phAimbot->v_fFOV); + ADD_SWITCH(aimbot, g_phAimbot->v_bMachinaPenetration); + CREATE_LIST(aimbot_smooth, "Smooth") + ADD_SUBLIST(aimbot, aimbot_smooth); + ADD_SWITCH(aimbot_smooth, g_phAimbot->v_bSmooth); + ADD_INT(aimbot, g_phAimbot->v_iSeenDelay); + + ADD_SWITCH(antiaim, g_phAntiAim->v_bEnabled); + ADD_FLOAT(antiaim, g_phAntiAim->v_flPitch); + ADD_FLOAT(antiaim, g_phAntiAim->v_flSpinSpeed); + + ADD_SWITCH(main, g_phAntiDisguise->v_bEnabled); + ADD_SWITCH(autoheal, g_phAutoHeal->v_bEnabled); + ADD_SWITCH(autoheal, g_phAutoHeal->v_bSilent); + + ADD_SWITCH(autoreflect, g_phAutoReflect->v_bEnabled); + ADD_SWITCH(autoreflect, g_phAutoReflect->v_bDisableWhenAttacking); + ADD_SWITCH(autoreflect, g_phAutoReflect->v_bReflectStickies); + ADD_INT(autoreflect, g_phAutoReflect->v_iReflectDistance); + + ADD_SWITCH(autosticky, g_phAutoSticky->v_bEnabled); + // TODO step increment + + ADD_SWITCH(esp, g_phESP->v_bEnabled); + ADD_SWITCH(esp, g_phESP->v_bBox); + ADD_SWITCH(esp, g_phESP->v_bEntityESP); + CREATE_LIST(esp_item, "Item ESP"); + + ADD_SUBLIST(esp, esp_item); + ADD_SWITCH(esp_item, g_phESP->v_bItemESP); + ADD_SWITCH(esp_item, g_phESP->v_bShowAmmoPacks); + ADD_SWITCH(esp_item, g_phESP->v_bShowHealthPacks); + ADD_SWITCH(esp_item, g_phESP->v_bShowDroppedWeapons); + ADD_SWITCH(esp_item, g_phESP->v_bShowPowerups); + ADD_SWITCH(esp, g_phESP->v_bLegit); + ADD_INT(esp, g_phESP->v_iLegitSeenTicks); + ADD_SWITCH(esp, g_phESP->v_bVisCheck); + ADD_SWITCH(esp, g_phESP->v_bTeammatePowerup); + ADD_SWITCH(esp, g_phESP->v_bTeammates); + + ADD_SWITCH(bhop, g_phBunnyhop->v_bEnabled); + ADD_SWITCH(bhop, g_phBunnyhop->v_bAutoJump); + + ADD_SWITCH(trigger, g_phTriggerbot->v_bBodyshot); + ADD_SWITCH(trigger, g_phTriggerbot->v_bBuildings); + ADD_SWITCH(trigger, g_phTriggerbot->v_bEnabled); + ADD_SWITCH(trigger, g_phTriggerbot->v_bFinishingHit); + ADD_SWITCH(trigger, g_phTriggerbot->v_bIgnoreCloak); + ADD_SWITCH(trigger, g_phTriggerbot->v_bZoomedOnly); + + PushList("main"); +} + GUI* g_pGUI = 0; diff --git a/cathook/src/gui/gui.h b/cathook/src/gui/gui.h index b6c2a7a7..d021012e 100644 --- a/cathook/src/gui/gui.h +++ b/cathook/src/gui/gui.h @@ -10,12 +10,26 @@ #include "../sdk.h" +#define LISTS_MAX 64 + +class GUI_List; + class GUI { public: GUI(); void Draw(); bool KeyEvent(ButtonCode_t key); + void AddList(GUI_List* list); + void PushList(const char* id); + void PopList(); + + void Setup(); + + GUI_List** m_Lists; + GUI_List** m_ListStack; + int m_nListCount; + int m_nStackSize; bool m_bActive; }; diff --git a/cathook/src/hack.cpp b/cathook/src/hack.cpp index 9cd0c28c..70c08749 100644 --- a/cathook/src/hack.cpp +++ b/cathook/src/hack.cpp @@ -43,6 +43,8 @@ #include "targeting/ITargetSystem.h" #include "profiler.h" #include "gui/gui.h" +#include "gui/controls.h" +#include "cvwrapper.h" #include "sdk.h" #include "copypasted/CSignature.h" @@ -351,6 +353,8 @@ void hack::Initialize() { g_Settings.Init(); InitTargetingConVars(); EndConVars(); + g_pGUI = new GUI(); + g_pGUI->Setup(); logging::Info("Initializing NetVar tree..."); gNetvars.init(); logging::Info("Initializing entity offsets..."); @@ -369,7 +373,6 @@ void hack::Initialize() { while(!(clientMode = **(uintptr_t***)((uintptr_t)((*(void***)interfaces::baseClient)[10]) + 1))) { sleep(1); } - g_pGUI = new GUI(); hooks::hkClientMode->Init((void*)clientMode, 0); hooks::hkClientMode->HookMethod((void*)&hack::Hk_CreateMove, hooks::offCreateMove); hooks::hkClientMode->HookMethod((void*)&hack::Hk_OverrideView, hooks::offOverrideView); diff --git a/cathook/src/hacks/Aimbot.cpp b/cathook/src/hacks/Aimbot.cpp index 785912d2..068d8da9 100644 --- a/cathook/src/hacks/Aimbot.cpp +++ b/cathook/src/hacks/Aimbot.cpp @@ -43,36 +43,36 @@ Aimbot::Aimbot() { target_systems[1] = new TargetSystemFOV(); target_systems[2] = new TargetSystemDistance(); m_bAimKeySwitch = false; - this->v_iAimKeyMode = CreateConVar(CON_PREFIX "aimbot_aimkey_mode", "1", "AimKey mode [DISABLED/PTE/PTD/TOGGLE]"); - this->v_bEnabled = CreateConVar(CON_PREFIX "aimbot_enabled", "0", "Enables aimbot. EXPERIMENTAL AND TOTALLY NOT LEGIT"); + this->v_iAimKeyMode = CreateConVar(CON_PREFIX "aimbot_aimkey_mode", "1", "Aimkey Mode"); + this->v_bEnabled = CreateConVar(CON_PREFIX "aimbot_enabled", "0", "Enabled"); this->v_iHitbox = CreateConVar(CON_PREFIX "aimbot_hitbox", "0", "Hitbox"); this->v_bAutoHitbox = CreateConVar(CON_PREFIX "aimbot_autohitbox", "1", "Autohitbox"); - this->v_bPrediction = CreateConVar(CON_PREFIX "aimbot_prediction", "1", "Latency prediction"); + this->v_bPrediction = CreateConVar(CON_PREFIX "aimbot_prediction", "1", "Latency pred"); this->v_bAutoShoot = CreateConVar(CON_PREFIX "aimbot_autoshoot", "1", "Autoshoot"); - this->v_bSilent = CreateConVar(CON_PREFIX "aimbot_silent", "1", "Silent mode"); - this->v_bZoomedOnly = CreateConVar(CON_PREFIX "aimbot_zoomed", "1", "Only acitve with zoomed rifle"); - this->v_iAutoShootCharge = CreateConVar(CON_PREFIX "aimbot_autoshoot_charge", "0.0", "Minimal charge for autoshoot"); + this->v_bSilent = CreateConVar(CON_PREFIX "aimbot_silent", "1", "Silent"); + this->v_bZoomedOnly = CreateConVar(CON_PREFIX "aimbot_zoomed", "1", "Zoomed Only"); + this->v_iAutoShootCharge = CreateConVar(CON_PREFIX "aimbot_autoshoot_charge", "0.0", "Autoshoot Charge"); this->v_iMaxRange = CreateConVar(CON_PREFIX "aimbot_maxrange", "0", "Max distance"); - this->v_bRespectCloak = CreateConVar(CON_PREFIX "aimbot_respect_cloak", "1", "Will not shoot cloaked spies."); - this->v_bCharge = CreateConVar(CON_PREFIX "aimbot_charge", "0", "Autoshoot only with charge ready"); - this->v_bEnabledAttacking = CreateConVar(CON_PREFIX "aimbot_enable_attack_only", "0", "Aimbot only active with attack key held"); - this->v_bStrictAttack = CreateConVar(CON_PREFIX "aimbot_strict_attack", "0", "Not attacking unless target is locked"); - this->v_bProjectileAimbot = CreateConVar(CON_PREFIX "aimbot_projectile", "1", "Projectile aimbot (EXPERIMENTAL)"); - this->v_iOverrideProjSpeed = CreateConVar(CON_PREFIX "aimbot_proj_speed", "0", "Override proj speed"); - this->v_bDebug = CreateConVar(CON_PREFIX "aimbot_debug", "0", "Aimbot debug"); - this->v_fFOV = CreateConVar(CON_PREFIX "aimbot_fov", "0", "Aimbot fov"); - this->v_bMachinaPenetration = CreateConVar(CON_PREFIX "aimbot_machina", "0", "Machina penetration aimbot (just for fun)"); - this->v_bSmooth = CreateConVar(CON_PREFIX "aimbot_smooth", "0", "Smooth aimbot"); - this->v_flAutoShootHuntsmanCharge = CreateConVar(CON_PREFIX "aimbot_huntsman_charge", "0.5", "Huntsman autoshoot charge"); + this->v_bRespectCloak = CreateConVar(CON_PREFIX "aimbot_respect_cloak", "1", "Respect cloak"); + this->v_bCharge = CreateConVar(CON_PREFIX "aimbot_charge", "0", "Wait for charge"); + this->v_bEnabledAttacking = CreateConVar(CON_PREFIX "aimbot_enable_attack_only", "0", "Active when attacking"); + this->v_bStrictAttack = CreateConVar(CON_PREFIX "aimbot_strict_attack", "0", "Strict attack"); + this->v_bProjectileAimbot = CreateConVar(CON_PREFIX "aimbot_projectile", "1", "Projectile aimbot"); + this->v_iOverrideProjSpeed = CreateConVar(CON_PREFIX "aimbot_proj_speed", "0", "Projectile speed"); + this->v_bDebug = CreateConVar(CON_PREFIX "aimbot_debug", "0", "Debug"); + this->v_fFOV = CreateConVar(CON_PREFIX "aimbot_fov", "0", "FOV"); + this->v_bMachinaPenetration = CreateConVar(CON_PREFIX "aimbot_machina", "0", "Machina Mode"); + this->v_bSmooth = CreateConVar(CON_PREFIX "aimbot_smooth", "0", "Smooth"); + this->v_flAutoShootHuntsmanCharge = CreateConVar(CON_PREFIX "aimbot_huntsman_charge", "0.5", "Huntsman charge"); this->v_fSmoothValue = CreateConVar(CON_PREFIX "aimbot_smooth_value", "0.2", "Smooth value"); - this->v_iAimKey = CreateConVar(CON_PREFIX "aimbot_aimkey", "0", "Aim Key"); - this->v_iPriorityMode = CreateConVar(CON_PREFIX "aimbot_prioritymode", "0", "Priority mode [SMART/FOV/DISTANCE/HEALTH]"); - this->v_bMinigunFix = CreateConVar(CON_PREFIX "aimbot_minigun_fix", "1", "Minigun fix [EXPERIMENTAL]"); - v_bAimBuildings = CreateConVar(CON_PREFIX "aimbot_buildings", "1", "Aim at buildings"); - v_bActiveOnlyWhenCanShoot = CreateConVar(CON_PREFIX "aimbot_only_when_can_shoot", "1", "Aimbot active only when can shoot"); - v_fSmoothAutoshootTreshold = CreateConVar(CON_PREFIX "aimbot_smooth_autoshoot_treshold", "0.01", "Smooth aim autoshoot treshold"); + this->v_iAimKey = CreateConVar(CON_PREFIX "aimbot_aimkey", "0", "Aimkey"); + this->v_iPriorityMode = CreateConVar(CON_PREFIX "aimbot_prioritymode", "0", "Priority mode"); + this->v_bMinigunFix = CreateConVar(CON_PREFIX "aimbot_minigun_fix", "1", "Minigun fix"); + v_bAimBuildings = CreateConVar(CON_PREFIX "aimbot_buildings", "1", "Aim @ Buildings"); + v_bActiveOnlyWhenCanShoot = CreateConVar(CON_PREFIX "aimbot_only_when_can_shoot", "1", "Active when can shoot"); + v_fSmoothAutoshootTreshold = CreateConVar(CON_PREFIX "aimbot_smooth_autoshoot_treshold", "0.01", "Smooth autoshoot"); this->v_fSmoothRandomness = CreateConVar(CON_PREFIX "aimbot_smooth_randomness", "1.0", "Smooth randomness"); - this->v_iSeenDelay = CreateConVar(CON_PREFIX "aimbot_delay", "0", "Delay before shooting if enemy was invisible"); + this->v_iSeenDelay = CreateConVar(CON_PREFIX "aimbot_delay", "0", "Aimbot delay"); fix_silent = false; } diff --git a/cathook/src/hacks/Airstuck.cpp b/cathook/src/hacks/Airstuck.cpp index 367afd3d..a5008062 100644 --- a/cathook/src/hacks/Airstuck.cpp +++ b/cathook/src/hacks/Airstuck.cpp @@ -15,7 +15,7 @@ DEFINE_HACK_SINGLETON(Airstuck); Airstuck::Airstuck() { - v_bStuck = CreateConVar(CON_PREFIX "airstuck", "0", "Toggle airstuck"); + v_bStuck = CreateConVar(CON_PREFIX "airstuck", "0", "Airstuck"); } const char* Airstuck::GetName() { diff --git a/cathook/src/hacks/AntiAim.cpp b/cathook/src/hacks/AntiAim.cpp index f2193d52..5fece777 100644 --- a/cathook/src/hacks/AntiAim.cpp +++ b/cathook/src/hacks/AntiAim.cpp @@ -17,7 +17,7 @@ const char* AntiAim::GetName() { } AntiAim::AntiAim() { - this->v_bEnabled = CreateConVar(CON_PREFIX "aa_enabled", "0", "Enable AntiAim"); + this->v_bEnabled = CreateConVar(CON_PREFIX "aa_enabled", "0", "Enable"); this->v_flPitch = CreateConVar(CON_PREFIX "aa_pitch", "-89.0", "Pitch"); this->v_flSpinSpeed = CreateConVar(CON_PREFIX "aa_spin", "10.0", "Spin speed"); } diff --git a/cathook/src/hacks/AntiDisguise.cpp b/cathook/src/hacks/AntiDisguise.cpp index 0c6c45ed..6aec6f5d 100644 --- a/cathook/src/hacks/AntiDisguise.cpp +++ b/cathook/src/hacks/AntiDisguise.cpp @@ -17,7 +17,7 @@ const char* AntiDisguise::GetName() { } AntiDisguise::AntiDisguise() { - v_bEnabled = CreateConVar(CON_PREFIX "antidisguise", "0", "Disables spy disguise"); + v_bEnabled = CreateConVar(CON_PREFIX "antidisguise", "0", "Remove spy disguise"); } void AntiDisguise::PaintTraverse(void*, unsigned int, bool, bool) { diff --git a/cathook/src/hacks/AutoHeal.cpp b/cathook/src/hacks/AutoHeal.cpp index 322c59c3..450354d9 100644 --- a/cathook/src/hacks/AutoHeal.cpp +++ b/cathook/src/hacks/AutoHeal.cpp @@ -63,8 +63,8 @@ bool AutoHeal::CanHeal(int idx) { } AutoHeal::AutoHeal() { - this->v_bEnabled = CreateConVar(CON_PREFIX "autoheal_enabled", "0", "Enable AutoHeal"); - this->v_bSilent = CreateConVar(CON_PREFIX "autoheal_silent", "1", "Silent AutoHeal"); + this->v_bEnabled = CreateConVar(CON_PREFIX "autoheal_enabled", "0", "Enable"); + this->v_bSilent = CreateConVar(CON_PREFIX "autoheal_silent", "1", "Silent"); m_iCurrentHealingTarget = -1; } diff --git a/cathook/src/hacks/AutoReflect.cpp b/cathook/src/hacks/AutoReflect.cpp index c5e0d386..476d449f 100644 --- a/cathook/src/hacks/AutoReflect.cpp +++ b/cathook/src/hacks/AutoReflect.cpp @@ -54,9 +54,9 @@ bool AutoReflect::ShouldReflect(IClientEntity* ent) { // Hack Methods AutoReflect::AutoReflect() { - v_bEnabled = CreateConVar(CON_PREFIX "reflect_enabled", "0", "Autoreflect"); - v_iReflectDistance = CreateConVar(CON_PREFIX "reflect_distance", "200", "Autoreflect distance"); - v_bDisableWhenAttacking = CreateConVar(CON_PREFIX "reflect_only_idle", "0", "Autoreflect active only when not shooting"); + v_bEnabled = CreateConVar(CON_PREFIX "reflect_enabled", "0", "Enable"); + v_iReflectDistance = CreateConVar(CON_PREFIX "reflect_distance", "200", "Distance"); + v_bDisableWhenAttacking = CreateConVar(CON_PREFIX "reflect_only_idle", "0", "Only when not shooting"); v_bReflectStickies = CreateConVar(CON_PREFIX "reflect_stickybombs", "0", "Reflect stickies"); } // TODO diff --git a/cathook/src/hacks/AutoSticky.cpp b/cathook/src/hacks/AutoSticky.cpp index 6f0fec7d..8b568b07 100644 --- a/cathook/src/hacks/AutoSticky.cpp +++ b/cathook/src/hacks/AutoSticky.cpp @@ -18,10 +18,10 @@ const char* AutoSticky::GetName() { // TODO scottish cyclops AutoSticky::AutoSticky() { - this->v_flDetonateDistance = CreateConVar(CON_PREFIX "sticky_distance", "200", "Sticky detonation distance"); - this->v_bBuildings = CreateConVar(CON_PREFIX "sticky_buildings", "1", "Stickies detonate at enemies' buildings"); - this->v_bEnabled = CreateConVar(CON_PREFIX "sticky_enabled", "0", "Enable stickybot"); - this->v_bScottish = CreateConVar(CON_PREFIX "sticky_scottish", "0", "Enable stickybot scottish resistance compatability"); + this->v_flDetonateDistance = CreateConVar(CON_PREFIX "sticky_distance", "200", "Distance"); + this->v_bBuildings = CreateConVar(CON_PREFIX "sticky_buildings", "1", "Detonate buildings"); + this->v_bEnabled = CreateConVar(CON_PREFIX "sticky_enabled", "0", "Enable"); + this->v_bScottish = CreateConVar(CON_PREFIX "sticky_scottish", "0", "Scottish"); } bool AutoSticky::ShouldDetonate(IClientEntity* bomb) { diff --git a/cathook/src/hacks/AutoStrafe.cpp b/cathook/src/hacks/AutoStrafe.cpp index 34d00478..672435be 100644 --- a/cathook/src/hacks/AutoStrafe.cpp +++ b/cathook/src/hacks/AutoStrafe.cpp @@ -17,7 +17,7 @@ const char* AutoStrafe::GetName() { } AutoStrafe::AutoStrafe() { - v_bEnabled = CreateConVar(CON_PREFIX "autostrafe", "0", "Autostrafe enabled"); + v_bEnabled = CreateConVar(CON_PREFIX "autostrafe", "0", "Enable AutoStrafe"); } bool AutoStrafe::CreateMove(void*, float, CUserCmd* cmd) { diff --git a/cathook/src/hacks/Bunnyhop.cpp b/cathook/src/hacks/Bunnyhop.cpp index f10a49a3..bd28f765 100644 --- a/cathook/src/hacks/Bunnyhop.cpp +++ b/cathook/src/hacks/Bunnyhop.cpp @@ -17,7 +17,7 @@ const char* Bunnyhop::GetName() { } Bunnyhop::Bunnyhop() { - this->v_bEnabled = CreateConVar(CON_PREFIX "bhop_enabled", "0", "Enable/Disable BunnyHop"); + this->v_bEnabled = CreateConVar(CON_PREFIX "bhop_enabled", "0", "Enable"); this->v_bAutoJump = CreateConVar(CON_PREFIX "bhop_autojump", "0", "AutoJump"); this->v_iAutoJumpSpeed = CreateConVar(CON_PREFIX "bhop_autojump_speed", "300", "AutoJump speed"); } diff --git a/cathook/src/hacks/ESP.cpp b/cathook/src/hacks/ESP.cpp index 26e05818..e480ab0f 100644 --- a/cathook/src/hacks/ESP.cpp +++ b/cathook/src/hacks/ESP.cpp @@ -35,25 +35,25 @@ void ESP::PaintTraverse(void*, unsigned int, bool, bool) { } ESP::ESP() { - this->v_bEnabled = CreateConVar(CON_PREFIX "esp_enabled", "0", "Enables ESP"); - this->v_bEntityESP = CreateConVar(CON_PREFIX "esp_entity", "0", "Entity ESP (dev)"); - this->v_bTeammates = CreateConVar(CON_PREFIX "esp_teammates", "0", "ESP own team"); - this->v_bItemESP = CreateConVar(CON_PREFIX "esp_item", "1", "Item ESP (powerups, health packs, etc)"); - this->v_bTeammatePowerup = CreateConVar(CON_PREFIX "esp_powerup_team", "1", "Show powerups on teammates if u_esp_teammates is 0"); - this->v_bShowEntityID = CreateConVar(CON_PREFIX "esp_entity_id", "0", "Shows EID"); + this->v_bEnabled = CreateConVar(CON_PREFIX "esp_enabled", "0", "ESP"); + this->v_bEntityESP = CreateConVar(CON_PREFIX "esp_entity", "0", "Entity ESP"); + this->v_bTeammates = CreateConVar(CON_PREFIX "esp_teammates", "0", "ESP Teammates"); + this->v_bItemESP = CreateConVar(CON_PREFIX "esp_item", "1", "Item ESP"); + this->v_bTeammatePowerup = CreateConVar(CON_PREFIX "esp_powerup_team", "1", "Teammate powerups"); + this->v_bShowEntityID = CreateConVar(CON_PREFIX "esp_entity_id", "0", "Entity ID"); this->v_bShowDistance = CreateConVar(CON_PREFIX "esp_distance", "1", "Distance ESP"); this->v_bBox = CreateConVar(CON_PREFIX "esp_box", "1", "Box"); - this->v_bShowFriendID = CreateConVar(CON_PREFIX "esp_friendid", "0", "Show friend ID"); + this->v_bShowFriendID = CreateConVar(CON_PREFIX "esp_friendid", "0", "Show FriendID"); this->v_bShowFriends = CreateConVar(CON_PREFIX "esp_friends", "1", "Show friends"); - this->v_bVisCheck = CreateConVar(CON_PREFIX "esp_vischeck", "1", "Visibility Checking"); - this->v_bLegit = CreateConVar(CON_PREFIX "esp_legit", "0", "'legit' esp mode"); - this->v_iLegitSeenTicks = CreateConVar(CON_PREFIX "esp_legit_seenticks", "150", "Ticks the entity is still shown after being hidden"); - v_bShowDroppedWeapons = CreateConVar(CON_PREFIX "esp_item_weapons", "0", "Show dropped weapons"); - v_bShowAmmoPacks = CreateConVar(CON_PREFIX "esp_item_ammo", "0", "Show ammo packs"); - v_bShowHealthPacks = CreateConVar(CON_PREFIX "esp_item_health", "1", "Show health packs"); - v_bShowPowerups = CreateConVar(CON_PREFIX "esp_item_powerups", "1", "Show powerups"); - this->v_bShowTank = CreateConVar(CON_PREFIX "esp_show_tank", "1", "Tank ESP"); - v_bShowHealthNumbers = CreateConVar(CON_PREFIX "esp_health_num", "1", "Show health number"); + this->v_bVisCheck = CreateConVar(CON_PREFIX "esp_vischeck", "1", "VisCheck"); + this->v_bLegit = CreateConVar(CON_PREFIX "esp_legit", "0", "Legit Mode"); + this->v_iLegitSeenTicks = CreateConVar(CON_PREFIX "esp_legit_seenticks", "150", "Legit delay"); + v_bShowDroppedWeapons = CreateConVar(CON_PREFIX "esp_item_weapons", "0", "Dropped weapons"); + v_bShowAmmoPacks = CreateConVar(CON_PREFIX "esp_item_ammo", "0", "Ammo packs"); + v_bShowHealthPacks = CreateConVar(CON_PREFIX "esp_item_health", "1", "Health packs"); + v_bShowPowerups = CreateConVar(CON_PREFIX "esp_item_powerups", "1", "Powerups"); + this->v_bShowTank = CreateConVar(CON_PREFIX "esp_show_tank", "1", "Show tank"); + v_bShowHealthNumbers = CreateConVar(CON_PREFIX "esp_health_num", "1", "Health in numbers"); v_bShowMoney = CreateConVar(CON_PREFIX "esp_money", "1", "MvM money"); v_bShowRedMoney = CreateConVar(CON_PREFIX "esp_money_red", "1", "Red MvM money"); } diff --git a/cathook/src/hacks/ESP.h b/cathook/src/hacks/ESP.h index 5e494943..b8458a85 100644 --- a/cathook/src/hacks/ESP.h +++ b/cathook/src/hacks/ESP.h @@ -22,7 +22,6 @@ public: void ProcessEntity(CachedEntity* ent); void ProcessEntityPT(CachedEntity* ent); ConVar* v_bEnabled; - ConVar* v_bBoxESP; ConVar* v_bEntityESP; ConVar* v_bTeammates; ConVar* v_bItemESP; diff --git a/cathook/src/hacks/SpyAlert.cpp b/cathook/src/hacks/SpyAlert.cpp index c4439203..b1f38c60 100644 --- a/cathook/src/hacks/SpyAlert.cpp +++ b/cathook/src/hacks/SpyAlert.cpp @@ -15,9 +15,9 @@ DEFINE_HACK_SINGLETON(SpyAlert); const char* SpyAlert::GetName() { return "SPY ALERT"; } SpyAlert::SpyAlert() { - this->v_bEnabled = CreateConVar(CON_PREFIX "spyalert_enabled", "0", "Spy alert enabled"); - this->v_flWarningDistance = CreateConVar(CON_PREFIX "spyalert_warning", "500.0", "Spy warning distance"); - this->v_flBackstabDistance = CreateConVar(CON_PREFIX "spyalert_backstab", "200.0", "Spy backstab warning distance"); + this->v_bEnabled = CreateConVar(CON_PREFIX "spyalert_enabled", "0", "Enable"); + this->v_flWarningDistance = CreateConVar(CON_PREFIX "spyalert_warning", "500.0", "Warning distance"); + this->v_flBackstabDistance = CreateConVar(CON_PREFIX "spyalert_backstab", "200.0", "Backstab distance"); } bool SpyAlert::CreateMove(void*, float, CUserCmd* cmd) { diff --git a/cathook/src/hacks/Trigger.cpp b/cathook/src/hacks/Trigger.cpp index 0dfc6039..51cf74c2 100644 --- a/cathook/src/hacks/Trigger.cpp +++ b/cathook/src/hacks/Trigger.cpp @@ -23,14 +23,14 @@ trace::FilterDefault* filter; Triggerbot::Triggerbot() { filter = new trace::FilterDefault(); enemy_trace = new trace_t(); - this->v_bBodyshot = CreateConVar(CON_PREFIX "trigger_bodyshot", "1", "Enables bodyshotting when there is enough charge to oneshot enemy"); - this->v_bEnabled = CreateConVar(CON_PREFIX "trigger_enabled", "0", "Triggerbot enabled"); - this->v_bFinishingHit = CreateConVar(CON_PREFIX "trigger_finish", "1", "Allows noscope bodyshots when enemy is at <50 health"); - this->v_bIgnoreCloak = CreateConVar(CON_PREFIX "trigger_cloak", "0", "Gets triggered at cloaked spies"); - this->v_bZoomedOnly = CreateConVar(CON_PREFIX "trigger_zoomed", "1", "Trigger is only active when you are zoomed (as sniper)"); - this->v_iHitbox = CreateConVar(CON_PREFIX "trigger_hitbox", "-1", "Hitbox (-1: whole body)"); - this->v_iMinRange = CreateConVar(CON_PREFIX "trigger_range", "0", "Trigger is activated only at certain range"); - this->v_bBuildings = CreateConVar(CON_PREFIX "trigger_buildings", "1", "Trigger is activated at buildings"); + this->v_bBodyshot = CreateConVar(CON_PREFIX "trigger_bodyshot", "1", "Bodyshot"); + this->v_bEnabled = CreateConVar(CON_PREFIX "trigger_enabled", "0", "Enable"); + this->v_bFinishingHit = CreateConVar(CON_PREFIX "trigger_finish", "1", "Noscope weak enemies"); + this->v_bIgnoreCloak = CreateConVar(CON_PREFIX "trigger_cloak", "0", "Ignore cloak"); + this->v_bZoomedOnly = CreateConVar(CON_PREFIX "trigger_zoomed", "1", "Zoomed only"); + this->v_iHitbox = CreateConVar(CON_PREFIX "trigger_hitbox", "-1", "Hitbox"); + this->v_iMinRange = CreateConVar(CON_PREFIX "trigger_range", "0", "Max range"); + this->v_bBuildings = CreateConVar(CON_PREFIX "trigger_buildings", "1", "Trigger @ Buildings"); } bool Triggerbot::CreateMove(void* thisptr, float sampl, CUserCmd* cmd) { diff --git a/cathook/src/hacks/hacklist.h b/cathook/src/hacks/hacklist.h new file mode 100644 index 00000000..6c01e815 --- /dev/null +++ b/cathook/src/hacks/hacklist.h @@ -0,0 +1,27 @@ +/* + * hacklist.h + * + * Created on: Dec 18, 2016 + * Author: nullifiedcat + */ + +#ifndef HACKS_HACKLIST_H_ +#define HACKS_HACKLIST_H_ + +#include "Aimbot.h" +#include "Airstuck.h" +#include "AntiAim.h" +#include "AntiDisguise.h" +#include "AutoHeal.h" +#include "AutoReflect.h" +#include "AutoSticky.h" +#include "AutoStrafe.h" +#include "Bunnyhop.h" +#include "ESP.h" +#include "FollowBot.h" +#include "HuntsmanCompensation.h" +#include "Misc.h" +#include "SpyAlert.h" +#include "Trigger.h" + +#endif /* HACKS_HACKLIST_H_ */ diff --git a/cathook/src/sdk/convar.cpp b/cathook/src/sdk/convar.cpp index 1c68fa98..6fd6e70d 100644 --- a/cathook/src/sdk/convar.cpp +++ b/cathook/src/sdk/convar.cpp @@ -31,6 +31,7 @@ #endif /* URAN */ +#define Q_snprintf snprintf #include "../logging.h" #include "../interfaces.h" @@ -943,7 +944,7 @@ void ConVar::InternalSetIntValue( int nValue ) if ( !( m_nFlags & FCVAR_NEVER_AS_STRING ) ) { char tempVal[ 32 ]; - Q_snprintf( tempVal, sizeof( tempVal ), "%d", m_nValue ); + snprintf( tempVal, sizeof( tempVal ), "%d", m_nValue ); ChangeStringValue( tempVal, flOldValue ); } else