//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Draws the normal TF2 or HL2 HUD. // //============================================================================= #include "cbase.h" #include "clientmode_hlnormal.h" #include "vgui_int.h" #include "hud.h" #include #include #include #include #include "iinput.h" #include "ienginevgui.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" extern bool g_bRollingCredits; ConVar fov_desired( "fov_desired", "75", FCVAR_ARCHIVE | FCVAR_USERINFO, "Sets the base field-of-view.", true, 75.0, true, 90.0 ); //----------------------------------------------------------------------------- // Globals //----------------------------------------------------------------------------- vgui::HScheme g_hVGuiCombineScheme = 0; // Instance the singleton and expose the interface to it. IClientMode *GetClientModeNormal() { static ClientModeHLNormal g_ClientModeNormal; return &g_ClientModeNormal; } //----------------------------------------------------------------------------- // Purpose: this is the viewport that contains all the hud elements //----------------------------------------------------------------------------- class CHudViewport : public CBaseViewport { private: DECLARE_CLASS_SIMPLE( CHudViewport, CBaseViewport ); protected: virtual void ApplySchemeSettings( vgui::IScheme *pScheme ) { BaseClass::ApplySchemeSettings( pScheme ); gHUD.InitColors( pScheme ); SetPaintBackgroundEnabled( false ); } virtual void CreateDefaultPanels( void ) { /* don't create any panels yet*/ }; }; //----------------------------------------------------------------------------- // ClientModeHLNormal implementation //----------------------------------------------------------------------------- ClientModeHLNormal::ClientModeHLNormal() { m_pViewport = new CHudViewport(); m_pViewport->Start( gameuifuncs, gameeventmanager ); } //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- ClientModeHLNormal::~ClientModeHLNormal() { } //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void ClientModeHLNormal::Init() { BaseClass::Init(); // Load up the combine control panel scheme g_hVGuiCombineScheme = vgui::scheme()->LoadSchemeFromFileEx( enginevgui->GetPanel( PANEL_CLIENTDLL ), IsXbox() ? "resource/ClientScheme.res" : "resource/CombinePanelScheme.res", "CombineScheme" ); if (!g_hVGuiCombineScheme) { Warning( "Couldn't load combine panel scheme!\n" ); } } bool ClientModeHLNormal::ShouldDrawCrosshair( void ) { return ( g_bRollingCredits == false ); }