1 #ifndef __TILE_CACHE_H
2 #define __TILE_CACHE_H
3 
4 
5 #include "Types.h"
6 #include <string_theory/string>
7 struct LEVELNODE;
8 struct STRUCTURE_FILE_REF;
9 struct TILE_IMAGERY;
10 
11 
12 #define TILE_CACHE_START_INDEX 36000
13 
14 struct TILE_CACHE_ELEMENT
15 {
16 	ST::string          zName; // Name of tile (filename and directory here)
17 	TILE_IMAGERY*       pImagery;   // Tile imagery
18 	INT16               sHits;
19 	UINT8               ubNumFrames;
20 	STRUCTURE_FILE_REF* struct_file_ref;
21 };
22 
23 
24 extern TILE_CACHE_ELEMENT* gpTileCache;
25 
26 
27 void InitTileCache(void);
28 void DeleteTileCache(void);
29 
30 INT32 GetCachedTile(const char* cFilename);
31 void  RemoveCachedTile(INT32 cached_tile);
32 
33 STRUCTURE_FILE_REF* GetCachedTileStructureRefFromFilename(const char* cFilename);
34 
35 void CheckForAndAddTileCacheStructInfo( LEVELNODE *pNode, INT16 sGridNo, UINT16 usIndex, UINT16 usSubIndex );
36 void CheckForAndDeleteTileCacheStructInfo( LEVELNODE *pNode, UINT16 usIndex );
37 
38 
39 // OF COURSE, FOR SPEED, WE EXPORT OUR ARRAY
40 // ACCESS FUNCTIONS IN RENDERER IS NOT TOO NICE
41 // ATE
42 
43 
44 
45 #endif
46