diff --git a/src/hooks/visual/DrawModelExecute.cpp b/src/hooks/visual/DrawModelExecute.cpp index 4d12b38e..b4735da1 100644 --- a/src/hooks/visual/DrawModelExecute.cpp +++ b/src/hooks/visual/DrawModelExecute.cpp @@ -4,12 +4,11 @@ */ #include +#include #include "HookedMethods.hpp" -static CatVar no_arms(CV_SWITCH, "no_arms", "0", "No Arms", - "Removes arms from first person"); -static CatVar no_hats(CV_SWITCH, "no_hats", "0", "No Hats", - "Removes non-stock hats"); +static settings::Bool no_arms{ "remove.arms", "false" }; +static settings::Bool no_hats{ "remove.hats", "false" }; namespace hooked_methods { diff --git a/src/hooks/visual/FrameStageNotify.cpp b/src/hooks/visual/FrameStageNotify.cpp index 5dc5710e..77997160 100644 --- a/src/hooks/visual/FrameStageNotify.cpp +++ b/src/hooks/visual/FrameStageNotify.cpp @@ -5,12 +5,14 @@ #include #include +#include #include "HookedMethods.hpp" #if not LAGBOT_MODE #include "hacks/Backtrack.hpp" #endif -static CatVar nightmode(CV_FLOAT, "nightmode", "0", "Enable nightmode", ""); +static settings::Float nightmode{ "visual.night-mode", "0" }; + namespace hooked_methods { #include "reclasses.hpp" diff --git a/src/hooks/visual/OverrideView.cpp b/src/hooks/visual/OverrideView.cpp index db5cec38..a498b414 100644 --- a/src/hooks/visual/OverrideView.cpp +++ b/src/hooks/visual/OverrideView.cpp @@ -4,16 +4,12 @@ */ #include +#include #include "HookedMethods.hpp" -static CatVar - override_fov_zoomed(CV_FLOAT, "fov_zoomed", "0", "FOV override (zoomed)", - "Overrides FOV with this value when zoomed in " - "(default FOV when zoomed is 20)"); -static CatVar override_fov(CV_FLOAT, "fov", "0", "FOV override", - "Overrides FOV with this value"); - -static CatVar freecam(CV_KEY, "debug_freecam", "0", "Freecam"); +static settings::Float override_fov_zoomed{ "visual.fov-zoomed", "0" }; +static settings::Float override_fov{ "visual.fov", "0" }; +static settings::Button freecam{ "visual.freecam-button", "" }; namespace hooked_methods { @@ -64,7 +60,7 @@ DEFINE_HOOKED_METHOD(OverrideView, void, void *this_, CViewSetup *setup) { static Vector freecam_origin{ 0 }; static bool freecam_last{ false }; - if (freecam.KeyDown()) + if (freecam.isKeyDown()) { if (not freecam_last) { diff --git a/src/hooks/visual/PaintTraverse.cpp b/src/hooks/visual/PaintTraverse.cpp index 08e8aa6a..64a2ba47 100644 --- a/src/hooks/visual/PaintTraverse.cpp +++ b/src/hooks/visual/PaintTraverse.cpp @@ -3,18 +3,18 @@ Copyright (c) 2018 nullworks. All rights reserved. */ +#include #include "HookedMethods.hpp" #include "hacks/Radar.hpp" -CatVar clean_screenshots(CV_SWITCH, "clean_screenshots", "1", - "Clean screenshots", - "Don't draw visuals while taking a screenshot"); -CatVar disable_visuals(CV_SWITCH, "no_visuals", "0", "Disable ALL drawing", - "Completely hides cathook"); -CatVar no_zoom(CV_SWITCH, "no_zoom", "0", "Disable scope", - "Disables black scope overlay"); -static CatVar pure_bypass(CV_SWITCH, "pure_bypass", "0", "Pure Bypass", - "Bypass sv_pure"); +static settings::Bool disable_visuals{ "visual.disable", "false" }; +static settings::Bool no_zoom{ "remove.scope", "false" }; +static settings::Bool pure_bypass{ "visual.sv-pure-bypass", "false" }; +static settings::Int software_cursor_move{ "visual.software-cursor-mode", "0" }; + +static settings::Int waittime{ "debug.join-wait-time", "2500" }; +static settings::Bool no_reportlimit{ "misc.no-report-limit", "false" }; + int spamdur = 0; Timer joinspam{}; CatCommand join_spam("join_spam", "Spam joins server for X seconds", @@ -26,21 +26,9 @@ CatCommand join_spam("join_spam", "Spam joins server for X seconds", spamdur = id; }); -CatVar waittime(CV_INT, "join_debug_time", "2500", "wait time", - "Wait this many Paint Traverse Calls between each join (~2500 " - "recommended, higher if slower internet)"); void *pure_orig = nullptr; void **pure_addr = nullptr; -static CatEnum software_cursor_enum({ "KEEP", "ALWAYS", "NEVER", "MENU ON", - "MENU OFF" }); -static CatVar - software_cursor_mode(software_cursor_enum, "software_cursor_mode", "0", - "Software cursor", - "Try to change this and see what works best for you"); -static CatVar no_reportlimit(CV_SWITCH, "no_reportlimit", "0", - "no report limit", - "Remove playerlist report time limit"); // static CatVar disable_ban_tf(CV_SWITCH, "disable_mm_ban", "0", "Disable MM // ban", "Disable matchmaking ban"); /*static CatVar diff --git a/src/hooks/visual/RandomInt.cpp b/src/hooks/visual/RandomInt.cpp index 0d8264dd..85e72e65 100644 --- a/src/hooks/visual/RandomInt.cpp +++ b/src/hooks/visual/RandomInt.cpp @@ -3,10 +3,10 @@ Copyright (c) 2018 nullworks. All rights reserved. */ +#include #include "HookedMethods.hpp" -static CatVar medal_flip(CV_SWITCH, "medal_flip", "0", "Infinite Medal Flip", - ""); +static settings::Bool medal_flip{ "visual.medal-flip", "false" }; namespace hooked_methods { diff --git a/src/visual/EffectChams.cpp b/src/visual/EffectChams.cpp index 66ebb9ee..97d14f0c 100644 --- a/src/visual/EffectChams.cpp +++ b/src/visual/EffectChams.cpp @@ -7,60 +7,34 @@ #include #include +#include #include "common.hpp" #include "Backtrack.hpp" +static settings::Bool enable{ "chams.enable", "false" }; +static settings::Bool flat{ "chams.flat", "false" }; +static settings::Bool health{ "chams.health", "false" }; +static settings::Bool teammates{ "chams.show.teammates", "false" }; +static settings::Bool players{ "chams.show.players", "true" }; +static settings::Bool medkits{ "chams.show.medkits", "false" }; +static settings::Bool ammobox{ "chams.show.ammoboxes", "false" }; +static settings::Bool buildings{ "chams.show.buildings", "true" }; +static settings::Bool stickies{ "chams.show.stickies", "true" }; +static settings::Bool teammate_buildings{ "chams.show.teammate-buildings", "false" }; +static settings::Bool recursive{ "chams.recursive", "true" }; +static settings::Bool weapons_white{ "chams.white-weapons", "true" }; +static settings::Bool legit{ "chams.legit", "false" }; +static settings::Bool singlepass{ "chams.single-pass", "false" }; +static settings::Bool chamsself{ "chams.self", "true" }; +static settings::Bool rainbow{ "chams.self-rainbow", "true" }; +static settings::Bool disco_chams{ "chams.disco", "false" }; + // static CatVar chams_experimental(CV_SWITCH, "chams_effect", "0", // "Experimental Chams"); namespace effect_chams { -static CatVar enable(CV_SWITCH, "chams_enable", "0", "Enable", - "Main chams switch"); -static CatVar flat(CV_SWITCH, "chams_flat", "0", "Flat", - "Makes chams brighter and more full"); -static CatVar health(CV_SWITCH, "chams_health", "0", "Health", - "Change chams color based on their health"); -static CatVar teammates(CV_SWITCH, "chams_teammates", "0", "Teammates", - "Render chams on teammates"); -static CatVar players(CV_SWITCH, "chams_players", "1", "Players", - "Render chams on player models"); -static CatVar medkits(CV_SWITCH, "chams_medkits", "0", "Medkits", - "Render chams on medkits"); -static CatVar ammobox(CV_SWITCH, "chams_ammo", "0", "Ammoboxes", - "Render chams on ammoboxes"); -static CatVar buildings(CV_SWITCH, "chams_buildings", "0", "Buildings", - "Render chams on buildings"); -static CatVar stickies(CV_SWITCH, "chams_stickies", "0", "Stickies", - "Render chams on stickybombs"); -static CatVar teammate_buildings(CV_SWITCH, "chams_teammate_buildings", "0", - "Teammate Buildings", - "Render chams on teammates buildings"); -static CatVar recursive(CV_SWITCH, "chams_recursive", "1", "Recursive", - "Render chams on weapons and cosmetics"); -static CatVar weapons_white(CV_SWITCH, "chams_weapons_white", "1", - "White Weapons", - "Should chams on weapons be white"); -static CatVar legit(CV_SWITCH, "chams_legit", "0", "Legit chams", - "Don't show chams through walls"); -static CatVar singlepass(CV_SWITCH, "chams_singlepass", "0", "Single-pass", - "Render chams only once (this disables 'darker' chams " - "on invisible parts of player"); -static CatVar chamsself(CV_SWITCH, "chams_self", "0", "Enable chams on self", - ""); -static CatVar rainbow(CV_SWITCH, "chams_self_rainbow", "1", - "Enable rainbow chams on self", - "Only visible in thirdperson!"); -static CatVar - disco_chams(CV_SWITCH, "chams_disco", "0", "Disco chams", - "Constantly change color of the chams on all players"); -static CatVar chamsteam(CV_SWITCH, "chams_self_team", "0", "Team chams color"); -static CatVar chamsR(CV_INT, "chams_self_r", "0", "Self chams red", "", 0, 255); -static CatVar chamsG(CV_INT, "chams_self_g", "0", "Self chams green", "", 0, - 255); -static CatVar chamsB(CV_INT, "chams_self_b", "0", "Self chams blue", "", 0, - 255); void EffectChams::Init() { logging::Info("Init EffectChams..."); diff --git a/src/visual/EffectGlow.cpp b/src/visual/EffectGlow.cpp index 8c8ae8ad..5fad7caa 100644 --- a/src/visual/EffectGlow.cpp +++ b/src/visual/EffectGlow.cpp @@ -8,8 +8,23 @@ #include #include #include +#include #include "common.hpp" +static settings::Bool enable{ "glow.enable", "false" }; +static settings::Bool health{ "glow.health", "false" }; +static settings::Bool teammates{ "glow.show.teammates", "false" }; +static settings::Bool players{ "glow.show.players", "true" }; +static settings::Bool medkits{ "glow.show.medkits", "false" }; +static settings::Bool ammobox{ "glow.show.ammoboxes", "false" }; +static settings::Bool buildings{ "glow.show.buildings", "true" }; +static settings::Bool stickies{ "glow.show.stickies", "true" }; +static settings::Bool teammate_buildings{ "glow.show.teammate-buildings", "false" }; +static settings::Bool show_powerups{ "glow.show.powerups", "true" }; +static settings::Bool weapons_white{ "glow.white-weapons", "true" }; +static settings::Bool glowself{ "glow.self", "true" }; +static settings::Bool rainbow{ "glow.self-rainbow", "true" }; + IMaterialSystem *materials = nullptr; CScreenSpaceEffectRegistration *CScreenSpaceEffectRegistration::s_pHead = NULL; @@ -30,38 +45,6 @@ CScreenSpaceEffectRegistration::CScreenSpaceEffectRegistration( namespace effect_glow { -static CatVar enable(CV_SWITCH, "glow_enable", "0", "Enable", - "Main glow switch"); -static CatVar health(CV_SWITCH, "glow_health", "0", "Health", - "Change glow color based on their health"); -static CatVar teammates(CV_SWITCH, "glow_teammates", "0", "Teammates", - "Render glow on teammates"); -static CatVar players(CV_SWITCH, "glow_players", "1", "Players", - "Render glow on player models"); -static CatVar medkits(CV_SWITCH, "glow_medkits", "0", "Medkits", - "Render glow on medkits"); -static CatVar ammobox(CV_SWITCH, "glow_ammo", "0", "Ammoboxes", - "Render glow on ammoboxes"); -static CatVar buildings(CV_SWITCH, "glow_buildings", "0", "Buildings", - "Render glow on buildings"); -static CatVar stickies(CV_SWITCH, "glow_stickies", "0", "Stickies", - "Render glow on stickybombs"); -static CatVar teammate_buildings(CV_SWITCH, "glow_teammate_buildings", "0", - "Teammate Buildings", - "Render glow on teammates buildings"); -static CatVar powerups(CV_SWITCH, "glow_powerups", "1", "Powerups"); -static CatVar weapons_white(CV_SWITCH, "glow_weapons_white", "1", - "White Weapon Glow", "Weapons will glow white"); -static CatVar glowself(CV_SWITCH, "glow_self", "0", "Enable glow on self"); -static CatVar rainbow(CV_SWITCH, "glow_self_rainbow", "1", - "Enable rainbow glow on self", - "Only visible in thirdperson!"); -static CatVar glowteam(CV_SWITCH, "glow_self_team", "0", "Team chams color"); -static CatVar glowR(CV_INT, "glow_self_r", "200", "Self glow red", "", 0, 255); -static CatVar glowG(CV_INT, "glow_self_g", "200", "Self glow green", "", 0, - 255); -static CatVar glowB(CV_INT, "glow_self_b", "200", "Self glow blue", "", 0, 255); - struct ShaderStencilState_t { bool m_bEnable; diff --git a/src/visual/colors.cpp b/src/visual/colors.cpp index 325d259e..300967ba 100644 --- a/src/visual/colors.cpp +++ b/src/visual/colors.cpp @@ -9,21 +9,6 @@ #include #include "common.hpp" -static CatVar user_red_blue(CV_INT, "esp_color_red_b", "0", "Red Team: Blue", - "Blue color for red team", 255); -static CatVar user_red_green(CV_INT, "esp_color_red_g", "0", "Red Team: Green", - "Green color for red team", 255); -static CatVar user_red_red(CV_INT, "esp_color_red_r", "0", "Red Team: Red", - "Red color for red team", 255); - -static CatVar user_blue_blue(CV_INT, "esp_color_blue_b", "0", "Blue Team: Blue", - "Blue color for blue team", 255); -static CatVar user_blue_green(CV_INT, "esp_color_blue_g", "0", - "Blue Team: Green", "Green color for blue team", - 255); -static CatVar user_blue_red(CV_INT, "esp_color_blue_r", "0", "Blue Team: Red", - "Red color for blue team", 255); - rgba_t colors::EntityF(CachedEntity *ent) { rgba_t result, plclr; @@ -94,28 +79,6 @@ rgba_t colors::EntityF(CachedEntity *ent) result = blu; else if (ent->m_iTeam() == TEAM_RED) result = red; - // If user has custom color, check if we should change, and do so here - if (user_red_blue || user_red_green || user_red_red || user_blue_blue || - user_blue_green || user_blue_red) - { - switch (ent->m_iTeam()) - { - case TEAM_BLU: - if (user_blue_blue || user_blue_green || user_blue_red) - { - result = FromRGBA8(user_blue_red, user_blue_green, - user_blue_blue, 255); - } - break; - case TEAM_RED: - if (user_red_blue || user_red_green || user_red_red) - { - result = FromRGBA8(user_red_red, user_red_green, - user_red_blue, 255); - } - break; - } - } if (ent->m_Type() == ENTITY_PLAYER) { if (IsPlayerInvulnerable(ent)) diff --git a/src/visual/drawmgr.cpp b/src/visual/drawmgr.cpp index 70448385..90978ee9 100644 --- a/src/visual/drawmgr.cpp +++ b/src/visual/drawmgr.cpp @@ -11,10 +11,14 @@ #include #include #include +#include #include "common.hpp" #include "visual/drawing.hpp" #include "hack.hpp" +static settings::Bool info_text{ "hack-info.enable", "true" }; +static settings::Bool info_text_min{ "hack-info.minimal", "false" }; + void render_cheat_visuals() { { @@ -45,13 +49,6 @@ void BeginCheatVisuals() std::mutex drawing_mutex; -static CatVar info_text(CV_SWITCH, "info", "1", "Show info", - "Show cathook version in top left corner"); -static CatVar info_text_min(CV_SWITCH, "info_min", "0", "Show minimal info", - "Only show cathook title in top left corner"); -static CatVar enable_logo(CV_SWITCH, "nullcore_mode_logo", "1", - "Enable Nullcore watermark", ""); - void DrawCheatVisuals() { /*#if RENDERING_ENGINE_OPENGL