spritecache.h
author glx
Mon, 24 Sep 2007 03:08:47 +0000
branch0.5
changeset 5545 f42dc59a45f5
parent 5513 0d3227e250eb
permissions -rw-r--r--
(svn r11153) [0.5] -Fix [FS#1251]: incorrect usage of {G} tag in slovak translation
2186
461a2aff3486 (svn r2701) Insert Id tags into all source files
tron
parents: 2123
diff changeset
     1
/* $Id$ */
461a2aff3486 (svn r2701) Insert Id tags into all source files
tron
parents: 2123
diff changeset
     2
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
     3
#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
     4
#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
     5
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
     6
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
     7
	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
     8
	byte height;
1356
291c2802243f (svn r1860) The sprite header endianness issue was solved in r1855
tron
parents: 1352
diff changeset
     9
	uint16 width;
291c2802243f (svn r1860) The sprite header endianness issue was solved in r1855
tron
parents: 1352
diff changeset
    10
	int16 x_offs;
291c2802243f (svn r1860) The sprite header endianness issue was solved in r1855
tron
parents: 1352
diff changeset
    11
	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
    12
	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
    13
} 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
    14
5513
0d3227e250eb (svn r10280) [0.5] -Backport from trunk (r10109, r10219, r10222, r10230, r10246, r10258):
rubidium
parents: 3565
diff changeset
    15
const void *GetRawSprite(SpriteID sprite, bool real_sprite);
3565
03d870cc3dcd (svn r4446) - Add function to determine if a Sprite ID exists.
peter1138
parents: 2436
diff changeset
    16
bool SpriteExists(SpriteID sprite);
1361
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    17
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    18
static inline const Sprite *GetSprite(SpriteID sprite)
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    19
{
5513
0d3227e250eb (svn r10280) [0.5] -Backport from trunk (r10109, r10219, r10222, r10230, r10246, r10258):
rubidium
parents: 3565
diff changeset
    20
	return GetRawSprite(sprite, true);
1361
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    21
}
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    22
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    23
static inline const byte *GetNonSprite(SpriteID sprite)
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    24
{
5513
0d3227e250eb (svn r10280) [0.5] -Backport from trunk (r10109, r10219, r10222, r10230, r10246, r10258):
rubidium
parents: 3565
diff changeset
    25
	return GetRawSprite(sprite, false);
1361
10d9b95e7a81 (svn r1865) Fix some warnings
tron
parents: 1357
diff changeset
    26
}
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
    27
2340
0a9f3eeccb96 (svn r2866) Move all functions and tables which aren't directly involved in managing the sprite heap to a new file gfxinit.c.
tron
parents: 2319
diff changeset
    28
void GfxInitSpriteMem(void);
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
    29
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
    30
2340
0a9f3eeccb96 (svn r2866) Move all functions and tables which aren't directly involved in managing the sprite heap to a new file gfxinit.c.
tron
parents: 2319
diff changeset
    31
bool LoadNextSprite(int load_index, byte file_index);
2407
983f1d8a0614 (svn r2933) Implement the non-breaking space
tron
parents: 2340
diff changeset
    32
void DupSprite(SpriteID old, SpriteID new);
2340
0a9f3eeccb96 (svn r2866) Move all functions and tables which aren't directly involved in managing the sprite heap to a new file gfxinit.c.
tron
parents: 2319
diff changeset
    33
void SkipSprites(uint count);
0a9f3eeccb96 (svn r2866) Move all functions and tables which aren't directly involved in managing the sprite heap to a new file gfxinit.c.
tron
parents: 2319
diff changeset
    34
2436
177cb6a8339f (svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents: 2407
diff changeset
    35
#endif /* SPRITECACHE_H */