improve clean screenshot for reveal/color scoreboard, fov, and thirdperson

preferential changes
fixes
This commit is contained in:
rei-2
2025-12-19 21:19:48 -05:00
parent 398e61d094
commit dfc64ee5fb
68 changed files with 557 additions and 293 deletions
-1
View File
@@ -1051,7 +1051,6 @@
<ClCompile Include="src\Hooks\ISteamNetworkingUtils_GetPingToDataCenter.cpp" /> <ClCompile Include="src\Hooks\ISteamNetworkingUtils_GetPingToDataCenter.cpp" />
<ClCompile Include="src\Hooks\IVModelRender_DrawModelExecute.cpp" /> <ClCompile Include="src\Hooks\IVModelRender_DrawModelExecute.cpp" />
<ClCompile Include="src\Hooks\IVModelRender_ForcedMaterialOverride.cpp" /> <ClCompile Include="src\Hooks\IVModelRender_ForcedMaterialOverride.cpp" />
<ClCompile Include="src\Hooks\KeyValues_SetInt.cpp" />
<ClCompile Include="src\Hooks\NotificationQueue_Add.cpp" /> <ClCompile Include="src\Hooks\NotificationQueue_Add.cpp" />
<ClCompile Include="src\Hooks\RecvProxy_SimulationTime.cpp" /> <ClCompile Include="src\Hooks\RecvProxy_SimulationTime.cpp" />
<ClCompile Include="src\Hooks\R_DrawSkyBox.cpp" /> <ClCompile Include="src\Hooks\R_DrawSkyBox.cpp" />
-1
View File
@@ -175,7 +175,6 @@
<ClCompile Include="src\Hooks\ISteamNetworkingUtils_GetPingToDataCenter.cpp" /> <ClCompile Include="src\Hooks\ISteamNetworkingUtils_GetPingToDataCenter.cpp" />
<ClCompile Include="src\Hooks\IVModelRender_DrawModelExecute.cpp" /> <ClCompile Include="src\Hooks\IVModelRender_DrawModelExecute.cpp" />
<ClCompile Include="src\Hooks\IVModelRender_ForcedMaterialOverride.cpp" /> <ClCompile Include="src\Hooks\IVModelRender_ForcedMaterialOverride.cpp" />
<ClCompile Include="src\Hooks\KeyValues_SetInt.cpp" />
<ClCompile Include="src\Hooks\NotificationQueue_Add.cpp" /> <ClCompile Include="src\Hooks\NotificationQueue_Add.cpp" />
<ClCompile Include="src\Hooks\R_DrawSkyBox.cpp" /> <ClCompile Include="src\Hooks\R_DrawSkyBox.cpp" />
<ClCompile Include="src\Hooks\RecvProxy_SimulationTime.cpp" /> <ClCompile Include="src\Hooks\RecvProxy_SimulationTime.cpp" />
+4 -4
View File
@@ -34,12 +34,12 @@ static inline bool CheckDXLevel()
/* /*
const char* sMessage = "You are running with graphics options that Amalgam does not support. -dxlevel must be at least 90."; const char* sMessage = "You are running with graphics options that Amalgam does not support. -dxlevel must be at least 90.";
U::Core.AppendFailText(sMessage); U::Core.AppendFailText(sMessage);
SDK::Output("Amalgam", sMessage, { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", sMessage, DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
return false; return false;
*/ */
const char* sMessage = "You are running with graphics options that Amalgam does not support. It is recommended for -dxlevel to be at least 90."; const char* sMessage = "You are running with graphics options that Amalgam does not support. It is recommended for -dxlevel to be at least 90.";
SDK::Output("Amalgam", sMessage, { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", sMessage, DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
return true; return true;
@@ -116,7 +116,7 @@ void CCore::Load()
F::Configs.LoadConfig(F::Configs.m_sCurrentConfig, false); F::Configs.LoadConfig(F::Configs.m_sCurrentConfig, false);
SDK::Output("Amalgam", "Loaded", { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", "Loaded", DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
void CCore::Loop() void CCore::Loop()
@@ -169,5 +169,5 @@ void CCore::Unload()
return; return;
} }
SDK::Output("Amalgam", "Unloaded", { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG); SDK::Output("Amalgam", "Unloaded", DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_DEBUG);
} }
+1 -1
View File
@@ -90,7 +90,7 @@ void CAimbot::Draw(CTFPlayer* pLocal)
if (Vars::Aimbot::General::AimFOV.Value >= 90.f) if (Vars::Aimbot::General::AimFOV.Value >= 90.f)
return; return;
float flRadius = tanf(DEG2RAD(Vars::Aimbot::General::AimFOV.Value)) / tanf(DEG2RAD(pLocal->m_iFOV()) / 2) * float(H::Draw.m_nScreenW) * (4.f / 6.f) / (16.f / 9.f); float flRadius = tanf(DEG2RAD(Vars::Aimbot::General::AimFOV.Value)) / tanf(DEG2RAD(m_flFOV) / 2) * float(H::Draw.m_nScreenW) * (4.f / 6.f) / (16.f / 9.f);
H::Draw.LineCircle(H::Draw.m_nScreenW / 2, H::Draw.m_nScreenH / 2, flRadius, 68, Vars::Colors::FOVCircle.Value); H::Draw.LineCircle(H::Draw.m_nScreenW / 2, H::Draw.m_nScreenH / 2, flRadius, 68, Vars::Colors::FOVCircle.Value);
} }
+1
View File
@@ -19,6 +19,7 @@ public:
bool m_bRan = false; bool m_bRan = false;
bool m_bRunningSecondary = false; bool m_bRunningSecondary = false;
float m_flFOV = 0.f;
DrawPath_t m_tPath = {}; DrawPath_t m_tPath = {};
}; };
+27 -17
View File
@@ -323,7 +323,7 @@ static inline void LoadMain(BaseVar*& pBase, boost::property_tree::ptree& tTree)
} }
} }
else if (!(pVar->m_iFlags & NOSAVE)) else if (!(pVar->m_iFlags & NOSAVE))
SDK::Output("Amalgam", std::format("{} not found", pVar->m_sName).c_str(), { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG); SDK::Output("Amalgam", std::format("{} not found", pVar->m_sName).c_str(), ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
} }
#define Load(t, j) if (IsType(t)) LoadMain<t>(pBase, j); #define Load(t, j) if (IsType(t)) LoadMain<t>(pBase, j);
@@ -418,11 +418,11 @@ bool CConfigs::SaveConfig(const std::string& sConfigName, bool bNotify)
m_sCurrentConfig = sConfigName; m_sCurrentVisuals = ""; m_sCurrentConfig = sConfigName; m_sCurrentVisuals = "";
if (bNotify) if (bNotify)
SDK::Output("Amalgam", std::format("Config {} saved", sConfigName).c_str(), { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", std::format("Config {} saved", sConfigName).c_str(), DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
catch (...) catch (...)
{ {
SDK::Output("Amalgam", "Save config failed", { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG); SDK::Output("Amalgam", "Save config failed", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
return false; return false;
} }
@@ -470,6 +470,8 @@ bool CConfigs::LoadConfig(const std::string& sConfigName, bool bNotify)
F::Binds.m_vBinds.push_back(tBind); F::Binds.m_vBinds.push_back(tBind);
} }
} }
else
SDK::Output("Amalgam", "Config binds not found", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
if (auto tSub = tRead.get_child_optional("Vars"); if (auto tSub = tRead.get_child_optional("Vars");
tSub || (tSub = tRead.get_child_optional("ConVars"))) tSub || (tSub = tRead.get_child_optional("ConVars")))
@@ -493,6 +495,8 @@ bool CConfigs::LoadConfig(const std::string& sConfigName, bool bNotify)
else Load(WindowBox_t, *tSub) else Load(WindowBox_t, *tSub)
} }
} }
else
SDK::Output("Amalgam", "Config vars not found", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
if (auto tSub = tRead.get_child_optional("Groups")) if (auto tSub = tRead.get_child_optional("Groups"))
{ {
@@ -524,17 +528,19 @@ bool CConfigs::LoadConfig(const std::string& sConfigName, bool bNotify)
F::Groups.m_vGroups.push_back(tGroup); F::Groups.m_vGroups.push_back(tGroup);
} }
} }
else
SDK::Output("Amalgam", "Config groups not found", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
F::Binds.SetVars(nullptr, nullptr, false); F::Binds.SetVars(nullptr, nullptr, false);
H::Fonts.Reload(Vars::Menu::Scale[DEFAULT_BIND]); H::Fonts.Reload(Vars::Menu::Scale[DEFAULT_BIND]);
m_sCurrentConfig = sConfigName; m_sCurrentVisuals = ""; m_sCurrentConfig = sConfigName; m_sCurrentVisuals = "";
if (bNotify) if (bNotify)
SDK::Output("Amalgam", std::format("Config {} loaded", sConfigName).c_str(), { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", std::format("Config {} loaded", sConfigName).c_str(), DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
catch (...) catch (...)
{ {
SDK::Output("Amalgam", "Load config failed", { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG); SDK::Output("Amalgam", "Load config failed", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
return false; return false;
} }
@@ -623,11 +629,11 @@ bool CConfigs::SaveVisual(const std::string& sConfigName, bool bNotify)
write_json(m_sVisualsPath + sConfigName + m_sConfigExtension, tWrite); write_json(m_sVisualsPath + sConfigName + m_sConfigExtension, tWrite);
if (bNotify) if (bNotify)
SDK::Output("Amalgam", std::format("Visual config {} saved", sConfigName).c_str(), { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", std::format("Visual config {} saved", sConfigName).c_str(), DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
catch (...) catch (...)
{ {
SDK::Output("Amalgam", "Save visuals failed", { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG); SDK::Output("Amalgam", "Save visuals failed", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
return false; return false;
} }
return true; return true;
@@ -667,6 +673,8 @@ bool CConfigs::LoadVisual(const std::string& sConfigName, bool bNotify)
else LoadMisc(WindowBox_t, *tSub) else LoadMisc(WindowBox_t, *tSub)
} }
} }
else
SDK::Output("Amalgam", "Config vars not found", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
if (auto tSub = tRead.get_child_optional("Groups")) if (auto tSub = tRead.get_child_optional("Groups"))
{ {
@@ -698,16 +706,18 @@ bool CConfigs::LoadVisual(const std::string& sConfigName, bool bNotify)
F::Groups.m_vGroups.push_back(tGroup); F::Groups.m_vGroups.push_back(tGroup);
} }
} }
else
SDK::Output("Amalgam", "Config groups not found", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
F::Binds.SetVars(nullptr, nullptr, false); F::Binds.SetVars(nullptr, nullptr, false);
m_sCurrentVisuals = sConfigName; m_sCurrentVisuals = sConfigName;
if (bNotify) if (bNotify)
SDK::Output("Amalgam", std::format("Visual config {} loaded", sConfigName).c_str(), { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", std::format("Visual config {} loaded", sConfigName).c_str(), DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
catch (...) catch (...)
{ {
SDK::Output("Amalgam", "Load visuals failed", { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG); SDK::Output("Amalgam", "Load visuals failed", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
return false; return false;
} }
return true; return true;
@@ -737,11 +747,11 @@ void CConfigs::DeleteConfig(const std::string& sConfigName, bool bNotify)
LoadConfig("default", false); LoadConfig("default", false);
if (bNotify) if (bNotify)
SDK::Output("Amalgam", std::format("Config {} deleted", sConfigName).c_str(), { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", std::format("Config {} deleted", sConfigName).c_str(), DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
catch (...) catch (...)
{ {
SDK::Output("Amalgam", "Remove config failed", { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG); SDK::Output("Amalgam", "Remove config failed", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
} }
} }
@@ -776,11 +786,11 @@ void CConfigs::ResetConfig(const std::string& sConfigName, bool bNotify)
H::Fonts.Reload(Vars::Menu::Scale[DEFAULT_BIND]); H::Fonts.Reload(Vars::Menu::Scale[DEFAULT_BIND]);
if (bNotify) if (bNotify)
SDK::Output("Amalgam", std::format("Config {} reset", sConfigName).c_str(), { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", std::format("Config {} reset", sConfigName).c_str(), DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
catch (...) catch (...)
{ {
SDK::Output("Amalgam", "Reset config failed", { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG); SDK::Output("Amalgam", "Reset config failed", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
} }
} }
@@ -791,11 +801,11 @@ void CConfigs::DeleteVisual(const std::string& sConfigName, bool bNotify)
std::filesystem::remove(m_sVisualsPath + sConfigName + m_sConfigExtension); std::filesystem::remove(m_sVisualsPath + sConfigName + m_sConfigExtension);
if (bNotify) if (bNotify)
SDK::Output("Amalgam", std::format("Visual config {} deleted", sConfigName).c_str(), { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", std::format("Visual config {} deleted", sConfigName).c_str(), DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
catch (...) catch (...)
{ {
SDK::Output("Amalgam", "Remove visuals failed", { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG); SDK::Output("Amalgam", "Remove visuals failed", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
} }
} }
@@ -828,10 +838,10 @@ void CConfigs::ResetVisual(const std::string& sConfigName, bool bNotify)
F::Binds.SetVars(nullptr, nullptr, false); F::Binds.SetVars(nullptr, nullptr, false);
if (bNotify) if (bNotify)
SDK::Output("Amalgam", std::format("Visual config {} reset", sConfigName).c_str(), { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", std::format("Visual config {} reset", sConfigName).c_str(), DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
catch (...) catch (...)
{ {
SDK::Output("Amalgam", "Reset visuals failed", { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG); SDK::Output("Amalgam", "Reset visuals failed", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
} }
} }
+5 -5
View File
@@ -1901,7 +1901,7 @@ void CMenu::MenuLogs(int iTab)
fStream.close(); fStream.close();
SDK::SetClipboard(sString); SDK::SetClipboard(sString);
SDK::Output("Amalgam", "Copied playerlist to clipboard", { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", "Copied playerlist to clipboard", DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
} }
@@ -2002,7 +2002,7 @@ void CMenu::MenuLogs(int iTab)
} }
catch (...) catch (...)
{ {
SDK::Output("Amalgam", "Failed to import playerlist", { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", "Failed to import playerlist", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
} }
@@ -2063,7 +2063,7 @@ void CMenu::MenuLogs(int iTab)
} }
F::PlayerUtils.m_bSave = true; F::PlayerUtils.m_bSave = true;
SDK::Output("Amalgam", "Imported playerlist", { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", "Imported playerlist", DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
CloseCurrentPopup(); CloseCurrentPopup();
} }
@@ -2094,11 +2094,11 @@ void CMenu::MenuLogs(int iTab)
F::Configs.m_sCorePath + std::format("Backup{}.json", iBackupCount + 1), F::Configs.m_sCorePath + std::format("Backup{}.json", iBackupCount + 1),
std::filesystem::copy_options::overwrite_existing std::filesystem::copy_options::overwrite_existing
); );
SDK::Output("Amalgam", "Saved backup playerlist", { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", "Saved backup playerlist", DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
catch (...) catch (...)
{ {
SDK::Output("Amalgam", "Failed to backup playerlist", { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", "Failed to backup playerlist", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
} }
} }
+10 -4
View File
@@ -73,11 +73,11 @@ void CPlayerlistCore::SavePlayerlist()
write_json(F::Configs.m_sCorePath + "Players.json", tWrite); write_json(F::Configs.m_sCorePath + "Players.json", tWrite);
F::PlayerUtils.m_bSave = false; F::PlayerUtils.m_bSave = false;
SDK::Output("Amalgam", "Saved playerlist", { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", "Saved playerlist", DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
catch (...) catch (...)
{ {
SDK::Output("Amalgam", "Save playerlist failed", { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG); SDK::Output("Amalgam", "Save playerlist failed", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
} }
} }
@@ -130,6 +130,8 @@ void CPlayerlistCore::LoadPlayerlist()
F::PlayerUtils.m_vTags.push_back(tTag); F::PlayerUtils.m_vTags.push_back(tTag);
} }
} }
else
SDK::Output("Amalgam", "Playerlist config not found", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
if (auto tSub = tRead.get_child_optional("Tags")) if (auto tSub = tRead.get_child_optional("Tags"))
{ {
@@ -150,6 +152,8 @@ void CPlayerlistCore::LoadPlayerlist()
} }
} }
} }
else
SDK::Output("Amalgam", "Playerlist tags not found", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
if (auto tSub = tRead.get_child_optional("Aliases")) if (auto tSub = tRead.get_child_optional("Aliases"))
{ {
@@ -162,12 +166,14 @@ void CPlayerlistCore::LoadPlayerlist()
F::PlayerUtils.m_mPlayerAliases[uAccountID] = sAlias; F::PlayerUtils.m_mPlayerAliases[uAccountID] = sAlias;
} }
} }
else
SDK::Output("Amalgam", "Playerlist aliases not found", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
F::PlayerUtils.m_bLoad = false; F::PlayerUtils.m_bLoad = false;
SDK::Output("Amalgam", "Loaded playerlist", { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU); SDK::Output("Amalgam", "Loaded playerlist", DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
} }
catch (...) catch (...)
{ {
SDK::Output("Amalgam", "Load playerlist failed", { 175, 150, 255, 127 }, OUTPUT_CONSOLE | OUTPUT_DEBUG); SDK::Output("Amalgam", "Load playerlist failed", ALTERNATE_COLOR, OUTPUT_CONSOLE | OUTPUT_MENU | OUTPUT_DEBUG);
} }
} }
+23 -5
View File
@@ -618,6 +618,11 @@ void CVisuals::DrawHitboxes(int iStore)
MAKE_HOOK(CBaseAnimating_DrawServerHitboxes, S::CBaseAnimating_DrawServerHitboxes(), void, MAKE_HOOK(CBaseAnimating_DrawServerHitboxes, S::CBaseAnimating_DrawServerHitboxes(), void,
void* rcx, float duration, bool monocolor) void* rcx, float duration, bool monocolor)
{ {
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CBaseAnimating_DrawServerHitboxes[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, duration, monocolor);
#endif
if (s_bBoxesHeadOnly) if (s_bBoxesHeadOnly)
monocolor = false; monocolor = false;
@@ -627,9 +632,14 @@ MAKE_HOOK(CBaseAnimating_DrawServerHitboxes, S::CBaseAnimating_DrawServerHitboxe
MAKE_HOOK(NDebugOverlay_BoxAngles, S::NDebugOverlay_BoxAngles(), void, MAKE_HOOK(NDebugOverlay_BoxAngles, S::NDebugOverlay_BoxAngles(), void,
Vector& origin, Vector& mins, Vector& maxs, QAngle& angles, int r, int g, int b, int a, float duration) Vector& origin, Vector& mins, Vector& maxs, QAngle& angles, int r, int g, int b, int a, float duration)
{ {
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::NDebugOverlay_BoxAngles[DEFAULT_BIND])
return CALL_ORIGINAL(origin, mins, maxs, angles, r, g, b, a, duration);
#endif
if (s_bBoxesHeadOnly) if (s_bBoxesHeadOnly)
{ {
static const auto dwDesired = S::CBaseAnimating_DrawServerHitboxes_BoxAngles_Call(); const auto dwDesired = S::CBaseAnimating_DrawServerHitboxes_BoxAngles_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (dwRetAddr == dwDesired && (r != 255 || g != 127 || b != 127)) if (dwRetAddr == dwDesired && (r != 255 || g != 127 || b != 127))
@@ -653,6 +663,7 @@ MAKE_HOOK(NDebugOverlay_BoxAngles, S::NDebugOverlay_BoxAngles(), void,
void CVisuals::FOV(CTFPlayer* pLocal, CViewSetup* pView) void CVisuals::FOV(CTFPlayer* pLocal, CViewSetup* pView)
{ {
static auto fov_desired = H::ConVars.FindVar("fov_desired"); static auto fov_desired = H::ConVars.FindVar("fov_desired");
static auto default_fov = H::ConVars.FindVar("default_fov");
bool bZoomed = pLocal->InCond(TF_COND_ZOOMED); bool bZoomed = pLocal->InCond(TF_COND_ZOOMED);
float flRegularFOV = fov_desired->GetFloat(); float flRegularFOV = fov_desired->GetFloat();
@@ -660,6 +671,8 @@ void CVisuals::FOV(CTFPlayer* pLocal, CViewSetup* pView)
float flRegularOverride = Vars::Visuals::UI::FieldOfView.Value; float flRegularOverride = Vars::Visuals::UI::FieldOfView.Value;
float flZoomOverride = Vars::Visuals::UI::ZoomFieldOfView.Value; float flZoomOverride = Vars::Visuals::UI::ZoomFieldOfView.Value;
if (SDK::CleanScreenshot())
flRegularOverride = flZoomOverride = 0.f;
if (flRegularOverride || flZoomOverride) if (flRegularOverride || flZoomOverride)
{ {
@@ -679,8 +692,13 @@ void CVisuals::FOV(CTFPlayer* pLocal, CViewSetup* pView)
} }
} }
pLocal->m_iFOV() = pView->fov; F::Aimbot.m_flFOV = pView->fov;
pLocal->m_iDefaultFOV() = std::max(flRegularOverride, flRegularFOV); if (pLocal->IsAlive())
{
pLocal->m_iFOV() = pView->fov;
pLocal->m_iDefaultFOV() = std::max(flRegularOverride, flRegularFOV);
default_fov->SetValue(pLocal->m_iDefaultFOV());
}
} }
void CVisuals::ThirdPerson(CTFPlayer* pLocal, CViewSetup* pView) void CVisuals::ThirdPerson(CTFPlayer* pLocal, CViewSetup* pView)
@@ -692,7 +710,7 @@ void CVisuals::ThirdPerson(CTFPlayer* pLocal, CViewSetup* pView)
//if (bForce) //if (bForce)
// return; // return;
if (Vars::Visuals::Thirdperson::Enabled.Value || bForce) if (Vars::Visuals::Thirdperson::Enabled.Value && !SDK::CleanScreenshot() || bForce)
I::Input->CAM_ToThirdPerson(); I::Input->CAM_ToThirdPerson();
else else
I::Input->CAM_ToFirstPerson(); I::Input->CAM_ToFirstPerson();
@@ -939,7 +957,7 @@ static inline void ApplyModulation(Color_t tColor, bool bSky = false)
void CVisuals::Modulate() void CVisuals::Modulate()
{ {
const bool bScreenshot = Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot(); const bool bScreenshot = SDK::CleanScreenshot();
const bool bWorldModulation = Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::World && !bScreenshot; const bool bWorldModulation = Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::World && !bScreenshot;
const bool bSkyModulation = Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::Sky && !bScreenshot; const bool bSkyModulation = Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::Sky && !bScreenshot;
@@ -16,13 +16,11 @@ MAKE_HOOK(CAttributeManager_AttribHookInt, S::CAttributeManager_AttribHookInt(),
return CALL_ORIGINAL(value, name, econent, buffer, isGlobalConstString); return CALL_ORIGINAL(value, name, econent, buffer, isGlobalConstString);
#endif #endif
static const auto dwDesired = S::CTFPlayer_FireEvent_AttribHookValue_Call(); const auto dwDesired = S::CTFPlayer_FireEvent_AttribHookValue_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (!Vars::Visuals::Effects::SpellFootsteps.Value || econent != H::Entities.GetLocal() || I::EngineClient->IsTakingScreenshot() && Vars::Visuals::UI::CleanScreenshots.Value) if (dwRetAddr == dwDesired && Vars::Visuals::Effects::SpellFootsteps.Value
return CALL_ORIGINAL(value, name, econent, buffer, isGlobalConstString); && econent == H::Entities.GetLocal() && FNV1A::Hash32(name) == FNV1A::Hash32Const("halloween_footstep_type"))
if (dwRetAddr == dwDesired && FNV1A::Hash32(name) == FNV1A::Hash32Const("halloween_footstep_type"))
{ {
switch (Vars::Visuals::Effects::SpellFootsteps.Value) switch (Vars::Visuals::Effects::SpellFootsteps.Value)
{ {
@@ -62,8 +62,9 @@ MAKE_HOOK(CBaseEntity_SetAbsVelocity, S::CBaseEntity_SetAbsVelocity(), void,
return CALL_ORIGINAL(rcx, vecAbsVelocity); return CALL_ORIGINAL(rcx, vecAbsVelocity);
#endif #endif
static const auto dwDesired = S::CBasePlayer_PostDataUpdate_SetAbsVelocity_Call(); const auto dwDesired = S::CBasePlayer_PostDataUpdate_SetAbsVelocity_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (dwRetAddr != dwDesired) if (dwRetAddr != dwDesired)
return CALL_ORIGINAL(rcx, vecAbsVelocity); return CALL_ORIGINAL(rcx, vecAbsVelocity);
@@ -12,8 +12,11 @@ MAKE_HOOK(CBaseEntity_WorldSpaceCenter, S::CBaseEntity_WorldSpaceCenter(), const
return CALL_ORIGINAL(rcx); return CALL_ORIGINAL(rcx);
#endif #endif
static const auto dwDesired = S::CDamageAccountPanel_DisplayDamageFeedback_WorldSpaceCenter_Call(); const auto dwDesired = S::CDamageAccountPanel_DisplayDamageFeedback_WorldSpaceCenter_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
return dwRetAddr == dwDesired && Vars::Visuals::Effects::DrawDamageNumbersThroughWalls.Value ? S::MainViewOrigin.Call<const Vec3&>() : CALL_ORIGINAL(rcx); if (dwRetAddr == dwDesired && Vars::Visuals::Effects::DrawDamageNumbersThroughWalls.Value)
return S::MainViewOrigin.Call<const Vec3&>();
return CALL_ORIGINAL(rcx);
} }
@@ -8,7 +8,7 @@ MAKE_HOOK(CBasePlayer_CalcObserverView, S::CBasePlayer_CalcObserverView(), void,
void* rcx, Vector& eyeOrigin, QAngle& eyeAngles, float& fov) void* rcx, Vector& eyeOrigin, QAngle& eyeAngles, float& fov)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CBasePlayer_CalcPlayerView[DEFAULT_BIND]) if (!Vars::Hooks::CBasePlayer_CalcObserverView[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, eyeOrigin, eyeAngles, fov); return CALL_ORIGINAL(rcx, eyeOrigin, eyeAngles, fov);
#endif #endif
+2 -2
View File
@@ -8,8 +8,8 @@ MAKE_HOOK(CBasePlayer_CalcView, S::CBasePlayer_CalcView(), void,
void* rcx, Vector& eyeOrigin, QAngle& eyeAngles, float& zNear, float& zFar, float& fov) void* rcx, Vector& eyeOrigin, QAngle& eyeAngles, float& zNear, float& zFar, float& fov)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CBasePlayer_CalcPlayerView[DEFAULT_BIND]) if (!Vars::Hooks::CBasePlayer_CalcView[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, eyeOrigin, eyeAngles, fov); return CALL_ORIGINAL(rcx, eyeOrigin, eyeAngles, zNear, zFar, fov);
#endif #endif
if (!Vars::Visuals::Removals::ViewPunch.Value && F::Spectate.m_iTarget == -1) if (!Vars::Visuals::Removals::ViewPunch.Value && F::Spectate.m_iTarget == -1)
@@ -13,8 +13,7 @@ MAKE_HOOK(CBasePlayer_CalcViewModelView, S::CBasePlayer_CalcViewModelView(), voi
Vec3 vOffset = { Vars::Visuals::Viewmodel::OffsetX.Value, Vars::Visuals::Viewmodel::OffsetY.Value, Vars::Visuals::Viewmodel::OffsetZ.Value }; Vec3 vOffset = { Vars::Visuals::Viewmodel::OffsetX.Value, Vars::Visuals::Viewmodel::OffsetY.Value, Vars::Visuals::Viewmodel::OffsetZ.Value };
bool bOffset = !vOffset.IsZero(); bool bOffset = !vOffset.IsZero();
if (!Vars::Visuals::Viewmodel::ViewmodelAim.Value && !bOffset && !Vars::Visuals::Viewmodel::Roll.Value if (!Vars::Visuals::Viewmodel::ViewmodelAim.Value && !bOffset && !Vars::Visuals::Viewmodel::Roll.Value || SDK::CleanScreenshot())
|| Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot())
return CALL_ORIGINAL(rcx, pOwner, vEyePosition, vEyeAngles); return CALL_ORIGINAL(rcx, pOwner, vEyePosition, vEyeAngles);
bool bFlip = G::FlipViewmodels; bool bFlip = G::FlipViewmodels;
@@ -14,7 +14,7 @@ MAKE_HOOK(CClientModeShared_DoPostScreenSpaceEffects, U::Memory.GetVirtual(I::Cl
return CALL_ORIGINAL(rcx, pSetup); return CALL_ORIGINAL(rcx, pSetup);
#endif #endif
if (Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot()) if (SDK::CleanScreenshot())
return CALL_ORIGINAL(rcx, pSetup); return CALL_ORIGINAL(rcx, pSetup);
auto pLocal = H::Entities.GetLocal(); auto pLocal = H::Entities.GetLocal();
@@ -11,8 +11,6 @@ MAKE_HOOK(CClientModeShared_OverrideView, U::Memory.GetVirtual(I::ClientModeShar
#endif #endif
CALL_ORIGINAL(rcx, pView); CALL_ORIGINAL(rcx, pView);
if (Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot())
return;
auto pLocal = H::Entities.GetLocal(); auto pLocal = H::Entities.GetLocal();
if (pLocal && pView) if (pLocal && pView)
@@ -17,5 +17,6 @@ MAKE_HOOK(CClientState_ProcessFixAngle, S::CClientState_ProcessFixAngle(), bool,
if (F::Spectate.m_iTarget != -1) if (F::Spectate.m_iTarget != -1)
F::Spectate.m_vOldView = msg->m_Angle; F::Spectate.m_vOldView = msg->m_Angle;
return CALL_ORIGINAL(rcx, msg); return CALL_ORIGINAL(rcx, msg);
} }
@@ -10,8 +10,7 @@ MAKE_HOOK(CHudCrosshair_GetDrawPosition, S::CHudCrosshair_GetDrawPosition(), voi
return CALL_ORIGINAL(pX, pY, pbBehindCamera, angleCrosshairOffset); return CALL_ORIGINAL(pX, pY, pbBehindCamera, angleCrosshairOffset);
#endif #endif
if (!Vars::Visuals::Viewmodel::CrosshairAim.Value && !Vars::Visuals::Thirdperson::Crosshair.Value if (!Vars::Visuals::Viewmodel::CrosshairAim.Value && !Vars::Visuals::Thirdperson::Crosshair.Value || SDK::CleanScreenshot())
|| Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot())
return CALL_ORIGINAL(pX, pY, pbBehindCamera, angleCrosshairOffset); return CALL_ORIGINAL(pX, pY, pbBehindCamera, angleCrosshairOffset);
auto pLocal = H::Entities.GetLocal(); auto pLocal = H::Entities.GetLocal();
@@ -15,5 +15,6 @@ MAKE_HOOK(CInventoryManager_ShowItemsPickedUp, S::CInventoryManager_ShowItemsPic
CALL_ORIGINAL(rcx, true, true, true); CALL_ORIGINAL(rcx, true, true, true);
return false; return false;
} }
return CALL_ORIGINAL(rcx, bForce, bReturnToGame, bNoPanel); return CALL_ORIGINAL(rcx, bForce, bReturnToGame, bNoPanel);
} }
@@ -78,7 +78,7 @@ MAKE_HOOK(COPRenderSprites_Render, S::COPRenderSprites_Render(), void,
return CALL_ORIGINAL(rcx, pRenderContext, pParticles, pContext); return CALL_ORIGINAL(rcx, pRenderContext, pParticles, pContext);
#endif #endif
if (!Vars::Visuals::Effects::DrawIconsThroughWalls.Value || Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot()) if (!Vars::Visuals::Effects::DrawIconsThroughWalls.Value || SDK::CleanScreenshot())
return CALL_ORIGINAL(rcx, pRenderContext, pParticles, pContext); return CALL_ORIGINAL(rcx, pRenderContext, pParticles, pContext);
bool bValid = false; bool bValid = false;
@@ -167,11 +167,11 @@ MAKE_HOOK(COPRenderSprites_RenderSpriteCard, S::COPRenderSprites_RenderSpriteCar
void* rcx, void* meshBuilder, void* pCtx, SpriteRenderInfo_t& info, int hParticle, ParticleRenderData_t* pSortList, void* pCamera) void* rcx, void* meshBuilder, void* pCtx, SpriteRenderInfo_t& info, int hParticle, ParticleRenderData_t* pSortList, void* pCamera)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::COPRenderSprites_Render[DEFAULT_BIND]) if (!Vars::Hooks::COPRenderSprites_RenderSpriteCard[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, meshBuilder, pCtx, info, hParticle, pSortList, pCamera); return CALL_ORIGINAL(rcx, meshBuilder, pCtx, info, hParticle, pSortList, pCamera);
#endif #endif
if (!(Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::Particle) || Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot()) if (!(Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::Particle) || SDK::CleanScreenshot())
return CALL_ORIGINAL(rcx, meshBuilder, pCtx, info, hParticle, pSortList, pCamera); return CALL_ORIGINAL(rcx, meshBuilder, pCtx, info, hParticle, pSortList, pCamera);
info.m_pRGB[((hParticle / 4) * info.m_nRGBStride) + 0].m128_f32[hParticle & 0x3] = Vars::Colors::ParticleModulation.Value.r / 255.f; // red info.m_pRGB[((hParticle / 4) * info.m_nRGBStride) + 0].m128_f32[hParticle & 0x3] = Vars::Colors::ParticleModulation.Value.r / 255.f; // red
@@ -186,11 +186,11 @@ MAKE_HOOK(COPRenderSprites_RenderTwoSequenceSpriteCard, S::COPRenderSprites_Rend
void* rcx, void* meshBuilder, void* pCtx, SpriteRenderInfo_t& info, int hParticle, ParticleRenderData_t* pSortList, void* pCamera) void* rcx, void* meshBuilder, void* pCtx, SpriteRenderInfo_t& info, int hParticle, ParticleRenderData_t* pSortList, void* pCamera)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::COPRenderSprites_Render[DEFAULT_BIND]) if (!Vars::Hooks::COPRenderSprites_RenderTwoSequenceSpriteCard[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, meshBuilder, pCtx, info, hParticle, pSortList, pCamera); return CALL_ORIGINAL(rcx, meshBuilder, pCtx, info, hParticle, pSortList, pCamera);
#endif #endif
if (!(Vars::Visuals::World::Modulations.Value &Vars::Visuals::World::ModulationsEnum::Particle) || Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot()) if (!(Vars::Visuals::World::Modulations.Value &Vars::Visuals::World::ModulationsEnum::Particle) || SDK::CleanScreenshot())
return CALL_ORIGINAL(rcx, meshBuilder, pCtx, info, hParticle, pSortList, pCamera); return CALL_ORIGINAL(rcx, meshBuilder, pCtx, info, hParticle, pSortList, pCamera);
info.m_pRGB[((hParticle / 4) * info.m_nRGBStride) + 0].m128_f32[hParticle & 0x3] = Vars::Colors::ParticleModulation.Value.r / 255.f; // red info.m_pRGB[((hParticle / 4) * info.m_nRGBStride) + 0].m128_f32[hParticle & 0x3] = Vars::Colors::ParticleModulation.Value.r / 255.f; // red
+10 -5
View File
@@ -13,13 +13,13 @@ MAKE_HOOK(CParticleProperty_Create_Name, S::CParticleProperty_Create_Name(), voi
void* rcx, const char* pszParticleName, ParticleAttachment_t iAttachType, const char* pszAttachmentName) void* rcx, const char* pszParticleName, ParticleAttachment_t iAttachType, const char* pszAttachmentName)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CParticleProperty_Create[DEFAULT_BIND]) if (!Vars::Hooks::CParticleProperty_Create_Name[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, pszParticleName, iAttachType, pszAttachmentName); return CALL_ORIGINAL(rcx, pszParticleName, iAttachType, pszAttachmentName);
#endif #endif
static const auto dwUpdateEffects1 = S::CWeaponMedigun_UpdateEffects_CreateName_Call1(); const auto dwUpdateEffects1 = S::CWeaponMedigun_UpdateEffects_CreateName_Call1();
static const auto dwUpdateEffects2 = S::CWeaponMedigun_UpdateEffects_CreateName_Call2(); const auto dwUpdateEffects2 = S::CWeaponMedigun_UpdateEffects_CreateName_Call2();
static const auto dwManageChargeEffect = S::CWeaponMedigun_ManageChargeEffect_CreateName_Call(); const auto dwManageChargeEffect = S::CWeaponMedigun_ManageChargeEffect_CreateName_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
bool bUpdateEffects = dwRetAddr == dwUpdateEffects1 || dwRetAddr == dwUpdateEffects2, bManageChargeEffect = dwRetAddr == dwManageChargeEffect; bool bUpdateEffects = dwRetAddr == dwUpdateEffects1 || dwRetAddr == dwUpdateEffects2, bManageChargeEffect = dwRetAddr == dwManageChargeEffect;
@@ -97,7 +97,7 @@ MAKE_HOOK(CParticleProperty_Create_Point, S::CParticleProperty_Create_Point(), v
void* rcx, const char* pszParticleName, ParticleAttachment_t iAttachType, int iAttachmentPoint, Vector vecOriginOffset) void* rcx, const char* pszParticleName, ParticleAttachment_t iAttachType, int iAttachmentPoint, Vector vecOriginOffset)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CParticleProperty_Create[DEFAULT_BIND]) if (!Vars::Hooks::CParticleProperty_Create_Point[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, pszParticleName, iAttachType, iAttachmentPoint, vecOriginOffset); return CALL_ORIGINAL(rcx, pszParticleName, iAttachType, iAttachmentPoint, vecOriginOffset);
#endif #endif
@@ -204,6 +204,11 @@ MAKE_HOOK(CParticleProperty_Create_Point, S::CParticleProperty_Create_Point(), v
MAKE_HOOK(CParticleProperty_AddControlPoint_Pointer, S::CParticleProperty_AddControlPoint_Pointer(), void, MAKE_HOOK(CParticleProperty_AddControlPoint_Pointer, S::CParticleProperty_AddControlPoint_Pointer(), void,
void* rcx, void* pEffect, int iPoint, CBaseEntity* pEntity, ParticleAttachment_t iAttachType, const char* pszAttachmentName, Vector vecOriginOffset) void* rcx, void* pEffect, int iPoint, CBaseEntity* pEntity, ParticleAttachment_t iAttachType, const char* pszAttachmentName, Vector vecOriginOffset)
{ {
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CParticleProperty_AddControlPoint_Pointer[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, pEffect, iPoint, pEntity, iAttachType, pszAttachmentName, vecOriginOffset);
#endif
if (!pEffect) if (!pEffect)
return; // crash fix return; // crash fix
@@ -10,7 +10,7 @@ MAKE_HOOK(CRendering3dView_EnableWorldFog, S::CRendering3dView_EnableWorldFog(),
return CALL_ORIGINAL(); return CALL_ORIGINAL();
#endif #endif
if (!(Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::Fog) || I::EngineClient->IsTakingScreenshot() && Vars::Visuals::UI::CleanScreenshots.Value) if (!(Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::Fog) || SDK::CleanScreenshot())
return CALL_ORIGINAL(); return CALL_ORIGINAL();
CALL_ORIGINAL(); CALL_ORIGINAL();
@@ -10,7 +10,7 @@ MAKE_HOOK(CSkyboxView_Enable3dSkyboxFog, S::CSkyboxView_Enable3dSkyboxFog(), voi
return CALL_ORIGINAL(rcx); return CALL_ORIGINAL(rcx);
#endif #endif
if (!(Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::Fog) || I::EngineClient->IsTakingScreenshot() && Vars::Visuals::UI::CleanScreenshots.Value) if (!(Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::Fog) || SDK::CleanScreenshot())
return CALL_ORIGINAL(rcx); return CALL_ORIGINAL(rcx);
CALL_ORIGINAL(rcx); CALL_ORIGINAL(rcx);
@@ -32,12 +32,13 @@ MAKE_HOOK(CBasePlayer_EyePosition, S::CBasePlayer_EyePosition(), Vec3*,
void* rcx, void* rdx) void* rcx, void* rdx)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CSniperDot_GetRenderingPositions[DEFAULT_BIND]) if (!Vars::Hooks::CBasePlayer_EyePosition[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, rdx); return CALL_ORIGINAL(rcx, rdx);
#endif #endif
static const auto dwDesired = S::CSniperDot_GetRenderingPositions_EyePosition_Call(); const auto dwDesired = S::CSniperDot_GetRenderingPositions_EyePosition_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (dwRetAddr == dwDesired) if (dwRetAddr == dwDesired)
return &s_vEyePosition; return &s_vEyePosition;
@@ -48,12 +49,13 @@ MAKE_HOOK(CTFPlayer_EyeAngles, S::CTFPlayer_EyeAngles(), Vec3*,
void* rcx) void* rcx)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CSniperDot_GetRenderingPositions[DEFAULT_BIND]) if (!Vars::Hooks::CTFPlayer_EyeAngles[DEFAULT_BIND])
return CALL_ORIGINAL(rcx); return CALL_ORIGINAL(rcx);
#endif #endif
static const auto dwDesired = S::CSniperDot_GetRenderingPositions_EyeAngles_Call(); const auto dwDesired = S::CSniperDot_GetRenderingPositions_EyeAngles_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (dwRetAddr == dwDesired) if (dwRetAddr == dwDesired)
return &s_vEyeAngles; return &s_vEyeAngles;
@@ -148,7 +148,7 @@ MAKE_HOOK(S_StartDynamicSound, S::S_StartDynamicSound(), int,
StartSoundParams_t& params) StartSoundParams_t& params)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CSoundEmitterSystem_EmitSound[DEFAULT_BIND]) if (!Vars::Hooks::S_StartDynamicSound[DEFAULT_BIND])
return CALL_ORIGINAL(params); return CALL_ORIGINAL(params);
#endif #endif
@@ -164,7 +164,7 @@ MAKE_HOOK(S_StartSound, S::S_StartSound(), int,
StartSoundParams_t& params) StartSoundParams_t& params)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CSoundEmitterSystem_EmitSound[DEFAULT_BIND]) if (!Vars::Hooks::S_StartSound[DEFAULT_BIND])
return CALL_ORIGINAL(params); return CALL_ORIGINAL(params);
#endif #endif
@@ -25,8 +25,7 @@ MAKE_HOOK(CStudioRender_SetColorModulation, U::Memory.GetVirtual(I::StudioRender
return CALL_ORIGINAL(rcx, pColor); return CALL_ORIGINAL(rcx, pColor);
#endif #endif
if (!s_bDrawingProps || !(Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::Prop) if (!s_bDrawingProps || !(Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::Prop) || SDK::CleanScreenshot())
|| Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot())
return CALL_ORIGINAL(rcx, pColor); return CALL_ORIGINAL(rcx, pColor);
float flColor[3] = { float flColor[3] = {
@@ -45,8 +44,7 @@ MAKE_HOOK(CStudioRender_SetAlphaModulation, U::Memory.GetVirtual(I::StudioRender
return CALL_ORIGINAL(rcx, flAlpha); return CALL_ORIGINAL(rcx, flAlpha);
#endif #endif
if (!s_bDrawingProps || !(Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::Prop) if (!s_bDrawingProps || !(Vars::Visuals::World::Modulations.Value & Vars::Visuals::World::ModulationsEnum::Prop) || SDK::CleanScreenshot())
|| Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot())
return CALL_ORIGINAL(rcx, flAlpha); return CALL_ORIGINAL(rcx, flAlpha);
CALL_ORIGINAL(rcx, Vars::Colors::PropModulation.Value.a / 255.f * flAlpha); CALL_ORIGINAL(rcx, Vars::Colors::PropModulation.Value.a / 255.f * flAlpha);
@@ -20,35 +20,49 @@ enum EAvatarSize
static int s_iPlayerIndex; static int s_iPlayerIndex;
static inline Color_t GetScoreboardColor(int iIndex) static inline void SetScoreboardColor(int iIndex, Color_t& tColor)
{ {
Color_t out = { 0, 0, 0, 0 };
if (iIndex == I::EngineClient->GetLocalPlayer()) if (iIndex == I::EngineClient->GetLocalPlayer())
out = Vars::Colors::Local.Value; tColor = Vars::Colors::Local.Value;
else if (H::Entities.IsFriend(iIndex)) else if (H::Entities.IsFriend(iIndex))
out = F::PlayerUtils.m_vTags[F::PlayerUtils.TagToIndex(FRIEND_TAG)].m_tColor; tColor = F::PlayerUtils.m_vTags[F::PlayerUtils.TagToIndex(FRIEND_TAG)].m_tColor;
else if (H::Entities.InParty(iIndex)) else if (H::Entities.InParty(iIndex))
out = F::PlayerUtils.m_vTags[F::PlayerUtils.TagToIndex(PARTY_TAG)].m_tColor; tColor = F::PlayerUtils.m_vTags[F::PlayerUtils.TagToIndex(PARTY_TAG)].m_tColor;
else if (auto pTag = F::PlayerUtils.GetSignificantTag(iIndex)) else if (auto pTag = F::PlayerUtils.GetSignificantTag(iIndex))
out = pTag->m_tColor; tColor = pTag->m_tColor;
else
return;
return out; auto pResource = H::Entities.GetResource();
if (pResource && !pResource->m_bAlive(iIndex))
tColor = tColor.Lerp({ 127, 127, 127, tColor.a }, 0.5f);
} }
MAKE_HOOK(CAvatarImage_SetAvatarSteamID, S::CAvatarImage_SetAvatarSteamID(), bool, MAKE_HOOK(CAvatarImage_SetAvatarSteamID, S::CAvatarImage_SetAvatarSteamID(), bool,
void* rcx, CSteamID steamIDUser, EAvatarSize avatarSize) void* rcx, CSteamID steamIDUser, EAvatarSize avatarSize)
{ {
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CAvatarImage_SetAvatarSteamID[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, steamIDUser, avatarSize);
#endif
if (!(F::PlayerUtils.GetNameType(steamIDUser.GetAccountID()) & NameTypeEnum::Privacy)) if (!(F::PlayerUtils.GetNameType(steamIDUser.GetAccountID()) & NameTypeEnum::Privacy))
return CALL_ORIGINAL(rcx, steamIDUser, avatarSize); return CALL_ORIGINAL(rcx, steamIDUser, avatarSize);
return CALL_ORIGINAL(rcx, CSteamID(), avatarSize); return CALL_ORIGINAL(rcx, CSteamID(), avatarSize);
} }
MAKE_HOOK(CAvatarImagePanel_SetPlayer, S::CAvatarImagePanel_SetPlayer(), void, MAKE_HOOK(CAvatarImagePanel_SetPlayer, S::CAvatarImagePanel_SetPlayer(), void,
void* rcx, CSteamID steamIDForPlayer, EAvatarSize avatarSize) void* rcx, CSteamID steamIDForPlayer, EAvatarSize avatarSize)
{ {
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CAvatarImagePanel_SetPlayer[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, steamIDForPlayer, avatarSize);
#endif
if (!(F::PlayerUtils.GetNameType(steamIDForPlayer.GetAccountID()) & NameTypeEnum::Privacy)) if (!(F::PlayerUtils.GetNameType(steamIDForPlayer.GetAccountID()) & NameTypeEnum::Privacy))
return CALL_ORIGINAL(rcx, steamIDForPlayer, avatarSize); return CALL_ORIGINAL(rcx, steamIDForPlayer, avatarSize);
CALL_ORIGINAL(rcx, CSteamID(), avatarSize); CALL_ORIGINAL(rcx, CSteamID(), avatarSize);
} }
@@ -70,7 +84,7 @@ MAKE_HOOK(CTFMatchSummary_UpdatePlayerAvatar, S::CTFMatchSummary_UpdatePlayerAva
void* rcx, int playerIndex, KeyValues* kv) void* rcx, int playerIndex, KeyValues* kv)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFClientScoreBoardDialog_UpdatePlayerAvatar[DEFAULT_BIND]) if (!Vars::Hooks::CTFMatchSummary_UpdatePlayerAvatar[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, playerIndex, kv); return CALL_ORIGINAL(rcx, playerIndex, kv);
#endif #endif
@@ -82,7 +96,7 @@ MAKE_HOOK(CTFHudMannVsMachineScoreboard_UpdatePlayerAvatar, S::CTFHudMannVsMachi
void* rcx, int playerIndex, KeyValues* kv) void* rcx, int playerIndex, KeyValues* kv)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFClientScoreBoardDialog_UpdatePlayerAvatar[DEFAULT_BIND]) if (!Vars::Hooks::CTFHudMannVsMachineScoreboard_UpdatePlayerAvatar[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, playerIndex, kv); return CALL_ORIGINAL(rcx, playerIndex, kv);
#endif #endif
@@ -94,7 +108,7 @@ MAKE_HOOK(CTFHudMatchStatus_UpdatePlayerAvatar, S::CTFHudMatchStatus_UpdatePlaye
void* rcx, int playerIndex, KeyValues* kv) void* rcx, int playerIndex, KeyValues* kv)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFClientScoreBoardDialog_UpdatePlayerAvatar[DEFAULT_BIND]) if (!Vars::Hooks::CTFHudMatchStatus_UpdatePlayerAvatar[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, playerIndex, kv); return CALL_ORIGINAL(rcx, playerIndex, kv);
#endif #endif
@@ -106,25 +120,15 @@ MAKE_HOOK(SectionedListPanel_SetItemFgColor, S::SectionedListPanel_SetItemFgColo
void* rcx, int itemID, Color_t color) void* rcx, int itemID, Color_t color)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFClientScoreBoardDialog_UpdatePlayerAvatar[DEFAULT_BIND]) if (!Vars::Hooks::SectionedListPanel_SetItemFgColor[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, itemID, color); return CALL_ORIGINAL(rcx, itemID, color);
#endif #endif
static const auto dwDesired = S::CTFClientScoreBoardDialog_UpdatePlayerList_SetItemFgColor_Call(); const auto dwDesired = S::CTFClientScoreBoardDialog_UpdatePlayerList_SetItemFgColor_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (dwDesired == dwRetAddr && Vars::Visuals::UI::ScoreboardColors.Value) if (dwDesired == dwRetAddr && Vars::Visuals::UI::ScoreboardColors.Value && !SDK::CleanScreenshot())
{ SetScoreboardColor(s_iPlayerIndex, color);
Color_t tColor = GetScoreboardColor(s_iPlayerIndex);
if (tColor.a)
{
auto pResource = H::Entities.GetResource();
if (pResource && !pResource->m_bAlive(s_iPlayerIndex))
tColor = tColor.Lerp({ 127, 127, 127, tColor.a }, 0.5f);
color = tColor;
}
}
CALL_ORIGINAL(rcx, itemID, color); CALL_ORIGINAL(rcx, itemID, color);
} }
+1 -1
View File
@@ -45,7 +45,7 @@ MAKE_HOOK(CTFInput_CAM_CapYaw, S::CTFInput_CAM_CapYaw(), float,
void* rcx, float fVal) void* rcx, float fVal)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFInput_ApplyMouse[DEFAULT_BIND]) if (!Vars::Hooks::CTFInput_CAM_CapYaw[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, fVal); return CALL_ORIGINAL(rcx, fVal);
#endif #endif
@@ -10,5 +10,8 @@ MAKE_HOOK(CTFPlayerInventory_GetMaxItemCount, S::CTFPlayerInventory_GetMaxItemCo
return CALL_ORIGINAL(rcx); return CALL_ORIGINAL(rcx);
#endif #endif
return Vars::Misc::Exploits::BackpackExpander.Value ? 4000 : CALL_ORIGINAL(rcx); if (Vars::Misc::Exploits::BackpackExpander.Value)
return 4000;
return CALL_ORIGINAL(rcx);
} }
@@ -21,23 +21,29 @@ MAKE_HOOK(GenerateEquipRegionConflictMask, S::GenerateEquipRegionConflictMask(),
int iClass, int iUpToSlot, int iIgnoreSlot) int iClass, int iUpToSlot, int iIgnoreSlot)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFPlayerInventory_VerifyChangedLoadoutsAreValid[DEFAULT_BIND]) if (!Vars::Hooks::GenerateEquipRegionConflictMask[DEFAULT_BIND])
return CALL_ORIGINAL(iClass, iUpToSlot, iIgnoreSlot); return CALL_ORIGINAL(iClass, iUpToSlot, iIgnoreSlot);
#endif #endif
return Vars::Misc::Exploits::EquipRegionUnlock.Value ? 0 : CALL_ORIGINAL(iClass, iUpToSlot, iIgnoreSlot); if (Vars::Misc::Exploits::EquipRegionUnlock.Value)
return 0;
return CALL_ORIGINAL(iClass, iUpToSlot, iIgnoreSlot);
} }
MAKE_HOOK(CTFInventoryManager_GetItemInLoadoutForClass, S::CTFInventoryManager_GetItemInLoadoutForClass(), void*, MAKE_HOOK(CTFInventoryManager_GetItemInLoadoutForClass, S::CTFInventoryManager_GetItemInLoadoutForClass(), void*,
void* rcx, int iClass, int iSlot, CSteamID* pID) void* rcx, int iClass, int iSlot, CSteamID* pID)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFPlayerInventory_VerifyChangedLoadoutsAreValid[DEFAULT_BIND]) if (!Vars::Hooks::CTFInventoryManager_GetItemInLoadoutForClass[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, iClass, iSlot, pID); return CALL_ORIGINAL(rcx, iClass, iSlot, pID);
#endif #endif
static const auto dwDesired = S::CEquipSlotItemSelectionPanel_UpdateModelPanelsForSelection_GetItemInLoadoutForClass_Call(); const auto dwDesired = S::CEquipSlotItemSelectionPanel_UpdateModelPanelsForSelection_GetItemInLoadoutForClass_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
return dwRetAddr == dwDesired && Vars::Misc::Exploits::EquipRegionUnlock.Value ? nullptr : CALL_ORIGINAL(rcx, iClass, iSlot, pID); if (dwRetAddr == dwDesired && Vars::Misc::Exploits::EquipRegionUnlock.Value)
return nullptr;
return CALL_ORIGINAL(rcx, iClass, iSlot, pID);
} }
+66 -40
View File
@@ -3,27 +3,31 @@
#include "../Features/Players/PlayerUtils.h" #include "../Features/Players/PlayerUtils.h"
MAKE_SIGNATURE(CTFPlayerPanel_GetTeam, "client.dll", "8B 91 ? ? ? ? 83 FA ? 74 ? 48 8B 05", 0x0); MAKE_SIGNATURE(CTFPlayerPanel_GetTeam, "client.dll", "8B 91 ? ? ? ? 83 FA ? 74 ? 48 8B 05", 0x0);
MAKE_SIGNATURE(CTFTeamStatusPlayerPanel_Update, "client.dll", "40 56 57 48 83 EC ? 48 83 3D", 0x0);
MAKE_SIGNATURE(vgui_Panel_SetBgColor, "client.dll", "89 91 ? ? ? ? C3 CC CC CC CC CC CC CC CC CC 48 8B 41", 0x0); MAKE_SIGNATURE(vgui_Panel_SetBgColor, "client.dll", "89 91 ? ? ? ? C3 CC CC CC CC CC CC CC CC CC 48 8B 41", 0x0);
MAKE_SIGNATURE(CTFTeamStatusPlayerPanel_Update_GetTeam_Call, "client.dll", "8B 9F ? ? ? ? 40 32 F6", 0x0); MAKE_SIGNATURE(CTFTeamStatusPlayerPanel_Update_GetTeam_Call, "client.dll", "8B 9F ? ? ? ? 40 32 F6", 0x0);
MAKE_SIGNATURE(CTFTeamStatusPlayerPanel_Update_SetBgColor_Call, "client.dll", "48 8B 8F ? ? ? ? 4C 8B 6C 24 ? 48 85 C9 0F 84 ? ? ? ? 40 38 B7", 0x0); MAKE_SIGNATURE(CTFTeamStatusPlayerPanel_Update_SetBgColor_Call, "client.dll", "48 8B 8F ? ? ? ? 4C 8B 6C 24 ? 48 85 C9 0F 84 ? ? ? ? 40 38 B7", 0x0);
MAKE_SIGNATURE(CTFTeamStatus_OnTick, "client.dll", "48 89 5C 24 ? 57 48 83 EC ? 48 8B 01 48 8B F9 FF 90 ? ? ? ? 48 8B CF 0F B6 D8", 0x0);
MAKE_SIGNATURE(CVGui_RunFrame, "vgui2.dll", "48 8B C4 53 48 81 EC", 0x0);
static int s_iPlayerIndex; static int s_iPlayerIndex;
static void* s_pTeamStatus;
static inline Color_t GetScoreboardColor(int iIndex) static inline void SetScoreboardColor(int iIndex, Color_t& tColor)
{ {
Color_t out = { 0, 0, 0, 0 };
if (iIndex == I::EngineClient->GetLocalPlayer()) if (iIndex == I::EngineClient->GetLocalPlayer())
out = Vars::Colors::Local.Value; tColor = Vars::Colors::Local.Value;
else if (H::Entities.IsFriend(iIndex)) else if (H::Entities.IsFriend(iIndex))
out = F::PlayerUtils.m_vTags[F::PlayerUtils.TagToIndex(FRIEND_TAG)].m_tColor; tColor = F::PlayerUtils.m_vTags[F::PlayerUtils.TagToIndex(FRIEND_TAG)].m_tColor;
else if (H::Entities.InParty(iIndex)) else if (H::Entities.InParty(iIndex))
out = F::PlayerUtils.m_vTags[F::PlayerUtils.TagToIndex(PARTY_TAG)].m_tColor; tColor = F::PlayerUtils.m_vTags[F::PlayerUtils.TagToIndex(PARTY_TAG)].m_tColor;
else if (auto pTag = F::PlayerUtils.GetSignificantTag(iIndex)) else if (auto pTag = F::PlayerUtils.GetSignificantTag(iIndex))
out = pTag->m_tColor; tColor = pTag->m_tColor;
else
return;
return out; auto pResource = H::Entities.GetResource();
if (pResource && !pResource->m_bAlive(iIndex))
tColor = tColor.Lerp({ 127, 127, 127, tColor.a }, 0.5f);
} }
MAKE_HOOK(CTFPlayerPanel_GetTeam, S::CTFPlayerPanel_GetTeam(), int, MAKE_HOOK(CTFPlayerPanel_GetTeam, S::CTFPlayerPanel_GetTeam(), int,
@@ -34,53 +38,75 @@ MAKE_HOOK(CTFPlayerPanel_GetTeam, S::CTFPlayerPanel_GetTeam(), int,
return CALL_ORIGINAL(rcx); return CALL_ORIGINAL(rcx);
#endif #endif
static const auto dwDesired = S::CTFTeamStatusPlayerPanel_Update_GetTeam_Call(); const auto dwDesired = S::CTFTeamStatusPlayerPanel_Update_GetTeam_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (Vars::Visuals::UI::RevealScoreboard.Value && dwRetAddr == dwDesired) int iReturn = CALL_ORIGINAL(rcx);
if (auto pResource = H::Entities.GetResource(); dwRetAddr == dwDesired && pResource)
{ {
if (auto pLocal = H::Entities.GetLocal()) s_iPlayerIndex = *reinterpret_cast<int*>(uintptr_t(rcx) + 580);
return pLocal->m_iTeamNum();
int iLocalTeam = pResource->m_iTeam(I::EngineClient->GetLocalPlayer());
if (Vars::Visuals::UI::RevealScoreboard.Value && !SDK::CleanScreenshot())
iReturn = iLocalTeam;
if (auto pHealthBar = *reinterpret_cast<void**>(uintptr_t(rcx) + 688);
pHealthBar && U::Memory.CallVirtual<34, bool>(pHealthBar) != (iReturn == iLocalTeam))
*reinterpret_cast<int*>(uintptr_t(rcx) + 624) = -1;
} }
return CALL_ORIGINAL(rcx); return iReturn;
}
MAKE_HOOK(CTFTeamStatusPlayerPanel_Update, S::CTFTeamStatusPlayerPanel_Update(), bool,
void* rcx)
{
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFPlayerPanel_GetTeam[DEFAULT_BIND])
return CALL_ORIGINAL(rcx);
#endif
s_iPlayerIndex = *reinterpret_cast<int*>(uintptr_t(rcx) + 580);
return CALL_ORIGINAL(rcx);
} }
MAKE_HOOK(vgui_Panel_SetBgColor, S::vgui_Panel_SetBgColor(), void, MAKE_HOOK(vgui_Panel_SetBgColor, S::vgui_Panel_SetBgColor(), void,
void* rcx, Color_t color) void* rcx, Color_t color)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFPlayerPanel_GetTeam[DEFAULT_BIND]) if (!Vars::Hooks::vgui_Panel_SetBgColor[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, color); return CALL_ORIGINAL(rcx, color);
#endif #endif
static const auto dwDesired = S::CTFTeamStatusPlayerPanel_Update_SetBgColor_Call(); const auto dwDesired = S::CTFTeamStatusPlayerPanel_Update_SetBgColor_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (dwRetAddr == dwDesired && Vars::Visuals::UI::ScoreboardColors.Value) if (dwRetAddr == dwDesired && Vars::Visuals::UI::ScoreboardColors.Value && !SDK::CleanScreenshot())
{ SetScoreboardColor(s_iPlayerIndex, color);
Color_t tColor = GetScoreboardColor(s_iPlayerIndex);
if (tColor.a)
{
auto pResource = H::Entities.GetResource();
if (pResource && !pResource->m_bAlive(s_iPlayerIndex))
tColor = tColor.Lerp({ 127, 127, 127, tColor.a }, 0.5f);
color = tColor;
}
}
CALL_ORIGINAL(rcx, color); CALL_ORIGINAL(rcx, color);
}
MAKE_HOOK(CTFTeamStatus_OnTick, S::CTFTeamStatus_OnTick(), void,
void* rcx)
{
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFTeamStatus_OnTick[DEFAULT_BIND])
return CALL_ORIGINAL(rcx);
#endif
s_pTeamStatus = rcx;
CALL_ORIGINAL(rcx);
}
MAKE_HOOK(CVGui_RunFrame, S::CVGui_RunFrame(), void,
void* rcx)
{
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CVGui_RunFrame[DEFAULT_BIND])
return CALL_ORIGINAL(rcx);
#endif
if (!s_pTeamStatus)
return CALL_ORIGINAL(rcx);
static bool bStaticMod = false;
const bool bLastMod = bStaticMod;
const bool bCurrMod = bStaticMod = (Vars::Visuals::UI::RevealScoreboard.Value || Vars::Visuals::UI::ScoreboardColors.Value) && !SDK::CleanScreenshot();
if (bCurrMod != bLastMod)
S::CTFTeamStatus_OnTick.Call<void>(s_pTeamStatus);
CALL_ORIGINAL(rcx);
} }
+9 -9
View File
@@ -16,12 +16,12 @@ MAKE_HOOK(CTFPlayerShared_InCond, S::CTFPlayerShared_InCond(), bool,
return CALL_ORIGINAL(rcx, nCond); return CALL_ORIGINAL(rcx, nCond);
#endif #endif
static const auto dwZoomPlayer = S::CTFPlayer_ShouldDraw_InCond_Call(); const auto dwZoomPlayer = S::CTFPlayer_ShouldDraw_InCond_Call();
static const auto dwZoomWearable = S::CTFWearable_ShouldDraw_InCond_Call(); const auto dwZoomWearable = S::CTFWearable_ShouldDraw_InCond_Call();
static const auto dwZoomHudScope = S::CHudScope_ShouldDraw_InCond_Call(); const auto dwZoomHudScope = S::CHudScope_ShouldDraw_InCond_Call();
static const auto dwTaunt = S::CTFPlayer_CreateMove_InCondTaunt_Call(); const auto dwTaunt = S::CTFPlayer_CreateMove_InCondTaunt_Call();
static const auto dwKart1 = S::CTFPlayer_CreateMove_InCondKart_Call(); const auto dwKart1 = S::CTFPlayer_CreateMove_InCondKart_Call();
static const auto dwKart2 = S::CTFInput_ApplyMouse_InCond_Call(); const auto dwKart2 = S::CTFInput_ApplyMouse_InCond_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
auto GetOuter = [&rcx]() -> CBaseEntity* auto GetOuter = [&rcx]() -> CBaseEntity*
@@ -35,7 +35,7 @@ MAKE_HOOK(CTFPlayerShared_InCond, S::CTFPlayerShared_InCond(), bool,
switch (nCond) switch (nCond)
{ {
case TF_COND_ZOOMED: case TF_COND_ZOOMED:
if (dwRetAddr == dwZoomPlayer || dwRetAddr == dwZoomWearable || Vars::Visuals::Removals::Scope.Value && dwRetAddr == dwZoomHudScope) if (dwRetAddr == dwZoomPlayer || dwRetAddr == dwZoomWearable || dwRetAddr == dwZoomHudScope && Vars::Visuals::Removals::Scope.Value)
return false; return false;
break; break;
case TF_COND_DISGUISED: case TF_COND_DISGUISED:
@@ -43,13 +43,13 @@ MAKE_HOOK(CTFPlayerShared_InCond, S::CTFPlayerShared_InCond(), bool,
return false; return false;
break; break;
case TF_COND_TAUNTING: case TF_COND_TAUNTING:
if (Vars::Misc::Automation::TauntControl.Value && dwRetAddr == dwTaunt) if (dwRetAddr == dwTaunt && Vars::Misc::Automation::TauntControl.Value)
return false; return false;
if (Vars::Visuals::Removals::Taunts.Value && H::Entities.GetLocal() != GetOuter()) if (Vars::Visuals::Removals::Taunts.Value && H::Entities.GetLocal() != GetOuter())
return false; return false;
break; break;
case TF_COND_HALLOWEEN_KART: case TF_COND_HALLOWEEN_KART:
if (Vars::Misc::Automation::KartControl.Value && (dwRetAddr == dwKart1 || dwRetAddr == dwKart2)) if ((dwRetAddr == dwKart1 || dwRetAddr == dwKart2) && Vars::Misc::Automation::KartControl.Value)
return false; return false;
break; break;
case TF_COND_FREEZE_INPUT: case TF_COND_FREEZE_INPUT:
@@ -2,7 +2,10 @@
MAKE_SIGNATURE(CTFPlayerShared_IsPlayerDominated, "client.dll", "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 48 63 F2 48 8B D9 E8", 0x0); MAKE_SIGNATURE(CTFPlayerShared_IsPlayerDominated, "client.dll", "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 48 63 F2 48 8B D9 E8", 0x0);
MAKE_SIGNATURE(CTFClientScoreBoardDialog_UpdatePlayerList_IsPlayerDominated_Call, "client.dll", "84 C0 74 ? 45 84 FF 74", 0x0); MAKE_SIGNATURE(CTFClientScoreBoardDialog_UpdatePlayerList_IsPlayerDominated_Call, "client.dll", "84 C0 74 ? 45 84 FF 74", 0x0);
MAKE_SIGNATURE(KeyValues_SetInt, "client.dll", "40 53 48 83 EC ? 41 8B D8 41 B0", 0x0);
MAKE_SIGNATURE(CTFClientScoreBoardDialog_UpdatePlayerList_SetInt_Call, "client.dll", "48 8B 05 ? ? ? ? 83 78 ? ? 0F 84 ? ? ? ? 48 8B 0D ? ? ? ? 8B D7", 0x0);
MAKE_SIGNATURE(CTFClientScoreBoardDialog_UpdatePlayerList_Jump, "client.dll", "8B E8 E8 ? ? ? ? 3B C7", 0x0); MAKE_SIGNATURE(CTFClientScoreBoardDialog_UpdatePlayerList_Jump, "client.dll", "8B E8 E8 ? ? ? ? 3B C7", 0x0);
MAKE_SIGNATURE(CClientScoreBoardDialog_NeedsUpdate, "client.dll", "48 8B 05 ? ? ? ? F3 0F 10 41 ? 0F 2F 40 ? 0F 92 C0", 0x0);
MAKE_HOOK(CTFPlayerShared_IsPlayerDominated, S::CTFPlayerShared_IsPlayerDominated(), bool, MAKE_HOOK(CTFPlayerShared_IsPlayerDominated, S::CTFPlayerShared_IsPlayerDominated(), bool,
void* rcx, int index) void* rcx, int index)
@@ -12,14 +15,50 @@ MAKE_HOOK(CTFPlayerShared_IsPlayerDominated, S::CTFPlayerShared_IsPlayerDominate
return CALL_ORIGINAL(rcx, index); return CALL_ORIGINAL(rcx, index);
#endif #endif
static const auto dwDesired = S::CTFClientScoreBoardDialog_UpdatePlayerList_IsPlayerDominated_Call(); const auto dwDesired = S::CTFClientScoreBoardDialog_UpdatePlayerList_IsPlayerDominated_Call();
static const auto dwJump = S::CTFClientScoreBoardDialog_UpdatePlayerList_Jump(); const auto dwJump = S::CTFClientScoreBoardDialog_UpdatePlayerList_Jump();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
const bool bResult = CALL_ORIGINAL(rcx, index); bool bReturn = CALL_ORIGINAL(rcx, index);
if (Vars::Visuals::UI::RevealScoreboard.Value && dwRetAddr == dwDesired && !bResult) if (dwRetAddr == dwDesired && Vars::Visuals::UI::RevealScoreboard.Value && !SDK::CleanScreenshot() && !bReturn)
*static_cast<uintptr_t*>(_AddressOfReturnAddress()) = dwJump; *static_cast<uintptr_t*>(_AddressOfReturnAddress()) = dwJump;
return bResult; return bReturn;
}
MAKE_HOOK(KeyValues_SetInt, S::KeyValues_SetInt(), void,
void* rcx, const char* keyName, int value)
{
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::KeyValues_SetInt[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, keyName, value);
#endif
const auto dwDesired = S::CTFClientScoreBoardDialog_UpdatePlayerList_SetInt_Call();
const auto dwJump = S::CTFClientScoreBoardDialog_UpdatePlayerList_Jump();
const auto dwRetAddr = uintptr_t(_ReturnAddress());
CALL_ORIGINAL(rcx, keyName, value);
if (dwRetAddr == dwDesired && Vars::Visuals::UI::RevealScoreboard.Value && !SDK::CleanScreenshot() && keyName && FNV1A::Hash32(keyName) == FNV1A::Hash32Const("nemesis"))
*static_cast<uintptr_t*>(_AddressOfReturnAddress()) = dwJump;
}
MAKE_HOOK(CClientScoreBoardDialog_NeedsUpdate, S::CClientScoreBoardDialog_NeedsUpdate(), bool,
void* rcx)
{
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CClientScoreBoardDialog_NeedsUpdate[DEFAULT_BIND])
return CALL_ORIGINAL(rcx);
#endif
static bool bStaticMod = false;
const bool bLastMod = bStaticMod;
const bool bCurrMod = bStaticMod = (Vars::Visuals::UI::RevealScoreboard.Value || Vars::Visuals::UI::ScoreboardColors.Value) && !SDK::CleanScreenshot();
if (bCurrMod != bLastMod)
return true;
return CALL_ORIGINAL(rcx);
} }
@@ -11,10 +11,10 @@ MAKE_HOOK(CTFPlayer_BRenderAsZombie, S::CTFPlayer_BRenderAsZombie(), bool,
return CALL_ORIGINAL(rcx, bWeaponsCheck); return CALL_ORIGINAL(rcx, bWeaponsCheck);
#endif #endif
static const auto dwDesired = S::CTFRagdoll_CreateTFRagdoll_BRenderAsZombie_Call(); const auto dwDesired = S::CTFRagdoll_CreateTFRagdoll_BRenderAsZombie_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (Vars::Visuals::Removals::Gibs.Value && dwRetAddr == dwDesired) if (dwRetAddr == dwDesired && Vars::Visuals::Removals::Gibs.Value)
return true; return true;
return CALL_ORIGINAL(rcx, bWeaponsCheck); return CALL_ORIGINAL(rcx, bWeaponsCheck);
@@ -5,5 +5,10 @@ MAKE_SIGNATURE(CTFPlayer_GetMinFOV, "client.dll", "F3 0F 10 05 ? ? ? ? C3 CC CC
MAKE_HOOK(CTFPlayer_GetMinFOV, S::CTFPlayer_GetMinFOV(), float, MAKE_HOOK(CTFPlayer_GetMinFOV, S::CTFPlayer_GetMinFOV(), float,
/*void* rcx*/) /*void* rcx*/)
{ {
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFPlayer_GetMinFOV[DEFAULT_BIND])
return CALL_ORIGINAL(/*rcx*/);
#endif
return 0.f; return 0.f;
} }
@@ -14,7 +14,7 @@ MAKE_HOOK(CTFPlayer_IsPlayerClass, S::CTFPlayer_IsPlayerClass(), bool,
static const auto dwDesired = S::CDamageAccountPanel_DisplayDamageFeedback_IsPlayerClass_Call(); static const auto dwDesired = S::CDamageAccountPanel_DisplayDamageFeedback_IsPlayerClass_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (Vars::Misc::Sound::HitsoundAlways.Value && dwRetAddr == dwDesired) if (dwRetAddr == dwDesired && Vars::Misc::Sound::HitsoundAlways.Value)
return false; return false;
return CALL_ORIGINAL(rcx, iClass); return CALL_ORIGINAL(rcx, iClass);
+7 -7
View File
@@ -36,12 +36,12 @@ MAKE_HOOK(CBasePlayer_ShouldDrawThisPlayer, S::CBasePlayer_ShouldDrawThisPlayer(
void* rcx) void* rcx)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFPlayer_ShouldDraw[DEFAULT_BIND]) if (!Vars::Hooks::CBasePlayer_ShouldDrawThisPlayer[DEFAULT_BIND])
return CALL_ORIGINAL(rcx); return CALL_ORIGINAL(rcx);
#endif #endif
//static const auto dwDesired = S::CTFWeaponBase_PostDataUpdate_ShouldDrawThisPlayer_Call(); //const auto dwDesired = S::CTFWeaponBase_PostDataUpdate_ShouldDrawThisPlayer_Call();
static const auto dwUndesired = S::CBasePlayer_BuildFirstPersonMeathookTransformations_ShouldDrawThisPlayer_Call(); const auto dwUndesired = S::CBasePlayer_BuildFirstPersonMeathookTransformations_ShouldDrawThisPlayer_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
//if (dwRetAddr == dwDesired) //if (dwRetAddr == dwDesired)
@@ -67,11 +67,11 @@ MAKE_HOOK(CBasePlayer_ShouldDrawLocalPlayer, S::CBasePlayer_ShouldDrawLocalPlaye
/*void* rcx*/) /*void* rcx*/)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFPlayer_ShouldDraw[DEFAULT_BIND]) if (!Vars::Hooks::CBasePlayer_ShouldDrawLocalPlayer[DEFAULT_BIND])
return CALL_ORIGINAL(/*rcx*/); return CALL_ORIGINAL(/*rcx*/);
#endif #endif
//static const auto dwDesired = S::CBaseCombatWeapon_CalcOverrideModelIndex_ShouldDrawLocalPlayer_Call(); //const auto dwDesired = S::CBaseCombatWeapon_CalcOverrideModelIndex_ShouldDrawLocalPlayer_Call();
//const auto dwRetAddr = uintptr_t(_ReturnAddress()); //const auto dwRetAddr = uintptr_t(_ReturnAddress());
//if (dwRetAddr == dwDesired) //if (dwRetAddr == dwDesired)
@@ -91,7 +91,7 @@ MAKE_HOOK(CBaseCombatWeapon_ShouldDraw, S::CBaseCombatWeapon_ShouldDraw(), bool,
void* rcx) void* rcx)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFPlayer_ShouldDraw[DEFAULT_BIND]) if (!Vars::Hooks::CBaseCombatWeapon_ShouldDraw[DEFAULT_BIND])
return CALL_ORIGINAL(rcx); return CALL_ORIGINAL(rcx);
#endif #endif
@@ -109,7 +109,7 @@ MAKE_HOOK(CViewRender_DrawViewModels, S::CViewRender_DrawViewModels(), void,
void* rcx, const CViewSetup& viewRender, bool drawViewmodel) void* rcx, const CViewSetup& viewRender, bool drawViewmodel)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFPlayer_ShouldDraw[DEFAULT_BIND]) if (!Vars::Hooks::CViewRender_DrawViewModels[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, viewRender, drawViewmodel); return CALL_ORIGINAL(rcx, viewRender, drawViewmodel);
#endif #endif
@@ -11,7 +11,7 @@ MAKE_HOOK(CTFPlayer_UpdateStepSound, S::CTFPlayer_UpdateStepSound(), void,
return CALL_ORIGINAL(rcx, psurface, vecOrigin, vecVelocity); return CALL_ORIGINAL(rcx, psurface, vecOrigin, vecVelocity);
#endif #endif
static const auto dwDesired = S::CTFPlayer_FireEvent_UpdateStepSound_Call(); const auto dwDesired = S::CTFPlayer_FireEvent_UpdateStepSound_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (dwRetAddr == dwDesired && rcx == H::Entities.GetLocal()) if (dwRetAddr == dwDesired && rcx == H::Entities.GetLocal())
@@ -6,6 +6,11 @@ MAKE_SIGNATURE(CTFRocketLauncher_FireProjectile, "client.dll", "48 89 74 24 ? 57
MAKE_HOOK(CTFRocketLauncher_CheckReloadMisfire, S::CTFRocketLauncher_CheckReloadMisfire(), bool, MAKE_HOOK(CTFRocketLauncher_CheckReloadMisfire, S::CTFRocketLauncher_CheckReloadMisfire(), bool,
void* rcx) void* rcx)
{ {
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFRocketLauncher_CheckReloadMisfire[DEFAULT_BIND])
return CALL_ORIGINAL(rcx);
#endif
auto pWeapon = reinterpret_cast<CTFWeaponBase*>(rcx); auto pWeapon = reinterpret_cast<CTFWeaponBase*>(rcx);
if (!SDK::AttribHookValue(0, "can_overload", pWeapon)) if (!SDK::AttribHookValue(0, "can_overload", pWeapon))
return false; return false;
@@ -35,6 +40,11 @@ MAKE_HOOK(CTFRocketLauncher_CheckReloadMisfire, S::CTFRocketLauncher_CheckReload
MAKE_HOOK(CTFRocketLauncher_FireProjectile, S::CTFRocketLauncher_FireProjectile(), CBaseEntity*, MAKE_HOOK(CTFRocketLauncher_FireProjectile, S::CTFRocketLauncher_FireProjectile(), CBaseEntity*,
void* rcx, CTFPlayer* pPlayer) void* rcx, CTFPlayer* pPlayer)
{ {
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFRocketLauncher_FireProjectile[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, pPlayer);
#endif
auto pWeapon = reinterpret_cast<CTFWeaponBase*>(rcx); auto pWeapon = reinterpret_cast<CTFWeaponBase*>(rcx);
pWeapon->m_bRemoveable() = false; pWeapon->m_bRemoveable() = false;
return CALL_ORIGINAL(rcx, pPlayer); return CALL_ORIGINAL(rcx, pPlayer);
@@ -47,6 +57,11 @@ MAKE_SIGNATURE(CTFBat_Wood_LaunchBall, "client.dll", "40 53 48 83 EC ? 48 8B D9
MAKE_HOOK(CTFBat_Wood_LaunchBall, S::CTFBat_Wood_LaunchBall(), void, MAKE_HOOK(CTFBat_Wood_LaunchBall, S::CTFBat_Wood_LaunchBall(), void,
void* rcx) void* rcx)
{ {
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFBat_Wood_LaunchBall[DEFAULT_BIND])
return CALL_ORIGINAL(rcx);
#endif
auto pWeapon = reinterpret_cast<CTFWeaponBase*>(rcx); auto pWeapon = reinterpret_cast<CTFWeaponBase*>(rcx);
pWeapon->CalcIsAttackCritical(); pWeapon->CalcIsAttackCritical();
@@ -7,6 +7,11 @@ MAKE_SIGNATURE(CTFWeaponBase_CanFireRandomCriticalShot, "client.dll", "F3 0F 58
MAKE_HOOK(CTFWeaponBase_CanFireRandomCriticalShot, S::CTFWeaponBase_CanFireRandomCriticalShot(), bool, MAKE_HOOK(CTFWeaponBase_CanFireRandomCriticalShot, S::CTFWeaponBase_CanFireRandomCriticalShot(), bool,
void* rcx, float flCritChance) void* rcx, float flCritChance)
{ // not present on the client so it will always be a crit behind otherwise { // not present on the client so it will always be a crit behind otherwise
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CTFWeaponBase_CanFireRandomCriticalShot[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, flCritChance);
#endif
int nRandomRangedCritDamage = F::CritHack.GetCritDamage(); int nRandomRangedCritDamage = F::CritHack.GetCritDamage();
int nTotalDamage = F::CritHack.GetRangedDamage(); int nTotalDamage = F::CritHack.GetRangedDamage();
if (!nTotalDamage) if (!nTotalDamage)
@@ -10,6 +10,6 @@ MAKE_HOOK(CViewRender_DrawUnderwaterOverlay, S::CViewRender_DrawUnderwaterOverla
return CALL_ORIGINAL(rcx); return CALL_ORIGINAL(rcx);
#endif #endif
if (!Vars::Visuals::Removals::ScreenOverlays.Value || Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot()) if (!Vars::Visuals::Removals::ScreenOverlays.Value || SDK::CleanScreenshot())
CALL_ORIGINAL(rcx); CALL_ORIGINAL(rcx);
} }
@@ -10,6 +10,6 @@ MAKE_HOOK(CViewRender_PerformScreenOverlay, S::CViewRender_PerformScreenOverlay(
return CALL_ORIGINAL(rcx, x, y, w, h); return CALL_ORIGINAL(rcx, x, y, w, h);
#endif #endif
if (!Vars::Visuals::Removals::ScreenOverlays.Value || Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot()) if (!Vars::Visuals::Removals::ScreenOverlays.Value || SDK::CleanScreenshot())
CALL_ORIGINAL(rcx, x, y, w, h); CALL_ORIGINAL(rcx, x, y, w, h);
} }
+1 -1
View File
@@ -11,7 +11,7 @@ MAKE_HOOK(CViewRender_RenderView, U::Memory.GetVirtual(I::ViewRender, 6), void,
#endif #endif
CALL_ORIGINAL(rcx, view, nClearFlags, whatToDraw); CALL_ORIGINAL(rcx, view, nClearFlags, whatToDraw);
if (Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot() || G::Unload) if (SDK::CleanScreenshot() || G::Unload)
return; return;
F::CameraWindow.RenderView(rcx, view); F::CameraWindow.RenderView(rcx, view);
@@ -14,6 +14,11 @@ struct Restore_t
MAKE_HOOK(CWeaponMedigun_PrimaryAttack, S::CWeaponMedigun_PrimaryAttack(), void, MAKE_HOOK(CWeaponMedigun_PrimaryAttack, S::CWeaponMedigun_PrimaryAttack(), void,
void* rcx) void* rcx)
{ {
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::CWeaponMedigun_PrimaryAttack[DEFAULT_BIND])
return CALL_ORIGINAL(rcx);
#endif
auto pWeapon = reinterpret_cast<CWeaponMedigun*>(rcx); auto pWeapon = reinterpret_cast<CWeaponMedigun*>(rcx);
auto pOwner = pWeapon->m_hOwner()->As<CTFPlayer>(); auto pOwner = pWeapon->m_hOwner()->As<CTFPlayer>();
if (!pOwner || !pOwner->m_pCurrentCommand()) if (!pOwner || !pOwner->m_pCurrentCommand())
@@ -10,10 +10,11 @@ MAKE_HOOK(ClientModeTFNormal_BIsFriendOrPartyMember, S::ClientModeTFNormal_BIsFr
return CALL_ORIGINAL(rcx, pEntity); return CALL_ORIGINAL(rcx, pEntity);
#endif #endif
static const auto dwDesired = S::CHudInspectPanel_UserCmd_InspectTarget_BIsFriendOrPartyMember_Call(); const auto dwDesired = S::CHudInspectPanel_UserCmd_InspectTarget_BIsFriendOrPartyMember_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (dwRetAddr == dwDesired && Vars::Misc::MannVsMachine::AllowInspect.Value) if (dwRetAddr == dwDesired && Vars::Misc::MannVsMachine::AllowInspect.Value)
return true; return true;
return CALL_ORIGINAL(rcx, pEntity); return CALL_ORIGINAL(rcx, pEntity);
} }
+1 -1
View File
@@ -10,6 +10,6 @@ MAKE_HOOK(DoEnginePostProcessing, S::DoEnginePostProcessing(), void,
return CALL_ORIGINAL(x, y, w, h, bFlashlightIsOn, bPostVGui); return CALL_ORIGINAL(x, y, w, h, bFlashlightIsOn, bPostVGui);
#endif #endif
if (!Vars::Visuals::Removals::PostProcessing.Value || Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot()) if (!Vars::Visuals::Removals::PostProcessing.Value || SDK::CleanScreenshot())
CALL_ORIGINAL(x, y, w, h, bFlashlightIsOn, bPostVGui); CALL_ORIGINAL(x, y, w, h, bFlashlightIsOn, bPostVGui);
} }
+1 -1
View File
@@ -15,7 +15,7 @@ MAKE_HOOK(FX_FireBullets, S::FX_FireBullets(), void,
return CALL_ORIGINAL(pWpn, iPlayer, vecOrigin, vecAngles, iWeapon, iMode, iSeed, flSpread, flDamage, bCritical); return CALL_ORIGINAL(pWpn, iPlayer, vecOrigin, vecAngles, iWeapon, iMode, iSeed, flSpread, flDamage, bCritical);
#endif #endif
static const auto dwDesired = S::CTFWeaponBaseGun_FireBullet_FireBullets_Call(); const auto dwDesired = S::CTFWeaponBaseGun_FireBullet_FireBullets_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (iPlayer != I::EngineClient->GetLocalPlayer()) if (iPlayer != I::EngineClient->GetLocalPlayer())
+5 -5
View File
@@ -15,12 +15,12 @@ MAKE_HOOK(GetClientInterpAmount, S::GetClientInterpAmount(), float,
if (!Vars::Visuals::Removals::Lerp.Value && !Vars::Visuals::Removals::Interpolation.Value) if (!Vars::Visuals::Removals::Lerp.Value && !Vars::Visuals::Removals::Interpolation.Value)
return CALL_ORIGINAL(); return CALL_ORIGINAL();
static const auto dwDesired1 = S::CNetGraphPanel_DrawTextFields_GetClientInterpAmount_Call1(); const auto dwUndesired1 = S::CNetGraphPanel_DrawTextFields_GetClientInterpAmount_Call1();
static const auto dwDesired2 = S::CNetGraphPanel_DrawTextFields_GetClientInterpAmount_Call2(); const auto dwUndesired2 = S::CNetGraphPanel_DrawTextFields_GetClientInterpAmount_Call2();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (dwRetAddr == dwDesired1 || dwRetAddr == dwDesired2) if (dwRetAddr != dwUndesired1 && dwRetAddr != dwUndesired2)
return 0.f;
return CALL_ORIGINAL(); return CALL_ORIGINAL();
return 0.f;
} }
+1 -1
View File
@@ -21,7 +21,7 @@ MAKE_HOOK(HostState_Restart, S::HostState_Restart(), void,
) )
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::HostState_Shutdown[DEFAULT_BIND]) if (!Vars::Hooks::HostState_Restart[DEFAULT_BIND])
return CALL_ORIGINAL(); return CALL_ORIGINAL();
#endif #endif
@@ -46,7 +46,7 @@ MAKE_HOOK(IEngineTrace_SetTraceEntity, U::Memory.GetVirtual(I::EngineTrace, 20),
return CALL_ORIGINAL(rcx, pCollideable, pTrace); return CALL_ORIGINAL(rcx, pCollideable, pTrace);
#endif #endif
static const auto dwDesired = S::IEngineTrace_TraceRay_SetTraceEntity_Call(); const auto dwDesired = S::IEngineTrace_TraceRay_SetTraceEntity_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
CALL_ORIGINAL(rcx, pCollideable, pTrace); CALL_ORIGINAL(rcx, pCollideable, pTrace);
@@ -59,7 +59,7 @@ MAKE_HOOK(CM_BoxTrace, S::CM_BoxTrace(), void,
const Ray_t& ray, int headnode, int brushmask, bool computeEndpt, trace_t& tr) const Ray_t& ray, int headnode, int brushmask, bool computeEndpt, trace_t& tr)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::IEngineTrace_SetTraceEntity[DEFAULT_BIND]) if (!Vars::Hooks::CM_BoxTrace[DEFAULT_BIND])
return CALL_ORIGINAL(ray, headnode, brushmask, computeEndpt, tr); return CALL_ORIGINAL(ray, headnode, brushmask, computeEndpt, tr);
#endif #endif
@@ -72,7 +72,7 @@ MAKE_HOOK(CM_TraceToLeaf_True, S::CM_TraceToLeaf_True(), void,
TraceInfo_t* pTraceInfo, int ndxLeaf, float startFrac, float endFrac) TraceInfo_t* pTraceInfo, int ndxLeaf, float startFrac, float endFrac)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::IEngineTrace_SetTraceEntity[DEFAULT_BIND]) if (!Vars::Hooks::CM_TraceToLeaf_True[DEFAULT_BIND])
return CALL_ORIGINAL(pTraceInfo, ndxLeaf, startFrac, endFrac); return CALL_ORIGINAL(pTraceInfo, ndxLeaf, startFrac, endFrac);
#endif #endif
@@ -92,7 +92,7 @@ MAKE_HOOK(CM_TraceToLeaf_False, S::CM_TraceToLeaf_False(), void,
TraceInfo_t* pTraceInfo, int ndxLeaf, float startFrac, float endFrac) TraceInfo_t* pTraceInfo, int ndxLeaf, float startFrac, float endFrac)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::IEngineTrace_SetTraceEntity[DEFAULT_BIND]) if (!Vars::Hooks::CM_TraceToLeaf_False[DEFAULT_BIND])
return CALL_ORIGINAL(pTraceInfo, ndxLeaf, startFrac, endFrac); return CALL_ORIGINAL(pTraceInfo, ndxLeaf, startFrac, endFrac);
#endif #endif
@@ -112,7 +112,7 @@ MAKE_HOOK(CM_ClipBoxToBrush_True, S::CM_ClipBoxToBrush_True(), void,
TraceInfo_t* pTraceInfo, void* brush) TraceInfo_t* pTraceInfo, void* brush)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::IEngineTrace_SetTraceEntity[DEFAULT_BIND]) if (!Vars::Hooks::CM_ClipBoxToBrush_True[DEFAULT_BIND])
return CALL_ORIGINAL(pTraceInfo, brush); return CALL_ORIGINAL(pTraceInfo, brush);
#endif #endif
@@ -129,7 +129,7 @@ MAKE_HOOK(CM_ClipBoxToBrush_False, S::CM_ClipBoxToBrush_False(), void,
TraceInfo_t* pTraceInfo, void* brush) TraceInfo_t* pTraceInfo, void* brush)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::IEngineTrace_SetTraceEntity[DEFAULT_BIND]) if (!Vars::Hooks::CM_ClipBoxToBrush_False[DEFAULT_BIND])
return CALL_ORIGINAL(pTraceInfo, brush); return CALL_ORIGINAL(pTraceInfo, brush);
#endif #endif
+2 -2
View File
@@ -25,7 +25,7 @@ MAKE_HOOK(IEngineVGui_Paint, U::Memory.GetVirtual(I::EngineVGui, 14), void,
if (G::Unload) if (G::Unload)
return CALL_ORIGINAL(rcx, iMode); return CALL_ORIGINAL(rcx, iMode);
if (iMode & PAINT_INGAMEPANELS && (!Vars::Visuals::UI::CleanScreenshots.Value || !I::EngineClient->IsTakingScreenshot())) if (iMode & PAINT_INGAMEPANELS && !SDK::CleanScreenshot())
{ {
H::Draw.UpdateScreenSize(); H::Draw.UpdateScreenSize();
H::Draw.UpdateW2SMatrix(); H::Draw.UpdateW2SMatrix();
@@ -56,7 +56,7 @@ MAKE_HOOK(IEngineVGui_Paint, U::Memory.GetVirtual(I::EngineVGui, 14), void,
CALL_ORIGINAL(rcx, iMode); CALL_ORIGINAL(rcx, iMode);
if (iMode & PAINT_UIPANELS && (!Vars::Visuals::UI::CleanScreenshots.Value || !I::EngineClient->IsTakingScreenshot())) if (iMode & PAINT_UIPANELS && !SDK::CleanScreenshot())
{ {
H::Draw.UpdateScreenSize(); H::Draw.UpdateScreenSize();
H::Draw.Start(); H::Draw.Start();
@@ -3,6 +3,11 @@
MAKE_HOOK(IMaterialSystem_FindTexture, U::Memory.GetVirtual(I::MaterialSystem, 79), ITexture*, MAKE_HOOK(IMaterialSystem_FindTexture, U::Memory.GetVirtual(I::MaterialSystem, 79), ITexture*,
void* rcx, char const* pTextureName, const char* pTextureGroupName, bool complain, int nAdditionalCreationFlags) void* rcx, char const* pTextureName, const char* pTextureGroupName, bool complain, int nAdditionalCreationFlags)
{ {
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::IMaterialSystem_FindTexture[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, pTextureName, pTextureGroupName, complain, nAdditionalCreationFlags);
#endif
auto pReturn = CALL_ORIGINAL(rcx, pTextureName, pTextureGroupName, complain, nAdditionalCreationFlags); auto pReturn = CALL_ORIGINAL(rcx, pTextureName, pTextureGroupName, complain, nAdditionalCreationFlags);
auto uHash = FNV1A::Hash32(Vars::Visuals::World::WorldTexture.Value.c_str()); auto uHash = FNV1A::Hash32(Vars::Visuals::World::WorldTexture.Value.c_str());
@@ -12,10 +12,10 @@ MAKE_HOOK(ISteamFriends_GetFriendPersonaName, U::Memory.GetVirtual(I::SteamFrien
return CALL_ORIGINAL(rcx, steamIDFriend); return CALL_ORIGINAL(rcx, steamIDFriend);
#endif #endif
static const auto dwDesired = S::GetPlayerNameForSteamID_GetFriendPersonaName_Call(); const auto dwDesired = S::GetPlayerNameForSteamID_GetFriendPersonaName_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (Vars::Visuals::UI::StreamerMode.Value && dwRetAddr == dwDesired) if (dwRetAddr == dwDesired && Vars::Visuals::UI::StreamerMode.Value)
{ {
switch (F::PlayerUtils.GetNameType(steamIDFriend.GetAccountID())) switch (F::PlayerUtils.GetNameType(steamIDFriend.GetAccountID()))
{ {
@@ -75,7 +75,7 @@ MAKE_HOOK(CTFPartyClient_RequestQueueForMatch, S::CTFPartyClient_RequestQueueFor
void* rcx, int eMatchGroup) void* rcx, int eMatchGroup)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::ISteamNetworkingUtils_GetPingToDataCenter[DEFAULT_BIND]) if (!Vars::Hooks::CTFPartyClient_RequestQueueForMatch[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, eMatchGroup); return CALL_ORIGINAL(rcx, eMatchGroup);
#endif #endif
@@ -17,7 +17,7 @@ MAKE_HOOK(IVModelRender_DrawModelExecute, U::Memory.GetVirtual(I::ModelRender, 1
return CALL_ORIGINAL(rcx, pState, pInfo, pBoneToWorld); return CALL_ORIGINAL(rcx, pState, pInfo, pBoneToWorld);
#endif #endif
if (I::EngineVGui->IsGameUIVisible() || Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot() if (I::EngineVGui->IsGameUIVisible() || SDK::CleanScreenshot()
|| F::CameraWindow.m_bDrawing || !F::Materials.m_bLoaded || G::Unload) || F::CameraWindow.m_bDrawing || !F::Materials.m_bLoaded || G::Unload)
return CALL_ORIGINAL(rcx, pState, pInfo, pBoneToWorld); return CALL_ORIGINAL(rcx, pState, pInfo, pBoneToWorld);
@@ -47,14 +47,14 @@ MAKE_HOOK(CBaseAnimating_DrawModel, S::CBaseAnimating_DrawModel(), int,
void* rcx, int flags) void* rcx, int flags)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::IVModelRender_DrawModelExecute[DEFAULT_BIND]) if (!Vars::Hooks::CBaseAnimating_DrawModel[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, flags); return CALL_ORIGINAL(rcx, flags);
#endif #endif
static const auto dwDrawModel = S::CEconEntity_DrawOverriddenViewmodel_DrawModel_Call(); const auto dwDesired = S::CEconEntity_DrawOverriddenViewmodel_DrawModel_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (dwRetAddr != dwDrawModel || I::EngineVGui->IsGameUIVisible() || Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot() if (dwRetAddr != dwDesired || I::EngineVGui->IsGameUIVisible() || SDK::CleanScreenshot()
|| F::CameraWindow.m_bDrawing || !F::Materials.m_bLoaded || G::Unload) || F::CameraWindow.m_bDrawing || !F::Materials.m_bLoaded || G::Unload)
return CALL_ORIGINAL(rcx, flags); return CALL_ORIGINAL(rcx, flags);
-23
View File
@@ -1,23 +0,0 @@
#include "../SDK/SDK.h"
MAKE_SIGNATURE(KeyValues_SetInt, "client.dll", "40 53 48 83 EC ? 41 8B D8 41 B0", 0x0);
MAKE_SIGNATURE(CTFClientScoreBoardDialog_UpdatePlayerList_SetInt_Call, "client.dll", "48 8B 05 ? ? ? ? 83 78 ? ? 0F 84 ? ? ? ? 48 8B 0D ? ? ? ? 8B D7", 0x0);
MAKE_SIGNATURE(CTFClientScoreBoardDialog_UpdatePlayerList_Jump, "client.dll", "8B E8 E8 ? ? ? ? 3B C7", 0x0);
MAKE_HOOK(KeyValues_SetInt, S::KeyValues_SetInt(), void,
void* rcx, const char* keyName, int value)
{
#ifdef DEBUG_HOOKS
if (!Vars::Hooks::KeyValues_SetInt[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, keyName, value);
#endif
static const auto dwDesired = S::CTFClientScoreBoardDialog_UpdatePlayerList_SetInt_Call();
static const auto dwJump = S::CTFClientScoreBoardDialog_UpdatePlayerList_Jump();
const auto dwRetAddr = uintptr_t(_ReturnAddress());
CALL_ORIGINAL(rcx, keyName, value);
if (Vars::Visuals::UI::RevealScoreboard.Value && dwRetAddr == dwDesired && keyName && FNV1A::Hash32(keyName) == FNV1A::Hash32Const("nemesis"))
*static_cast<uintptr_t*>(_AddressOfReturnAddress()) = dwJump;
}
+1 -1
View File
@@ -10,7 +10,7 @@ MAKE_HOOK(R_DrawSkyBox, S::R_DrawSkyBox(), void,
return CALL_ORIGINAL(zFar, nDrawFlags); return CALL_ORIGINAL(zFar, nDrawFlags);
#endif #endif
if (FNV1A::Hash32(Vars::Visuals::World::SkyboxChanger.Value.c_str()) == FNV1A::Hash32Const("Off") || Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot()) if (FNV1A::Hash32(Vars::Visuals::World::SkyboxChanger.Value.c_str()) == FNV1A::Hash32Const("Off") || SDK::CleanScreenshot())
return CALL_ORIGINAL(zFar, nDrawFlags); return CALL_ORIGINAL(zFar, nDrawFlags);
static auto sv_skyname = H::ConVars.FindVar("sv_skyname"); static auto sv_skyname = H::ConVars.FindVar("sv_skyname");
+5 -2
View File
@@ -28,8 +28,11 @@ MAKE_HOOK(TF_IsHolidayActive, S::TF_IsHolidayActive(), bool,
return CALL_ORIGINAL(eHoliday); return CALL_ORIGINAL(eHoliday);
#endif #endif
static const auto dwDesired = S::CTFPlayer_FireEvent_IsHolidayActive_Call(); const auto dwDesired = S::CTFPlayer_FireEvent_IsHolidayActive_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (dwRetAddr == dwDesired)
return true;
return dwRetAddr == dwDesired ? true : CALL_ORIGINAL(eHoliday); return CALL_ORIGINAL(eHoliday);
} }
@@ -18,14 +18,14 @@ MAKE_HOOK(CVoiceStatus_IsPlayerBlocked, S::CVoiceStatus_IsPlayerBlocked(), bool,
void* rcx, int playerIndex) void* rcx, int playerIndex)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::VGuiMenuBuilder_AddMenuItem[DEFAULT_BIND]) if (!Vars::Hooks::CVoiceStatus_IsPlayerBlocked[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, playerIndex); return CALL_ORIGINAL(rcx, playerIndex);
#endif #endif
static const auto dwDesired = S::CTFClientScoreBoardDialog_OnScoreBoardMouseRightRelease_IsPlayerBlocked_Call(); const auto dwDesired = S::CTFClientScoreBoardDialog_OnScoreBoardMouseRightRelease_IsPlayerBlocked_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (Vars::Visuals::UI::ScoreboardUtility.Value && dwRetAddr == dwDesired) if (dwRetAddr == dwDesired && Vars::Visuals::UI::ScoreboardUtility.Value)
s_iPlayerIndex = playerIndex; s_iPlayerIndex = playerIndex;
return CALL_ORIGINAL(rcx, playerIndex); return CALL_ORIGINAL(rcx, playerIndex);
@@ -39,10 +39,10 @@ MAKE_HOOK(VGuiMenuBuilder_AddMenuItem, S::VGuiMenuBuilder_AddMenuItem(), void*,
return CALL_ORIGINAL(rcx, pszButtonText, pszCommand, pszCategoryName); return CALL_ORIGINAL(rcx, pszButtonText, pszCommand, pszCategoryName);
#endif #endif
static const auto dwDesired = S::CTFClientScoreBoardDialog_OnScoreBoardMouseRightRelease_AddMenuItem_Call(); const auto dwDesired = S::CTFClientScoreBoardDialog_OnScoreBoardMouseRightRelease_AddMenuItem_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
if (Vars::Visuals::UI::ScoreboardUtility.Value && dwRetAddr == dwDesired && s_iPlayerIndex != -1) if (dwRetAddr == dwDesired && Vars::Visuals::UI::ScoreboardUtility.Value && s_iPlayerIndex != -1)
{ {
auto pReturn = CALL_ORIGINAL(rcx, pszButtonText, pszCommand, pszCategoryName); auto pReturn = CALL_ORIGINAL(rcx, pszButtonText, pszCommand, pszCategoryName);
@@ -77,7 +77,7 @@ MAKE_HOOK(CTFClientScoreBoardDialog_OnCommand, S::CTFClientScoreBoardDialog_OnCo
void* rcx, const char* command) void* rcx, const char* command)
{ {
#ifdef DEBUG_HOOKS #ifdef DEBUG_HOOKS
if (!Vars::Hooks::VGuiMenuBuilder_AddMenuItem[DEFAULT_BIND]) if (!Vars::Hooks::CTFClientScoreBoardDialog_OnCommand[DEFAULT_BIND])
return CALL_ORIGINAL(rcx, command); return CALL_ORIGINAL(rcx, command);
#endif #endif
+1 -1
View File
@@ -13,7 +13,7 @@ MAKE_HOOK(bf_read_ReadString, S::bf_read_ReadString(), bool,
return CALL_ORIGINAL(rcx, pStr, maxLen, bLine, pOutNumChars); return CALL_ORIGINAL(rcx, pStr, maxLen, bLine, pOutNumChars);
#endif #endif
static const auto dwDesired = S::CHudVote_MsgFunc_VoteStart_ReadString_Call(); const auto dwDesired = S::CHudVote_MsgFunc_VoteStart_ReadString_Call();
const auto dwRetAddr = uintptr_t(_ReturnAddress()); const auto dwRetAddr = uintptr_t(_ReturnAddress());
bool bReturn = CALL_ORIGINAL(rcx, pStr, maxLen, bLine, pOutNumChars); bool bReturn = CALL_ORIGINAL(rcx, pStr, maxLen, bLine, pOutNumChars);
+32 -1
View File
@@ -613,6 +613,8 @@ enum Collision_Group_t
class CThreadMutex; class CThreadMutex;
typedef CThreadMutex CSourceMutex; typedef CThreadMutex CSourceMutex;
#pragma region Hitboxes
enum EHitboxes enum EHitboxes
{ {
HITBOX_HEAD, HITBOX_HEAD,
@@ -636,6 +638,33 @@ enum EHitboxes
HITBOX_MAX HITBOX_MAX
}; };
// 1: scout, 2: soldier, 3: pyro, 4: demoman, 5: heavy, 6: engineer, 7: medic, 8: sniper, 9: spy
#pragma region Mann vs Machine
enum EBot6Hitboxes
{ // engineer bot has no pelvis
HITBOX_BOT6_HEAD,
HITBOX_BOT6_SPINE0,
HITBOX_BOT6_SPINE1,
HITBOX_BOT6_SPINE2,
HITBOX_BOT6_SPINE3,
HITBOX_BOT6_LEFT_UPPERARM,
HITBOX_BOT6_LEFT_FOREARM,
HITBOX_BOT6_LEFT_HAND,
HITBOX_BOT6_RIGHT_UPPERARM,
HITBOX_BOT6_RIGHT_FOREARM,
HITBOX_BOT6_RIGHT_HAND,
HITBOX_BOT6_LEFT_THIGH,
HITBOX_BOT6_LEFT_CALF,
HITBOX_BOT6_LEFT_FOOT,
HITBOX_BOT6_RIGHT_THIGH,
HITBOX_BOT6_RIGHT_CALF,
HITBOX_BOT6_RIGHT_FOOT,
HITBOX_BOT6_MAX
};
#pragma endregion
#pragma region Versus Saxton Hale
enum ESaxtonHitboxes enum ESaxtonHitboxes
{ {
HITBOX_SAXTON_HEAD, HITBOX_SAXTON_HEAD,
@@ -659,10 +688,10 @@ enum ESaxtonHitboxes
HITBOX_SAXTON_SPINE3, HITBOX_SAXTON_SPINE3,
HITBOX_SAXTON_MAX HITBOX_SAXTON_MAX
}; };
#pragma endregion
#pragma region Zombie Infection #pragma region Zombie Infection
// these models are all terrible // these models are all terrible
// 1: scout, 2: soldier, 3: pyro, 4: demoman, 5: heavy, 6: engineer, 7: medic, 8: sniper, 9: spy
// reused where possible // reused where possible
// not adding garbage hitboxes that shouldn't exist // not adding garbage hitboxes that shouldn't exist
@@ -849,6 +878,8 @@ enum EZombie9Hitboxes
}; };
#pragma endregion #pragma endregion
#pragma endregion
enum MinigunState_t enum MinigunState_t
{ {
AC_STATE_IDLE = 0, AC_STATE_IDLE = 0,
@@ -97,6 +97,7 @@ public:
NETVAR(m_nForceEscortPushLogic, int, "CTFGameRulesProxy", "m_nForceEscortPushLogic"); NETVAR(m_nForceEscortPushLogic, int, "CTFGameRulesProxy", "m_nForceEscortPushLogic");
NETVAR(m_bRopesHolidayLightsAllowed, bool, "CTFGameRulesProxy", "m_bRopesHolidayLightsAllowed"); NETVAR(m_bRopesHolidayLightsAllowed, bool, "CTFGameRulesProxy", "m_bRopesHolidayLightsAllowed");
VIRTUAL(DefaultFOV, int, 30, this);
VIRTUAL(GetViewVectors, CViewVectors*, 31, this); VIRTUAL(GetViewVectors, CViewVectors*, 31, this);
inline bool IsPlayerReady(int playerIndex) inline bool IsPlayerReady(int playerIndex)
@@ -35,7 +35,7 @@ Vec3 CBaseAnimating::GetHitboxOrigin(matrix3x4* aBones, int nHitbox, Vec3 vOffse
auto pHDR = I::ModelInfoClient->GetStudiomodel(pModel); auto pHDR = I::ModelInfoClient->GetStudiomodel(pModel);
if (!pHDR) return {}; if (!pHDR) return {};
auto pSet = pHDR->pHitboxSet(m_nHitboxSet()); auto pSet = pHDR->pHitboxSet(m_nHitboxSet());
if (!pSet) return {}; if (!pSet || pSet->numhitboxes <= nHitbox) return {};
auto pBox = pSet->pHitbox(nHitbox); auto pBox = pSet->pHitbox(nHitbox);
if (!pBox) return {}; if (!pBox) return {};
@@ -50,7 +50,7 @@ Vec3 CBaseAnimating::GetHitboxCenter(matrix3x4* aBones, int nHitbox, Vec3 vOffse
auto pHDR = I::ModelInfoClient->GetStudiomodel(pModel); auto pHDR = I::ModelInfoClient->GetStudiomodel(pModel);
if (!pHDR) return {}; if (!pHDR) return {};
auto pSet = pHDR->pHitboxSet(m_nHitboxSet()); auto pSet = pHDR->pHitboxSet(m_nHitboxSet());
if (!pSet) return {}; if (!pSet || pSet->numhitboxes <= nHitbox) return {};
auto pBox = pSet->pHitbox(nHitbox); auto pBox = pSet->pHitbox(nHitbox);
if (!pBox) return {}; if (!pBox) return {};
@@ -65,7 +65,7 @@ void CBaseAnimating::GetHitboxInfo(matrix3x4* aBones, int nHitbox, Vec3* pCenter
auto pHDR = I::ModelInfoClient->GetStudiomodel(pModel); auto pHDR = I::ModelInfoClient->GetStudiomodel(pModel);
if (!pHDR) return; if (!pHDR) return;
auto pSet = pHDR->pHitboxSet(m_nHitboxSet()); auto pSet = pHDR->pHitboxSet(m_nHitboxSet());
if (!pSet) return; if (!pSet || pSet->numhitboxes <= nHitbox) return;
auto pBox = pSet->pHitbox(nHitbox); auto pBox = pSet->pHitbox(nHitbox);
if (!pBox) return; if (!pBox) return;
@@ -60,18 +60,40 @@ int CBaseEntity::GetHitboxToBase(int nHitbox)
{ {
switch (H::Entities.GetModel(entindex())) switch (H::Entities.GetModel(entindex()))
{ {
case FNV1A::Hash32Const("models/bots/engineer/bot_engineer.mdl"):
switch (nHitbox)
{
case HITBOX_BOT6_HEAD: return HITBOX_HEAD;
case HITBOX_BOT6_SPINE0: return HITBOX_SPINE0;
case HITBOX_BOT6_SPINE1: return HITBOX_SPINE1;
case HITBOX_BOT6_SPINE2: return HITBOX_SPINE2;
case HITBOX_BOT6_SPINE3: return HITBOX_SPINE3;
case HITBOX_BOT6_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM;
case HITBOX_BOT6_LEFT_FOREARM: return HITBOX_LEFT_FOREARM;
case HITBOX_BOT6_LEFT_HAND: return HITBOX_LEFT_HAND;
case HITBOX_BOT6_RIGHT_UPPERARM: return HITBOX_RIGHT_UPPERARM;
case HITBOX_BOT6_RIGHT_FOREARM: return HITBOX_RIGHT_FOREARM;
case HITBOX_BOT6_RIGHT_HAND: return HITBOX_RIGHT_HAND;
case HITBOX_BOT6_LEFT_THIGH: return HITBOX_LEFT_THIGH;
case HITBOX_BOT6_LEFT_CALF: return HITBOX_LEFT_CALF;
case HITBOX_BOT6_LEFT_FOOT: return HITBOX_LEFT_FOOT;
case HITBOX_BOT6_RIGHT_THIGH: return HITBOX_RIGHT_THIGH;
case HITBOX_BOT6_RIGHT_CALF: return HITBOX_RIGHT_CALF;
case HITBOX_BOT6_RIGHT_FOOT: return HITBOX_RIGHT_FOOT;
}
break;
case FNV1A::Hash32Const("models/vsh/player/saxton_hale.mdl"): case FNV1A::Hash32Const("models/vsh/player/saxton_hale.mdl"):
case FNV1A::Hash32Const("models/vsh/player/hell_hale.mdl"): case FNV1A::Hash32Const("models/vsh/player/hell_hale.mdl"):
case FNV1A::Hash32Const("models/vsh/player/santa_hale.mdl"): case FNV1A::Hash32Const("models/vsh/player/santa_hale.mdl"):
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_SAXTON_HEAD: return HITBOX_HEAD; case HITBOX_SAXTON_HEAD: return HITBOX_HEAD;
case HITBOX_SAXTON_NECK:
case HITBOX_SAXTON_PELVIS: return HITBOX_PELVIS;
case HITBOX_SAXTON_SPINE0: return HITBOX_SPINE0; case HITBOX_SAXTON_SPINE0: return HITBOX_SPINE0;
case HITBOX_SAXTON_SPINE1: return HITBOX_SPINE1; case HITBOX_SAXTON_SPINE1: return HITBOX_SPINE1;
case HITBOX_SAXTON_SPINE2: return HITBOX_SPINE2; case HITBOX_SAXTON_SPINE2: return HITBOX_SPINE2;
case HITBOX_SAXTON_SPINE3: return HITBOX_SPINE3; case HITBOX_SAXTON_SPINE3: return HITBOX_SPINE3;
case HITBOX_SAXTON_NECK:
case HITBOX_SAXTON_PELVIS: return HITBOX_PELVIS;
case HITBOX_SAXTON_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM; case HITBOX_SAXTON_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM;
case HITBOX_SAXTON_LEFT_FOREARM: return HITBOX_LEFT_FOREARM; case HITBOX_SAXTON_LEFT_FOREARM: return HITBOX_LEFT_FOREARM;
case HITBOX_SAXTON_LEFT_HAND: return HITBOX_LEFT_HAND; case HITBOX_SAXTON_LEFT_HAND: return HITBOX_LEFT_HAND;
@@ -92,12 +114,12 @@ int CBaseEntity::GetHitboxToBase(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_ZOMBIE128_HEAD: return HITBOX_HEAD; case HITBOX_ZOMBIE128_HEAD: return HITBOX_HEAD;
case HITBOX_ZOMBIE128_NECK:
case HITBOX_ZOMBIE128_PELVIS: return HITBOX_PELVIS;
case HITBOX_ZOMBIE128_SPINE0: return HITBOX_SPINE0; case HITBOX_ZOMBIE128_SPINE0: return HITBOX_SPINE0;
case HITBOX_ZOMBIE128_SPINE1: return HITBOX_SPINE1; case HITBOX_ZOMBIE128_SPINE1: return HITBOX_SPINE1;
case HITBOX_ZOMBIE128_SPINE2: return HITBOX_SPINE2; case HITBOX_ZOMBIE128_SPINE2: return HITBOX_SPINE2;
case HITBOX_ZOMBIE128_SPINE3: return HITBOX_SPINE3; case HITBOX_ZOMBIE128_SPINE3: return HITBOX_SPINE3;
case HITBOX_ZOMBIE128_NECK:
case HITBOX_ZOMBIE128_PELVIS: return HITBOX_PELVIS;
case HITBOX_ZOMBIE128_LEFT_COLLAR: case HITBOX_ZOMBIE128_LEFT_COLLAR:
case HITBOX_ZOMBIE128_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM; case HITBOX_ZOMBIE128_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM;
case HITBOX_ZOMBIE128_LEFT_FOREARM: return HITBOX_LEFT_FOREARM; case HITBOX_ZOMBIE128_LEFT_FOREARM: return HITBOX_LEFT_FOREARM;
@@ -144,12 +166,12 @@ int CBaseEntity::GetHitboxToBase(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_ZOMBIE4_HEAD: return HITBOX_HEAD; case HITBOX_ZOMBIE4_HEAD: return HITBOX_HEAD;
case HITBOX_ZOMBIE4_NECK:
case HITBOX_ZOMBIE4_PELVIS: return HITBOX_PELVIS;
case HITBOX_ZOMBIE4_SPINE0: return HITBOX_SPINE0; case HITBOX_ZOMBIE4_SPINE0: return HITBOX_SPINE0;
case HITBOX_ZOMBIE4_SPINE1: return HITBOX_SPINE1; case HITBOX_ZOMBIE4_SPINE1: return HITBOX_SPINE1;
case HITBOX_ZOMBIE4_SPINE2: return HITBOX_SPINE2; case HITBOX_ZOMBIE4_SPINE2: return HITBOX_SPINE2;
case HITBOX_ZOMBIE4_SPINE3: return HITBOX_SPINE3; case HITBOX_ZOMBIE4_SPINE3: return HITBOX_SPINE3;
case HITBOX_ZOMBIE4_NECK:
case HITBOX_ZOMBIE4_PELVIS: return HITBOX_PELVIS;
case HITBOX_ZOMBIE4_LEFT_COLLAR: case HITBOX_ZOMBIE4_LEFT_COLLAR:
case HITBOX_ZOMBIE4_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM; case HITBOX_ZOMBIE4_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM;
case HITBOX_ZOMBIE4_LEFT_FOREARM: return HITBOX_LEFT_FOREARM; case HITBOX_ZOMBIE4_LEFT_FOREARM: return HITBOX_LEFT_FOREARM;
@@ -170,12 +192,12 @@ int CBaseEntity::GetHitboxToBase(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_ZOMBIE5_HEAD: return HITBOX_HEAD; case HITBOX_ZOMBIE5_HEAD: return HITBOX_HEAD;
case HITBOX_ZOMBIE5_NECK:
case HITBOX_ZOMBIE5_PELVIS: return HITBOX_PELVIS;
case HITBOX_ZOMBIE5_SPINE0: return HITBOX_SPINE0; case HITBOX_ZOMBIE5_SPINE0: return HITBOX_SPINE0;
case HITBOX_ZOMBIE5_SPINE1: return HITBOX_SPINE1; case HITBOX_ZOMBIE5_SPINE1: return HITBOX_SPINE1;
case HITBOX_ZOMBIE5_SPINE2: return HITBOX_SPINE2; case HITBOX_ZOMBIE5_SPINE2: return HITBOX_SPINE2;
case HITBOX_ZOMBIE5_SPINE3: return HITBOX_SPINE3; case HITBOX_ZOMBIE5_SPINE3: return HITBOX_SPINE3;
case HITBOX_ZOMBIE5_NECK:
case HITBOX_ZOMBIE5_PELVIS: return HITBOX_PELVIS;
case HITBOX_ZOMBIE5_LEFT_COLLAR: case HITBOX_ZOMBIE5_LEFT_COLLAR:
case HITBOX_ZOMBIE5_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM; case HITBOX_ZOMBIE5_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM;
case HITBOX_ZOMBIE5_LEFT_FOREARM: return HITBOX_LEFT_FOREARM; case HITBOX_ZOMBIE5_LEFT_FOREARM: return HITBOX_LEFT_FOREARM;
@@ -196,12 +218,12 @@ int CBaseEntity::GetHitboxToBase(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_ZOMBIE6_HEAD: return HITBOX_HEAD; case HITBOX_ZOMBIE6_HEAD: return HITBOX_HEAD;
case HITBOX_ZOMBIE6_NECK:
case HITBOX_ZOMBIE6_PELVIS: return HITBOX_PELVIS;
case HITBOX_ZOMBIE6_SPINE0: return HITBOX_SPINE0; case HITBOX_ZOMBIE6_SPINE0: return HITBOX_SPINE0;
case HITBOX_ZOMBIE6_SPINE1: return HITBOX_SPINE1; case HITBOX_ZOMBIE6_SPINE1: return HITBOX_SPINE1;
case HITBOX_ZOMBIE6_SPINE2: return HITBOX_SPINE2; case HITBOX_ZOMBIE6_SPINE2: return HITBOX_SPINE2;
case HITBOX_ZOMBIE6_SPINE3: return HITBOX_SPINE3; case HITBOX_ZOMBIE6_SPINE3: return HITBOX_SPINE3;
case HITBOX_ZOMBIE6_NECK:
case HITBOX_ZOMBIE6_PELVIS: return HITBOX_PELVIS;
case HITBOX_ZOMBIE6_LEFT_COLLAR: case HITBOX_ZOMBIE6_LEFT_COLLAR:
case HITBOX_ZOMBIE6_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM; case HITBOX_ZOMBIE6_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM;
case HITBOX_ZOMBIE6_LEFT_FOREARM: return HITBOX_LEFT_FOREARM; case HITBOX_ZOMBIE6_LEFT_FOREARM: return HITBOX_LEFT_FOREARM;
@@ -222,12 +244,12 @@ int CBaseEntity::GetHitboxToBase(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_ZOMBIE7_HEAD: return HITBOX_HEAD; case HITBOX_ZOMBIE7_HEAD: return HITBOX_HEAD;
case HITBOX_ZOMBIE7_NECK:
case HITBOX_ZOMBIE7_PELVIS: return HITBOX_PELVIS;
case HITBOX_ZOMBIE7_SPINE0: return HITBOX_SPINE0; case HITBOX_ZOMBIE7_SPINE0: return HITBOX_SPINE0;
case HITBOX_ZOMBIE7_SPINE1: return HITBOX_SPINE1; case HITBOX_ZOMBIE7_SPINE1: return HITBOX_SPINE1;
case HITBOX_ZOMBIE7_SPINE2: return HITBOX_SPINE2; case HITBOX_ZOMBIE7_SPINE2: return HITBOX_SPINE2;
case HITBOX_ZOMBIE7_SPINE3: return HITBOX_SPINE3; case HITBOX_ZOMBIE7_SPINE3: return HITBOX_SPINE3;
case HITBOX_ZOMBIE7_NECK:
case HITBOX_ZOMBIE7_PELVIS: return HITBOX_PELVIS;
case HITBOX_ZOMBIE7_LEFT_COLLAR: case HITBOX_ZOMBIE7_LEFT_COLLAR:
case HITBOX_ZOMBIE7_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM; case HITBOX_ZOMBIE7_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM;
case HITBOX_ZOMBIE7_LEFT_FOREARM: return HITBOX_LEFT_FOREARM; case HITBOX_ZOMBIE7_LEFT_FOREARM: return HITBOX_LEFT_FOREARM;
@@ -248,12 +270,12 @@ int CBaseEntity::GetHitboxToBase(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_ZOMBIE9_HEAD: return HITBOX_HEAD; case HITBOX_ZOMBIE9_HEAD: return HITBOX_HEAD;
case HITBOX_ZOMBIE9_NECK:
case HITBOX_ZOMBIE9_PELVIS: return HITBOX_PELVIS;
case HITBOX_ZOMBIE9_SPINE0: return HITBOX_SPINE0; case HITBOX_ZOMBIE9_SPINE0: return HITBOX_SPINE0;
case HITBOX_ZOMBIE9_SPINE1: return HITBOX_SPINE1; case HITBOX_ZOMBIE9_SPINE1: return HITBOX_SPINE1;
case HITBOX_ZOMBIE9_SPINE2: return HITBOX_SPINE2; case HITBOX_ZOMBIE9_SPINE2: return HITBOX_SPINE2;
case HITBOX_ZOMBIE9_SPINE3: return HITBOX_SPINE3; case HITBOX_ZOMBIE9_SPINE3: return HITBOX_SPINE3;
case HITBOX_ZOMBIE9_NECK:
case HITBOX_ZOMBIE9_PELVIS: return HITBOX_PELVIS;
case HITBOX_ZOMBIE9_LEFT_COLLAR: case HITBOX_ZOMBIE9_LEFT_COLLAR:
case HITBOX_ZOMBIE9_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM; case HITBOX_ZOMBIE9_LEFT_UPPERARM: return HITBOX_LEFT_UPPERARM;
case HITBOX_ZOMBIE9_LEFT_FOREARM: return HITBOX_LEFT_FOREARM; case HITBOX_ZOMBIE9_LEFT_FOREARM: return HITBOX_LEFT_FOREARM;
@@ -278,17 +300,40 @@ int CBaseEntity::GetBaseToHitbox(int nHitbox)
{ {
switch (H::Entities.GetModel(entindex())) switch (H::Entities.GetModel(entindex()))
{ {
case FNV1A::Hash32Const("models/bots/engineer/bot_engineer.mdl"):
switch (nHitbox)
{
case HITBOX_HEAD: return HITBOX_BOT6_HEAD;
case HITBOX_PELVIS:
case HITBOX_SPINE0: return HITBOX_BOT6_SPINE0;
case HITBOX_SPINE1: return HITBOX_BOT6_SPINE1;
case HITBOX_SPINE2: return HITBOX_BOT6_SPINE2;
case HITBOX_SPINE3: return HITBOX_BOT6_SPINE3;
case HITBOX_LEFT_UPPERARM: return HITBOX_BOT6_LEFT_UPPERARM;
case HITBOX_LEFT_FOREARM: return HITBOX_BOT6_LEFT_FOREARM;
case HITBOX_LEFT_HAND: return HITBOX_BOT6_LEFT_HAND;
case HITBOX_RIGHT_UPPERARM: return HITBOX_BOT6_RIGHT_UPPERARM;
case HITBOX_RIGHT_FOREARM: return HITBOX_BOT6_RIGHT_FOREARM;
case HITBOX_RIGHT_HAND: return HITBOX_BOT6_RIGHT_HAND;
case HITBOX_LEFT_THIGH: return HITBOX_BOT6_LEFT_THIGH;
case HITBOX_LEFT_CALF: return HITBOX_BOT6_LEFT_CALF;
case HITBOX_LEFT_FOOT: return HITBOX_BOT6_LEFT_FOOT;
case HITBOX_RIGHT_THIGH: return HITBOX_BOT6_RIGHT_THIGH;
case HITBOX_RIGHT_CALF: return HITBOX_BOT6_RIGHT_CALF;
case HITBOX_RIGHT_FOOT: return HITBOX_BOT6_RIGHT_FOOT;
}
break;
case FNV1A::Hash32Const("models/vsh/player/saxton_hale.mdl"): case FNV1A::Hash32Const("models/vsh/player/saxton_hale.mdl"):
case FNV1A::Hash32Const("models/vsh/player/hell_hale.mdl"): case FNV1A::Hash32Const("models/vsh/player/hell_hale.mdl"):
case FNV1A::Hash32Const("models/vsh/player/santa_hale.mdl"): case FNV1A::Hash32Const("models/vsh/player/santa_hale.mdl"):
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_HEAD: return HITBOX_SAXTON_HEAD; case HITBOX_HEAD: return HITBOX_SAXTON_HEAD;
case HITBOX_PELVIS: return HITBOX_SAXTON_PELVIS;
case HITBOX_SPINE0: return HITBOX_SAXTON_SPINE0; case HITBOX_SPINE0: return HITBOX_SAXTON_SPINE0;
case HITBOX_SPINE1: return HITBOX_SAXTON_SPINE1; case HITBOX_SPINE1: return HITBOX_SAXTON_SPINE1;
case HITBOX_SPINE2: return HITBOX_SAXTON_SPINE2; case HITBOX_SPINE2: return HITBOX_SAXTON_SPINE2;
case HITBOX_SPINE3: return HITBOX_SAXTON_SPINE3; case HITBOX_SPINE3: return HITBOX_SAXTON_SPINE3;
case HITBOX_PELVIS: return HITBOX_SAXTON_PELVIS;
case HITBOX_LEFT_UPPERARM: return HITBOX_SAXTON_LEFT_UPPERARM; case HITBOX_LEFT_UPPERARM: return HITBOX_SAXTON_LEFT_UPPERARM;
case HITBOX_LEFT_FOREARM: return HITBOX_SAXTON_LEFT_FOREARM; case HITBOX_LEFT_FOREARM: return HITBOX_SAXTON_LEFT_FOREARM;
case HITBOX_LEFT_HAND: return HITBOX_SAXTON_LEFT_HAND; case HITBOX_LEFT_HAND: return HITBOX_SAXTON_LEFT_HAND;
@@ -309,11 +354,11 @@ int CBaseEntity::GetBaseToHitbox(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_HEAD: return HITBOX_ZOMBIE128_HEAD; case HITBOX_HEAD: return HITBOX_ZOMBIE128_HEAD;
case HITBOX_PELVIS: return HITBOX_ZOMBIE128_PELVIS;
case HITBOX_SPINE0: return HITBOX_ZOMBIE128_SPINE0; case HITBOX_SPINE0: return HITBOX_ZOMBIE128_SPINE0;
case HITBOX_SPINE1: return HITBOX_ZOMBIE128_SPINE1; case HITBOX_SPINE1: return HITBOX_ZOMBIE128_SPINE1;
case HITBOX_SPINE2: return HITBOX_ZOMBIE128_SPINE2; case HITBOX_SPINE2: return HITBOX_ZOMBIE128_SPINE2;
case HITBOX_SPINE3: return HITBOX_ZOMBIE128_SPINE3; case HITBOX_SPINE3: return HITBOX_ZOMBIE128_SPINE3;
case HITBOX_PELVIS: return HITBOX_ZOMBIE128_PELVIS;
case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE128_LEFT_UPPERARM; case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE128_LEFT_UPPERARM;
case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE128_LEFT_FOREARM; case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE128_LEFT_FOREARM;
case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE128_LEFT_HAND; case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE128_LEFT_HAND;
@@ -332,11 +377,11 @@ int CBaseEntity::GetBaseToHitbox(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_HEAD: return HITBOX_ZOMBIE3_HEAD; case HITBOX_HEAD: return HITBOX_ZOMBIE3_HEAD;
case HITBOX_PELVIS: return HITBOX_ZOMBIE3_PELVIS;
case HITBOX_SPINE0: return HITBOX_ZOMBIE3_SPINE0; case HITBOX_SPINE0: return HITBOX_ZOMBIE3_SPINE0;
case HITBOX_SPINE1: return HITBOX_ZOMBIE3_SPINE1; case HITBOX_SPINE1: return HITBOX_ZOMBIE3_SPINE1;
case HITBOX_SPINE2: return HITBOX_ZOMBIE3_SPINE2; case HITBOX_SPINE2: return HITBOX_ZOMBIE3_SPINE2;
case HITBOX_SPINE3: return HITBOX_ZOMBIE3_SPINE3; case HITBOX_SPINE3: return HITBOX_ZOMBIE3_SPINE3;
case HITBOX_PELVIS: return HITBOX_ZOMBIE3_PELVIS;
case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE3_LEFT_UPPERARM; case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE3_LEFT_UPPERARM;
case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE3_LEFT_FOREARM; case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE3_LEFT_FOREARM;
case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE3_LEFT_HAND; case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE3_LEFT_HAND;
@@ -355,11 +400,11 @@ int CBaseEntity::GetBaseToHitbox(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_HEAD: return HITBOX_ZOMBIE4_HEAD; case HITBOX_HEAD: return HITBOX_ZOMBIE4_HEAD;
case HITBOX_PELVIS: return HITBOX_ZOMBIE4_PELVIS;
case HITBOX_SPINE0: return HITBOX_ZOMBIE4_SPINE0; case HITBOX_SPINE0: return HITBOX_ZOMBIE4_SPINE0;
case HITBOX_SPINE1: return HITBOX_ZOMBIE4_SPINE1; case HITBOX_SPINE1: return HITBOX_ZOMBIE4_SPINE1;
case HITBOX_SPINE2: return HITBOX_ZOMBIE4_SPINE2; case HITBOX_SPINE2: return HITBOX_ZOMBIE4_SPINE2;
case HITBOX_SPINE3: return HITBOX_ZOMBIE4_SPINE3; case HITBOX_SPINE3: return HITBOX_ZOMBIE4_SPINE3;
case HITBOX_PELVIS: return HITBOX_ZOMBIE4_PELVIS;
case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE4_LEFT_UPPERARM; case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE4_LEFT_UPPERARM;
case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE4_LEFT_FOREARM; case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE4_LEFT_FOREARM;
case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE4_LEFT_HAND; case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE4_LEFT_HAND;
@@ -378,11 +423,11 @@ int CBaseEntity::GetBaseToHitbox(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_HEAD: return HITBOX_ZOMBIE5_HEAD; case HITBOX_HEAD: return HITBOX_ZOMBIE5_HEAD;
case HITBOX_PELVIS: return HITBOX_ZOMBIE5_PELVIS;
case HITBOX_SPINE0: return HITBOX_ZOMBIE5_SPINE0; case HITBOX_SPINE0: return HITBOX_ZOMBIE5_SPINE0;
case HITBOX_SPINE1: return HITBOX_ZOMBIE5_SPINE1; case HITBOX_SPINE1: return HITBOX_ZOMBIE5_SPINE1;
case HITBOX_SPINE2: return HITBOX_ZOMBIE5_SPINE2; case HITBOX_SPINE2: return HITBOX_ZOMBIE5_SPINE2;
case HITBOX_SPINE3: return HITBOX_ZOMBIE5_SPINE3; case HITBOX_SPINE3: return HITBOX_ZOMBIE5_SPINE3;
case HITBOX_PELVIS: return HITBOX_ZOMBIE5_PELVIS;
case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE5_LEFT_UPPERARM; case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE5_LEFT_UPPERARM;
case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE5_LEFT_FOREARM; case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE5_LEFT_FOREARM;
case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE5_LEFT_HAND; case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE5_LEFT_HAND;
@@ -401,11 +446,11 @@ int CBaseEntity::GetBaseToHitbox(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_HEAD: return HITBOX_ZOMBIE6_HEAD; case HITBOX_HEAD: return HITBOX_ZOMBIE6_HEAD;
case HITBOX_PELVIS: return HITBOX_ZOMBIE6_PELVIS;
case HITBOX_SPINE0: return HITBOX_ZOMBIE6_SPINE0; case HITBOX_SPINE0: return HITBOX_ZOMBIE6_SPINE0;
case HITBOX_SPINE1: return HITBOX_ZOMBIE6_SPINE1; case HITBOX_SPINE1: return HITBOX_ZOMBIE6_SPINE1;
case HITBOX_SPINE2: return HITBOX_ZOMBIE6_SPINE2; case HITBOX_SPINE2: return HITBOX_ZOMBIE6_SPINE2;
case HITBOX_SPINE3: return HITBOX_ZOMBIE6_SPINE3; case HITBOX_SPINE3: return HITBOX_ZOMBIE6_SPINE3;
case HITBOX_PELVIS: return HITBOX_ZOMBIE6_PELVIS;
case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE6_LEFT_UPPERARM; case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE6_LEFT_UPPERARM;
case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE6_LEFT_FOREARM; case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE6_LEFT_FOREARM;
case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE6_LEFT_HAND; case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE6_LEFT_HAND;
@@ -424,11 +469,11 @@ int CBaseEntity::GetBaseToHitbox(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_HEAD: return HITBOX_ZOMBIE7_HEAD; case HITBOX_HEAD: return HITBOX_ZOMBIE7_HEAD;
case HITBOX_PELVIS: return HITBOX_ZOMBIE7_PELVIS;
case HITBOX_SPINE0: return HITBOX_ZOMBIE7_SPINE0; case HITBOX_SPINE0: return HITBOX_ZOMBIE7_SPINE0;
case HITBOX_SPINE1: return HITBOX_ZOMBIE7_SPINE1; case HITBOX_SPINE1: return HITBOX_ZOMBIE7_SPINE1;
case HITBOX_SPINE2: return HITBOX_ZOMBIE7_SPINE2; case HITBOX_SPINE2: return HITBOX_ZOMBIE7_SPINE2;
case HITBOX_SPINE3: return HITBOX_ZOMBIE7_SPINE3; case HITBOX_SPINE3: return HITBOX_ZOMBIE7_SPINE3;
case HITBOX_PELVIS: return HITBOX_ZOMBIE7_PELVIS;
case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE7_LEFT_UPPERARM; case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE7_LEFT_UPPERARM;
case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE7_LEFT_FOREARM; case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE7_LEFT_FOREARM;
case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE7_LEFT_HAND; case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE7_LEFT_HAND;
@@ -447,11 +492,11 @@ int CBaseEntity::GetBaseToHitbox(int nHitbox)
switch (nHitbox) switch (nHitbox)
{ {
case HITBOX_HEAD: return HITBOX_ZOMBIE9_HEAD; case HITBOX_HEAD: return HITBOX_ZOMBIE9_HEAD;
case HITBOX_PELVIS: return HITBOX_ZOMBIE9_PELVIS;
case HITBOX_SPINE0: return HITBOX_ZOMBIE9_SPINE0; case HITBOX_SPINE0: return HITBOX_ZOMBIE9_SPINE0;
case HITBOX_SPINE1: return HITBOX_ZOMBIE9_SPINE1; case HITBOX_SPINE1: return HITBOX_ZOMBIE9_SPINE1;
case HITBOX_SPINE2: return HITBOX_ZOMBIE9_SPINE2; case HITBOX_SPINE2: return HITBOX_ZOMBIE9_SPINE2;
case HITBOX_SPINE3: return HITBOX_ZOMBIE9_SPINE3; case HITBOX_SPINE3: return HITBOX_ZOMBIE9_SPINE3;
case HITBOX_PELVIS: return HITBOX_ZOMBIE9_PELVIS;
case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE9_LEFT_UPPERARM; case HITBOX_LEFT_UPPERARM: return HITBOX_ZOMBIE9_LEFT_UPPERARM;
case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE9_LEFT_FOREARM; case HITBOX_LEFT_FOREARM: return HITBOX_ZOMBIE9_LEFT_FOREARM;
case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE9_LEFT_HAND; case HITBOX_LEFT_HAND: return HITBOX_ZOMBIE9_LEFT_HAND;
+19 -14
View File
@@ -126,20 +126,6 @@ std::string SDK::GetTime()
return buffer; return buffer;
} }
HWND SDK::GetTeamFortressWindow()
{
static HWND hWindow = nullptr;
if (!hWindow)
EnumWindows(TeamFortressWindow, reinterpret_cast<LPARAM>(&hWindow));
return hWindow;
}
bool SDK::IsGameWindowInFocus()
{
HWND hWindow = GetTeamFortressWindow();
return hWindow == GetForegroundWindow() || !hWindow;
}
std::wstring SDK::ConvertUtf8ToWide(const std::string& source) std::wstring SDK::ConvertUtf8ToWide(const std::string& source)
{ {
int size = MultiByteToWideChar(CP_UTF8, 0, source.data(), -1, nullptr, 0); int size = MultiByteToWideChar(CP_UTF8, 0, source.data(), -1, nullptr, 0);
@@ -156,6 +142,20 @@ std::string SDK::ConvertWideToUTF8(const std::wstring& source)
return result; return result;
} }
HWND SDK::GetTeamFortressWindow()
{
static HWND hWindow = nullptr;
if (!hWindow)
EnumWindows(TeamFortressWindow, reinterpret_cast<LPARAM>(&hWindow));
return hWindow;
}
bool SDK::IsGameWindowInFocus()
{
HWND hWindow = GetTeamFortressWindow();
return hWindow == GetForegroundWindow() || !hWindow;
}
double SDK::PlatFloatTime() double SDK::PlatFloatTime()
{ {
static auto Plat_FloatTime = U::Memory.GetModuleExport<double(*)()>("tier0.dll", "Plat_FloatTime"); static auto Plat_FloatTime = U::Memory.GetModuleExport<double(*)()>("tier0.dll", "Plat_FloatTime");
@@ -826,4 +826,9 @@ void SDK::GetProjectileFireSetup(CTFPlayer* pPlayer, const Vec3& vAngIn, Vec3 vO
vAngOut = Math::VectorAngles(vEndPos - vPosOut); vAngOut = Math::VectorAngles(vEndPos - vPosOut);
} }
}
bool SDK::CleanScreenshot()
{
return Vars::Visuals::UI::CleanScreenshots.Value && I::EngineClient->IsTakingScreenshot();
} }
+8 -3
View File
@@ -21,6 +21,9 @@
#include "../Utils/Macros/Macros.h" #include "../Utils/Macros/Macros.h"
#include <intrin.h> #include <intrin.h>
#define DEFAULT_COLOR Color_t(175, 150, 255, 255)
#define ALTERNATE_COLOR Color_t(175, 150, 255, 127)
#define VK_0 0x30 #define VK_0 0x30
#define VK_1 0x31 #define VK_1 0x31
#define VK_2 0x32 #define VK_2 0x32
@@ -82,12 +85,12 @@ namespace SDK
std::string GetDate(); std::string GetDate();
std::string GetTime(); std::string GetTime();
HWND GetTeamFortressWindow();
bool IsGameWindowInFocus();
std::wstring ConvertUtf8ToWide(const std::string& source); std::wstring ConvertUtf8ToWide(const std::string& source);
std::string ConvertWideToUTF8(const std::wstring& source); std::string ConvertWideToUTF8(const std::wstring& source);
HWND GetTeamFortressWindow();
bool IsGameWindowInFocus();
double PlatFloatTime(); double PlatFloatTime();
int StdRandomInt(int iMin, int iMax); int StdRandomInt(int iMin, int iMax);
float StdRandomFloat(float flMin, float flMax); float StdRandomFloat(float flMin, float flMax);
@@ -132,4 +135,6 @@ namespace SDK
void WalkTo(CUserCmd* pCmd, CTFPlayer* pLocal, Vec3& vTo, float flScale = 1.f); void WalkTo(CUserCmd* pCmd, CTFPlayer* pLocal, Vec3& vTo, float flScale = 1.f);
void GetProjectileFireSetup(CTFPlayer* pPlayer, const Vec3& vAngIn, Vec3 vOffset, Vec3& vPosOut, Vec3& vAngOut, bool bPipes = false, bool bInterp = false, bool bAllowFlip = true); void GetProjectileFireSetup(CTFPlayer* pPlayer, const Vec3& vAngIn, Vec3 vOffset, Vec3& vPosOut, Vec3& vAngOut, bool bPipes = false, bool bInterp = false, bool bAllowFlip = true);
bool CleanScreenshot();
} }
+60 -15
View File
@@ -414,7 +414,7 @@ namespace Vars
CVar(AutoVaccinatorFireScale, "Auto vaccinator fire 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); CVar(AutoVaccinatorFlamethrowerDamageOnly, "Auto vaccinator flamethrower damage only", false, NOSAVE | DEBUGVAR);
SUBNAMESPACE_END(Healing); SUBNAMESPACE_END(Healing);
NAMESPACE_END(AIMBOT); NAMESPACE_END(Aimbot);
NAMESPACE_BEGIN(CritHack, Crit Hack) NAMESPACE_BEGIN(CritHack, Crit Hack)
CVar(ForceCrits, "Force crits", false); CVar(ForceCrits, "Force crits", false);
@@ -878,26 +878,37 @@ namespace Vars
NAMESPACE_BEGIN(Hooks) NAMESPACE_BEGIN(Hooks)
CVar(bf_read_ReadString, "bf_read_ReadString", true, NOSAVE | DEBUGVAR); CVar(bf_read_ReadString, "bf_read_ReadString", true, NOSAVE | DEBUGVAR);
CVar(CAchievementMgr_CheckAchievementsEnabled, "CAchievementMgr_CheckAchievementsEnabled", true, NOSAVE | DEBUGVAR); CVar(CAchievementMgr_CheckAchievementsEnabled, "CAchievementMgr_CheckAchievementsEnabled", true, NOSAVE | DEBUGVAR);
CVar(CAttributeManager_AttribHookValue, "CAttributeManager_AttribHookValue", true, NOSAVE | DEBUGVAR); CVar(CAttributeManager_AttribHookInt, "CAttributeManager_AttribHookInt", true, NOSAVE | DEBUGVAR);
CVar(CAvatarImagePanel_SetPlayer, "CAvatarImagePanel_SetPlayer", true, NOSAVE | DEBUGVAR);
CVar(CAvatarImage_SetAvatarSteamID, "CAvatarImage_SetAvatarSteamID", true, NOSAVE | DEBUGVAR);
CVar(CBaseAnimating_DrawModel, "CBaseAnimating_DrawModel", true, NOSAVE | DEBUGVAR);
CVar(CBaseAnimating_DrawServerHitboxes, "CBaseAnimating_DrawServerHitboxes", true, NOSAVE | DEBUGVAR);
CVar(CBaseAnimating_InternalDrawModel, "CBaseAnimating_InternalDrawModel", true, NOSAVE | DEBUGVAR);
CVar(CBaseAnimating_Interpolate, "CBaseAnimating_Interpolate", true, NOSAVE | DEBUGVAR); CVar(CBaseAnimating_Interpolate, "CBaseAnimating_Interpolate", true, NOSAVE | DEBUGVAR);
CVar(CBaseAnimating_MaintainSequenceTransitions, "CBaseAnimating_MaintainSequenceTransitions", true, NOSAVE | DEBUGVAR); CVar(CBaseAnimating_MaintainSequenceTransitions, "CBaseAnimating_MaintainSequenceTransitions", true, NOSAVE | DEBUGVAR);
CVar(CBaseAnimating_SetSequence, "CBaseAnimating_SetSequence", true, NOSAVE | DEBUGVAR); CVar(CBaseAnimating_SetSequence, "CBaseAnimating_SetSequence", true, NOSAVE | DEBUGVAR);
CVar(CBaseAnimating_SetupBones, "CBaseAnimating_SetupBones", true, NOSAVE | DEBUGVAR); CVar(CBaseAnimating_SetupBones, "CBaseAnimating_SetupBones", true, NOSAVE | DEBUGVAR);
CVar(CBaseAnimating_UpdateClientSideAnimation, "CBaseAnimating_UpdateClientSideAnimation", true, NOSAVE | DEBUGVAR); CVar(CBaseAnimating_UpdateClientSideAnimation, "CBaseAnimating_UpdateClientSideAnimation", true, NOSAVE | DEBUGVAR);
CVar(CBaseCombatWeapon_ShouldDraw, "CBaseCombatWeapon_ShouldDraw", true, NOSAVE | DEBUGVAR);
CVar(CBaseEntity_BaseInterpolatePart1, "CBaseEntity_BaseInterpolatePart1", true, NOSAVE | DEBUGVAR); CVar(CBaseEntity_BaseInterpolatePart1, "CBaseEntity_BaseInterpolatePart1", true, NOSAVE | DEBUGVAR);
CVar(CBaseEntity_EstimateAbsVelocity, "CBaseEntity_EstimateAbsVelocity", true, NOSAVE | DEBUGVAR); CVar(CBaseEntity_EstimateAbsVelocity, "CBaseEntity_EstimateAbsVelocity", true, NOSAVE | DEBUGVAR);
CVar(CBaseEntity_ResetLatched, "CBaseEntity_ResetLatched", true, NOSAVE | DEBUGVAR); CVar(CBaseEntity_ResetLatched, "CBaseEntity_ResetLatched", true, NOSAVE | DEBUGVAR);
CVar(CBaseEntity_SetAbsVelocity, "CBaseEntity_SetAbsVelocity", true, NOSAVE | DEBUGVAR); CVar(CBaseEntity_SetAbsVelocity, "CBaseEntity_SetAbsVelocity", true, NOSAVE | DEBUGVAR);
CVar(CBaseEntity_WorldSpaceCenter, "CBaseEntity_WorldSpaceCenter", true, NOSAVE | DEBUGVAR); CVar(CBaseEntity_WorldSpaceCenter, "CBaseEntity_WorldSpaceCenter", true, NOSAVE | DEBUGVAR);
CVar(CBaseHudChatLine_InsertAndColorizeText, "CBaseHudChatLine_InsertAndColorizeText", true, NOSAVE | DEBUGVAR); CVar(CBaseHudChatLine_InsertAndColorizeText, "CBaseHudChatLine_InsertAndColorizeText", true, NOSAVE | DEBUGVAR);
CVar(CBasePlayer_CalcPlayerView, "CBasePlayer_CalcPlayerView", true, NOSAVE | DEBUGVAR); CVar(CBasePlayer_CalcObserverView, "CBasePlayer_CalcObserverView", true, NOSAVE | DEBUGVAR);
CVar(CBasePlayer_CalcView, "CBasePlayer_CalcView", true, NOSAVE | DEBUGVAR);
CVar(CBasePlayer_CalcViewModelView, "CBasePlayer_CalcViewModelView", true, NOSAVE | DEBUGVAR); CVar(CBasePlayer_CalcViewModelView, "CBasePlayer_CalcViewModelView", true, NOSAVE | DEBUGVAR);
CVar(CBasePlayer_EyePosition, "CBasePlayer_EyePosition", true, NOSAVE | DEBUGVAR);
CVar(CBasePlayer_ItemPostFrame, "CBasePlayer_ItemPostFrame", true, NOSAVE | DEBUGVAR); CVar(CBasePlayer_ItemPostFrame, "CBasePlayer_ItemPostFrame", true, NOSAVE | DEBUGVAR);
CVar(CBasePlayer_ShouldDrawLocalPlayer, "CBasePlayer_ShouldDrawLocalPlayer", true, NOSAVE | DEBUGVAR);
CVar(CBasePlayer_ShouldDrawThisPlayer, "CBasePlayer_ShouldDrawThisPlayer", true, NOSAVE | DEBUGVAR);
CVar(CBaseViewModel_ShouldFlipViewModel, "CBaseViewModel_ShouldFlipViewModel", true, NOSAVE | DEBUGVAR); CVar(CBaseViewModel_ShouldFlipViewModel, "CBaseViewModel_ShouldFlipViewModel", true, NOSAVE | DEBUGVAR);
CVar(Cbuf_ExecuteCommand, "Cbuf_ExecuteCommand", true, NOSAVE | DEBUGVAR); CVar(Cbuf_ExecuteCommand, "Cbuf_ExecuteCommand", true, NOSAVE | DEBUGVAR);
CVar(CClientModeShared_DoPostScreenSpaceEffects, "CClientModeShared_DoPostScreenSpaceEffects", true, NOSAVE | DEBUGVAR); CVar(CClientModeShared_DoPostScreenSpaceEffects, "CClientModeShared_DoPostScreenSpaceEffects", true, NOSAVE | DEBUGVAR);
CVar(CClientModeShared_OverrideView, "CClientModeShared_OverrideView", true, NOSAVE | DEBUGVAR); CVar(CClientModeShared_OverrideView, "CClientModeShared_OverrideView", true, NOSAVE | DEBUGVAR);
CVar(CClientModeShared_ShouldDrawViewModel, "CClientModeShared_ShouldDrawViewModel", true, NOSAVE | DEBUGVAR); CVar(CClientModeShared_ShouldDrawViewModel, "CClientModeShared_ShouldDrawViewModel", true, NOSAVE | DEBUGVAR);
CVar(CClientScoreBoardDialog_NeedsUpdate, "CClientScoreBoardDialog_NeedsUpdate", true, NOSAVE | DEBUGVAR);
CVar(CClientState_GetClientInterpAmount, "CClientState_GetClientInterpAmount", true, NOSAVE | DEBUGVAR); CVar(CClientState_GetClientInterpAmount, "CClientState_GetClientInterpAmount", true, NOSAVE | DEBUGVAR);
CVar(CClientState_ProcessFixAngle, "CClientState_ProcessFixAngle", true, NOSAVE | DEBUGVAR); CVar(CClientState_ProcessFixAngle, "CClientState_ProcessFixAngle", true, NOSAVE | DEBUGVAR);
CVar(CHLClient_CreateMove, "CHLClient_CreateMove", true, NOSAVE | DEBUGVAR); CVar(CHLClient_CreateMove, "CHLClient_CreateMove", true, NOSAVE | DEBUGVAR);
@@ -908,18 +919,26 @@ namespace Vars
CVar(CInput_GetUserCmd, "CInput_GetUserCmd", true, NOSAVE | DEBUGVAR); CVar(CInput_GetUserCmd, "CInput_GetUserCmd", true, NOSAVE | DEBUGVAR);
CVar(CInput_ValidateUserCmd, "CInput_ValidateUserCmd", true, NOSAVE | DEBUGVAR); CVar(CInput_ValidateUserCmd, "CInput_ValidateUserCmd", true, NOSAVE | DEBUGVAR);
CVar(CInventoryManager_ShowItemsPickedUp, "CInventoryManager_ShowItemsPickedUp", true, NOSAVE | DEBUGVAR); CVar(CInventoryManager_ShowItemsPickedUp, "CInventoryManager_ShowItemsPickedUp", true, NOSAVE | DEBUGVAR);
CVar(ClientModeTFNormal_BIsFriendOrPartyMember, "ClientModeTFNormal_BIsFriendOrPartyMember", true, NOSAVE | DEBUGVAR);
CVar(CL_CheckForPureServerWhitelist, "CL_CheckForPureServerWhitelist", true, NOSAVE | DEBUGVAR); CVar(CL_CheckForPureServerWhitelist, "CL_CheckForPureServerWhitelist", true, NOSAVE | DEBUGVAR);
CVar(CL_Move, "CL_Move", true, NOSAVE | DEBUGVAR); CVar(CL_Move, "CL_Move", true, NOSAVE | DEBUGVAR);
CVar(CL_ProcessPacketEntities, "CL_ProcessPacketEntities", true, NOSAVE | DEBUGVAR); CVar(CL_ProcessPacketEntities, "CL_ProcessPacketEntities", true, NOSAVE | DEBUGVAR);
CVar(CL_ReadPackets, "CL_ReadPackets", true, NOSAVE | DEBUGVAR); CVar(CL_ReadPackets, "CL_ReadPackets", true, NOSAVE | DEBUGVAR);
CVar(ClientModeTFNormal_BIsFriendOrPartyMember, "ClientModeTFNormal_BIsFriendOrPartyMember", true, NOSAVE | DEBUGVAR);
CVar(ClientModeTFNormal_UpdateSteamRichPresence, "ClientModeTFNormal_UpdateSteamRichPresence", true, NOSAVE | DEBUGVAR);
CVar(CMatchInviteNotification_OnTick, "CMatchInviteNotification_OnTick", true, NOSAVE | DEBUGVAR); CVar(CMatchInviteNotification_OnTick, "CMatchInviteNotification_OnTick", true, NOSAVE | DEBUGVAR);
CVar(CMaterial_Uncache, "CMaterial_Uncache", true, NOSAVE | DEBUGVAR); CVar(CMaterial_Uncache, "CMaterial_Uncache", true, NOSAVE | DEBUGVAR);
CVar(CM_BoxTrace, "CM_BoxTrace", true, NOSAVE | DEBUGVAR);
CVar(CM_ClipBoxToBrush_False, "CM_ClipBoxToBrush_False", true, NOSAVE | DEBUGVAR);
CVar(CM_ClipBoxToBrush_True, "CM_ClipBoxToBrush_True", true, NOSAVE | DEBUGVAR);
CVar(CM_TraceToLeaf_False, "CM_TraceToLeaf_False", true, NOSAVE | DEBUGVAR);
CVar(CM_TraceToLeaf_True, "CM_TraceToLeaf_True", true, NOSAVE | DEBUGVAR);
CVar(CNetChannel_SendDatagram, "CNetChannel_SendDatagram", true, NOSAVE | DEBUGVAR); CVar(CNetChannel_SendDatagram, "CNetChannel_SendDatagram", true, NOSAVE | DEBUGVAR);
CVar(CNetChannel_SendNetMsg, "CNetChannel_SendNetMsg", true, NOSAVE | DEBUGVAR); CVar(CNetChannel_SendNetMsg, "CNetChannel_SendNetMsg", true, NOSAVE | DEBUGVAR);
CVar(COPRenderSprites_Render, "COPRenderSprites_Render", true, NOSAVE | DEBUGVAR); CVar(COPRenderSprites_Render, "COPRenderSprites_Render", true, NOSAVE | DEBUGVAR);
CVar(CParticleProperty_Create, "CParticleProperty_Create", true, NOSAVE | DEBUGVAR); CVar(COPRenderSprites_RenderSpriteCard, "COPRenderSprites_RenderSpriteCard", true, NOSAVE | DEBUGVAR);
CVar(COPRenderSprites_RenderTwoSequenceSpriteCard, "COPRenderSprites_RenderTwoSequenceSpriteCard", true, NOSAVE | DEBUGVAR);
CVar(CParticleProperty_Create_Name, "CParticleProperty_Create_Name", true, NOSAVE | DEBUGVAR);
CVar(CParticleProperty_Create_Point, "CParticleProperty_Create_Point", true, NOSAVE | DEBUGVAR);
CVar(CParticleProperty_AddControlPoint_Pointer, "CParticleProperty_AddControlPoint_Pointer", true, NOSAVE | DEBUGVAR);
CVar(CPlayerResource_GetPlayerName, "CPlayerResource_GetPlayerName", true, NOSAVE | DEBUGVAR); CVar(CPlayerResource_GetPlayerName, "CPlayerResource_GetPlayerName", true, NOSAVE | DEBUGVAR);
CVar(CPrediction_RunSimulation, "CPrediction_RunSimulation", true, NOSAVE | DEBUGVAR); CVar(CPrediction_RunSimulation, "CPrediction_RunSimulation", true, NOSAVE | DEBUGVAR);
CVar(CRendering3dView_EnableWorldFog, "CRendering3dView_EnableWorldFog", true, NOSAVE | DEBUGVAR); CVar(CRendering3dView_EnableWorldFog, "CRendering3dView_EnableWorldFog", true, NOSAVE | DEBUGVAR);
@@ -932,39 +951,60 @@ namespace Vars
CVar(CStudioRender_SetAlphaModulation, "CStudioRender_SetAlphaModulation", true, NOSAVE | DEBUGVAR); CVar(CStudioRender_SetAlphaModulation, "CStudioRender_SetAlphaModulation", true, NOSAVE | DEBUGVAR);
CVar(CStudioRender_SetColorModulation, "CStudioRender_SetColorModulation", true, NOSAVE | DEBUGVAR); CVar(CStudioRender_SetColorModulation, "CStudioRender_SetColorModulation", true, NOSAVE | DEBUGVAR);
CVar(CTFBadgePanel_SetupBadge, "CTFBadgePanel_SetupBadge", true, NOSAVE | DEBUGVAR); CVar(CTFBadgePanel_SetupBadge, "CTFBadgePanel_SetupBadge", true, NOSAVE | DEBUGVAR);
//CVar(CTFBat_Wood_LaunchBall, "CTFBat_Wood_LaunchBall", true, NOSAVE | DEBUGVAR);
CVar(CTFClientScoreBoardDialog_OnCommand, "CTFClientScoreBoardDialog_OnCommand", true, NOSAVE | DEBUGVAR);
CVar(CTFClientScoreBoardDialog_UpdatePlayerAvatar, "CTFClientScoreBoardDialog_UpdatePlayerAvatar", true, NOSAVE | DEBUGVAR); CVar(CTFClientScoreBoardDialog_UpdatePlayerAvatar, "CTFClientScoreBoardDialog_UpdatePlayerAvatar", true, NOSAVE | DEBUGVAR);
CVar(CTFGCClientSystem_UpdateAssignedLobby, "CTFGCClientSystem_UpdateAssignedLobby", true, NOSAVE | DEBUGVAR); CVar(CTFGCClientSystem_UpdateAssignedLobby, "CTFGCClientSystem_UpdateAssignedLobby", true, NOSAVE | DEBUGVAR);
CVar(CTFHudDeathNotice_AddAdditionalMsg, "CTFHudDeathNotice_AddAdditionalMsg", true, NOSAVE | DEBUGVAR); CVar(CTFHudDeathNotice_AddAdditionalMsg, "CTFHudDeathNotice_AddAdditionalMsg", true, NOSAVE | DEBUGVAR);
CVar(CTFHudMannVsMachineScoreboard_UpdatePlayerAvatar, "CTFHudMannVsMachineScoreboard_UpdatePlayerAvatar", true, NOSAVE | DEBUGVAR);
CVar(CTFHudMatchStatus_UpdatePlayerAvatar, "CTFHudMatchStatus_UpdatePlayerAvatar", true, NOSAVE | DEBUGVAR);
CVar(CTFInput_ApplyMouse, "CTFInput_ApplyMouse", true, NOSAVE | DEBUGVAR); CVar(CTFInput_ApplyMouse, "CTFInput_ApplyMouse", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_AvoidPlayers, "CTFPlayer_AvoidPlayers", true, NOSAVE | DEBUGVAR); CVar(CTFInput_CAM_CapYaw, "CTFInput_CAM_CapYaw", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_BRenderAsZombie, "CTFPlayer_BRenderAsZombie", true, NOSAVE | DEBUGVAR); CVar(CTFInventoryManager_GetItemInLoadoutForClass, "CTFInventoryManager_GetItemInLoadoutForClass", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_BuildTransformations, "CTFPlayer_BuildTransformations", true, NOSAVE | DEBUGVAR); CVar(CTFMatchSummary_UpdatePlayerAvatar, "CTFMatchSummary_UpdatePlayerAvatar", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_DoAnimationEvent, "CTFPlayer_DoAnimationEvent", true, NOSAVE | DEBUGVAR); CVar(CTFPartyClient_RequestQueueForMatch, "CTFPartyClient_RequestQueueForMatch", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_FireBullet, "CTFPlayer_FireBullet", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_IsPlayerClass, "CTFPlayer_IsPlayerClass", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_ShouldDraw, "CTFPlayer_ShouldDraw", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_UpdateStepSound, "CTFPlayer_UpdateStepSound", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayerInventory_GetMaxItemCount, "CTFPlayerInventory_GetMaxItemCount", true, NOSAVE | DEBUGVAR); CVar(CTFPlayerInventory_GetMaxItemCount, "CTFPlayerInventory_GetMaxItemCount", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayerInventory_VerifyChangedLoadoutsAreValid, "CTFPlayerInventory_VerifyChangedLoadoutsAreValid", true, NOSAVE | DEBUGVAR); CVar(CTFPlayerInventory_VerifyChangedLoadoutsAreValid, "CTFPlayerInventory_VerifyChangedLoadoutsAreValid", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayerPanel_GetTeam, "CTFPlayerPanel_GetTeam", true, NOSAVE | DEBUGVAR); CVar(CTFPlayerPanel_GetTeam, "CTFPlayerPanel_GetTeam", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayerShared_InCond, "CTFPlayerShared_InCond", true, NOSAVE | DEBUGVAR); CVar(CTFPlayerShared_InCond, "CTFPlayerShared_InCond", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayerShared_IsPlayerDominated, "CTFPlayerShared_IsPlayerDominated", true, NOSAVE | DEBUGVAR); CVar(CTFPlayerShared_IsPlayerDominated, "CTFPlayerShared_IsPlayerDominated", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_AvoidPlayers, "CTFPlayer_AvoidPlayers", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_BRenderAsZombie, "CTFPlayer_BRenderAsZombie", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_BuildTransformations, "CTFPlayer_BuildTransformations", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_DoAnimationEvent, "CTFPlayer_DoAnimationEvent", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_EyeAngles, "CTFPlayer_EyeAngles", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_FireBullet, "CTFPlayer_FireBullet", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_GetMinFOV, "CTFPlayer_GetMinFOV", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_IsPlayerClass, "CTFPlayer_IsPlayerClass", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_ShouldDraw, "CTFPlayer_ShouldDraw", true, NOSAVE | DEBUGVAR);
CVar(CTFPlayer_UpdateStepSound, "CTFPlayer_UpdateStepSound", true, NOSAVE | DEBUGVAR);
CVar(CTFRagdoll_CreateTFRagdoll, "CTFRagdoll_CreateTFRagdoll", true, NOSAVE | DEBUGVAR); CVar(CTFRagdoll_CreateTFRagdoll, "CTFRagdoll_CreateTFRagdoll", true, NOSAVE | DEBUGVAR);
CVar(CTFRocketLauncher_CheckReloadMisfire, "CTFRocketLauncher_CheckReloadMisfire", true, NOSAVE | DEBUGVAR);
CVar(CTFRocketLauncher_FireProjectile, "CTFRocketLauncher_FireProjectile", true, NOSAVE | DEBUGVAR);
CVar(CTFTeamStatus_OnTick, "CTFTeamStatus_OnTick", true, NOSAVE | DEBUGVAR);
CVar(CTFWeaponBase_CalcIsAttackCritical, "CTFWeaponBase_CalcIsAttackCritical", true, NOSAVE | DEBUGVAR); CVar(CTFWeaponBase_CalcIsAttackCritical, "CTFWeaponBase_CalcIsAttackCritical", true, NOSAVE | DEBUGVAR);
CVar(CTFWeaponBase_CanFireRandomCriticalShot, "CTFWeaponBase_CanFireRandomCriticalShot", true, NOSAVE | DEBUGVAR);
CVar(CTFWeaponBase_GetShootSound, "CTFWeaponBase_GetShootSound", true, NOSAVE | DEBUGVAR); CVar(CTFWeaponBase_GetShootSound, "CTFWeaponBase_GetShootSound", true, NOSAVE | DEBUGVAR);
CVar(CThirdPersonManager_Update, "CThirdPersonManager_Update", true, NOSAVE | DEBUGVAR); CVar(CThirdPersonManager_Update, "CThirdPersonManager_Update", true, NOSAVE | DEBUGVAR);
CVar(CVGui_RunFrame, "CVGui_RunFrame", true, NOSAVE | DEBUGVAR);
CVar(CViewRender_DrawUnderwaterOverlay, "CViewRender_DrawUnderwaterOverlay", true, NOSAVE | DEBUGVAR); CVar(CViewRender_DrawUnderwaterOverlay, "CViewRender_DrawUnderwaterOverlay", true, NOSAVE | DEBUGVAR);
CVar(CViewRender_DrawViewModels, "CViewRender_DrawViewModels", true, NOSAVE | DEBUGVAR);
CVar(CViewRender_LevelInit, "CViewRender_LevelInit", true, NOSAVE | DEBUGVAR); CVar(CViewRender_LevelInit, "CViewRender_LevelInit", true, NOSAVE | DEBUGVAR);
CVar(CViewRender_PerformScreenOverlay, "CViewRender_PerformScreenOverlay", true, NOSAVE | DEBUGVAR); CVar(CViewRender_PerformScreenOverlay, "CViewRender_PerformScreenOverlay", true, NOSAVE | DEBUGVAR);
CVar(CViewRender_RenderView, "CViewRender_RenderView", true, NOSAVE | DEBUGVAR); CVar(CViewRender_RenderView, "CViewRender_RenderView", true, NOSAVE | DEBUGVAR);
CVar(CVoiceStatus_IsPlayerBlocked, "CVoiceStatus_IsPlayerBlocked", true, NOSAVE | DEBUGVAR);
CVar(CWeaponMedigun_PrimaryAttack, "CWeaponMedigun_PrimaryAttack", true, NOSAVE | DEBUGVAR);
CVar(DoEnginePostProcessing, "DoEnginePostProcessing", true, NOSAVE | DEBUGVAR); CVar(DoEnginePostProcessing, "DoEnginePostProcessing", true, NOSAVE | DEBUGVAR);
CVar(DSP_Process, "DSP_Process", true, NOSAVE | DEBUGVAR); CVar(DSP_Process, "DSP_Process", true, NOSAVE | DEBUGVAR);
CVar(FX_FireBullets, "FX_FireBullets", true, NOSAVE | DEBUGVAR); CVar(FX_FireBullets, "FX_FireBullets", true, NOSAVE | DEBUGVAR);
CVar(GenerateEquipRegionConflictMask, "GenerateEquipRegionConflictMask", true, NOSAVE | DEBUGVAR);
CVar(GetClientInterpAmount, "GetClientInterpAmount", true, NOSAVE | DEBUGVAR); CVar(GetClientInterpAmount, "GetClientInterpAmount", true, NOSAVE | DEBUGVAR);
CVar(HostState_Shutdown, "HostState_Shutdown", true, NOSAVE | DEBUGVAR); CVar(HostState_Shutdown, "HostState_Shutdown", true, NOSAVE | DEBUGVAR);
CVar(HostState_Restart, "HostState_Restart", true, NOSAVE | DEBUGVAR);
CVar(IEngineTrace_SetTraceEntity, "IEngineTrace_SetTraceEntity", true, NOSAVE | DEBUGVAR); CVar(IEngineTrace_SetTraceEntity, "IEngineTrace_SetTraceEntity", true, NOSAVE | DEBUGVAR);
CVar(IEngineTrace_TraceRay, "IEngineTrace_TraceRay", true, NOSAVE | DEBUGVAR); CVar(IEngineTrace_TraceRay, "IEngineTrace_TraceRay", true, NOSAVE | DEBUGVAR);
CVar(IEngineVGui_Paint, "IEngineVGui_Paint", true, NOSAVE | DEBUGVAR); CVar(IEngineVGui_Paint, "IEngineVGui_Paint", true, NOSAVE | DEBUGVAR);
CVar(IMaterialSystem_FindTexture, "IMaterialSystem_FindTexture", true, NOSAVE | DEBUGVAR);
CVar(IMatSystemSurface_OnScreenSizeChanged, "IMatSystemSurface_OnScreenSizeChanged", true, NOSAVE | DEBUGVAR); CVar(IMatSystemSurface_OnScreenSizeChanged, "IMatSystemSurface_OnScreenSizeChanged", true, NOSAVE | DEBUGVAR);
CVar(IPanel_PaintTraverse, "IPanel_PaintTraverse", true, NOSAVE | DEBUGVAR); CVar(IPanel_PaintTraverse, "IPanel_PaintTraverse", true, NOSAVE | DEBUGVAR);
CVar(ISteamFriends_GetFriendPersonaName, "ISteamFriends_GetFriendPersonaName", true, NOSAVE | DEBUGVAR); CVar(ISteamFriends_GetFriendPersonaName, "ISteamFriends_GetFriendPersonaName", true, NOSAVE | DEBUGVAR);
@@ -973,11 +1013,16 @@ namespace Vars
CVar(IVModelRender_DrawModelExecute, "IVModelRender_DrawModelExecute", true, NOSAVE | DEBUGVAR); CVar(IVModelRender_DrawModelExecute, "IVModelRender_DrawModelExecute", true, NOSAVE | DEBUGVAR);
CVar(IVModelRender_ForcedMaterialOverride, "IVModelRender_ForcedMaterialOverride", true, NOSAVE | DEBUGVAR); CVar(IVModelRender_ForcedMaterialOverride, "IVModelRender_ForcedMaterialOverride", true, NOSAVE | DEBUGVAR);
CVar(KeyValues_SetInt, "KeyValues_SetInt", true, NOSAVE | DEBUGVAR); CVar(KeyValues_SetInt, "KeyValues_SetInt", true, NOSAVE | DEBUGVAR);
CVar(NDebugOverlay_BoxAngles, "NDebugOverlay_BoxAngles", true, NOSAVE | DEBUGVAR);
CVar(NotificationQueue_Add, "NotificationQueue_Add", true, NOSAVE | DEBUGVAR); CVar(NotificationQueue_Add, "NotificationQueue_Add", true, NOSAVE | DEBUGVAR);
CVar(R_DrawSkyBox, "R_DrawSkyBox", true, NOSAVE | DEBUGVAR);
CVar(RecvProxy_SimulationTime, "RecvProxy_SimulationTime", true, NOSAVE | DEBUGVAR); CVar(RecvProxy_SimulationTime, "RecvProxy_SimulationTime", true, NOSAVE | DEBUGVAR);
CVar(R_DrawSkyBox, "R_DrawSkyBox", true, NOSAVE | DEBUGVAR);
CVar(SectionedListPanel_SetItemFgColor, "SectionedListPanel_SetItemFgColor", true, NOSAVE | DEBUGVAR);
//CVar(S_StartDynamicSound, "S_StartDynamicSound", true, NOSAVE | DEBUGVAR);
CVar(S_StartSound, "S_StartSound", true, NOSAVE | DEBUGVAR);
CVar(TF_IsHolidayActive, "TF_IsHolidayActive", true, NOSAVE | DEBUGVAR); CVar(TF_IsHolidayActive, "TF_IsHolidayActive", true, NOSAVE | DEBUGVAR);
CVar(VGuiMenuBuilder_AddMenuItem, "VGuiMenuBuilder_AddMenuItem", true, NOSAVE | DEBUGVAR); CVar(VGuiMenuBuilder_AddMenuItem, "VGuiMenuBuilder_AddMenuItem", true, NOSAVE | DEBUGVAR);
CVar(vgui_Panel_SetBgColor, "vgui_Panel_SetBgColor", true, NOSAVE | DEBUGVAR);
NAMESPACE_END(Hooks); NAMESPACE_END(Hooks);
#endif #endif
} }