This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

43 lines
1.2 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================
#ifndef ISCENEFILECACHE_H
#define ISCENEFILECACHE_H
#ifdef _WIN32
#pragma once
#endif
#include "appframework/IAppSystem.h"
#include "interface.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