153 lines
3.2 KiB
C
153 lines
3.2 KiB
C
|
#pragma once
|
|||
|
|
|||
|
bool bMenu = false;
|
|||
|
|
|||
|
using paint_traverse_t = void(__thiscall *)(void*, unsigned int, bool, bool);
|
|||
|
paint_traverse_t painttraverse_original = nullptr;
|
|||
|
|
|||
|
void __fastcall hkPaintTraverse(void* pPanels, int edx, unsigned int vguiPanel, bool forceRepaint, bool allowForce)
|
|||
|
{
|
|||
|
painttraverse_original(pPanels, vguiPanel, forceRepaint, allowForce);
|
|||
|
|
|||
|
CBaseEntity* pLocal = pEntList->GetClientEntity(pEngine->GetLocalPlayer());
|
|||
|
|
|||
|
if (!pLocal)//superior way of checking if we are ingame
|
|||
|
{
|
|||
|
static unsigned int FocusOverlayPanel = 0;
|
|||
|
|
|||
|
static bool FoundPanel = false;
|
|||
|
|
|||
|
if (!FoundPanel)
|
|||
|
{
|
|||
|
PCHAR szPanelName = (PCHAR)pPanel->GetName(vguiPanel);
|
|||
|
if (strstr(szPanelName, "MainMenu"))
|
|||
|
{
|
|||
|
FocusOverlayPanel = vguiPanel;
|
|||
|
|
|||
|
FoundPanel = true;
|
|||
|
}
|
|||
|
}
|
|||
|
else if (FocusOverlayPanel == vguiPanel)
|
|||
|
{
|
|||
|
if (GetAsyncKeyState(VK_DELETE) & 1)
|
|||
|
bMenu = !bMenu;
|
|||
|
|
|||
|
if (gCvars.watermark)
|
|||
|
{
|
|||
|
Draw::DrawTexts(Fonts::m_MenuFont, 20, 20, 255, 255, 255, 255, L"INTERWEBZ");
|
|||
|
}
|
|||
|
|
|||
|
if (bMenu)
|
|||
|
{
|
|||
|
g_Mouse.Update();
|
|||
|
|
|||
|
int copy_x, copy_y;
|
|||
|
int copy_w, copy_h;
|
|||
|
|
|||
|
g_Menu.GetMenuPos(copy_x, copy_y);
|
|||
|
g_Menu.GetMenuSize(copy_w, copy_h);
|
|||
|
|
|||
|
g_Menu.DrawMenu();
|
|||
|
|
|||
|
g_Mouse.Drag(g_Mouse.bDragged[0],
|
|||
|
!g_Menu.IsHandlingItem(),
|
|||
|
g_Mouse.LeftClick(copy_x, copy_y, copy_w, copy_h), copy_x, copy_y, g_Mouse.iDiffX[0], g_Mouse.iDiffY[0]);
|
|||
|
|
|||
|
g_Menu.SetMenuPos(copy_x, copy_y);
|
|||
|
|
|||
|
if (g_Menu.IsHandlingItem())
|
|||
|
g_Menu.RemoveMenuFlag(FL_DISABLEDRAG);
|
|||
|
}
|
|||
|
|
|||
|
if (!pLocal)
|
|||
|
{
|
|||
|
FoundPanel = false;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (pLocal)//WERE INGAME LOL
|
|||
|
{
|
|||
|
static unsigned int FocusOverlayPanel = 0;
|
|||
|
|
|||
|
static bool FoundPanel = false;
|
|||
|
|
|||
|
if (!FoundPanel)
|
|||
|
{
|
|||
|
PCHAR szPanelName = (PCHAR)pPanel->GetName(vguiPanel);
|
|||
|
if (strstr(szPanelName, "FocusOverlayPanel"))
|
|||
|
{
|
|||
|
FocusOverlayPanel = vguiPanel;
|
|||
|
|
|||
|
FoundPanel = true;
|
|||
|
}
|
|||
|
}
|
|||
|
else if (FocusOverlayPanel == vguiPanel)
|
|||
|
{
|
|||
|
if (GetAsyncKeyState(VK_DELETE) & 1)
|
|||
|
bMenu = !bMenu;
|
|||
|
|
|||
|
int iScreenWidth, iScreenHeight;
|
|||
|
pEngine->GetScreenSize(iScreenWidth, iScreenHeight);
|
|||
|
|
|||
|
if (gCvars.ESPBOX || gCvars.ESPNAME || gCvars.ESPHEALTH)
|
|||
|
{
|
|||
|
ESP::draw(pLocal);
|
|||
|
}
|
|||
|
|
|||
|
if (gCvars.watermark)
|
|||
|
{
|
|||
|
Draw::DrawTexts(Fonts::m_MenuFont, 20, 20, 255, 255, 255, 255, L"INTERWEBZ");
|
|||
|
}
|
|||
|
|
|||
|
if (gCvars.radar)
|
|||
|
{
|
|||
|
ESP::DrawRadarBack(iScreenWidth, iScreenHeight);
|
|||
|
ESP::drawradar(iScreenWidth, iScreenHeight, pLocal);
|
|||
|
}
|
|||
|
|
|||
|
if (pLocal->IsAlive())
|
|||
|
{
|
|||
|
if (gCvars.velocity)
|
|||
|
{
|
|||
|
ESP::drawvelocity(iScreenWidth, iScreenHeight, pLocal);
|
|||
|
}
|
|||
|
|
|||
|
if (gCvars.drawmonitor)
|
|||
|
{
|
|||
|
ESP::DrawMonitor(iScreenWidth, iScreenHeight, pLocal);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
pPanel->SetMouseInputEnabled(vguiPanel, bMenu);
|
|||
|
|
|||
|
if (bMenu)
|
|||
|
{
|
|||
|
g_Mouse.Update();
|
|||
|
|
|||
|
int copy_x, copy_y;
|
|||
|
int copy_w, copy_h;
|
|||
|
|
|||
|
g_Menu.GetMenuPos(copy_x, copy_y);
|
|||
|
g_Menu.GetMenuSize(copy_w, copy_h);
|
|||
|
|
|||
|
g_Menu.DrawMenu();
|
|||
|
|
|||
|
g_Mouse.Drag(g_Mouse.bDragged[0],
|
|||
|
!g_Menu.IsHandlingItem(),
|
|||
|
g_Mouse.LeftClick(copy_x, copy_y, copy_w, copy_h), copy_x, copy_y, g_Mouse.iDiffX[0], g_Mouse.iDiffY[0]);
|
|||
|
|
|||
|
g_Menu.SetMenuPos(copy_x, copy_y);
|
|||
|
|
|||
|
if (g_Menu.IsHandlingItem())
|
|||
|
g_Menu.RemoveMenuFlag(FL_DISABLEDRAG);
|
|||
|
}
|
|||
|
|
|||
|
if (pLocal)
|
|||
|
{
|
|||
|
FoundPanel = false;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|