mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-09-20 12:36:05 +08:00
VFileSystem019 update (bug 4965).
This commit is contained in:
@ -401,7 +401,7 @@ public:
|
|||||||
// Main file system interface
|
// Main file system interface
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
#define FILESYSTEM_INTERFACE_VERSION "VFileSystem017"
|
#define FILESYSTEM_INTERFACE_VERSION "VFileSystem019"
|
||||||
|
|
||||||
abstract_class IFileSystem : public IAppSystem, public IBaseFileSystem
|
abstract_class IFileSystem : public IAppSystem, public IBaseFileSystem
|
||||||
{
|
{
|
||||||
@ -550,6 +550,10 @@ public:
|
|||||||
virtual bool AsyncSuspend() = 0;
|
virtual bool AsyncSuspend() = 0;
|
||||||
virtual bool AsyncResume() = 0;
|
virtual bool AsyncResume() = 0;
|
||||||
|
|
||||||
|
// Next two functions each take an IAsyncFileFetch ptr.
|
||||||
|
virtual void AsyncAddFetcher( void *pFetch ) = 0;
|
||||||
|
virtual void AsyncRemoveFetcher( void *pFetch ) = 0;
|
||||||
|
|
||||||
//------------------------------------
|
//------------------------------------
|
||||||
// Functions to hold a file open if planning on doing mutiple reads. Use is optional,
|
// Functions to hold a file open if planning on doing mutiple reads. Use is optional,
|
||||||
// and is taken only as a hint
|
// and is taken only as a hint
|
||||||
@ -721,6 +725,11 @@ public:
|
|||||||
virtual void CacheFileCRCs( const char *pPathname, ECacheCRCType eType, IFileList *pFilter ) = 0;
|
virtual void CacheFileCRCs( const char *pPathname, ECacheCRCType eType, IFileList *pFilter ) = 0;
|
||||||
virtual EFileCRCStatus CheckCachedFileCRC( const char *pPathID, const char *pRelativeFilename, CRC32_t *pCRC ) = 0;
|
virtual EFileCRCStatus CheckCachedFileCRC( const char *pPathID, const char *pRelativeFilename, CRC32_t *pCRC ) = 0;
|
||||||
|
|
||||||
|
virtual void CacheFileMD5s( const char *pPathname, ECacheCRCType eType, IFileList *pFilter ) = 0;
|
||||||
|
|
||||||
|
// Last param is an MD5Value_t pointer.
|
||||||
|
virtual EFileCRCStatus CheckCachedFileMD5( const char *pPathID, const char *pRelativeFilename, void *pMD5 ) = 0;
|
||||||
|
|
||||||
// Fills in the list of files that have been loaded off disk and have not been verified.
|
// Fills in the list of files that have been loaded off disk and have not been verified.
|
||||||
// Returns the number of files filled in (between 0 and nMaxFiles).
|
// Returns the number of files filled in (between 0 and nMaxFiles).
|
||||||
//
|
//
|
||||||
@ -729,6 +738,9 @@ public:
|
|||||||
// The client sends batches of these to the server to verify.
|
// The client sends batches of these to the server to verify.
|
||||||
virtual int GetUnverifiedCRCFiles( CUnverifiedCRCFile *pFiles, int nMaxFiles ) = 0;
|
virtual int GetUnverifiedCRCFiles( CUnverifiedCRCFile *pFiles, int nMaxFiles ) = 0;
|
||||||
|
|
||||||
|
// First param is a CUnverifiedMD5File pointer.
|
||||||
|
virtual int GetUnverifiedMD5Files( void *pFiles, int nMaxFiles ) = 0;
|
||||||
|
|
||||||
// Control debug message output.
|
// Control debug message output.
|
||||||
// Pass a combination of WHITELIST_SPEW_ flags.
|
// Pass a combination of WHITELIST_SPEW_ flags.
|
||||||
virtual int GetWhitelistSpewFlags() = 0;
|
virtual int GetWhitelistSpewFlags() = 0;
|
||||||
@ -736,6 +748,15 @@ public:
|
|||||||
|
|
||||||
// Installs a callback used to display a dirty disk dialog
|
// Installs a callback used to display a dirty disk dialog
|
||||||
virtual void InstallDirtyDiskReportFunc( FSDirtyDiskReportFunc_t func ) = 0;
|
virtual void InstallDirtyDiskReportFunc( FSDirtyDiskReportFunc_t func ) = 0;
|
||||||
|
|
||||||
|
// This looks to return a "CFileCacheObject" object.
|
||||||
|
virtual void *CreateFileCache( void ) = 0;
|
||||||
|
|
||||||
|
// Assuming that the first param in each of these is also a CFileCacheObject ptr.
|
||||||
|
virtual void AddFilesToFileCache( void *pFileCache, const char **, int size, const char * ) = 0;
|
||||||
|
virtual bool IsFileCacheFileLoaded( void *pFileCache, const char *szFile ) = 0;
|
||||||
|
virtual bool IsFileCacheLoaded( void *pFileCache ) = 0;
|
||||||
|
virtual void DestroyFileCache( void *pFileCache ) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -172,6 +172,9 @@ public:
|
|||||||
virtual FSAsyncStatus_t AsyncSetPriority(FSAsyncControl_t hControl, int newPriority) { return m_pFileSystemPassThru->AsyncSetPriority(hControl, newPriority); }
|
virtual FSAsyncStatus_t AsyncSetPriority(FSAsyncControl_t hControl, int newPriority) { return m_pFileSystemPassThru->AsyncSetPriority(hControl, newPriority); }
|
||||||
virtual bool AsyncSuspend() { return m_pFileSystemPassThru->AsyncSuspend(); }
|
virtual bool AsyncSuspend() { return m_pFileSystemPassThru->AsyncSuspend(); }
|
||||||
virtual bool AsyncResume() { return m_pFileSystemPassThru->AsyncResume(); }
|
virtual bool AsyncResume() { return m_pFileSystemPassThru->AsyncResume(); }
|
||||||
|
// Next two functions each take an IAsyncFileFetch ptr.
|
||||||
|
virtual void AsyncAddFetcher( void *pFetch ) { return m_pFileSystemPassThru->AsyncAddFetcher(pFetch); }
|
||||||
|
virtual void AsyncRemoveFetcher( void *pFetch ) { return m_pFileSystemPassThru->AsyncRemoveFetcher(pFetch); }
|
||||||
virtual const char *RelativePathToFullPath( const char *pFileName, const char *pPathID, char *pLocalPath, int localPathBufferSize, PathTypeFilter_t pathFilter = FILTER_NONE, PathTypeQuery_t *pPathType = NULL ) { return m_pFileSystemPassThru->RelativePathToFullPath( pFileName, pPathID, pLocalPath, localPathBufferSize, pathFilter, pPathType ); }
|
virtual const char *RelativePathToFullPath( const char *pFileName, const char *pPathID, char *pLocalPath, int localPathBufferSize, PathTypeFilter_t pathFilter = FILTER_NONE, PathTypeQuery_t *pPathType = NULL ) { return m_pFileSystemPassThru->RelativePathToFullPath( pFileName, pPathID, pLocalPath, localPathBufferSize, pathFilter, pPathType ); }
|
||||||
virtual int GetSearchPath( const char *pathID, bool bGetPackFiles, char *pPath, int nMaxLen ) { return m_pFileSystemPassThru->GetSearchPath( pathID, bGetPackFiles, pPath, nMaxLen ); }
|
virtual int GetSearchPath( const char *pathID, bool bGetPackFiles, char *pPath, int nMaxLen ) { return m_pFileSystemPassThru->GetSearchPath( pathID, bGetPackFiles, pPath, nMaxLen ); }
|
||||||
|
|
||||||
@ -220,16 +223,36 @@ public:
|
|||||||
{ m_pFileSystemPassThru->MarkAllCRCsUnverified(); }
|
{ m_pFileSystemPassThru->MarkAllCRCsUnverified(); }
|
||||||
virtual void CacheFileCRCs( const char *pPathname, ECacheCRCType eType, IFileList *pFilter )
|
virtual void CacheFileCRCs( const char *pPathname, ECacheCRCType eType, IFileList *pFilter )
|
||||||
{ return m_pFileSystemPassThru->CacheFileCRCs( pPathname, eType, pFilter ); }
|
{ return m_pFileSystemPassThru->CacheFileCRCs( pPathname, eType, pFilter ); }
|
||||||
|
virtual void CacheFileMD5s( const char *pPathname, ECacheCRCType eType, IFileList *pFilter )
|
||||||
|
{ return m_pFileSystemPassThru->CacheFileMD5s( pPathname, eType, pFilter ); }
|
||||||
virtual EFileCRCStatus CheckCachedFileCRC( const char *pPathID, const char *pRelativeFilename, CRC32_t *pCRC )
|
virtual EFileCRCStatus CheckCachedFileCRC( const char *pPathID, const char *pRelativeFilename, CRC32_t *pCRC )
|
||||||
{ return m_pFileSystemPassThru->CheckCachedFileCRC( pPathID, pRelativeFilename, pCRC ); }
|
{ return m_pFileSystemPassThru->CheckCachedFileCRC( pPathID, pRelativeFilename, pCRC ); }
|
||||||
|
virtual EFileCRCStatus CheckCachedFileMD5( const char *pPathID, const char *pRelativeFilename, void *pMD5 )
|
||||||
|
{ return m_pFileSystemPassThru->CheckCachedFileMD5( pPathID, pRelativeFilename, pMD5 ); }
|
||||||
virtual int GetUnverifiedCRCFiles( CUnverifiedCRCFile *pFiles, int nMaxFiles )
|
virtual int GetUnverifiedCRCFiles( CUnverifiedCRCFile *pFiles, int nMaxFiles )
|
||||||
{ return m_pFileSystemPassThru->GetUnverifiedCRCFiles( pFiles, nMaxFiles ); }
|
{ return m_pFileSystemPassThru->GetUnverifiedCRCFiles( pFiles, nMaxFiles ); }
|
||||||
|
virtual int GetUnverifiedMD5Files( void *pFiles, int nMaxFiles )
|
||||||
|
{ return m_pFileSystemPassThru->GetUnverifiedMD5Files( pFiles, nMaxFiles ); }
|
||||||
virtual int GetWhitelistSpewFlags()
|
virtual int GetWhitelistSpewFlags()
|
||||||
{ return m_pFileSystemPassThru->GetWhitelistSpewFlags(); }
|
{ return m_pFileSystemPassThru->GetWhitelistSpewFlags(); }
|
||||||
virtual void SetWhitelistSpewFlags( int spewFlags )
|
virtual void SetWhitelistSpewFlags( int spewFlags )
|
||||||
{ m_pFileSystemPassThru->SetWhitelistSpewFlags( spewFlags ); }
|
{ m_pFileSystemPassThru->SetWhitelistSpewFlags( spewFlags ); }
|
||||||
virtual void InstallDirtyDiskReportFunc( FSDirtyDiskReportFunc_t func ) { m_pFileSystemPassThru->InstallDirtyDiskReportFunc( func ); }
|
virtual void InstallDirtyDiskReportFunc( FSDirtyDiskReportFunc_t func ) { m_pFileSystemPassThru->InstallDirtyDiskReportFunc( func ); }
|
||||||
|
|
||||||
|
// This looks to return a "CFileCacheObject" object.
|
||||||
|
virtual void *CreateFileCache()
|
||||||
|
{ return m_pFileSystemPassThru->CreateFileCache(); }
|
||||||
|
|
||||||
|
// Assuming that the first param in each of these is also a CFileCacheObject ptr.
|
||||||
|
virtual void AddFilesToFileCache( void *pFileCache, const char **pszUnk1, int size, const char *szUnk2 )
|
||||||
|
{ m_pFileSystemPassThru->AddFilesToFileCache( pFileCache, pszUnk1, size, szUnk2 ); }
|
||||||
|
virtual bool IsFileCacheFileLoaded( void *pFileCache, const char *szFile )
|
||||||
|
{ return m_pFileSystemPassThru->IsFileCacheFileLoaded( pFileCache, szFile ); }
|
||||||
|
virtual bool IsFileCacheLoaded( void *pFileCache )
|
||||||
|
{ return m_pFileSystemPassThru->IsFileCacheLoaded( pFileCache ); }
|
||||||
|
virtual void DestroyFileCache( void *pFileCache )
|
||||||
|
{ m_pFileSystemPassThru->DestroyFileCache( pFileCache ); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
IFileSystem *m_pFileSystemPassThru;
|
IFileSystem *m_pFileSystemPassThru;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user