summaryrefslogtreecommitdiff
path: root/engine/cl_demoaction_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'engine/cl_demoaction_types.h')
-rw-r--r--engine/cl_demoaction_types.h284
1 files changed, 284 insertions, 0 deletions
diff --git a/engine/cl_demoaction_types.h b/engine/cl_demoaction_types.h
new file mode 100644
index 0000000..293fe0b
--- /dev/null
+++ b/engine/cl_demoaction_types.h
@@ -0,0 +1,284 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//
+//=============================================================================//
+//-----------------------------------------------------------------------------
+// Purpose: Skips ahead in demo to specified frame/time
+//-----------------------------------------------------------------------------
+class CDemoActionSkipAhead : public CBaseDemoAction
+{
+ typedef CBaseDemoAction BaseClass;
+
+public:
+ virtual bool Init( KeyValues *pInitData );
+ virtual bool Update( const DemoActionTimingContext& tc );
+ virtual void FireAction( void );
+ virtual void SaveKeysToBuffer( int depth, CUtlBuffer& buf );
+
+ void SetSkipToTick( int tick );
+ void SetSkipToTime( float t );
+
+private:
+
+ bool m_bUsingSkipTick;
+ int m_nSkipToTick;
+ float m_flSkipToTime;
+
+ friend class CBaseActionSkipAheadDialog;
+};
+
+//-----------------------------------------------------------------------------
+// Purpose: Simply stops playback of demo
+//-----------------------------------------------------------------------------
+class CDemoActionStopPlayback : public CBaseDemoAction
+{
+ typedef CBaseDemoAction BaseClass;
+
+public:
+ virtual bool Update( const DemoActionTimingContext& tc );
+ virtual void FireAction( void );
+
+private:
+
+ friend class CBaseActionStopPlaybackDialog;
+};
+
+//-----------------------------------------------------------------------------
+// Purpose: Skips ahead in demo to specified frame/time
+//-----------------------------------------------------------------------------
+class CDemoActionPlayCommands : public CBaseDemoAction
+{
+ typedef CBaseDemoAction BaseClass;
+
+public:
+ virtual bool Init( KeyValues *pInitData );
+ virtual void FireAction( void );
+ virtual void SaveKeysToBuffer( int depth, CUtlBuffer& buf );
+
+ void SetCommandStream( char const *stream );
+ char const *GetCommandStream( void ) const;
+
+private:
+
+ enum
+ {
+ MAX_COMMAND_STREAM = 256,
+ };
+
+ char m_szCommandStream[ MAX_COMMAND_STREAM ];
+};
+
+//-----------------------------------------------------------------------------
+// Purpose: Screen fade actions
+//-----------------------------------------------------------------------------
+class CDemoActionScreenFadeStart : public CBaseDemoAction
+{
+ typedef CBaseDemoAction BaseClass;
+
+public:
+ virtual bool Init( KeyValues *pInitData );
+ virtual void FireAction( void );
+ virtual void SaveKeysToBuffer( int depth, CUtlBuffer& buf );
+
+ ScreenFade_t *GetScreenFade( void );
+
+private:
+ ScreenFade_t fade;
+
+ friend class CBaseActionScreenFadeStartDialog;
+};
+
+//-----------------------------------------------------------------------------
+// Purpose: Text message actions
+//-----------------------------------------------------------------------------
+class CDemoActionTextMessageStart : public CBaseDemoAction
+{
+ typedef CBaseDemoAction BaseClass;
+
+public:
+ virtual bool Init( KeyValues *pInitData );
+ virtual void FireAction( void );
+ virtual void SaveKeysToBuffer( int depth, CUtlBuffer& buf );
+
+ client_textmessage_t *GetTextMessage( void );
+
+ void SetMessageText( char const *text );
+ char const *GetMessageText( void ) const;
+
+ void SetFontName( char const *font );
+ char const *GetFontName( void ) const;
+
+private:
+ enum
+ {
+ MAX_MESSAGE_TEXT = 512,
+ MAX_FONT_NAME = 64,
+ };
+
+ char m_szMessageText[ MAX_MESSAGE_TEXT ];
+ char m_szVguiFont[ MAX_FONT_NAME ];
+ client_textmessage_t message;
+};
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+class CDemoActionCDTrackStart : public CBaseDemoAction
+{
+ typedef CBaseDemoAction BaseClass;
+
+public:
+ virtual bool Init( KeyValues *pInitData );
+ virtual void FireAction( void );
+ virtual void SaveKeysToBuffer( int depth, CUtlBuffer& buf );
+
+ void SetTrack( int track );
+ int GetTrack( void ) const;
+
+private:
+ int m_nCDTrack;
+};
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+class CDemoActionCDTrackStop : public CBaseDemoAction
+{
+ typedef CBaseDemoAction BaseClass;
+
+public:
+ virtual void FireAction( void );
+
+private:
+};
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+class CDemoActionPlaySoundStart : public CBaseDemoAction
+{
+ typedef CBaseDemoAction BaseClass;
+
+public:
+ virtual bool Init( KeyValues *pInitData );
+ virtual void FireAction( void );
+ virtual void SaveKeysToBuffer( int depth, CUtlBuffer& buf );
+
+ void SetSoundName( char const *name );
+ char const *GetSoundName( void ) const;
+
+private:
+
+ enum
+ {
+ MAX_SOUND_NAME = 128,
+ };
+
+ char m_szSoundName[ MAX_SOUND_NAME ];
+};
+
+//-----------------------------------------------------------------------------
+// Purpose: Base for actions that go on until a specified stop frame/time
+//-----------------------------------------------------------------------------
+class CBaseDemoActionWithStopTime : public CBaseDemoAction
+{
+ typedef CBaseDemoAction BaseClass;
+
+public:
+ virtual bool Init( KeyValues *pInitData );
+ virtual bool Update( const DemoActionTimingContext& tc );
+ virtual void SaveKeysToBuffer( int depth, CUtlBuffer& buf );
+
+ void SetStopTick( int tick );
+ void SetStopTime( float time );
+
+private:
+
+ bool m_bUsingStopTick;
+ int m_nStopTick;
+ float m_flStopTime;
+
+ friend class CBaseActionWithStopTimeDialog;
+};
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+class CDemoActionChangePlaybackRate : public CBaseDemoActionWithStopTime
+{
+ typedef CBaseDemoActionWithStopTime BaseClass;
+
+public:
+ CDemoActionChangePlaybackRate();
+
+ virtual bool Init( KeyValues *pInitData );
+ virtual void FireAction( void );
+ virtual void OnActionFinished( void );
+
+ virtual void SaveKeysToBuffer( int depth, CUtlBuffer& buf );
+
+ void SetPlaybackRate( float rate );
+ float GetPlaybackRate( void ) const;
+
+private:
+
+ float m_flPlaybackRate;
+ float m_flSavePlaybackRate;
+
+ friend class CBaseActionChangePlaybackRateDialog;
+};
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+class CDemoActionPausePlayback : public CBaseDemoActionWithStopTime
+{
+ typedef CBaseDemoActionWithStopTime BaseClass;
+
+public:
+ CDemoActionPausePlayback();
+
+ virtual bool Init( KeyValues *pInitData );
+ virtual void FireAction( void );
+
+ virtual void SaveKeysToBuffer( int depth, CUtlBuffer& buf );
+
+ void SetPauseTime( float t );
+ float GetPauseTime( void ) const;
+
+private:
+
+ float m_flPauseTime;
+
+ friend class CBaseActionPauseDialog;
+};
+
+class CDemoActionZoom : public CBaseDemoAction
+{
+ typedef CBaseDemoAction BaseClass;
+public:
+ CDemoActionZoom();
+
+ virtual bool Init( KeyValues *pInitData );
+ virtual bool Update( const DemoActionTimingContext& tc );
+ virtual void FireAction( void );
+ virtual void SaveKeysToBuffer( int depth, CUtlBuffer& buf );
+private:
+
+ bool m_bSpline;
+ bool m_bStayout;
+
+ float m_flFinalFOV;
+ float m_flFOVRateOut; // degress per second
+ float m_flFOVRateIn; // degrees per second
+ float m_flHoldTime;
+
+// for playback
+ float m_flFOVStartTime;
+ float m_flOriginalFOV;
+
+ friend class CBaseActionZoomDialog;
+}; \ No newline at end of file