mirror of
https://github.com/rei-2/Amalgam
synced 2026-10-10 04:43:09 +08:00
rework how var strings are created
This commit is contained in:
@@ -166,7 +166,7 @@ template <> void CConfigs::LoadJson(const boost::property_tree::ptree& t, const
|
||||
if (uHash == uHash2)
|
||||
i++;
|
||||
}
|
||||
bValid = bValid && i <= 1;
|
||||
bValid = i <= 1;
|
||||
}
|
||||
|
||||
if (bValid)
|
||||
@@ -368,7 +368,7 @@ static inline void SaveMain(BaseVar*& pBase, boost::property_tree::ptree& tTree)
|
||||
boost::property_tree::ptree tMap;
|
||||
for (auto& [iBind, tValue] : pVar->Map)
|
||||
F::Configs.SaveJson(tMap, std::to_string(iBind), tValue);
|
||||
tTree.put_child(pVar->m_sName, tMap);
|
||||
tTree.put_child(pVar->Name(), tMap);
|
||||
}
|
||||
#define Save(t, j) if (IsType(t)) SaveMain<t>(pBase, j);
|
||||
|
||||
@@ -378,7 +378,7 @@ static inline void LoadMain(BaseVar*& pBase, boost::property_tree::ptree& tTree)
|
||||
auto pVar = pBase->As<T>();
|
||||
|
||||
pVar->Map = { { DEFAULT_BIND, pVar->Default } };
|
||||
if (auto tMap = tTree.get_child_optional(pVar->m_sName))
|
||||
if (auto tMap = tTree.get_child_optional(pVar->Name()))
|
||||
{
|
||||
for (auto& [sKey, _] : *tMap)
|
||||
{
|
||||
@@ -392,7 +392,7 @@ static inline void LoadMain(BaseVar*& pBase, boost::property_tree::ptree& tTree)
|
||||
}
|
||||
}
|
||||
else if (!(pVar->m_iFlags & NOSAVE))
|
||||
SDK::Output("Amalgam", std::format("{} not found", pVar->m_sName).c_str(), ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
|
||||
SDK::Output("Amalgam", std::format("{} not found", pVar->Name()).c_str(), ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
|
||||
}
|
||||
#define Load(t, j) if (IsType(t)) LoadMain<t>(pBase, j);
|
||||
|
||||
@@ -617,14 +617,14 @@ bool CConfigs::LoadConfig(const std::string& sConfigName, bool bNotify)
|
||||
template <class T>
|
||||
static inline void SaveMiscMain(BaseVar*& pBase, boost::property_tree::ptree& tTree)
|
||||
{
|
||||
F::Configs.SaveJson(tTree, pBase->m_sName, pBase->As<T>()->Map[DEFAULT_BIND]);
|
||||
F::Configs.SaveJson(tTree, pBase->Name(), pBase->As<T>()->Map[DEFAULT_BIND]);
|
||||
}
|
||||
#define SaveMisc(t, j) if (IsType(t)) SaveMiscMain<t>(pBase, j);
|
||||
|
||||
template <class T>
|
||||
static inline void LoadMiscMain(BaseVar*& pBase, boost::property_tree::ptree& tTree)
|
||||
{
|
||||
F::Configs.LoadJson(tTree, pBase->m_sName, pBase->As<T>(), DEFAULT_BIND);
|
||||
F::Configs.LoadJson(tTree, pBase->Name(), pBase->As<T>(), DEFAULT_BIND);
|
||||
}
|
||||
#define LoadMisc(t, j) if (IsType(t)) LoadMiscMain<t>(pBase, j);
|
||||
|
||||
|
||||
@@ -2153,7 +2153,7 @@ namespace ImGui
|
||||
}
|
||||
inline void FKeybind(ConfigVar<int>& var, int iFlags = FKeybindEnum::None, std::vector<int> vIgnore = { Vars::Menu::PrimaryKey[DEFAULT_BIND], Vars::Menu::SecondaryKey[DEFAULT_BIND] }, ImVec2 vSize = { 0, 30 }, int iSizeOffset = 0, bool* pHovered = nullptr)
|
||||
{
|
||||
FKeybind(var.m_vTitle.front(), var[DEFAULT_BIND], iFlags, vIgnore, vSize, iSizeOffset, pHovered);
|
||||
FKeybind(var.m_vNames.front(), var[DEFAULT_BIND], iFlags, vIgnore, vSize, iSizeOffset, pHovered);
|
||||
}
|
||||
|
||||
// dropdown for materials
|
||||
@@ -2588,48 +2588,48 @@ namespace ImGui
|
||||
DebugDummy({ 0, GetStyle().WindowPadding.y });
|
||||
}
|
||||
|
||||
#define WRAPPER(function, type, parameters, arguments)\
|
||||
inline bool function(ConfigVar<type>& var, parameters, bool* pHovered = nullptr, int iBindOverride = -1, int iLabelOverride = -1)\
|
||||
{\
|
||||
const char* sLabel = iLabelOverride != -1 ? var.m_vTitle[iLabelOverride] : var.m_vTitle.front();\
|
||||
int iVarFlags = var.m_iFlags & ~(VISUAL | NOSAVE | NOBIND | DEBUGVAR);\
|
||||
iFlags |= iVarFlags;\
|
||||
auto val = FGet(var, true);\
|
||||
bool bHovered = false;\
|
||||
bool bReturn = function(std::format("{}## {}", sLabel, var.m_sName).c_str(), arguments, &bHovered);\
|
||||
FSet(var, val);\
|
||||
if (pHovered)\
|
||||
*pHovered = bHovered;\
|
||||
if (!(var.m_iFlags & (NOBIND | NOSAVE)) && !Disabled && CurrentBind == DEFAULT_BIND)\
|
||||
{ /*probably a better way to do this*/\
|
||||
static auto staticVal = val;\
|
||||
bool bNewPopup = bHovered && IsMouseReleased(ImGuiMouseButton_Right) && !IsMouseDown(ImGuiMouseButton_Left) && !IsPopupOpen(nullptr, ImGuiPopupFlags_AnyPopupId);\
|
||||
if (bNewPopup)\
|
||||
{\
|
||||
OpenPopup(var.m_sName.c_str());\
|
||||
staticVal = val;\
|
||||
}\
|
||||
SetNextWindowSize({ H::Draw.Scale(300), 0 });\
|
||||
bool bPopup = FBeginPopup(var.m_sName.c_str());\
|
||||
if (bPopup)\
|
||||
{\
|
||||
std::string sBind = iBindOverride != -1 ? var.m_vTitle[iBindOverride] : var.m_vTitle.back();\
|
||||
std::transform(sBind.begin(), sBind.end(), sBind.begin(), ::tolower);\
|
||||
iFlags = iVarFlags; /*get rid of any visual flags*/\
|
||||
if (FNV1A::Hash32Const(#function) == FNV1A::Hash32Const("FColorPicker"))\
|
||||
iFlags |= FColorPickerEnum::Full | FColorPickerEnum::RemoveVisuals;\
|
||||
PushTransparent(false);\
|
||||
static bool bLastHovered = false;\
|
||||
DrawBindInfo(var, staticVal, StripDoubleHash(sBind.c_str()), bNewPopup, bLastHovered);\
|
||||
val = staticVal;\
|
||||
function(std::format("{}## Bind", var.m_vTitle.front()).c_str(), arguments, &bHovered);\
|
||||
bLastHovered = bLastHovered || bHovered;\
|
||||
staticVal = val;\
|
||||
PopTransparent(2);\
|
||||
EndPopup();\
|
||||
}\
|
||||
}\
|
||||
return bReturn;\
|
||||
#define WRAPPER(function, type, parameters, arguments) \
|
||||
inline bool function(ConfigVar<type>& var, parameters, bool* pHovered = nullptr, int iBindOverride = -1, int iLabelOverride = -1) \
|
||||
{ \
|
||||
const char* sLabel = iLabelOverride != -1 ? var.m_vNames[iLabelOverride] : var.m_vNames.front(); \
|
||||
int iVarFlags = var.m_iFlags & ~(VISUAL | NOSAVE | NOBIND | DEBUGVAR); \
|
||||
iFlags |= iVarFlags; \
|
||||
auto val = FGet(var, true); \
|
||||
bool bHovered = false; \
|
||||
bool bReturn = function(std::format("{}## {}", sLabel, var.Name()).c_str(), arguments, &bHovered); \
|
||||
FSet(var, val); \
|
||||
if (pHovered) \
|
||||
*pHovered = bHovered; \
|
||||
if (!(var.m_iFlags & (NOBIND | NOSAVE)) && !Disabled && CurrentBind == DEFAULT_BIND) \
|
||||
{ /*probably a better way to do this*/ \
|
||||
static auto staticVal = val; \
|
||||
bool bNewPopup = bHovered && IsMouseReleased(ImGuiMouseButton_Right) && !IsMouseDown(ImGuiMouseButton_Left) && !IsPopupOpen(nullptr, ImGuiPopupFlags_AnyPopupId); \
|
||||
if (bNewPopup) \
|
||||
{ \
|
||||
OpenPopup(var.Name()); \
|
||||
staticVal = val; \
|
||||
} \
|
||||
SetNextWindowSize({ H::Draw.Scale(300), 0 }); \
|
||||
bool bPopup = FBeginPopup(var.Name()); \
|
||||
if (bPopup) \
|
||||
{ \
|
||||
std::string sBind = iBindOverride != -1 ? var.m_vNames[iBindOverride] : var.m_vNames.back(); \
|
||||
std::transform(sBind.begin(), sBind.end(), sBind.begin(), ::tolower); \
|
||||
iFlags = iVarFlags; /*get rid of any visual flags*/ \
|
||||
if (FNV1A::Hash32Const(#function) == FNV1A::Hash32Const("FColorPicker")) \
|
||||
iFlags |= FColorPickerEnum::Full | FColorPickerEnum::RemoveVisuals; \
|
||||
PushTransparent(false); \
|
||||
static bool bLastHovered = false; \
|
||||
DrawBindInfo(var, staticVal, StripDoubleHash(sBind.c_str()), bNewPopup, bLastHovered); \
|
||||
val = staticVal; \
|
||||
function(std::format("{}## Bind", var.m_vNames.front()).c_str(), arguments, &bHovered); \
|
||||
bLastHovered = bLastHovered || bHovered; \
|
||||
staticVal = val; \
|
||||
PopTransparent(2); \
|
||||
EndPopup(); \
|
||||
} \
|
||||
} \
|
||||
return bReturn; \
|
||||
}
|
||||
|
||||
WRAPPER(FToggle, bool, VA_LIST(int iFlags = 0), VA_LIST(&val, iFlags))
|
||||
|
||||
@@ -3195,7 +3195,7 @@ void CMenu::MenuSettings(int iTab)
|
||||
{
|
||||
int i = 0; for (auto& pBase : G::Vars)
|
||||
{
|
||||
if (pBase->m_sName.find("Vars::Hooks::") == std::string::npos)
|
||||
if (std::string(pBase->Name()).find("Vars::Hooks::") == std::string::npos)
|
||||
continue;
|
||||
|
||||
FToggle(*pBase->As<bool>(), !(i % 2) ? FToggleEnum::Left : FToggleEnum::Right);
|
||||
@@ -3230,8 +3230,8 @@ void CMenu::MenuSearch(std::string sSearch)
|
||||
if (!Vars::Debug::Options[DEFAULT_BIND] && pBase->m_iFlags & DEBUGVAR)
|
||||
continue;
|
||||
|
||||
std::vector<const char*> vSearch = { pBase->m_sName.c_str(), pBase->m_sSection };
|
||||
vSearch.insert(vSearch.end(), pBase->m_vTitle.begin(), pBase->m_vTitle.end());
|
||||
std::vector<const char*> vSearch = { pBase->Name(), pBase->Section() };
|
||||
vSearch.insert(vSearch.end(), pBase->m_vNames.begin(), pBase->m_vNames.end());
|
||||
vSearch.insert(vSearch.end(), pBase->m_vValues.begin(), pBase->m_vValues.end());
|
||||
for (auto pSearch : vSearch)
|
||||
{
|
||||
@@ -3264,7 +3264,7 @@ void CMenu::MenuSearch(std::string sSearch)
|
||||
else if (auto pVar = pBase->As<int>())
|
||||
{
|
||||
if (!pVar->m_vValues.empty()
|
||||
|| FNV1A::Hash32(pVar->m_sName.c_str()) == FNV1A::Hash32Const("Vars::ESP::ActiveGroups"))
|
||||
|| FNV1A::Hash32(pVar->Name()) == FNV1A::Hash32Const("Vars::ESP::ActiveGroups"))
|
||||
iWidgetEnum = iTypeEnum = WidgetEnum::FDropdown;
|
||||
else if (pVar->m_sExtra)
|
||||
iWidgetEnum = WidgetEnum::FISlider, iTypeEnum = WidgetEnum::FSlider;
|
||||
@@ -3288,12 +3288,12 @@ void CMenu::MenuSearch(std::string sSearch)
|
||||
else
|
||||
continue;
|
||||
|
||||
uint32_t uSection = FNV1A::Hash32(pBase->m_sSection);
|
||||
uint32_t uSection = FNV1A::Hash32(pBase->Section());
|
||||
if (uSection != uLastSection)
|
||||
{
|
||||
if (uLastSection)
|
||||
EndSection();
|
||||
Section(std::format("{}## {}", pBase->m_sSection, pBase->m_sName).c_str());
|
||||
Section(std::format("{}## {}", pBase->Section(), pBase->Name()).c_str());
|
||||
i = 0;
|
||||
}
|
||||
uLastSection = uSection;
|
||||
@@ -3341,7 +3341,7 @@ void CMenu::MenuSearch(std::string sSearch)
|
||||
auto pVar = pBase->As<bool>();
|
||||
if (FToggle(*pVar, !(i % 2) ? FToggleEnum::Left : FToggleEnum::Right, nullptr, iOverride/*, iOverride*/))
|
||||
{
|
||||
if (FNV1A::Hash32(pVar->m_sName.c_str()) == FNV1A::Hash32Const("Vars::Debug::Options"))
|
||||
if (FNV1A::Hash32(pVar->Name()) == FNV1A::Hash32Const("Vars::Debug::Options"))
|
||||
uStaticHash = 0;
|
||||
}
|
||||
break;
|
||||
@@ -3356,7 +3356,7 @@ void CMenu::MenuSearch(std::string sSearch)
|
||||
{
|
||||
auto pVar = pBase->As<float>();
|
||||
const char* sFormat = pVar->m_sExtra;
|
||||
switch (FNV1A::Hash32(pVar->m_sName.c_str()))
|
||||
switch (FNV1A::Hash32(pVar->Name()))
|
||||
{
|
||||
case FNV1A::Hash32Const("Vars::Aimbot::Projectile::SplashRotateX"):
|
||||
case FNV1A::Hash32Const("Vars::Aimbot::Projectile::SplashRotateY"):
|
||||
@@ -3413,7 +3413,7 @@ void CMenu::MenuSearch(std::string sSearch)
|
||||
{
|
||||
auto pVar = pBase->As<int>();
|
||||
std::vector<int> vIgnore;
|
||||
switch (FNV1A::Hash32(pVar->m_sName.c_str()))
|
||||
switch (FNV1A::Hash32(pVar->Name()))
|
||||
{
|
||||
case FNV1A::Hash32Const("Vars::Menu::PrimaryKey"):
|
||||
vIgnore = { Vars::Menu::SecondaryKey[DEFAULT_BIND], VK_LBUTTON, VK_RBUTTON };
|
||||
@@ -3424,7 +3424,7 @@ void CMenu::MenuSearch(std::string sSearch)
|
||||
default:
|
||||
vIgnore = { Vars::Menu::PrimaryKey[DEFAULT_BIND], Vars::Menu::SecondaryKey[DEFAULT_BIND] };
|
||||
}
|
||||
FKeybind(iOverride != -1 ? pVar->m_vTitle[iOverride] : pVar->m_vTitle.front(), pVar->Map[DEFAULT_BIND], !(i % 2) ? FButtonEnum::Left : FButtonEnum::Right | FButtonEnum::SameLine, vIgnore);
|
||||
FKeybind(iOverride != -1 ? pVar->m_vNames[iOverride] : pVar->m_vNames.front(), pVar->Map[DEFAULT_BIND], !(i % 2) ? FButtonEnum::Left : FButtonEnum::Right | FButtonEnum::SameLine, vIgnore);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+133
-137
@@ -8,19 +8,14 @@
|
||||
|
||||
#define DEFAULT_BIND -1
|
||||
|
||||
// forward declartion of ConfigVar
|
||||
template <class T>
|
||||
class ConfigVar;
|
||||
|
||||
class BaseVar
|
||||
{
|
||||
public:
|
||||
size_t m_iType;
|
||||
std::string m_sName;
|
||||
std::vector<const char*> m_vNames;
|
||||
int m_iFlags = 0;
|
||||
|
||||
std::vector<const char*> m_vTitle;
|
||||
const char* m_sSection;
|
||||
union {
|
||||
int i = 0;
|
||||
float f;
|
||||
@@ -36,7 +31,23 @@ public:
|
||||
std::vector<const char*> m_vValues = {};
|
||||
const char* m_sExtra = nullptr;
|
||||
|
||||
// getter for ConfigVar
|
||||
protected:
|
||||
std::string m_sName;
|
||||
const char* m_sSection;
|
||||
|
||||
public:
|
||||
constexpr const char* Name() const
|
||||
{
|
||||
return m_sName.c_str();
|
||||
}
|
||||
constexpr const char* Section() const
|
||||
{
|
||||
return m_sSection;
|
||||
}
|
||||
|
||||
public:
|
||||
size_t m_iType;
|
||||
|
||||
template <class T>
|
||||
inline ConfigVar<T>* As()
|
||||
{
|
||||
@@ -56,38 +67,35 @@ template <class T>
|
||||
class ConfigVar : public BaseVar
|
||||
{
|
||||
public:
|
||||
T Default;
|
||||
T Value;
|
||||
T Default;
|
||||
std::unordered_map<int, T> Map = {};
|
||||
ConfigVar(T tValue, std::string sName, const char* sSection, std::vector<const char*> vTitle, int iFlags = 0, std::vector<const char*> vValues = {}, const char* sNone = nullptr)
|
||||
|
||||
ConfigVar(T tValue, std::vector<const char*> vNames, const char* sName, const char* sSection, int iFlags = 0, std::vector<const char*> vValues = {}, const char* sNone = nullptr)
|
||||
{
|
||||
Default = tValue;
|
||||
Value = tValue;
|
||||
Map[DEFAULT_BIND] = tValue;
|
||||
|
||||
Value = Default = Map[DEFAULT_BIND] = tValue;
|
||||
m_iType = typeid(T).hash_code();
|
||||
m_sName = sName;
|
||||
m_iFlags = iFlags;
|
||||
|
||||
m_vTitle = vTitle;
|
||||
m_vNames = vNames;
|
||||
m_sName = std::string(sName).replace(strlen(sName) - 1, 1, "");
|
||||
m_sSection = sSection;
|
||||
|
||||
m_iFlags = iFlags;
|
||||
m_vValues = vValues;
|
||||
m_sExtra = sNone;
|
||||
|
||||
G::Vars.push_back(this);
|
||||
}
|
||||
ConfigVar(T tValue, std::string sName, const char* sSection, std::vector<const char*> vTitle, int iFlags, int iMin, int iMax, int iStep = 1, const char* sFormat = "%i")
|
||||
ConfigVar(T tValue, std::vector<const char*> vNames, const char* sName, const char* sSection, int iFlags, int iMin, int iMax, int iStep = 1, const char* sFormat = "%i")
|
||||
{
|
||||
Default = tValue;
|
||||
Value = tValue;
|
||||
Map[DEFAULT_BIND] = tValue;
|
||||
|
||||
Value = Default = Map[DEFAULT_BIND] = tValue;
|
||||
m_iType = typeid(T).hash_code();
|
||||
m_sName = sName;
|
||||
m_iFlags = iFlags;
|
||||
|
||||
m_vTitle = vTitle;
|
||||
m_vNames = vNames;
|
||||
m_sName = std::string(sName).replace(strlen(sName) - 1, 1, "");
|
||||
m_sSection = sSection;
|
||||
|
||||
m_iFlags = iFlags;
|
||||
m_unMin.i = iMin;
|
||||
m_unMax.i = iMax;
|
||||
m_unStep.i = iStep;
|
||||
@@ -95,18 +103,16 @@ public:
|
||||
|
||||
G::Vars.push_back(this);
|
||||
}
|
||||
ConfigVar(T tValue, std::string sName, const char* sSection, std::vector<const char*> vTitle, int iFlags, float flMin, float flMax, float flStep = 1.f, const char* sFormat = "%g")
|
||||
ConfigVar(T tValue, std::vector<const char*> vNames, const char* sName, const char* sSection, int iFlags, float flMin, float flMax, float flStep = 1.f, const char* sFormat = "%g")
|
||||
{
|
||||
Default = tValue;
|
||||
Value = tValue;
|
||||
Map[DEFAULT_BIND] = tValue;
|
||||
|
||||
Value = Default = Map[DEFAULT_BIND] = tValue;
|
||||
m_iType = typeid(T).hash_code();
|
||||
m_sName = sName;
|
||||
m_iFlags = iFlags;
|
||||
|
||||
m_vTitle = vTitle;
|
||||
m_vNames = vNames;
|
||||
m_sName = std::string(sName).replace(strlen(sName) - 1, 1, "");
|
||||
m_sSection = sSection;
|
||||
|
||||
m_iFlags = iFlags;
|
||||
m_unMin.f = flMin;
|
||||
m_unMax.f = flMax;
|
||||
m_unStep.f = flStep;
|
||||
@@ -125,30 +131,22 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
#define NAMESPACE_BEGIN(name, ...)\
|
||||
namespace name {\
|
||||
inline const char* GetNamespace() { return "Vars::"#name"::"; }\
|
||||
inline const char* GetSubname() { return ""; }\
|
||||
inline const char* GetSection() { return !std::string(#__VA_ARGS__).empty() ? ""#__VA_ARGS__ : #name; }
|
||||
|
||||
#define SUBNAMESPACE_BEGIN(name, ...)\
|
||||
namespace name {\
|
||||
inline const char* GetSubname() { return #name"::"; }\
|
||||
inline const char* GetSection() { return !std::string(#__VA_ARGS__).empty() ? ""#__VA_ARGS__ : #name; }
|
||||
|
||||
#define NAMESPACE_END(name)\
|
||||
}
|
||||
#define SUBNAMESPACE_END(name)\
|
||||
#define NAMESPACE_BEGIN(name, ...) \
|
||||
namespace name { \
|
||||
constexpr inline const char* Section() { return !std::string(#__VA_ARGS__).empty() ? ""#__VA_ARGS__ : #name; }
|
||||
#define NAMESPACE_END(name) \
|
||||
}
|
||||
|
||||
#define CVar(name, title, value, ...)\
|
||||
inline ConfigVar<decltype(value)> name = { value, std::format("{}{}{}", GetNamespace(), GetSubname(), #name), GetSection(), { title }, __VA_ARGS__ }
|
||||
#define CVarValues(name, title, value, flags, none, ...)\
|
||||
inline ConfigVar<decltype(value)> name = { value, std::format("{}{}{}", GetNamespace(), GetSubname(), #name), GetSection(), { title }, flags, { __VA_ARGS__ }, none }
|
||||
#define Enum(name, ...)\
|
||||
#define CVar(name, title, value, ...) \
|
||||
constexpr inline const char* name##_() { return __FUNCTION__; } \
|
||||
inline ConfigVar<decltype(value)> name = { value, { title }, name##_(), Section(), __VA_ARGS__ }
|
||||
#define CVarValues(name, title, value, flags, none, ...) \
|
||||
constexpr inline const char* name##_() { return __FUNCTION__; } \
|
||||
inline ConfigVar<decltype(value)> name = { value, { title }, name##_(), Section(), flags, { __VA_ARGS__ }, none }
|
||||
#define Enum(name, ...) \
|
||||
namespace name##Enum { enum name##Enum { __VA_ARGS__ }; }
|
||||
#define CVarEnum(name, title, value, flags, none, values, ...)\
|
||||
CVarValues(name, title, value, flags, none, values);\
|
||||
#define CVarEnum(name, title, value, flags, none, values, ...) \
|
||||
CVarValues(name, title, value, flags, none, values); \
|
||||
Enum(name, __VA_ARGS__);
|
||||
|
||||
#define NONE 0
|
||||
@@ -169,8 +167,7 @@ public:
|
||||
#define DROPDOWN_CUSTOM (1 << 2)
|
||||
#define DROPDOWN_AUTOUPDATE (1 << 3)
|
||||
|
||||
namespace Vars
|
||||
{
|
||||
NAMESPACE_BEGIN(Vars)
|
||||
NAMESPACE_BEGIN(Menu)
|
||||
CVar(CheatTitle, "Cheat title", std::string("Amalgam"), VISUAL | DROPDOWN_AUTOUPDATE);
|
||||
CVar(CheatTag, "Cheat tag", std::string("[Amalgam]"), VISUAL);
|
||||
@@ -196,13 +193,13 @@ namespace Vars
|
||||
CVar(Scale, "Scale", 1.f, NOBIND | SLIDER_MIN | SLIDER_PRECISION | SLIDER_NOAUTOUPDATE, 0.75f, 2.f, 0.25f);
|
||||
CVar(CheapText, "Cheap text", false);
|
||||
|
||||
SUBNAMESPACE_BEGIN(Theme)
|
||||
NAMESPACE_BEGIN(Theme)
|
||||
CVar(Accent, "Accent color", Color_t(175, 150, 255, 255), VISUAL);
|
||||
CVar(Background, "Background color", Color_t(0, 0, 0, 250), VISUAL);
|
||||
CVar(Active, "Active color", Color_t(255, 255, 255, 255), VISUAL);
|
||||
CVar(Inactive, "Inactive color", Color_t(150, 150, 150, 255), VISUAL);
|
||||
SUBNAMESPACE_END(Theme);
|
||||
NAMESPACE_END(Menu);
|
||||
NAMESPACE_END(Theme)
|
||||
NAMESPACE_END(Menu)
|
||||
|
||||
NAMESPACE_BEGIN(Colors)
|
||||
CVar(FOVCircle, "FOV circle color", Color_t(255, 255, 255, 100), VISUAL);
|
||||
@@ -253,10 +250,10 @@ namespace Vars
|
||||
CVar(BoundHitboxFaceIgnoreZ, "Bound hitbox face ignore Z color", Color_t(255, 255, 255, 0), VISUAL);
|
||||
|
||||
CVar(SpellFootstep, "Spell footstep color", Color_t(255, 255, 255, 255), VISUAL);
|
||||
NAMESPACE_END(Colors);
|
||||
NAMESPACE_END(Colors)
|
||||
|
||||
NAMESPACE_BEGIN(Aimbot)
|
||||
SUBNAMESPACE_BEGIN(General, Aimbot)
|
||||
NAMESPACE_BEGIN(General, Aimbot)
|
||||
CVarEnum(AimType, "Aim type", 0, NONE, nullptr,
|
||||
VA_LIST("Off", "Plain", "Smooth", "Silent", "Locking", "Assistive"),
|
||||
Off, Plain, Smooth, Silent, Locking, Assistive);
|
||||
@@ -286,9 +283,9 @@ namespace Vars
|
||||
CVar(NoSpreadAverage, "No spread average", 5, NOSAVE | DEBUGVAR | SLIDER_MIN, 1, 25);
|
||||
CVar(NoSpreadInterval, "No spread interval", 0.1f, NOSAVE | DEBUGVAR | SLIDER_MIN, 0.05f, 5.f, 0.1f, "%gs");
|
||||
CVar(NoSpreadBackupInterval, "No spread backup interval", 2.f, NOSAVE | DEBUGVAR | SLIDER_MIN, 2.f, 10.f, 0.1f, "%gs");
|
||||
SUBNAMESPACE_END(Global);
|
||||
NAMESPACE_END(Global)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Hitscan)
|
||||
NAMESPACE_BEGIN(Hitscan)
|
||||
CVarEnum(Hitboxes, VA_LIST("Hitboxes", "Hitscan hitboxes"), 0b000111, DROPDOWN_MULTI, nullptr,
|
||||
VA_LIST("Head", "Body", "Pelvis", "Arms", "Legs", "##Divider", "Bodyaim if lethal", "Headshot only"),
|
||||
Head = 1 << 0, Body = 1 << 1, Pelvis = 1 << 2, Arms = 1 << 3, Legs = 1 << 4, BodyaimIfLethal = 1 << 5, HeadshotOnly = 1 << 6);
|
||||
@@ -306,9 +303,9 @@ namespace Vars
|
||||
CVar(PeekAmount, "Peek amount", 1, NOSAVE | DEBUGVAR, 0, 5);
|
||||
CVar(BoneSizeSubtract, "Bone size subtract", 1.f, NOSAVE | DEBUGVAR | SLIDER_MIN, 0.f, 4.f, 0.25f);
|
||||
CVar(BoneSizeMinimumScale, "Bone size minimum scale", 1.f, NOSAVE | DEBUGVAR | SLIDER_CLAMP, 0.f, 1.f, 0.1f);
|
||||
SUBNAMESPACE_END(HITSCAN);
|
||||
NAMESPACE_END(HITSCAN)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Projectile)
|
||||
NAMESPACE_BEGIN(Projectile)
|
||||
CVarEnum(StrafePrediction, VA_LIST("Predict", "Strafe prediction"), 0b11, DROPDOWN_MULTI, "Off",
|
||||
VA_LIST("Air strafing", "Ground strafing"),
|
||||
Air = 1 << 0, Ground = 1 << 1);
|
||||
@@ -387,9 +384,9 @@ namespace Vars
|
||||
CVarEnum(MovesimFrictionFlags, "Movesim friction flags", 0b01, NOSAVE | DEBUGVAR | DROPDOWN_MULTI, nullptr,
|
||||
VA_LIST("Run reduce", "Calculate increase"),
|
||||
RunReduce = 1 << 0, CalculateIncrease = 1 << 1);
|
||||
SUBNAMESPACE_END(Projectile);
|
||||
NAMESPACE_END(Projectile)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Melee)
|
||||
NAMESPACE_BEGIN(Melee)
|
||||
CVar(AutoBackstab, "Auto backstab", true);
|
||||
CVar(IgnoreRazorback, "Ignore razorback", true);
|
||||
CVar(SwingPrediction, "Swing prediction", false);
|
||||
@@ -399,9 +396,9 @@ namespace Vars
|
||||
CVar(SwingPredictLag, "Swing predict lag", true, NOSAVE | DEBUGVAR);
|
||||
CVar(BackstabAccountPing, "Backstab account ping", true, NOSAVE | DEBUGVAR);
|
||||
CVar(BackstabDoubleTest, "Backstab double test", true, NOSAVE | DEBUGVAR);
|
||||
SUBNAMESPACE_END(Melee);
|
||||
NAMESPACE_END(Melee)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Healing)
|
||||
NAMESPACE_BEGIN(Healing)
|
||||
CVarEnum(HealPriority, "Heal Priority", 0, NONE, nullptr,
|
||||
VA_LIST("None", "Prioritize team", "Prioritize friends", "Friends only"),
|
||||
None, PrioritizeTeam, PrioritizeFriends, FriendsOnly);
|
||||
@@ -416,14 +413,14 @@ namespace Vars
|
||||
CVar(AutoVaccinatorBlastScale, "Auto vaccinator blast scale", 100.f, NOSAVE | DEBUGVAR | SLIDER_MIN | SLIDER_PRECISION, 0.f, 200.f, 10.f, "%g%%");
|
||||
CVar(AutoVaccinatorFireScale, "Auto vaccinator fire scale", 100.f, NOSAVE | DEBUGVAR | SLIDER_MIN | SLIDER_PRECISION, 0.f, 200.f, 10.f, "%g%%");
|
||||
CVar(AutoVaccinatorFlamethrowerDamageOnly, "Auto vaccinator flamethrower damage only", false, NOSAVE | DEBUGVAR);
|
||||
SUBNAMESPACE_END(Healing);
|
||||
NAMESPACE_END(Aimbot);
|
||||
NAMESPACE_END(Healing)
|
||||
NAMESPACE_END(Aimbot)
|
||||
|
||||
NAMESPACE_BEGIN(CritHack, Crit Hack)
|
||||
CVar(ForceCrits, "Force crits", false);
|
||||
CVar(AvoidRandomCrits, "Avoid random crits", false);
|
||||
CVar(AlwaysMeleeCrit, "Always melee crit", false);
|
||||
NAMESPACE_END(CritHack);
|
||||
NAMESPACE_END(CritHack)
|
||||
|
||||
NAMESPACE_BEGIN(Backtrack)
|
||||
CVar(Latency, "Fake latency", 0, SLIDER_CLAMP, 0, 1000, 5);
|
||||
@@ -432,7 +429,7 @@ namespace Vars
|
||||
CVar(PreferOnShot, "Prefer on shot", false);
|
||||
|
||||
CVar(Offset, "Offset", 0, NOSAVE | DEBUGVAR, -1, 1);
|
||||
NAMESPACE_END(Backtrack);
|
||||
NAMESPACE_END(Backtrack)
|
||||
|
||||
NAMESPACE_BEGIN(Doubletap)
|
||||
CVar(Doubletap, "Doubletap", false);
|
||||
@@ -458,16 +455,16 @@ namespace Vars
|
||||
CVar(RetainBlastJump, "Retain blastjump", false);
|
||||
|
||||
CVar(RetainSoldierOnly, "Retain blastjump soldier only", true, NOSAVE | DEBUGVAR);
|
||||
NAMESPACE_END(FakeLag);
|
||||
NAMESPACE_END(FakeLag)
|
||||
|
||||
NAMESPACE_BEGIN(AutoPeek, Auto Peek)
|
||||
CVar(Enabled, VA_LIST("Enabled", "Auto peek"), false);
|
||||
NAMESPACE_END(AutoPeek);
|
||||
NAMESPACE_END(AutoPeek)
|
||||
|
||||
NAMESPACE_BEGIN(Speedhack)
|
||||
CVar(Enabled, VA_LIST("Enabled", "Speedhack enabled"), false);
|
||||
CVar(Amount, VA_LIST("Amount", "SpeedHack amount"), 1, NONE, 1, 50);
|
||||
NAMESPACE_END(Speedhack);
|
||||
NAMESPACE_END(Speedhack)
|
||||
|
||||
NAMESPACE_BEGIN(AntiAim, Antiaim)
|
||||
CVar(Enabled, VA_LIST("Enabled", "Antiaim enabled"), false);
|
||||
@@ -495,7 +492,7 @@ namespace Vars
|
||||
CVar(MinWalk, "Minwalk", true);
|
||||
CVar(AntiOverlap, "Anti-overlap", false);
|
||||
CVar(InvalidShootPitch, "Hide pitch on shot", false);
|
||||
NAMESPACE_END(AntiAim);
|
||||
NAMESPACE_END(AntiAim)
|
||||
|
||||
NAMESPACE_BEGIN(Resolver)
|
||||
CVar(Enabled, VA_LIST("Enabled", "Resolver enabled"), false);
|
||||
@@ -508,7 +505,7 @@ namespace Vars
|
||||
CVar(CyclePitch, "Cycle pitch", 0.f, SLIDER_CLAMP, -180.f, 180.f, 90.f);
|
||||
CVar(CycleView, "Cycle view", false);
|
||||
CVar(CycleMinwalk, "Cycle minwalk", false);
|
||||
NAMESPACE_END(Resolver);
|
||||
NAMESPACE_END(Resolver)
|
||||
|
||||
NAMESPACE_BEGIN(CheaterDetection, Cheater Detection)
|
||||
CVarEnum(Methods, "Detection methods", 0b0000, DROPDOWN_MULTI, nullptr,
|
||||
@@ -518,14 +515,14 @@ namespace Vars
|
||||
CVar(MinimumChoking, "Minimum choking", 20, SLIDER_MIN, 4, 22);
|
||||
CVar(MinimumFlick, "Minimum flick angle", 20.f, SLIDER_PRECISION, 10.f, 30.f); // min flick size to suspect
|
||||
CVar(MaximumNoise, "Maximum flick noise", 1.f, SLIDER_PRECISION, 1.f, 10.f); // max difference between angles before and after flick
|
||||
NAMESPACE_END(CheaterDetection);
|
||||
NAMESPACE_END(CheaterDetection)
|
||||
|
||||
NAMESPACE_BEGIN(ESP)
|
||||
CVarValues(ActiveGroups, "Active groups", int(0b11111111111111111111111111111111), VISUAL | DROPDOWN_MULTI | DROPDOWN_NOSANITIZATION, nullptr);
|
||||
NAMESPACE_END(ESP);
|
||||
NAMESPACE_END(ESP)
|
||||
|
||||
NAMESPACE_BEGIN(Visuals)
|
||||
SUBNAMESPACE_BEGIN(UI)
|
||||
NAMESPACE_BEGIN(UI)
|
||||
CVarEnum(StreamerMode, "Streamer mode", 0, VISUAL, nullptr,
|
||||
VA_LIST("Off", "Local", "Friends", "Party", "All"),
|
||||
Off, Local, Friends, Party, All);
|
||||
@@ -539,9 +536,9 @@ namespace Vars
|
||||
CVar(ScoreboardUtility, "Scoreboard utility", false);
|
||||
CVar(ScoreboardColors, "Scoreboard colors", false, VISUAL);
|
||||
CVar(CleanScreenshots, "Clean screenshots", true);
|
||||
SUBNAMESPACE_END(UI);
|
||||
NAMESPACE_END(UI)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Thirdperson)
|
||||
NAMESPACE_BEGIN(Thirdperson)
|
||||
CVar(Enabled, "Thirdperson", false, VISUAL);
|
||||
CVar(Crosshair, VA_LIST("Crosshair", "Thirdperson crosshair"), false, VISUAL);
|
||||
CVar(Distance, "Thirdperson distance", 150.f, VISUAL | SLIDER_PRECISION, 0.f, 400.f, 10.f);
|
||||
@@ -550,9 +547,9 @@ namespace Vars
|
||||
|
||||
CVar(Scale, "Thirdperson scales", true, NOSAVE | DEBUGVAR);
|
||||
CVar(Collide, "Thirdperson collides", true, NOSAVE | DEBUGVAR);
|
||||
SUBNAMESPACE_END(ThirdPerson);
|
||||
NAMESPACE_END(ThirdPerson)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Removals)
|
||||
NAMESPACE_BEGIN(Removals)
|
||||
CVar(Interpolation, VA_LIST("Interpolation", "Remove interpolation"), false);
|
||||
CVar(Lerp, VA_LIST("Lerp", "Remove lerp"), true);
|
||||
CVar(Disguises, VA_LIST("Disguises", "Remove disguises"), false, VISUAL);
|
||||
@@ -566,9 +563,9 @@ namespace Vars
|
||||
CVar(Ragdolls, VA_LIST("Ragdolls", "Remove ragdoll"), false, VISUAL);
|
||||
CVar(Gibs, VA_LIST("Gibs", "Remove gibs"), false, VISUAL);
|
||||
CVar(MOTD, VA_LIST("MOTD", "Remove MOTD"), false, VISUAL);
|
||||
SUBNAMESPACE_END(Removals);
|
||||
NAMESPACE_END(Removals)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Effects)
|
||||
NAMESPACE_BEGIN(Effects)
|
||||
CVarValues(BulletTracer, "Bullet tracer", std::string("Default"), VISUAL | DROPDOWN_CUSTOM, nullptr,
|
||||
"Default", "None", "Big nasty", "Distortion trail", "Machina", "Sniper rail", "Short circuit", "C.A.P.P.E.R", "Merasmus ZAP", "Merasmus ZAP 2", "Black ink", "Line", "Line ignore Z", "Beam");
|
||||
CVarValues(CritTracer, "Crit tracer", std::string("Default"), VISUAL | DROPDOWN_CUSTOM, nullptr,
|
||||
@@ -587,9 +584,9 @@ namespace Vars
|
||||
Burning = 1 << 0, Electrocuted = 1 << 1, Ash = 1 << 2, Dissolve = 1 << 3, Gold = 1 << 4, Ice = 1 << 5);
|
||||
CVar(DrawIconsThroughWalls, "Draw icons through walls", false, VISUAL);
|
||||
CVar(DrawDamageNumbersThroughWalls, "Draw damage numbers through walls", false, VISUAL);
|
||||
SUBNAMESPACE_END(Tracers);
|
||||
NAMESPACE_END(Tracers)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Viewmodel)
|
||||
NAMESPACE_BEGIN(Viewmodel)
|
||||
CVar(CrosshairAim, "Crosshair aim position", false, VISUAL);
|
||||
CVar(ViewmodelAim, "Viewmodel aim position", false, VISUAL);
|
||||
CVar(OffsetX, VA_LIST("Offset X", "Viewmodel offset X"), 0.f, VISUAL | SLIDER_PRECISION, -45.f, 45.f, 5.f);
|
||||
@@ -600,9 +597,9 @@ namespace Vars
|
||||
CVar(Roll, VA_LIST("Roll", "Viewmodel roll"), 0.f, VISUAL | SLIDER_CLAMP | SLIDER_PRECISION, -180.f, 180.f, 5.f);
|
||||
CVar(SwayScale, VA_LIST("Sway scale", "Viewmodel sway scale"), 0.f, VISUAL | SLIDER_MIN | SLIDER_PRECISION, 0.f, 5.f, 0.5f);
|
||||
CVar(SwayInterp, VA_LIST("Sway interp", "Viewmodel sway interp"), 0.f, VISUAL | SLIDER_MIN | SLIDER_PRECISION, 0.f, 1.f, 0.1f);
|
||||
SUBNAMESPACE_END(Viewmodel);
|
||||
NAMESPACE_END(Viewmodel)
|
||||
|
||||
SUBNAMESPACE_BEGIN(World)
|
||||
NAMESPACE_BEGIN(World)
|
||||
CVarEnum(Modulations, "Modulations", 0b00000, VISUAL | DROPDOWN_MULTI, nullptr,
|
||||
VA_LIST("World", "Sky", "Prop", "Particle", "Fog"),
|
||||
World = 1 << 0, Sky = 1 << 1, Prop = 1 << 2, Particle = 1 << 3, Fog = 1 << 4);
|
||||
@@ -612,9 +609,9 @@ namespace Vars
|
||||
"Default", "Dev", "Camo", "Black", "White", "Gray", "Flat");
|
||||
CVar(NearPropFade, "Near prop fade", false, VISUAL);
|
||||
CVar(NoPropFade, "No prop fade", false, VISUAL);
|
||||
SUBNAMESPACE_END(World);
|
||||
NAMESPACE_END(World)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Beams) // as of now, these will stay out of the menu
|
||||
NAMESPACE_BEGIN(Beams) // as of now, these will stay out of the menu
|
||||
CVar(Model, "Model", std::string("sprites/physbeam.vmt"), VISUAL);
|
||||
CVar(Life, "Life", 2.f, VISUAL | SLIDER_MIN | SLIDER_PRECISION, 0.f, 10.f);
|
||||
CVar(Width, "Width", 2.f, VISUAL | SLIDER_MIN | SLIDER_PRECISION, 0.f, 10.f);
|
||||
@@ -628,14 +625,14 @@ namespace Vars
|
||||
CVarEnum(Flags, "Flags", 0b10000000100000000, VISUAL | DROPDOWN_MULTI, nullptr,
|
||||
VA_LIST("Start entity", "End entity", "Fade in", "Fade out", "Sine noise", "Solid", "Shade in", "Shade out", "Only noise once", "No tile", "Use hitboxes", "Start visible", "End visible", "Is active", "Forever", "Halobeam", "Reverse"),
|
||||
StartEntity = 1 << 0, EndEntity = 1 << 1, FadeIn = 1 << 2, FadeOut = 1 << 3, SineNoise = 1 << 4, Solid = 1 << 5, ShadeIn = 1 << 6, ShadeOut = 1 << 7, OnlyNoiseOnce = 1 << 8, NoTile = 1 << 9, UseHitboxes = 1 << 10, StartVisible = 1 << 11, EndVisible = 1 << 12, IsActive = 1 << 13, Forever = 1 << 14, Halobeam = 1 << 15, Reverse = 1 << 16);
|
||||
SUBNAMESPACE_END(Beams);
|
||||
NAMESPACE_END(Beams)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Line)
|
||||
NAMESPACE_BEGIN(Line)
|
||||
CVar(Enabled, "Line tracers", false, VISUAL);
|
||||
CVar(DrawDuration, VA_LIST("Draw duration", "Line draw duration"), 5.f, VISUAL | SLIDER_MIN | SLIDER_PRECISION, 0.f, 10.f);
|
||||
SUBNAMESPACE_END(Line);
|
||||
NAMESPACE_END(Line)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Hitbox)
|
||||
NAMESPACE_BEGIN(Hitbox)
|
||||
CVarEnum(BonesEnabled, VA_LIST("Bones enabled", "Hitbox bones enabled"), 0b00, VISUAL | DROPDOWN_MULTI, "Off",
|
||||
VA_LIST("On shot", "On hit"),
|
||||
OnShot = 1 << 0, OnHit = 1 << 1);
|
||||
@@ -643,9 +640,9 @@ namespace Vars
|
||||
VA_LIST("On shot", "On hit", "Aim point"),
|
||||
OnShot = 1 << 0, OnHit = 1 << 1, AimPoint = 1 << 2);
|
||||
CVar(DrawDuration, VA_LIST("Draw duration", "Hitbox draw duration"), 5.f, VISUAL | SLIDER_MIN | SLIDER_PRECISION, 0.f, 10.f);
|
||||
SUBNAMESPACE_END(Hitbox);
|
||||
NAMESPACE_END(Hitbox)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Simulation)
|
||||
NAMESPACE_BEGIN(Simulation)
|
||||
Enum(Style, Off, Line, Separators, Spaced, Arrows, Boxes);
|
||||
CVarValues(PlayerPath, "Player path", 0, VISUAL, nullptr,
|
||||
"Off", "Line", "Separators", "Spaced", "Arrows", "Boxes");
|
||||
@@ -670,9 +667,9 @@ namespace Vars
|
||||
"Off", "Line", "Separators", "Spaced", "Arrows", "Boxes");
|
||||
CVar(SeparatorSpacing, "Separator spacing", 4, NOSAVE | DEBUGVAR, 1, 16);
|
||||
CVar(SeparatorLength, "Separator length", 12.f, NOSAVE | DEBUGVAR, 2.f, 16.f);
|
||||
SUBNAMESPACE_END(Simulation);
|
||||
NAMESPACE_END(Simulation)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Trajectory)
|
||||
NAMESPACE_BEGIN(Trajectory)
|
||||
CVar(Override, "Simulation override", false, NOSAVE | DEBUGVAR);
|
||||
CVar(OffsetX, "Offset X", 16.f, NOSAVE | DEBUGVAR | SLIDER_PRECISION, -25.f, 25.f, 0.5f);
|
||||
CVar(OffsetY, "Offset Y", 8.f, NOSAVE | DEBUGVAR | SLIDER_PRECISION, -25.f, 25.f, 0.5f);
|
||||
@@ -695,11 +692,11 @@ namespace Vars
|
||||
CVar(AngularDragZ, "Angular drag Z", 0.001514f, NOSAVE | DEBUGVAR | SLIDER_PRECISION, 0.f, 0.1f, 0.01f, "%.15g");
|
||||
CVar(MaxVelocity, "Max velocity", 2000.f, NOSAVE | DEBUGVAR | SLIDER_MIN | SLIDER_PRECISION, 0.f, 4000.f, 50.f);
|
||||
CVar(MaxAngularVelocity, "Max angular velocity", 3600.f, NOSAVE | DEBUGVAR | SLIDER_MIN | SLIDER_PRECISION, 0.f, 7200.f, 50.f);
|
||||
SUBNAMESPACE_END(ProjectileTrajectory);
|
||||
NAMESPACE_END(Visuals);
|
||||
NAMESPACE_END(ProjectileTrajectory)
|
||||
NAMESPACE_END(Visuals)
|
||||
|
||||
NAMESPACE_BEGIN(Misc)
|
||||
SUBNAMESPACE_BEGIN(Movement)
|
||||
NAMESPACE_BEGIN(Movement)
|
||||
CVarEnum(AutoStrafe, "Auto strafe", 0, NONE, nullptr,
|
||||
VA_LIST("Off", "Legit", "Directional"),
|
||||
Off, Legit, Directional);
|
||||
@@ -724,9 +721,9 @@ namespace Vars
|
||||
CVar(AutoRocketJumpSkipAir, "Skip air", 1, NOSAVE | DEBUGVAR, 0, 3);
|
||||
CVar(AutoRocketJumpTimingOffset, "Timing offset", 0, NOSAVE | DEBUGVAR, 0, 3);
|
||||
CVar(AutoRocketJumpApplyAbove, "Apply offset above", 0, NOSAVE | DEBUGVAR, 0, 10);
|
||||
SUBNAMESPACE_END(Movement);
|
||||
NAMESPACE_END(Movement)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Automation)
|
||||
NAMESPACE_BEGIN(Automation)
|
||||
CVarEnum(AntiBackstab, "Anti-backstab", 0, NONE, nullptr,
|
||||
VA_LIST("Off", "Yaw", "Pitch", "Fake"),
|
||||
Off, Yaw, Pitch, Fake);
|
||||
@@ -737,9 +734,9 @@ namespace Vars
|
||||
CVar(AutoF2Ignored, "Auto F2 ignored", false);
|
||||
CVar(AutoF1Priority, "Auto F1 priority", false);
|
||||
CVar(AcceptItemDrops, "Auto accept item drops", false);
|
||||
SUBNAMESPACE_END(Automation);
|
||||
NAMESPACE_END(Automation)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Exploits)
|
||||
NAMESPACE_BEGIN(Exploits)
|
||||
CVar(PureBypass, "Pure bypass", false);
|
||||
CVar(CheatsBypass, "Cheats bypass", false);
|
||||
CVar(EquipRegionUnlock, "Equip region unlock", false);
|
||||
@@ -747,18 +744,18 @@ namespace Vars
|
||||
CVar(NoisemakerSpam, "Noisemaker spam", false);
|
||||
CVar(PingReducer, "Ping reducer", false);
|
||||
CVar(PingTarget, "cl_cmdrate", 1, SLIDER_CLAMP, 1, 66);
|
||||
SUBNAMESPACE_END(Exploits);
|
||||
NAMESPACE_END(Exploits)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Game)
|
||||
NAMESPACE_BEGIN(Game)
|
||||
CVar(AntiCheatCompatibility, "Anti-cheat compatibility", false);
|
||||
CVar(F2PChatBypass, "F2P chat bypass", false);
|
||||
CVar(NetworkFix, "Network fix", false);
|
||||
CVar(SetupBonesOptimization, "Bones optimization", false);
|
||||
|
||||
CVar(AntiCheatCritHack, "Anti-cheat crit hack", false, NOSAVE | DEBUGVAR);
|
||||
SUBNAMESPACE_END(Game);
|
||||
NAMESPACE_END(Game)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Queueing)
|
||||
NAMESPACE_BEGIN(Queueing)
|
||||
CVarEnum(ForceRegions, "Force regions", 0b0, DROPDOWN_MULTI, nullptr, // i'm not sure all of these are actually used for tf2 servers
|
||||
VA_LIST("Atlanta", "Chicago", "Dallas", "Los Angeles", "Seattle", "Virginia", "##Divider", "Amsterdam", "Falkenstein", "Frankfurt", "Helsinki", "London", "Madrid", "Paris", "Stockholm", "Vienna", "Warsaw", "##Divider", "Buenos Aires", "Lima", "Santiago", "Sao Paulo", "##Divider", "Chennai", "Dubai", "Hong Kong", "Mumbai", "Seoul", "Singapore", "Tokyo", "##Divider", "Sydney", "##Divider", "Johannesburg"),
|
||||
// North America
|
||||
@@ -799,23 +796,23 @@ namespace Vars
|
||||
);
|
||||
CVar(FreezeQueue, "Freeze queue", false);
|
||||
CVar(AutoCasualQueue, "Auto casual queue", false);
|
||||
SUBNAMESPACE_END(Queueing);
|
||||
NAMESPACE_END(Queueing)
|
||||
|
||||
SUBNAMESPACE_BEGIN(MannVsMachine, Mann vs. Machine)
|
||||
NAMESPACE_BEGIN(MannVsMachine, Mann vs. Machine)
|
||||
CVar(InstantRespawn, "Instant respawn", false);
|
||||
CVar(InstantRevive, "Instant revive", false);
|
||||
CVar(AllowInspect, "Allow inspect", false);
|
||||
SUBNAMESPACE_END(Sound);
|
||||
NAMESPACE_END(Sound)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Sound)
|
||||
NAMESPACE_BEGIN(Sound)
|
||||
CVarEnum(Block, VA_LIST("Block", "Sound block"), 0b0000, DROPDOWN_MULTI, nullptr,
|
||||
VA_LIST("Footsteps", "Noisemaker", "Frying pan", "Water"),
|
||||
Footsteps = 1 << 0, Noisemaker = 1 << 1, FryingPan = 1 << 2, Water = 1 << 3);
|
||||
CVar(HitsoundAlways, "Hitsound always", false);
|
||||
CVar(RemoveDSP, "Remove DSP", false);
|
||||
CVar(GiantWeaponSounds, "Giant weapon sounds", false);
|
||||
SUBNAMESPACE_END(Sound);
|
||||
NAMESPACE_END(Misc);
|
||||
NAMESPACE_END(Sound)
|
||||
NAMESPACE_END(Misc)
|
||||
|
||||
NAMESPACE_BEGIN(Logging)
|
||||
CVarEnum(Logs, "Logs", 0b0000011, DROPDOWN_MULTI, "Off",
|
||||
@@ -827,46 +824,46 @@ namespace Vars
|
||||
TopLeft, TopRight, BottomLeft, BottomRight);
|
||||
CVar(Lifetime, "Notification time", 5.f, VISUAL, 0.5f, 5.f, 0.5f);
|
||||
|
||||
SUBNAMESPACE_BEGIN(VoteStart, Logging)
|
||||
NAMESPACE_BEGIN(VoteStart, Logging)
|
||||
CVarValues(LogTo, VA_LIST("Log to", "Vote start log to"), 0b000001, DROPDOWN_MULTI, nullptr,
|
||||
"Toasts", "Chat", "Party", "Console", "Menu", "Debug");
|
||||
SUBNAMESPACE_END(VoteStart);
|
||||
NAMESPACE_END(VoteStart)
|
||||
|
||||
SUBNAMESPACE_BEGIN(VoteCast, Logging)
|
||||
NAMESPACE_BEGIN(VoteCast, Logging)
|
||||
CVarValues(LogTo, VA_LIST("Log to", "Vote cast log to"), 0b000001, DROPDOWN_MULTI, nullptr,
|
||||
"Toasts", "Chat", "Party", "Console", "Menu", "Debug");
|
||||
SUBNAMESPACE_END(VoteCast);
|
||||
NAMESPACE_END(VoteCast)
|
||||
|
||||
SUBNAMESPACE_BEGIN(ClassChange, Logging)
|
||||
NAMESPACE_BEGIN(ClassChange, Logging)
|
||||
CVarValues(LogTo, VA_LIST("Log to", "Class change log to"), 0b000001, DROPDOWN_MULTI, nullptr,
|
||||
"Toasts", "Chat", "Party", "Console", "Menu", "Debug");
|
||||
SUBNAMESPACE_END(ClassChange);
|
||||
NAMESPACE_END(ClassChange)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Damage, Logging)
|
||||
NAMESPACE_BEGIN(Damage, Logging)
|
||||
CVarValues(LogTo, VA_LIST("Log to", "Damage log to"), 0b000001, DROPDOWN_MULTI, nullptr,
|
||||
"Toasts", "Chat", "Party", "Console", "Menu", "Debug");
|
||||
SUBNAMESPACE_END(Damage);
|
||||
NAMESPACE_END(Damage)
|
||||
|
||||
SUBNAMESPACE_BEGIN(CheatDetection, Logging)
|
||||
NAMESPACE_BEGIN(CheatDetection, Logging)
|
||||
CVarValues(LogTo, VA_LIST("Log to", "Cheat detection log to"), 0b000001, DROPDOWN_MULTI, nullptr,
|
||||
"Toasts", "Chat", "Party", "Console", "Menu", "Debug");
|
||||
SUBNAMESPACE_END(CheatDetection);
|
||||
NAMESPACE_END(CheatDetection)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Tags, Logging)
|
||||
NAMESPACE_BEGIN(Tags, Logging)
|
||||
CVarValues(LogTo, VA_LIST("Log to", "Tags log to"), 0b000001, DROPDOWN_MULTI, nullptr,
|
||||
"Toasts", "Chat", "Party", "Console", "Menu", "Debug");
|
||||
SUBNAMESPACE_END(Tags);
|
||||
NAMESPACE_END(Tags)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Aliases, Logging)
|
||||
NAMESPACE_BEGIN(Aliases, Logging)
|
||||
CVarValues(LogTo, VA_LIST("Log to", "Aliases log to"), 0b000001, DROPDOWN_MULTI, nullptr,
|
||||
"Toasts", "Chat", "Party", "Console", "Menu", "Debug");
|
||||
SUBNAMESPACE_END(Aliases);
|
||||
NAMESPACE_END(Aliases)
|
||||
|
||||
SUBNAMESPACE_BEGIN(Resolver, Logging)
|
||||
NAMESPACE_BEGIN(Resolver, Logging)
|
||||
CVarValues(LogTo, VA_LIST("Log to", "Resolver log to"), 0b000001, DROPDOWN_MULTI, nullptr,
|
||||
"Toasts", "Chat", "Party", "Console", "Menu", "Debug");
|
||||
SUBNAMESPACE_END(Resolver);
|
||||
NAMESPACE_END(Logging);
|
||||
NAMESPACE_END(Resolver)
|
||||
NAMESPACE_END(Logging)
|
||||
|
||||
NAMESPACE_BEGIN(Debug)
|
||||
CVar(Info, "Debug info", false, NOSAVE);
|
||||
@@ -879,6 +876,5 @@ namespace Vars
|
||||
CVar(VisualizeTraces, "Visualize traces", false, NOSAVE);
|
||||
CVar(VisualizeTraceHits, "Visualize trace hits", false, NOSAVE);
|
||||
#endif
|
||||
NAMESPACE_END(Debug);
|
||||
|
||||
}
|
||||
NAMESPACE_END(Debug)
|
||||
NAMESPACE_END(Vars)
|
||||
Reference in New Issue
Block a user