You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
284 lines
7.4 KiB
284 lines
7.4 KiB
//========= 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; |
|
}; |