spritecache.h
author tron
Sun, 13 Feb 2005 08:12:03 +0000
changeset 1361 10d9b95e7a81
parent 1357 a5acbb1f20fe
child 2014 0230ed9186bc
permissions -rw-r--r--
(svn r1865) Fix some warnings
1349
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
     1
#ifndef SPRITECACHE_H
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
     2
#define SPRITECACHE_H
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
     3
1350
067b22970f19 (svn r1854) Split GetSpritePtr() into GetSprite() for regular sprites (returning a Sprite*) and GetNonSprite() for "sprites" of type 0xFF (returning byte*)
tron
parents: 1349
diff changeset
     4
typedef struct Sprite {
067b22970f19 (svn r1854) Split GetSpritePtr() into GetSprite() for regular sprites (returning a Sprite*) and GetNonSprite() for "sprites" of type 0xFF (returning byte*)
tron
parents: 1349
diff changeset
     5
	byte info;
067b22970f19 (svn r1854) Split GetSpritePtr() into GetSprite() for regular sprites (returning a Sprite*) and GetNonSprite() for "sprites" of type 0xFF (returning byte*)
tron
parents: 1349
diff changeset
     6
	byte height;
1356
291c2802243f (svn r1860) The sprite header endianness issue was solved in r1855
tron
parents: 1352
diff changeset
     7
	uint16 width;
291c2802243f (svn r1860) The sprite header endianness issue was solved in r1855
tron
parents: 1352
diff changeset
     8
	int16 x_offs;
291c2802243f (svn r1860) The sprite header endianness issue was solved in r1855
tron
parents: 1352
diff changeset
     9
	int16 y_offs;
1350
067b22970f19 (svn r1854) Split GetSpritePtr() into GetSprite() for regular sprites (returning a Sprite*) and GetNonSprite() for "sprites" of type 0xFF (returning byte*)
tron
parents: 1349
diff changeset
    10
	byte data[VARARRAY_SIZE];
067b22970f19 (svn r1854) Split GetSpritePtr() into GetSprite() for regular sprites (returning a Sprite*) and GetNonSprite() for "sprites" of type 0xFF (returning byte*)
tron
parents: 1349
diff changeset
    11
} Sprite;
067b22970f19 (svn r1854) Split GetSpritePtr() into GetSprite() for regular sprites (returning a Sprite*) and GetNonSprite() for "sprites" of type 0xFF (returning byte*)
tron
parents: 1349
diff changeset
    12
assert_compile(sizeof(Sprite) == 8);
067b22970f19 (svn r1854) Split GetSpritePtr() into GetSprite() for regular sprites (returning a Sprite*) and GetNonSprite() for "sprites" of type 0xFF (returning byte*)
tron
parents: 1349
diff changeset
    13
1349
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
    14
typedef struct {
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
    15
	int xoffs, yoffs;
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
    16
	int xsize, ysize;
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
    17
} SpriteDimension;
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
    18
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
    19
const SpriteDimension *GetSpriteDimension(SpriteID sprite);
1361
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    20
const void *GetRawSprite(SpriteID sprite);
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    21
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    22
static inline const Sprite *GetSprite(SpriteID sprite)
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    23
{
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    24
	return GetRawSprite(sprite);
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    25
}
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    26
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    27
static inline const byte *GetNonSprite(SpriteID sprite)
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    28
{
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    29
	return GetRawSprite(sprite);
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    30
}
1349
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
    31
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
    32
void GfxLoadSprites(void);
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
    33
void IncreaseSpriteLRU(void);
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
    34
07514c2cc6d1 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate
tron
parents:
diff changeset
    35
#endif