diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /sp/src/game/client/hud.h | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'sp/src/game/client/hud.h')
| -rw-r--r-- | sp/src/game/client/hud.h | 412 |
1 files changed, 206 insertions, 206 deletions
diff --git a/sp/src/game/client/hud.h b/sp/src/game/client/hud.h index dab02bfc..7b637c64 100644 --- a/sp/src/game/client/hud.h +++ b/sp/src/game/client/hud.h @@ -1,206 +1,206 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose: CHud handles the message, calculation, and drawing the HUD
-//
-// $NoKeywords: $
-//=============================================================================//
-#ifndef HUD_H
-#define HUD_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "utlvector.h"
-#include "utldict.h"
-#include "convar.h"
-#include <vgui/VGUI.h>
-#include <Color.h>
-#include <bitbuf.h>
-
-namespace vgui
-{
- class IScheme;
-}
-
-// basic rectangle struct used for drawing
-typedef struct wrect_s
-{
- int left;
- int right;
- int top;
- int bottom;
-} wrect_t;
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-class CHudTexture
-{
-public:
- CHudTexture();
- CHudTexture& operator =( const CHudTexture& src );
- virtual ~CHudTexture();
-
- int Width() const
- {
- return rc.right - rc.left;
- }
-
- int Height() const
- {
- return rc.bottom - rc.top;
- }
-
- // causes the font manager to generate the glyph, prevents run time hitches on platforms that have slow font managers
- void Precache( void );
-
- // returns width & height of icon with scale applied (scale is ignored if font is used to render)
- int EffectiveWidth( float flScale ) const;
- int EffectiveHeight( float flScale ) const;
-
- void DrawSelf( int x, int y, const Color& clr ) const;
- void DrawSelf( int x, int y, int w, int h, const Color& clr ) const;
- void DrawSelfCropped( int x, int y, int cropx, int cropy, int cropw, int croph, Color clr ) const;
- // new version to scale the texture over a finalWidth and finalHeight passed in
- void DrawSelfCropped( int x, int y, int cropx, int cropy, int cropw, int croph, int finalWidth, int finalHeight, Color clr ) const;
-
- char szShortName[ 64 ];
- char szTextureFile[ 64 ];
-
- bool bRenderUsingFont;
- bool bPrecached;
- char cCharacterInFont;
- vgui::HFont hFont;
-
- // vgui texture Id assigned to this item
- int textureId;
- // s0, t0, s1, t1
- float texCoords[ 4 ];
-
- // Original bounds
- wrect_t rc;
-};
-
-#include "hudtexturehandle.h"
-
-class CHudElement;
-class CHudRenderGroup;
-
-//-----------------------------------------------------------------------------
-// Purpose: Main hud manager
-//-----------------------------------------------------------------------------
-class CHud
-{
-public:
- //For progress bar orientations
- static const int HUDPB_HORIZONTAL;
- static const int HUDPB_VERTICAL;
- static const int HUDPB_HORIZONTAL_INV;
-
-public:
- CHud();
- ~CHud();
-
- // Init's called when the HUD's created at DLL load
- void Init( void );
- // VidInit's called when the video mode's changed
- void VidInit( void );
- // Shutdown's called when the engine's shutting down
- void Shutdown( void );
- // LevelInit's called whenever a new level's starting
- void LevelInit( void );
- // LevelShutdown's called whenever a level's finishing
- void LevelShutdown( void );
-
- void ResetHUD( void );
-
- // A saved game has just been loaded
- void OnRestore();
-
- void Think();
-
- void ProcessInput( bool bActive );
- void UpdateHud( bool bActive );
-
- void InitColors( vgui::IScheme *pScheme );
-
- // Hud element registration
- void AddHudElement( CHudElement *pHudElement );
- void RemoveHudElement( CHudElement *pHudElement );
- // Search list for "name" and return the hud element if it exists
- CHudElement *FindElement( const char *pName );
-
- bool IsHidden( int iHudFlags );
-
- float GetSensitivity();
- float GetFOVSensitivityAdjust();
-
- void DrawProgressBar( int x, int y, int width, int height, float percentage, Color& clr, unsigned char type );
- void DrawIconProgressBar( int x, int y, CHudTexture *icon, CHudTexture *icon2, float percentage, Color& clr, int type );
-
- CHudTexture *GetIcon( const char *szIcon );
-
- // loads a new icon into the list, without duplicates
- CHudTexture *AddUnsearchableHudIconToList( CHudTexture& texture );
- CHudTexture *AddSearchableHudIconToList( CHudTexture& texture );
-
- void RefreshHudTextures();
-
- // User messages
- void MsgFunc_ResetHUD(bf_read &msg);
- void MsgFunc_SendAudio(bf_read &msg);
-
- // Hud Render group
- int LookupRenderGroupIndexByName( const char *pszGroupName );
- bool LockRenderGroup( int iGroupIndex, CHudElement *pLocker = NULL );
- bool UnlockRenderGroup( int iGroupIndex, CHudElement *pLocker = NULL );
- bool IsRenderGroupLockedFor( CHudElement *pHudElement, int iGroupIndex );
- int RegisterForRenderGroup( const char *pszGroupName );
- int AddHudRenderGroup( const char *pszGroupName );
- bool DoesRenderGroupExist( int iGroupIndex );
-
- void SetScreenShotTime( float flTime ){ m_flScreenShotTime = flTime; }
-
-public:
-
- int m_iKeyBits;
-#ifndef _XBOX
- float m_flMouseSensitivity;
- float m_flMouseSensitivityFactor;
-#endif
- float m_flFOVSensitivityAdjust;
-
- Color m_clrNormal;
- Color m_clrCaution;
- Color m_clrYellowish;
-
- CUtlVector< CHudElement * > m_HudList;
-
-private:
- void InitFonts();
-
- void SetupNewHudTexture( CHudTexture *t );
-
- bool m_bHudTexturesLoaded;
-
- // Global list of known icons
- CUtlDict< CHudTexture *, int > m_Icons;
-
- CUtlVector< const char * > m_RenderGroupNames;
- CUtlMap< int, CHudRenderGroup * > m_RenderGroups;
-
- float m_flScreenShotTime; // used to take end-game screenshots
-};
-
-extern CHud gHUD;
-
-//-----------------------------------------------------------------------------
-// Global fonts used in the client DLL
-//-----------------------------------------------------------------------------
-extern vgui::HFont g_hFontTrebuchet24;
-
-void LoadHudTextures( CUtlDict< CHudTexture *, int >& list, const char *szFilenameWithoutExtension, const unsigned char *pICEKey );
-
-void GetHudSize( int& w, int &h );
-
-#endif // HUD_H
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: CHud handles the message, calculation, and drawing the HUD +// +// $NoKeywords: $ +//=============================================================================// +#ifndef HUD_H +#define HUD_H +#ifdef _WIN32 +#pragma once +#endif + +#include "utlvector.h" +#include "utldict.h" +#include "convar.h" +#include <vgui/VGUI.h> +#include <Color.h> +#include <bitbuf.h> + +namespace vgui +{ + class IScheme; +} + +// basic rectangle struct used for drawing +typedef struct wrect_s +{ + int left; + int right; + int top; + int bottom; +} wrect_t; + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CHudTexture +{ +public: + CHudTexture(); + CHudTexture& operator =( const CHudTexture& src ); + virtual ~CHudTexture(); + + int Width() const + { + return rc.right - rc.left; + } + + int Height() const + { + return rc.bottom - rc.top; + } + + // causes the font manager to generate the glyph, prevents run time hitches on platforms that have slow font managers + void Precache( void ); + + // returns width & height of icon with scale applied (scale is ignored if font is used to render) + int EffectiveWidth( float flScale ) const; + int EffectiveHeight( float flScale ) const; + + void DrawSelf( int x, int y, const Color& clr ) const; + void DrawSelf( int x, int y, int w, int h, const Color& clr ) const; + void DrawSelfCropped( int x, int y, int cropx, int cropy, int cropw, int croph, Color clr ) const; + // new version to scale the texture over a finalWidth and finalHeight passed in + void DrawSelfCropped( int x, int y, int cropx, int cropy, int cropw, int croph, int finalWidth, int finalHeight, Color clr ) const; + + char szShortName[ 64 ]; + char szTextureFile[ 64 ]; + + bool bRenderUsingFont; + bool bPrecached; + char cCharacterInFont; + vgui::HFont hFont; + + // vgui texture Id assigned to this item + int textureId; + // s0, t0, s1, t1 + float texCoords[ 4 ]; + + // Original bounds + wrect_t rc; +}; + +#include "hudtexturehandle.h" + +class CHudElement; +class CHudRenderGroup; + +//----------------------------------------------------------------------------- +// Purpose: Main hud manager +//----------------------------------------------------------------------------- +class CHud +{ +public: + //For progress bar orientations + static const int HUDPB_HORIZONTAL; + static const int HUDPB_VERTICAL; + static const int HUDPB_HORIZONTAL_INV; + +public: + CHud(); + ~CHud(); + + // Init's called when the HUD's created at DLL load + void Init( void ); + // VidInit's called when the video mode's changed + void VidInit( void ); + // Shutdown's called when the engine's shutting down + void Shutdown( void ); + // LevelInit's called whenever a new level's starting + void LevelInit( void ); + // LevelShutdown's called whenever a level's finishing + void LevelShutdown( void ); + + void ResetHUD( void ); + + // A saved game has just been loaded + void OnRestore(); + + void Think(); + + void ProcessInput( bool bActive ); + void UpdateHud( bool bActive ); + + void InitColors( vgui::IScheme *pScheme ); + + // Hud element registration + void AddHudElement( CHudElement *pHudElement ); + void RemoveHudElement( CHudElement *pHudElement ); + // Search list for "name" and return the hud element if it exists + CHudElement *FindElement( const char *pName ); + + bool IsHidden( int iHudFlags ); + + float GetSensitivity(); + float GetFOVSensitivityAdjust(); + + void DrawProgressBar( int x, int y, int width, int height, float percentage, Color& clr, unsigned char type ); + void DrawIconProgressBar( int x, int y, CHudTexture *icon, CHudTexture *icon2, float percentage, Color& clr, int type ); + + CHudTexture *GetIcon( const char *szIcon ); + + // loads a new icon into the list, without duplicates + CHudTexture *AddUnsearchableHudIconToList( CHudTexture& texture ); + CHudTexture *AddSearchableHudIconToList( CHudTexture& texture ); + + void RefreshHudTextures(); + + // User messages + void MsgFunc_ResetHUD(bf_read &msg); + void MsgFunc_SendAudio(bf_read &msg); + + // Hud Render group + int LookupRenderGroupIndexByName( const char *pszGroupName ); + bool LockRenderGroup( int iGroupIndex, CHudElement *pLocker = NULL ); + bool UnlockRenderGroup( int iGroupIndex, CHudElement *pLocker = NULL ); + bool IsRenderGroupLockedFor( CHudElement *pHudElement, int iGroupIndex ); + int RegisterForRenderGroup( const char *pszGroupName ); + int AddHudRenderGroup( const char *pszGroupName ); + bool DoesRenderGroupExist( int iGroupIndex ); + + void SetScreenShotTime( float flTime ){ m_flScreenShotTime = flTime; } + +public: + + int m_iKeyBits; +#ifndef _XBOX + float m_flMouseSensitivity; + float m_flMouseSensitivityFactor; +#endif + float m_flFOVSensitivityAdjust; + + Color m_clrNormal; + Color m_clrCaution; + Color m_clrYellowish; + + CUtlVector< CHudElement * > m_HudList; + +private: + void InitFonts(); + + void SetupNewHudTexture( CHudTexture *t ); + + bool m_bHudTexturesLoaded; + + // Global list of known icons + CUtlDict< CHudTexture *, int > m_Icons; + + CUtlVector< const char * > m_RenderGroupNames; + CUtlMap< int, CHudRenderGroup * > m_RenderGroups; + + float m_flScreenShotTime; // used to take end-game screenshots +}; + +extern CHud gHUD; + +//----------------------------------------------------------------------------- +// Global fonts used in the client DLL +//----------------------------------------------------------------------------- +extern vgui::HFont g_hFontTrebuchet24; + +void LoadHudTextures( CUtlDict< CHudTexture *, int >& list, const char *szFilenameWithoutExtension, const unsigned char *pICEKey ); + +void GetHudSize( int& w, int &h ); + +#endif // HUD_H |