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