diff options
Diffstat (limited to 'public/scenefilecache/ISceneFileCache.h')
| -rw-r--r-- | public/scenefilecache/ISceneFileCache.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/public/scenefilecache/ISceneFileCache.h b/public/scenefilecache/ISceneFileCache.h new file mode 100644 index 0000000..973c6ef --- /dev/null +++ b/public/scenefilecache/ISceneFileCache.h @@ -0,0 +1,43 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//============================================================================= + +#ifndef ISCENEFILECACHE_H +#define ISCENEFILECACHE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "interface.h" +#include "appframework/IAppSystem.h" + +// the file cache can support persisting some calcs +struct SceneCachedData_t +{ + unsigned int msecs; + int numSounds; + int sceneId; +}; + +class ISceneFileCache : public IAppSystem +{ +public: + + // async implemenation + virtual size_t GetSceneBufferSize( char const *filename ) = 0; + virtual bool GetSceneData( char const *filename, byte *buf, size_t bufsize ) = 0; + + // persisted scene data, returns true if valid, false otherwise + virtual bool GetSceneCachedData( char const *pFilename, SceneCachedData_t *pData ) = 0; + virtual short GetSceneCachedSound( int iScene, int iSound ) = 0; + virtual const char *GetSceneString( short stringId ) = 0; + + // Physically reloads image from disk + virtual void Reload() = 0; +}; + +#define SCENE_FILE_CACHE_INTERFACE_VERSION "SceneFileCache002" + +#endif // ISCENEFILECACHE_H |