(svn r8000) -Codechange: drop UDP packets when their internal size does not match the received size. If that is the case, the packet was not received in one piece (or got somehow mangled with another packet), which will cause us to drop the packet later on because we are (for example) trying to read beyond the end of the packet.
/* $Id$ */
#ifndef SPRITECACHE_H
#define SPRITECACHE_H
typedef struct Sprite {
byte info;
byte height;
uint16 width;
int16 x_offs;
int16 y_offs;
byte data[VARARRAY_SIZE];
} Sprite;
const void *GetRawSprite(SpriteID sprite);
bool SpriteExists(SpriteID sprite);
static inline const Sprite *GetSprite(SpriteID sprite)
{
return GetRawSprite(sprite);
}
static inline const byte *GetNonSprite(SpriteID sprite)
{
return GetRawSprite(sprite);
}
void GfxInitSpriteMem(void);
void IncreaseSpriteLRU(void);
bool LoadNextSprite(int load_index, byte file_index);
void DupSprite(SpriteID old, SpriteID new);
void SkipSprites(uint count);
#endif /* SPRITECACHE_H */