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
4 years ago
|
//========= 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;
|
||
|
};
|