2022-02-19 02:31:16 +01:00
|
|
|
//===========================================================================//
|
|
|
|
//
|
|
|
|
// Purpose: Implements the debug panels.
|
|
|
|
//
|
|
|
|
// $NoKeywords: $
|
|
|
|
//===========================================================================//
|
|
|
|
|
|
|
|
#include <core/stdafx.h>
|
2022-04-09 16:16:40 +02:00
|
|
|
#include <tier1/cvar.h>
|
2022-02-28 01:01:40 +01:00
|
|
|
#include <windows/id3dx.h>
|
|
|
|
#include <vpc/keyvalues.h>
|
2022-02-19 02:31:16 +01:00
|
|
|
#include <mathlib/color.h>
|
2022-10-26 01:55:36 +02:00
|
|
|
#include <rtech/rtech_utils.h>
|
2022-07-03 11:33:42 +02:00
|
|
|
#include <rtech/rui/rui.h>
|
2022-02-19 02:31:16 +01:00
|
|
|
#include <vgui/vgui_debugpanel.h>
|
|
|
|
#include <vguimatsurface/MatSystemSurface.h>
|
2022-03-26 01:18:48 +01:00
|
|
|
#include <materialsystem/cmaterialsystem.h>
|
2022-07-13 19:46:55 +01:00
|
|
|
#ifndef CLIENT_DLL
|
|
|
|
#include <engine/server/server.h>
|
2022-10-26 01:55:36 +02:00
|
|
|
#endif // !CLIENT_DLL
|
2022-09-11 23:48:11 +02:00
|
|
|
#include <engine/sys_engine.h>
|
2022-10-26 01:55:36 +02:00
|
|
|
#include <engine/debugoverlay.h>
|
|
|
|
#include <engine/client/clientstate.h>
|
|
|
|
#include <materialsystem/cmaterialglue.h>
|
2022-07-13 19:46:55 +01:00
|
|
|
|
2021-12-25 22:36:38 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2022-07-02 19:08:35 +02:00
|
|
|
// Purpose: proceed a log update
|
2021-12-25 22:36:38 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2022-10-26 01:55:36 +02:00
|
|
|
void CTextOverlay::Update(void)
|
2021-12-25 22:36:38 +01:00
|
|
|
{
|
2022-01-08 02:05:33 +01:00
|
|
|
if (!g_pMatSystemSurface)
|
2021-12-25 22:36:38 +01:00
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
2023-02-19 09:51:46 +01:00
|
|
|
Con_NPrintf();
|
2022-09-11 23:48:11 +02:00
|
|
|
if (con_drawnotify->GetBool())
|
2021-12-25 22:36:38 +01:00
|
|
|
{
|
2022-09-11 23:48:11 +02:00
|
|
|
DrawNotify();
|
2021-12-25 22:36:38 +01:00
|
|
|
}
|
2022-01-09 16:14:17 +01:00
|
|
|
if (cl_showsimstats->GetBool())
|
2021-12-25 22:36:38 +01:00
|
|
|
{
|
2022-01-08 02:05:33 +01:00
|
|
|
DrawSimStats();
|
|
|
|
}
|
2022-01-09 16:14:17 +01:00
|
|
|
if (cl_showgpustats->GetBool())
|
2022-01-08 02:05:33 +01:00
|
|
|
{
|
|
|
|
DrawGPUStats();
|
2021-12-25 22:36:38 +01:00
|
|
|
}
|
2022-07-01 22:33:48 +01:00
|
|
|
if (cl_showmaterialinfo->GetBool())
|
|
|
|
{
|
|
|
|
DrawCrosshairMaterial();
|
|
|
|
}
|
2022-07-20 22:50:55 +01:00
|
|
|
if (stream_overlay->GetBool())
|
|
|
|
{
|
|
|
|
DrawStreamOverlay();
|
|
|
|
}
|
2022-01-08 02:05:33 +01:00
|
|
|
}
|
2021-12-25 22:36:38 +01:00
|
|
|
|
2022-01-08 02:05:33 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2022-07-02 19:08:35 +02:00
|
|
|
// Purpose: add a log to the vector.
|
2022-01-08 02:05:33 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2023-03-26 16:09:05 +02:00
|
|
|
void CTextOverlay::AddLog(const eDLL_T context, const string& svText)
|
2022-01-08 02:05:33 +01:00
|
|
|
{
|
2022-10-26 01:55:36 +02:00
|
|
|
if (!con_drawnotify->GetBool() || svText.empty())
|
2022-01-08 02:05:33 +01:00
|
|
|
{
|
2022-10-26 01:55:36 +02:00
|
|
|
return;
|
|
|
|
}
|
2022-09-11 23:48:11 +02:00
|
|
|
|
2022-10-26 01:55:36 +02:00
|
|
|
std::lock_guard<std::mutex> l(m_Mutex);
|
2022-10-30 10:08:14 +01:00
|
|
|
m_vNotifyText.push_back(CTextNotify{ context, con_notifytime->GetFloat() , svText });
|
2022-10-26 01:55:36 +02:00
|
|
|
|
|
|
|
while (m_vNotifyText.size() > 0 &&
|
|
|
|
(m_vNotifyText.size() > con_notifylines->GetInt()))
|
|
|
|
{
|
|
|
|
m_vNotifyText.erase(m_vNotifyText.begin());
|
2022-01-08 02:05:33 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
2022-09-11 23:48:11 +02:00
|
|
|
// Purpose: draw notify logs on screen.
|
2022-01-08 02:05:33 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2022-10-26 01:55:36 +02:00
|
|
|
void CTextOverlay::DrawNotify(void)
|
2022-01-08 02:05:33 +01:00
|
|
|
{
|
2023-01-30 22:08:01 +01:00
|
|
|
int x = con_notify_invert_x->GetBool() ? g_nWindowRect[0] - con_notify_offset_x->GetInt() : con_notify_offset_x->GetInt();
|
|
|
|
int y = con_notify_invert_y->GetBool() ? g_nWindowRect[1] - con_notify_offset_y->GetInt() : con_notify_offset_y->GetInt();
|
2022-09-11 23:48:11 +02:00
|
|
|
|
|
|
|
std::lock_guard<std::mutex> l(m_Mutex);
|
2022-10-26 01:55:36 +02:00
|
|
|
for (size_t i = 0, j = m_vNotifyText.size(); i < j; i++)
|
2022-09-11 23:48:11 +02:00
|
|
|
{
|
2022-10-30 10:08:14 +01:00
|
|
|
CTextNotify* pNotify = &m_vNotifyText[i];
|
2022-09-11 23:48:11 +02:00
|
|
|
Color c = GetLogColorForType(m_vNotifyText[i].m_type);
|
|
|
|
|
|
|
|
float flTimeleft = pNotify->m_flLifeRemaining;
|
|
|
|
|
2022-09-19 01:46:35 +02:00
|
|
|
if (flTimeleft < 1.0f)
|
2021-12-25 22:36:38 +01:00
|
|
|
{
|
2022-09-19 01:46:35 +02:00
|
|
|
float f = clamp(flTimeleft, 0.0f, 1.0f) / 1.0f;
|
2023-04-02 17:23:53 +02:00
|
|
|
c[3] = uint8_t(f * 255.0f);
|
2022-09-11 23:48:11 +02:00
|
|
|
|
|
|
|
if (i == 0 && f < 0.2f)
|
2021-12-25 22:36:38 +01:00
|
|
|
{
|
2023-04-02 00:59:24 +02:00
|
|
|
y -= int(m_nFontHeight * (float(1.0f - f / 0.2f)));
|
2021-12-25 22:36:38 +01:00
|
|
|
}
|
2022-09-11 23:48:11 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
c[3] = 255;
|
|
|
|
}
|
2023-04-02 00:59:24 +02:00
|
|
|
CMatSystemSurface_DrawColoredText(g_pMatSystemSurface, v_Rui_GetFontFace(),
|
2023-04-08 18:42:20 +01:00
|
|
|
m_nFontHeight, x, y, c.r(), c.g(), c.b(), c.a(), "%s", m_vNotifyText[i].m_svMessage.c_str());
|
2022-09-11 23:48:11 +02:00
|
|
|
|
|
|
|
if (IsX360())
|
|
|
|
{
|
|
|
|
// For some reason the fontTall value on 360 is about twice as high as it should be
|
|
|
|
y += 12;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
y += m_nFontHeight;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-10-26 01:55:36 +02:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Purpose: draws formatted text over RUI
|
|
|
|
// Input : x -
|
|
|
|
// y -
|
|
|
|
// pszFormat -
|
|
|
|
// ... -
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
void CTextOverlay::DrawFormat(const int x, const int y, const Color c, const char* pszFormat, ...) const
|
|
|
|
{
|
|
|
|
static char szLogbuf[4096]{};
|
|
|
|
{/////////////////////////////
|
|
|
|
va_list args{};
|
|
|
|
va_start(args, pszFormat);
|
|
|
|
|
|
|
|
vsnprintf(szLogbuf, sizeof(szLogbuf), pszFormat, args);
|
|
|
|
|
|
|
|
szLogbuf[sizeof(szLogbuf) - 1] = '\0';
|
|
|
|
va_end(args);
|
|
|
|
}/////////////////////////////
|
|
|
|
|
2023-04-08 18:42:20 +01:00
|
|
|
CMatSystemSurface_DrawColoredText(g_pMatSystemSurface, v_Rui_GetFontFace(), m_nFontHeight, x, y, c.r(), c.g(), c.b(), c.a(), "%s", szLogbuf);
|
2022-10-26 01:55:36 +02:00
|
|
|
}
|
|
|
|
|
2022-09-11 23:48:11 +02:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Purpose: checks if the notify text is expired
|
|
|
|
// Input : flFrameTime -
|
|
|
|
//-----------------------------------------------------------------------------
|
2022-10-26 01:55:36 +02:00
|
|
|
void CTextOverlay::ShouldDraw(const float flFrameTime)
|
2022-09-11 23:48:11 +02:00
|
|
|
{
|
|
|
|
if (con_drawnotify->GetBool())
|
|
|
|
{
|
|
|
|
std::lock_guard<std::mutex> l(m_Mutex);
|
|
|
|
|
2023-02-26 19:38:48 +01:00
|
|
|
ssize_t i;
|
|
|
|
ssize_t c = m_vNotifyText.size();
|
2022-09-11 23:48:11 +02:00
|
|
|
for (i = c - 1; i >= 0; i--)
|
|
|
|
{
|
2022-10-30 10:08:14 +01:00
|
|
|
CTextNotify* pNotify = &m_vNotifyText[i];
|
2022-09-12 00:44:03 +02:00
|
|
|
pNotify->m_flLifeRemaining -= flFrameTime;
|
2022-09-11 23:48:11 +02:00
|
|
|
|
2022-09-12 00:44:03 +02:00
|
|
|
if (pNotify->m_flLifeRemaining <= 0.0f)
|
2021-12-25 22:36:38 +01:00
|
|
|
{
|
2022-09-11 23:48:11 +02:00
|
|
|
m_vNotifyText.erase(m_vNotifyText.begin() + i);
|
|
|
|
continue;
|
2021-12-25 22:36:38 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2022-09-11 23:48:11 +02:00
|
|
|
else if (!m_vNotifyText.empty())
|
|
|
|
{
|
2022-10-26 01:55:36 +02:00
|
|
|
std::lock_guard<std::mutex> l(m_Mutex);
|
2022-09-11 23:48:11 +02:00
|
|
|
m_vNotifyText.clear();
|
|
|
|
}
|
2021-12-25 22:36:38 +01:00
|
|
|
}
|
|
|
|
|
2022-02-28 01:01:40 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2023-02-19 09:51:46 +01:00
|
|
|
// Purpose: draws console messages on screen (only used for 'host_speeds'!, deprecated!!).
|
2022-02-28 01:01:40 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2023-02-19 09:51:46 +01:00
|
|
|
void CTextOverlay::Con_NPrintf(void)
|
2022-02-28 01:01:40 +01:00
|
|
|
{
|
2023-02-19 09:51:46 +01:00
|
|
|
if (!m_szCon_NPrintf_Buf[0])
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2022-10-30 10:08:14 +01:00
|
|
|
static const Color c = { 255, 255, 255, 255 };
|
2023-02-19 10:23:35 +01:00
|
|
|
const int nWidth = cl_notify_invert_x->GetBool() ? g_nWindowRect[0] - cl_notify_offset_x->GetInt() : cl_notify_offset_x->GetInt() + m_nCon_NPrintf_Idx * m_nFontHeight;
|
|
|
|
const int nHeight = cl_notify_invert_y->GetBool() ? g_nWindowRect[1] - cl_notify_offset_y->GetInt() : cl_notify_offset_y->GetInt();
|
2022-02-28 01:01:40 +01:00
|
|
|
|
2023-04-08 18:42:20 +01:00
|
|
|
CMatSystemSurface_DrawColoredText(g_pMatSystemSurface, v_Rui_GetFontFace(), m_nFontHeight, nWidth, nHeight, c.r(), c.g(), c.b(), c.a(), "%s", m_szCon_NPrintf_Buf);
|
2023-02-19 09:51:46 +01:00
|
|
|
|
|
|
|
m_nCon_NPrintf_Idx = 0;
|
|
|
|
m_szCon_NPrintf_Buf[0] = '\0';
|
2022-02-28 01:01:40 +01:00
|
|
|
}
|
|
|
|
|
2022-01-08 02:05:33 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2022-10-26 01:55:36 +02:00
|
|
|
// Purpose: draws live simulation stats on screen.
|
2022-01-08 02:05:33 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2022-10-26 01:55:36 +02:00
|
|
|
void CTextOverlay::DrawSimStats(void) const
|
2021-12-25 22:36:38 +01:00
|
|
|
{
|
2022-10-30 10:08:14 +01:00
|
|
|
static const Color c = { 255, 255, 255, 255 };
|
2023-01-30 22:08:01 +01:00
|
|
|
const int nWidth = cl_simstats_invert_x->GetBool() ? g_nWindowRect[0] - cl_simstats_offset_x->GetInt() : cl_simstats_offset_x->GetInt();
|
|
|
|
const int nHeight = cl_simstats_invert_y->GetBool() ? g_nWindowRect[1] - cl_simstats_offset_y->GetInt() : cl_simstats_offset_y->GetInt();
|
2022-07-13 19:46:55 +01:00
|
|
|
|
2022-10-26 01:55:36 +02:00
|
|
|
DrawFormat(nWidth, nHeight, c, "Server Frame: (%d) Client Frame: (%d) Render Frame: (%d)\n",
|
2022-08-18 11:35:32 +02:00
|
|
|
g_pClientState->GetServerTickCount(), g_pClientState->GetClientTickCount(), *g_nRenderTickCount);
|
2021-12-25 22:36:38 +01:00
|
|
|
}
|
|
|
|
|
2022-01-08 02:05:33 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2022-10-26 01:55:36 +02:00
|
|
|
// Purpose: draws live gpu stats on screen.
|
2022-01-08 02:05:33 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2022-10-26 01:55:36 +02:00
|
|
|
void CTextOverlay::DrawGPUStats(void) const
|
2022-01-08 02:05:33 +01:00
|
|
|
{
|
2022-10-30 10:08:14 +01:00
|
|
|
static const Color c = { 255, 255, 255, 255 };
|
2023-01-30 22:08:01 +01:00
|
|
|
const int nWidth = cl_gpustats_invert_x->GetBool() ? g_nWindowRect[0] - cl_gpustats_offset_x->GetInt() : cl_gpustats_offset_x->GetInt();
|
|
|
|
const int nHeight = cl_gpustats_invert_y->GetBool() ? g_nWindowRect[1] - cl_gpustats_offset_y->GetInt() : cl_gpustats_offset_y->GetInt();
|
2022-02-28 01:01:40 +01:00
|
|
|
|
2022-10-26 01:55:36 +02:00
|
|
|
DrawFormat(nWidth, nHeight, c, "%8d/%8d/%8dkiB unusable/unfree/total GPU Streaming Texture memory\n",
|
2022-10-30 10:18:22 +01:00
|
|
|
*g_nUnusableStreamingTextureMemory / 1024, *g_nUnfreeStreamingTextureMemory / 1024, *g_nTotalStreamingTextureMemory / 1024);
|
2022-01-08 02:05:33 +01:00
|
|
|
}
|
|
|
|
|
2022-07-02 19:08:35 +02:00
|
|
|
//-----------------------------------------------------------------------------
|
2022-10-26 01:55:36 +02:00
|
|
|
// Purpose: draws currently traced material info on screen.
|
2022-07-02 19:08:35 +02:00
|
|
|
//-----------------------------------------------------------------------------
|
2022-10-26 01:55:36 +02:00
|
|
|
void CTextOverlay::DrawCrosshairMaterial(void) const
|
2022-07-01 22:33:48 +01:00
|
|
|
{
|
2022-09-12 00:44:03 +02:00
|
|
|
CMaterialGlue* pMaterialGlue = GetMaterialAtCrossHair();
|
|
|
|
if (!pMaterialGlue)
|
2022-07-01 22:33:48 +01:00
|
|
|
return;
|
|
|
|
|
|
|
|
static Color c = { 255, 255, 255, 255 };
|
2022-10-26 01:55:36 +02:00
|
|
|
DrawFormat(cl_materialinfo_offset_x->GetInt(), cl_materialinfo_offset_y->GetInt(), c, "name: %s\nguid: %llx\ndimensions: %d x %d\nsurface: %s/%s\nstc: %i\ntc: %i",
|
2022-09-12 00:44:03 +02:00
|
|
|
pMaterialGlue->m_pszName,
|
|
|
|
pMaterialGlue->m_GUID,
|
|
|
|
pMaterialGlue->m_iWidth, pMaterialGlue->m_iHeight,
|
2022-10-13 02:22:50 +02:00
|
|
|
pMaterialGlue->m_pszSurfaceProp, pMaterialGlue->m_pszSurfaceProp2,
|
2022-09-12 00:44:03 +02:00
|
|
|
pMaterialGlue->m_nStreamableTextureCount,
|
|
|
|
pMaterialGlue->m_pShaderGlue->m_nTextureInputCount);
|
2022-07-01 22:33:48 +01:00
|
|
|
}
|
|
|
|
|
2022-10-26 01:55:36 +02:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Purpose: draws the stream overlay on screen.
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
void CTextOverlay::DrawStreamOverlay(void) const
|
2022-07-20 22:50:55 +01:00
|
|
|
{
|
2022-10-26 01:55:36 +02:00
|
|
|
static char szLogbuf[4096];
|
2022-10-30 10:08:14 +01:00
|
|
|
static const Color c = { 255, 255, 255, 255 };
|
2022-10-26 01:55:36 +02:00
|
|
|
|
|
|
|
GetStreamOverlay(stream_overlay_mode->GetString(), szLogbuf, sizeof(szLogbuf));
|
2023-04-08 18:42:20 +01:00
|
|
|
CMatSystemSurface_DrawColoredText(g_pMatSystemSurface, v_Rui_GetFontFace(), m_nFontHeight, 20, 300, c.r(), c.g(), c.b(), c.a(), "%s", szLogbuf);
|
2022-07-20 22:50:55 +01:00
|
|
|
}
|
|
|
|
|
2022-01-08 02:05:33 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2022-10-26 01:55:36 +02:00
|
|
|
// Purpose: gets the log color for context.
|
|
|
|
// Input : context -
|
|
|
|
// Output : Color
|
2022-01-08 02:05:33 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
2023-03-26 16:09:05 +02:00
|
|
|
Color CTextOverlay::GetLogColorForType(const eDLL_T context) const
|
2021-12-25 22:36:38 +01:00
|
|
|
{
|
2022-08-17 12:28:52 +02:00
|
|
|
switch (context)
|
2021-12-25 22:36:38 +01:00
|
|
|
{
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::SCRIPT_SERVER:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_script_server_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::SCRIPT_CLIENT:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_script_client_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::SCRIPT_UI:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_script_ui_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::SERVER:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_native_server_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::CLIENT:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_native_client_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::UI:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_native_ui_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::ENGINE:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_native_engine_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::FS:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_native_fs_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::RTECH:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_native_rtech_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::MS:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_native_ms_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::AUDIO:
|
2022-11-27 10:19:23 +01:00
|
|
|
return { con_notify_native_audio_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::VIDEO:
|
2022-11-27 10:19:23 +01:00
|
|
|
return { con_notify_native_video_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::NETCON:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_netcon_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::COMMON:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_common_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::SYSTEM_WARNING:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_warning_clr->GetColor() };
|
2023-03-26 16:09:05 +02:00
|
|
|
case eDLL_T::SYSTEM_ERROR:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_error_clr->GetColor() };
|
2022-01-12 02:53:07 +01:00
|
|
|
default:
|
2022-09-12 00:44:03 +02:00
|
|
|
return { con_notify_native_engine_clr->GetColor() };
|
2021-12-25 22:36:38 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
2022-10-26 01:55:36 +02:00
|
|
|
CTextOverlay* g_pOverlay = new CTextOverlay();
|