hl2_src-leak-2017/src/game/client/hud_pdump.h

79 lines
2.0 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef HUD_PDUMP_H
#define HUD_PDUMP_H
#ifdef _WIN32
#pragma once
#endif
#include <vgui_controls/Panel.h>
#include "hudelement.h"
namespace vgui
{
class IScheme;
};
class CPDumpPanel : public CHudElement, public vgui::Panel
{
DECLARE_CLASS_SIMPLE( CPDumpPanel, vgui::Panel );
public:
enum
{
DUMP_CLASSNAME_SIZE = 128,
DUMP_STRING_SIZE = 128,
};
CPDumpPanel( const char *pElementName );
~CPDumpPanel();
DECLARE_MULTIPLY_INHERITED();
virtual void ApplySettings( KeyValues *inResourceData );
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
virtual void Paint( void );
virtual bool ShouldDraw();
// Remove dump info
void Clear();
void DumpEntity( C_BaseEntity *ent, int commands_acknowledged );
void DumpComparision( const char *classname, const char *fieldname, const char *fieldtype,
bool networked, bool noterrorchecked, bool differs, bool withintolerance, const char *value );
private:
void PredictionDumpColor( bool networked, bool errorchecked, bool differs, bool withintolerance,
int& r, int& g, int& b, int& a );
//-----------------------------------------------------------------------------
// Purpose: Stores some info about the various fields of an entity for display
//-----------------------------------------------------------------------------
struct DumpInfo
{
char classname[ DUMP_CLASSNAME_SIZE ];
bool networked;
char fieldstring[ DUMP_STRING_SIZE ];
bool differs;
bool withintolerance;
bool noterrorchecked;
};
CUtlVector< DumpInfo > m_DumpEntityInfo;
EHANDLE m_hDumpEntity;
CPanelAnimationVar( vgui::HFont, m_FontSmall, "ItemFont", "DefaultVerySmall" );
CPanelAnimationVar( vgui::HFont, m_FontMedium, "LabelFont", "DefaultSmall" );
CPanelAnimationVar( vgui::HFont, m_FontBig, "TitleFont", "Trebuchet24" );
};
CPDumpPanel *GetPDumpPanel();
#endif // HUD_PDUMP_H