Team Fortress 2 Source Code as on 22/4/2020
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.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
//=======================================================================================//
#ifndef REPLAYMOVIEMANAGER_H
#define REPLAYMOVIEMANAGER_H
#ifdef _WIN32
#pragma once
#endif
//----------------------------------------------------------------------------------------
#include "replay/ireplaymoviemanager.h"
#include "replay/shared_defs.h"
#include "genericpersistentmanager.h"
#include "cl_replaymovie.h"
#include "utlvector.h"
//----------------------------------------------------------------------------------------
class IClientReplayHistoryManager; struct MaterialSystem_Config_t;
//----------------------------------------------------------------------------------------
class CReplayMovieManager : public CGenericPersistentManager< CReplayMovie >, public IReplayMovieManager { typedef CGenericPersistentManager< CReplayMovie > BaseClass;
public: CReplayMovieManager(); ~CReplayMovieManager();
virtual bool Init();
//
// CBaseThinker
//
virtual float GetNextThinkTime() const;
//
// IReplayMovieManager
//
virtual int GetMovieCount(); virtual void GetMovieList( CUtlLinkedList< IReplayMovie * > &list ); virtual IReplayMovie *GetMovie( ReplayHandle_t hMovie ); virtual IReplayMovie *CreateAndAddMovie( ReplayHandle_t hReplay ); virtual void DeleteMovie( ReplayHandle_t hMovie ); virtual int GetNumMoviesDependentOnReplay( const CReplay *pReplay ); virtual void SetPendingMovie( IReplayMovie *pMovie ); virtual IReplayMovie *GetPendingMovie(); virtual void FlagMovieForFlush( IReplayMovie *pMovie, bool bImmediate ); virtual void GetMoviesAsQueryableItems( CUtlLinkedList< IQueryableReplayItem *, int > &lstMovies ); virtual const char *GetRenderDir() const; virtual const char *GetRawExportDir() const;
virtual void RenderMovie( RenderMovieParams_t const& params ); virtual void RenderNextMovie(); virtual bool IsRendering() const { return m_bIsRendering; } virtual bool RenderingCancelled() const { return m_bRenderingCancelled; } virtual void CompleteRender( bool bSuccess, bool bShowBrowser ); virtual void ClearRenderCancelledFlag(); virtual void CancelRender();
void AddMovie( CReplayMovie *pNewMovie ); CReplayMovie *CastMovie( IReplayMovie *pMovie ); void CacheMovieTitle( const wchar_t *pTitle ); void GetCachedMovieTitleAndClear( wchar_t *pOut, int nBufLength ); RenderMovieParams_t &GetRenderMovieSettings() { return *m_pRenderMovieSettings; }
private: //
// CGenericPersistentManager
//
virtual const char *GetDebugName() const { return "movie manager"; } virtual const char *GetIndexFilename() const { return "movies." GENERIC_FILE_EXTENSION; } virtual CReplayMovie *Create(); virtual const char *GetRelativeIndexPath() const; virtual int GetVersion() const; virtual int GetHandleBase() const { return MOVIE_HANDLE_BASE; } virtual IReplayContext *GetReplayContext() const;
void AddReplayForRender( CReplay *pReplay, int iPerformance ); void SetupVideo( RenderMovieParams_t const ¶ms ); void SetupHighDetailModels(); void SetupHighDetailTextures(); void SetupHighQualityAntialiasing(); void SetupHighQualityFiltering(); void SetupHighQualityShadowDetail(); void SetupHighQualityHDR(); void SetupHighQualityWaterDetail(); void SetupMulticoreRender(); void SetupHighQualityShaderDetail(); void SetupColorCorrection(); void SetupMotionBlur();
wchar_t m_wszCachedMovieTitle[MAX_REPLAY_TITLE_LENGTH]; IReplayMovie *m_pPendingMovie; MaterialSystem_Config_t *m_pVidModeSettings; // Used to restore video mode settings after render completion
RenderMovieParams_t *m_pRenderMovieSettings;
bool m_bIsRendering; bool m_bRenderingCancelled;
//
// TODO:
// - date rendered
//
};
//----------------------------------------------------------------------------------------
#endif // REPLAYMOVIEMANAGER_H
|