You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.4 KiB
96 lines
2.4 KiB
//========= Copyright © 1996-2005, 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" |
|
#include "tier1/UtlSortVector.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 legend, bool predictable, 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 |
|
{ |
|
int index; |
|
char classname[ DUMP_CLASSNAME_SIZE ]; |
|
bool networked; |
|
char fieldstring[ DUMP_STRING_SIZE ]; |
|
bool differs; |
|
bool withintolerance; |
|
bool noterrorchecked; |
|
|
|
class CDumpInfoLess |
|
{ |
|
public: |
|
bool Less( const DumpInfo &src1, const DumpInfo &src2, void *pCtx ) |
|
{ |
|
int str = Q_stricmp( src1.classname, src2.classname ); |
|
if ( str < 0 ) |
|
return true; |
|
else if ( str > 0 ) |
|
return false; |
|
|
|
return src1.index < src2.index; |
|
} |
|
}; |
|
}; |
|
|
|
CUtlSortVector< DumpInfo, DumpInfo::CDumpInfoLess > m_DumpEntityInfo; |
|
|
|
EHANDLE m_hDumpEntity; |
|
int m_nCurrentIndex; |
|
|
|
CPanelAnimationVar( vgui::HFont, m_FontSmall, "ItemFont", "DebugOverlay" ); |
|
CPanelAnimationVar( vgui::HFont, m_FontMedium, "LabelFont", "DebugOverlay" ); |
|
CPanelAnimationVar( vgui::HFont, m_FontBig, "TitleFont", "DebugOverlay" ); |
|
}; |
|
|
|
CPDumpPanel *GetPDumpPanel(); |
|
|
|
#endif // HUD_PDUMP_H
|
|
|