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.
104 lines
3.5 KiB
104 lines
3.5 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
//=======================================================================================// |
|
|
|
#ifndef REPLAYMOVIE_H |
|
#define REPLAYMOVIE_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
#include "replay/ireplaymovie.h" |
|
#include "replay/basereplayserializeable.h" |
|
#include "replay/replaytime.h" |
|
#include "replay/rendermovieparams.h" |
|
#include "utlstring.h" |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
#define REPLAY_MOVIE_HANDLE_FIRST_VALID ((ReplayHandle_t)5000) |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
class CReplayMovie : public CBaseReplaySerializeable, |
|
public IReplayMovie |
|
{ |
|
typedef CBaseReplaySerializeable BaseClass; |
|
|
|
public: |
|
CReplayMovie(); |
|
|
|
// |
|
// IReplaySerializeable |
|
// |
|
virtual bool Read( KeyValues *pIn ); |
|
virtual void Write( KeyValues *pOut ); |
|
virtual const char *GetSubKeyTitle() const; |
|
virtual const char *GetPath() const; |
|
virtual void OnDelete(); |
|
|
|
// |
|
// IReplayMovie |
|
// |
|
virtual ReplayHandle_t GetMovieHandle() const; |
|
virtual ReplayHandle_t GetReplayHandle() const; |
|
virtual const ReplayRenderSettings_t &GetRenderSettings(); |
|
virtual void GetFrameDimensions( int &nWidth, int &nHeight ); |
|
virtual void SetIsRendered( bool bIsRendered ); |
|
virtual void SetMovieFilename( const char *pFilename ); |
|
virtual const char *GetMovieFilename() const; |
|
virtual void SetMovieTitle( const wchar_t *pTitle ); |
|
virtual void SetRenderTime( float flRenderTime ); |
|
virtual float GetRenderTime() const; |
|
virtual void CaptureRecordTime(); |
|
virtual void SetLength( float flLength ); |
|
virtual bool IsUploaded() const; |
|
virtual void SetUploaded( bool bUploaded ); |
|
virtual void SetUploadURL( const char *pURL ); |
|
virtual const char *GetUploadURL() const; |
|
|
|
// |
|
// IQueryableReplayItem |
|
// |
|
virtual const CReplayTime & GetItemDate() const; |
|
virtual bool IsItemRendered() const; |
|
virtual CReplay *GetItemReplay(); |
|
virtual ReplayHandle_t GetItemReplayHandle() const; |
|
virtual QueryableReplayItemHandle_t GetItemHandle() const; |
|
virtual const wchar_t *GetItemTitle() const; |
|
virtual void SetItemTitle( const wchar_t *pTitle ); |
|
virtual float GetItemLength() const; |
|
virtual void *GetUserData(); |
|
virtual void SetUserData( void *pUserData ); |
|
virtual bool IsItemAMovie() const; |
|
|
|
CReplay *GetReplay() const; |
|
bool ReadRenderSettings( KeyValues *pIn ); |
|
void WriteRenderSettings( KeyValues *pOut ); |
|
|
|
ReplayHandle_t m_hReplay; // The replay associated with this movie, or 0 if the replay has been deleted |
|
wchar_t m_wszTitle[256];// Title for the movie |
|
CUtlString m_strFilename; // Relative (to game dir) path and filename of the movie |
|
CUtlString m_strUploadURL; // Link to uploaded YouTube video |
|
bool m_bRendered; // Has the movie finished rendering? |
|
void *m_pUserData; |
|
bool m_bUploaded; |
|
float m_flRenderTime; // How many seconds it took to render the movie |
|
CReplayTime m_RecordTime; // What date/time was this movie recorded? |
|
float m_flLength; // The movie length |
|
|
|
ReplayRenderSettings_t m_RenderSettings; |
|
}; |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
inline CReplayMovie *ToMovie( IReplaySerializeable *pMovie ) |
|
{ |
|
return static_cast< CReplayMovie * >( pMovie ); |
|
} |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
#endif // REPLAYMOVIE_H
|
|
|