Tile Cache.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef __TILE_CACHE_H
  2. #define __TILE_CACHE_H
  3. #include "tiledef.h"
  4. #include "structure.h"
  5. #define TILE_CACHE_START_INDEX 36000
  6. typedef struct
  7. {
  8. CHAR8 zName[ 128 ]; // Name of tile ( filename and directory here )
  9. CHAR8 zRootName[ 30 ]; // Root name
  10. TILE_IMAGERY *pImagery; // Tile imagery
  11. INT16 sHits;
  12. UINT8 ubNumFrames;
  13. INT16 sStructRefID;
  14. } TILE_CACHE_ELEMENT;
  15. typedef struct
  16. {
  17. CHAR8 Filename[ 150 ];
  18. CHAR8 zRootName[ 30 ]; // Root name
  19. STRUCTURE_FILE_REF * pStructureFileRef;
  20. } TILE_CACHE_STRUCT;
  21. TILE_CACHE_ELEMENT *gpTileCache;
  22. BOOLEAN InitTileCache( );
  23. void DeleteTileCache( );
  24. INT32 GetCachedTile( INT8 *cFilename );
  25. BOOLEAN RemoveCachedTile( INT32 iCachedTile );
  26. STRUCTURE_FILE_REF *GetCachedTileStructureRefFromFilename( INT8 *cFilename );
  27. HVOBJECT GetCachedTileVideoObject( INT32 iIndex );
  28. STRUCTURE_FILE_REF *GetCachedTileStructureRef( INT32 iIndex );
  29. void CheckForAndAddTileCacheStructInfo( LEVELNODE *pNode, INT16 sGridNo, UINT16 usIndex, UINT16 usSubIndex );
  30. void CheckForAndDeleteTileCacheStructInfo( LEVELNODE *pNode, UINT16 usIndex );
  31. void GetRootName( INT8 *pDestStr, INT8 *pSrcStr );
  32. // OF COURSE, FOR SPEED, WE EXPORT OUR ARRAY
  33. // ACCESS FUNCTIONS IN RENDERER IS NOT TOO NICE
  34. // ATE
  35. #endif