mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-15 13:16:58 +00:00
1
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#ifndef TF_CLIENTMODE_H
|
||||
#define TF_CLIENTMODE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "clientmode_shared.h"
|
||||
#include "tf_viewport.h"
|
||||
#include "GameUI/IGameUI.h"
|
||||
#include "halloween/tf_weapon_spellbook.h"
|
||||
#include "tf_hud_teamgoal_tournament.h"
|
||||
|
||||
class CHudMenuEngyBuild;
|
||||
class CHudMenuEngyDestroy;
|
||||
class CHudMenuSpyDisguise;
|
||||
class CTFFreezePanel;
|
||||
class CItemQuickSwitchPanel;
|
||||
class CHudEurekaEffectTeleportMenu;
|
||||
class CHudMenuTauntSelection;
|
||||
class CHudInspectPanel;
|
||||
class CHudUpgradePanel;
|
||||
#ifdef STAGING_ONLY
|
||||
class CHudMenuSpyBuild;
|
||||
#endif // STAGING_ONLY
|
||||
#if defined( _X360 )
|
||||
class CTFClientScoreBoardDialog;
|
||||
#endif
|
||||
|
||||
class ClientModeTFNormal : public ClientModeShared
|
||||
{
|
||||
DECLARE_CLASS( ClientModeTFNormal, ClientModeShared );
|
||||
|
||||
private:
|
||||
|
||||
// IClientMode overrides.
|
||||
public:
|
||||
|
||||
ClientModeTFNormal();
|
||||
virtual ~ClientModeTFNormal();
|
||||
|
||||
virtual void Init();
|
||||
virtual void InitViewport();
|
||||
virtual void Shutdown();
|
||||
|
||||
virtual void LevelInit( const char *newmap ) OVERRIDE;
|
||||
|
||||
// virtual int KeyInput( int down, ButtonCode_t keynum, const char *pszCurrentBinding );
|
||||
|
||||
virtual float GetViewModelFOV( void );
|
||||
virtual bool ShouldDrawViewModel();
|
||||
virtual bool ShouldDrawCrosshair( void );
|
||||
virtual bool ShouldBlackoutAroundHUD() OVERRIDE;
|
||||
virtual HeadtrackMovementMode_t ShouldOverrideHeadtrackControl() OVERRIDE;
|
||||
|
||||
int GetDeathMessageStartHeight( void );
|
||||
|
||||
virtual void FireGameEvent( IGameEvent *event );
|
||||
virtual void PostRenderVGui();
|
||||
|
||||
virtual bool CreateMove( float flInputSampleTime, CUserCmd *cmd );
|
||||
|
||||
virtual int HudElementKeyInput( int down, ButtonCode_t keynum, const char *pszCurrentBinding );
|
||||
virtual int HandleSpectatorKeyInput( int down, ButtonCode_t keynum, const char *pszCurrentBinding );
|
||||
|
||||
virtual bool DoPostScreenSpaceEffects( const CViewSetup *pSetup );
|
||||
virtual void Update();
|
||||
virtual void ComputeVguiResConditions( KeyValues *pkvConditions ) OVERRIDE;
|
||||
|
||||
virtual bool IsInfoPanelAllowed() OVERRIDE;
|
||||
virtual void InfoPanelDisplayed() OVERRIDE;
|
||||
virtual bool IsHTMLInfoPanelAllowed() OVERRIDE;
|
||||
|
||||
IGameUI *GameUI( void ) { return m_pGameUI; }
|
||||
|
||||
const char *GetLastConnectedServerName( void ) const; // return the name of the last server we have connected to
|
||||
uint32 GetLastConnectedServerIP( void ) const; // return the IP of the last server we have connected to
|
||||
int GetLastConnectedServerPort( void ) const; // return the port of the last server we have connected to
|
||||
|
||||
void PrintTextToChat( const char *pText, KeyValues *pKeyValues = NULL );
|
||||
void PrintTextToChatPlayer( int iPlayerIndex, const char *pText, KeyValues *pKeyValues = NULL );
|
||||
|
||||
#if !defined(NO_STEAM)
|
||||
STEAM_CALLBACK_MANUAL( ClientModeTFNormal, OnScreenshotRequested, ScreenshotRequested_t, m_CallbackScreenshotRequested );
|
||||
#endif
|
||||
|
||||
bool IsEngyBuildVisible() const;
|
||||
bool IsEngyDestroyVisible() const;
|
||||
bool IsEngyEurekaTeleportVisible() const;
|
||||
bool IsSpyDisguiseVisible() const;
|
||||
bool IsUpgradePanelVisible() const;
|
||||
bool IsTauntSelectPanelVisible() const;
|
||||
|
||||
virtual void OnDemoRecordStart( char const* pDemoBaseName ) OVERRIDE;
|
||||
virtual void OnDemoRecordStop() OVERRIDE;
|
||||
|
||||
private:
|
||||
// void UpdateSpectatorMode( void );
|
||||
|
||||
private:
|
||||
CHudMenuEngyBuild *m_pMenuEngyBuild;
|
||||
CHudMenuEngyDestroy *m_pMenuEngyDestroy;
|
||||
CHudMenuSpyDisguise *m_pMenuSpyDisguise;
|
||||
CHudMenuTauntSelection *m_pMenuTauntSelection;
|
||||
CHudUpgradePanel *m_pMenuUpgradePanel;
|
||||
#ifdef STAGING_ONLY
|
||||
CHudMenuSpyBuild *m_pMenuSpyBuild;
|
||||
#endif // STAGING_ONLY
|
||||
CHudSpellMenu *m_pMenuSpell;
|
||||
CHudEurekaEffectTeleportMenu *m_pEurekaTeleportMenu;
|
||||
CHudTeamGoalTournament *m_pTeamGoalTournament;
|
||||
|
||||
CTFFreezePanel *m_pFreezePanel;
|
||||
CItemQuickSwitchPanel *m_pQuickSwitch;
|
||||
CHudInspectPanel *m_pInspectPanel;
|
||||
IGameUI *m_pGameUI;
|
||||
bool m_wasConnectedLastUpdate;
|
||||
|
||||
char *m_lastServerName;
|
||||
uint32 m_lastServerIP;
|
||||
int m_lastServerPort;
|
||||
uint32 m_lastServerConnectTime;
|
||||
|
||||
float m_flNextAllowedHighFiveHintTime;
|
||||
|
||||
bool m_bInfoPanelShown;
|
||||
bool m_bRestrictInfoPanel;
|
||||
|
||||
void AskFavoriteOrBlacklist() const;
|
||||
|
||||
#if defined( _X360 )
|
||||
CTFClientScoreBoardDialog *m_pScoreboard;
|
||||
#endif
|
||||
};
|
||||
|
||||
inline const char *ClientModeTFNormal::GetLastConnectedServerName( void ) const
|
||||
{
|
||||
return m_lastServerName;
|
||||
}
|
||||
|
||||
inline uint32 ClientModeTFNormal::GetLastConnectedServerIP( void ) const
|
||||
{
|
||||
return m_lastServerIP;
|
||||
}
|
||||
|
||||
inline int ClientModeTFNormal::GetLastConnectedServerPort( void ) const
|
||||
{
|
||||
return m_lastServerPort;
|
||||
}
|
||||
|
||||
extern IClientMode *GetClientModeNormal();
|
||||
extern ClientModeTFNormal* GetClientModeTFNormal();
|
||||
|
||||
void PlayOutOfGameSound( const char *pszSound );
|
||||
float PlaySoundEntry( const char* pszSoundEntryName ); // Returns the duration of the sound
|
||||
#endif // TF_CLIENTMODE_H
|
||||
Reference in New Issue
Block a user