spritecache.h
author celestar
Mon, 11 Jul 2005 09:00:49 +0000
changeset 2035 aa2ba913811a
parent 2014 0230ed9186bc
child 2123 a273f80580bd
permissions -rw-r--r--
(svn r2544) -Add: Added the Doxyfile to the trunk. run "doxygen" to generate html-based documentation on the source code on the fly (about 9MB in size currently).
documentation will be stored in docs/source/html/ (request by blathijs)
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
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
    13
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
    14
	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
    15
	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
    16
} 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
    17
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
const SpriteDimension *GetSpriteDimension(SpriteID sprite);
1361
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    19
const void *GetRawSprite(SpriteID sprite);
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    20
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    21
static inline const Sprite *GetSprite(SpriteID sprite)
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    22
{
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    23
	return GetRawSprite(sprite);
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    24
}
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    25
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    26
static inline const byte *GetNonSprite(SpriteID sprite)
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    27
{
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    28
	return GetRawSprite(sprite);
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    29
}
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
    30
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
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
    32
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
    33
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
#endif