105 lines
3.5 KiB
C++
105 lines
3.5 KiB
C++
//========= 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
|