(svn r10092) -Codechange: code-seperated the spriteloader and blitter from the rest of the code
-Add: make it possible to pick your own blitter (-b <blitter>, -h for overview)
-Add: added a new optimized 8bpp blitter (default, caches sprites of all zoom-levels)
-Add: added a debug 8bpp blitter and a very slow normal 8bpp blitter
/* $Id$ */
/** @file spritecache.h */
#ifndef SPRITECACHE_H
#define SPRITECACHE_H
struct Sprite {
byte height;
uint16 width;
int16 x_offs;
int16 y_offs;
byte data[VARARRAY_SIZE];
};
extern uint _sprite_cache_size;
const void *GetRawSprite(SpriteID sprite);
bool SpriteExists(SpriteID sprite);
static inline const Sprite *GetSprite(SpriteID sprite)
{
return (Sprite*)GetRawSprite(sprite);
}
static inline const byte *GetNonSprite(SpriteID sprite)
{
return (byte*)GetRawSprite(sprite);
}
void GfxInitSpriteMem();
void IncreaseSpriteLRU();
bool LoadNextSprite(int load_index, byte file_index);
void DupSprite(SpriteID old_spr, SpriteID new_spr);
void SkipSprites(uint count);
#endif /* SPRITECACHE_H */