diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/client/tf/vgui/tf_intromenu.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/client/tf/vgui/tf_intromenu.h')
| -rw-r--r-- | game/client/tf/vgui/tf_intromenu.h | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/game/client/tf/vgui/tf_intromenu.h b/game/client/tf/vgui/tf_intromenu.h new file mode 100644 index 0000000..b9f2cf2 --- /dev/null +++ b/game/client/tf/vgui/tf_intromenu.h @@ -0,0 +1,128 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef TF_INTROMENU_H +#define TF_INTROMENU_H +#ifdef _WIN32 +#pragma once +#endif + +#include "tf_vgui_video.h" +#include "basemodelpanel.h" + +#define MAX_CAPTION_LENGTH 256 + +class CVideoCaption +{ +public: + CVideoCaption() + { + m_pszString = NULL; + m_flStartTime = 0; + m_flDisplayTime = 0; + m_flCaptionStart = -1; + } + + ~CVideoCaption() + { + if ( m_pszString && m_pszString[0] ) + { + delete [] m_pszString; + m_pszString = NULL; + } + } + + const char *m_pszString; // the string to display (can be a localized # string) + float m_flStartTime; // the offset from the beginning of the video when we should show this caption + float m_flDisplayTime; // the length of time the string should be displayed once it's shown + float m_flCaptionStart; // the time when the caption is shown (so we know when to turn it off +}; + +//----------------------------------------------------------------------------- +// Purpose: displays the Intro menu +//----------------------------------------------------------------------------- + +class CTFIntroMenu : public CIntroMenu +{ +private: + DECLARE_CLASS_SIMPLE( CTFIntroMenu, CIntroMenu ); + +public: + CTFIntroMenu( IViewPort *pViewPort ); + ~CTFIntroMenu(); + + virtual void ApplySchemeSettings( vgui::IScheme *pScheme ); + virtual void ShowPanel( bool bShow ); + virtual void OnCommand( const char *command ); + virtual void OnKeyCodePressed( KeyCode code ); + + virtual void OnTick() OVERRIDE; + virtual void OnThink() OVERRIDE; + + //============================================================================= + // HPE_BEGIN + // [msmith] Some refactoring. + //============================================================================= + void StartVideo(); + void ShutdownVideo(); + //============================================================================= + // HPE_END + //============================================================================= + + MESSAGE_FUNC( OnIntroFinished, "IntroFinished" ); + +private: + void SetNextThink( float flActionThink, int iAction ); + void Shutdown( void ); + bool LoadCaptions( void ); + void UpdateCaptions( void ); + + + + //============================================================================= + // HPE_BEGIN + // [msmith] Added support for in game videos. + //============================================================================= + bool PendingInGameVideo( void ); + const char *GetVideoFileName( bool withExtension = true ); + void UnpauseGame( void ); + void PauseGame( void ); + //============================================================================= + // HPE_END + //============================================================================= + + CTFVideoPanel *m_pVideo; + CModelPanel *m_pModel; + CExLabel *m_pCaptionLabel; + +#ifdef _X360 + CTFFooter *m_pFooter; +#else + CExButton *m_pBack; + CExButton *m_pOK; + CExButton *m_pReplayVideo; + CExButton *m_pContinue; +#endif + + float m_flActionThink; + int m_iAction; + + CUtlVector< CVideoCaption* > m_Captions; + int m_iCurrentCaption; + float m_flVideoStartTime; + //============================================================================= + // HPE_BEGIN + // [msmith] Added support for in game videos. + //============================================================================= + bool m_bPlayingInGameVideo; + //============================================================================= + // HPE_END + //============================================================================= +}; + + +#endif // TF_INTROMENU_H |