spritecache.h
Go to the documentation of this file.00001
00002
00005 #ifndef SPRITECACHE_H
00006 #define SPRITECACHE_H
00007
00008 #include "gfx_type.h"
00009
00010 struct Sprite {
00011 byte height;
00012 uint16 width;
00013 int16 x_offs;
00014 int16 y_offs;
00015 byte data[VARARRAY_SIZE];
00016 };
00017
00018 extern uint _sprite_cache_size;
00019
00020 const void *GetRawSprite(SpriteID sprite, bool real_sprite);
00021 bool SpriteExists(SpriteID sprite);
00022
00023 static inline const Sprite *GetSprite(SpriteID sprite)
00024 {
00025 return (Sprite*)GetRawSprite(sprite, true);
00026 }
00027
00028 static inline const byte *GetNonSprite(SpriteID sprite)
00029 {
00030 return (byte*)GetRawSprite(sprite, false);
00031 }
00032
00033 void GfxInitSpriteMem();
00034 void IncreaseSpriteLRU();
00035
00036 bool LoadNextSprite(int load_index, byte file_index, uint file_sprite_id);
00037 void DupSprite(SpriteID old_spr, SpriteID new_spr);
00038
00039 #endif