mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-09-01 15:09:19 +00:00
1
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
//========= 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
|
||||
Reference in New Issue
Block a user