summaryrefslogtreecommitdiff
path: root/game/client/hl1/hl1_clientmode.cpp
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/client/hl1/hl1_clientmode.cpp
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'game/client/hl1/hl1_clientmode.cpp')
-rw-r--r--game/client/hl1/hl1_clientmode.cpp168
1 files changed, 168 insertions, 0 deletions
diff --git a/game/client/hl1/hl1_clientmode.cpp b/game/client/hl1/hl1_clientmode.cpp
new file mode 100644
index 0000000..cf1e92e
--- /dev/null
+++ b/game/client/hl1/hl1_clientmode.cpp
@@ -0,0 +1,168 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//
+//=============================================================================//
+#include "cbase.h"
+#include "ivmodemanager.h"
+#include "clientmode_hlnormal.h"
+#include "hl1_clientmode.h"
+#include "hl1_clientscoreboard.h"
+
+// default FOV for HL1
+ConVar default_fov( "default_fov", "90", FCVAR_CHEAT );
+ConVar fov_desired( "fov_desired", "90", FCVAR_ARCHIVE | FCVAR_USERINFO, "Sets the base field-of-view.", true, 75.0, true, 90.0 );
+
+// The current client mode. Always ClientModeNormal in HL.
+IClientMode *g_pClientMode = NULL;
+
+class CHLModeManager : public IVModeManager
+{
+public:
+ CHLModeManager( void );
+ virtual ~CHLModeManager( void );
+
+ virtual void Init( void );
+ virtual void SwitchMode( bool commander, bool force );
+ virtual void OverrideView( CViewSetup *pSetup );
+ virtual void CreateMove( float flInputSampleTime, CUserCmd *cmd );
+ virtual void LevelInit( const char *newmap );
+ virtual void LevelShutdown( void );
+};
+
+CHLModeManager::CHLModeManager( void )
+{
+}
+
+CHLModeManager::~CHLModeManager( void )
+{
+}
+
+void CHLModeManager::Init( void )
+{
+ g_pClientMode = GetClientModeNormal();
+}
+
+void CHLModeManager::SwitchMode( bool commander, bool force )
+{
+}
+
+void CHLModeManager::OverrideView( CViewSetup *pSetup )
+{
+}
+
+void CHLModeManager::CreateMove( float flInputSampleTime, CUserCmd *cmd )
+{
+}
+
+void CHLModeManager::LevelInit( const char *newmap )
+{
+ g_pClientMode->LevelInit( newmap );
+}
+
+void CHLModeManager::LevelShutdown( void )
+{
+ g_pClientMode->LevelShutdown();
+}
+
+static CHLModeManager g_HLModeManager;
+IVModeManager *modemanager = &g_HLModeManager;
+
+//-----------------------------------------------------------------------------
+// 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 )
+ {
+ CBaseViewport::CreateDefaultPanels();
+ }
+
+ virtual IViewPortPanel *CreatePanelByName( const char *szPanelName );
+};
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+ClientModeHL1Normal::ClientModeHL1Normal()
+{
+}
+
+//-----------------------------------------------------------------------------
+// Purpose: If you don't know what a destructor is by now, you are probably going to get fired
+//-----------------------------------------------------------------------------
+ClientModeHL1Normal::~ClientModeHL1Normal()
+{
+}
+
+void ClientModeHL1Normal::InitViewport()
+{
+ m_pViewport = new CHudViewport();
+ m_pViewport->Start( gameuifuncs, gameeventmanager );
+}
+
+float ClientModeHL1Normal::GetViewModelFOV( void )
+{
+ return 90.0f;
+}
+
+
+int ClientModeHL1Normal::GetDeathMessageStartHeight( void )
+{
+ return m_pViewport->GetDeathMessageStartHeight();
+}
+
+
+ClientModeHL1Normal g_ClientModeNormal;
+
+IClientMode *GetClientModeNormal()
+{
+ return &g_ClientModeNormal;
+}
+
+ClientModeHL1Normal* GetClientModeHL1Normal()
+{
+ Assert( dynamic_cast< ClientModeHL1Normal* >( GetClientModeNormal() ) );
+
+ return static_cast< ClientModeHL1Normal* >( GetClientModeNormal() );
+}
+
+IViewPortPanel* CHudViewport::CreatePanelByName( const char *szPanelName )
+{
+
+#ifdef HL1MP_CLIENT_DLL
+ IViewPortPanel* newpanel = NULL;
+ if ( Q_strcmp( PANEL_SCOREBOARD, szPanelName) == 0 )
+ {
+ newpanel = new CHL1MPClientScoreBoardDialog( this );
+ return newpanel;
+ }
+#endif
+ /* else if ( Q_strcmp(PANEL_INFO, szPanelName) == 0 )
+ {
+ newpanel = new CHL2MPTextWindow( this );
+ return newpanel;
+ }*/
+
+ return BaseClass::CreatePanelByName( szPanelName );
+}
+
+
+
+
+