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.
43 lines
1.1 KiB
43 lines
1.1 KiB
//========= 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
|
|
|