aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/client/hl2mp/clientmode_hl2mpnormal.cpp
diff options
context:
space:
mode:
authorJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
committerJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
commit39ed87570bdb2f86969d4be821c94b722dc71179 (patch)
treeabc53757f75f40c80278e87650ea92808274aa59 /mp/src/game/client/hl2mp/clientmode_hl2mpnormal.cpp
downloadsource-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz
source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip
First version of the SOurce SDK 2013
Diffstat (limited to 'mp/src/game/client/hl2mp/clientmode_hl2mpnormal.cpp')
-rw-r--r--mp/src/game/client/hl2mp/clientmode_hl2mpnormal.cpp128
1 files changed, 128 insertions, 0 deletions
diff --git a/mp/src/game/client/hl2mp/clientmode_hl2mpnormal.cpp b/mp/src/game/client/hl2mp/clientmode_hl2mpnormal.cpp
new file mode 100644
index 00000000..6c784781
--- /dev/null
+++ b/mp/src/game/client/hl2mp/clientmode_hl2mpnormal.cpp
@@ -0,0 +1,128 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Draws the normal TF2 or HL2 HUD.
+//
+// $Workfile: $
+// $Date: $
+// $NoKeywords: $
+//=============================================================================//
+#include "cbase.h"
+#include "clientmode_hl2mpnormal.h"
+#include "vgui_int.h"
+#include "hud.h"
+#include <vgui/IInput.h>
+#include <vgui/IPanel.h>
+#include <vgui/ISurface.h>
+#include <vgui_controls/AnimationController.h>
+#include "iinput.h"
+#include "hl2mpclientscoreboard.h"
+#include "hl2mptextwindow.h"
+#include "ienginevgui.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+//-----------------------------------------------------------------------------
+// Globals
+//-----------------------------------------------------------------------------
+vgui::HScheme g_hVGuiCombineScheme = 0;
+
+
+// Instance the singleton and expose the interface to it.
+IClientMode *GetClientModeNormal()
+{
+ static ClientModeHL2MPNormal g_ClientModeNormal;
+ return &g_ClientModeNormal;
+}
+
+ClientModeHL2MPNormal* GetClientModeHL2MPNormal()
+{
+ Assert( dynamic_cast< ClientModeHL2MPNormal* >( GetClientModeNormal() ) );
+
+ return static_cast< ClientModeHL2MPNormal* >( GetClientModeNormal() );
+}
+
+//-----------------------------------------------------------------------------
+// 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 IViewPortPanel *CreatePanelByName( const char *szPanelName );
+};
+
+int ClientModeHL2MPNormal::GetDeathMessageStartHeight( void )
+{
+ return m_pViewport->GetDeathMessageStartHeight();
+}
+
+IViewPortPanel* CHudViewport::CreatePanelByName( const char *szPanelName )
+{
+ IViewPortPanel* newpanel = NULL;
+
+ if ( Q_strcmp( PANEL_SCOREBOARD, szPanelName) == 0 )
+ {
+ newpanel = new CHL2MPClientScoreBoardDialog( this );
+ return newpanel;
+ }
+ else if ( Q_strcmp(PANEL_INFO, szPanelName) == 0 )
+ {
+ newpanel = new CHL2MPTextWindow( this );
+ return newpanel;
+ }
+ else if ( Q_strcmp(PANEL_SPECGUI, szPanelName) == 0 )
+ {
+ newpanel = new CHL2MPSpectatorGUI( this );
+ return newpanel;
+ }
+
+
+ return BaseClass::CreatePanelByName( szPanelName );
+}
+
+//-----------------------------------------------------------------------------
+// ClientModeHLNormal implementation
+//-----------------------------------------------------------------------------
+ClientModeHL2MPNormal::ClientModeHL2MPNormal()
+{
+ m_pViewport = new CHudViewport();
+ m_pViewport->Start( gameuifuncs, gameeventmanager );
+}
+
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+ClientModeHL2MPNormal::~ClientModeHL2MPNormal()
+{
+}
+
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void ClientModeHL2MPNormal::Init()
+{
+ BaseClass::Init();
+
+ // Load up the combine control panel scheme
+ g_hVGuiCombineScheme = vgui::scheme()->LoadSchemeFromFileEx( enginevgui->GetPanel( PANEL_CLIENTDLL ), "resource/CombinePanelScheme.res", "CombineScheme" );
+ if (!g_hVGuiCombineScheme)
+ {
+ Warning( "Couldn't load combine panel scheme!\n" );
+ }
+}
+
+
+