#ifndef __Sprites__H
#define __Sprites__H

#include "WimpLib:std.h"
#include "WimpLib:Coords.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef struct
{
	int32_t size;
	int32_t number;
	int32_t sproff;
	int32_t freeoff;
} CSpriteArea;

typedef struct
{
	int32_t next;
	char    name[12];
	int32_t width;
	int32_t height;
	int32_t lbit;
	int32_t rbit;
	int32_t image;
	int32_t mask;
	int32_t mode;
} CSpriteHdr;

typedef struct
{
	int32_t xmag;
	int32_t ymag;
	int32_t xdiv;
	int32_t ydiv;
} CSpriteFactors;

CSpriteArea* throw_Sprites_LoadFile(const char* filename);
CSpriteHdr* Sprites_SelectSprite(const CSpriteArea* pSpriteArea, const char* pSpriteName);
CSpriteHdr* Sprites_FirstSprite(const CSpriteArea* pSpriteArea);
CSpriteHdr* Sprites_NextSprite(const CSpriteArea* pSpriteArea, const CSpriteHdr* pSprite);
CSize Sprite_GetSize(const CSpriteHdr* pSprite);

#ifdef __cplusplus
}
#endif

#endif
