mirror of
https://github.com/rei-2/Amalgam
synced 2026-10-10 04:43:09 +08:00
improve clean screenshot for reveal/color scoreboard, fov, and thirdperson
preferential changes fixes
This commit is contained in:
@@ -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" />
|
||||||
|
|||||||
@@ -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" />
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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 = {};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
@@ -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())
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
}
|
||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -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");
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
@@ -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();
|
||||||
}
|
}
|
||||||
@@ -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
@@ -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
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user