r5sdk/r5dev/vgui/vgui_baseui_interface.cpp
Amos 2719a85504 Debug overlay QOL improvements + Con_NPrintf() hook
* Added ability to invert rect to calculate offsets from bottom/right as well so debug text doesn't get out of view, or obstruct view when window is resized.
* Added Con_NPrintf() hook which shows detailed systems running times and VGUI panel debug information.
2022-02-28 01:01:40 +01:00

48 lines
1.5 KiB
C++

//===========================================================================//
//
// Purpose: Implements all the functions exported by the GameUI dll.
//
// $NoKeywords: $
//===========================================================================//
#include <core/stdafx.h>
#include "tier0/cvar.h"
#include <engine/sys_utils.h>
#include <vgui/vgui_debugpanel.h>
#include <vgui/vgui_baseui_interface.h>
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
int HCEngineVGui_Paint(void* thisptr, PaintMode_t mode)
{
int result = CEngineVGui_Paint(thisptr, mode);
static void* pCMatSystemSurface = ADDRESS(0x14D40B3B0).RCast<void* (*)()>();
static auto fnRenderStart = ADDRESS(0x14053EFC0).RCast<void(*)(void*)>();
static auto fnRenderEnd = ADDRESS(0x14053F1B0).RCast<void* (*)()>();
if (mode == PaintMode_t::PAINT_UIPANELS || mode == PaintMode_t::PAINT_INGAMEPANELS) // Render in-main menu and in-game.
{
fnRenderStart(pCMatSystemSurface);
g_pLogSystem.Update();
fnRenderEnd();
}
return result;
}
///////////////////////////////////////////////////////////////////////////////
void CEngineVGui_Attach()
{
//DetourAttach((LPVOID*)&CEngineVGui_Paint, &HCEngineVGui_Paint);
}
void CEngineVGui_Detach()
{
//DetourDetach((LPVOID*)&CEngineVGui_Paint, &HCEngineVGui_Paint);
}
///////////////////////////////////////////////////////////////////////////////