author | rubidium |
Sun, 17 Jun 2007 21:31:00 +0000 | |
branch | noai |
changeset 9628 | b5c2449616b5 |
parent 9627 | 6a7c8ead2328 |
child 9723 | eee46cb39750 |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
9574 | 3 |
/** @file spritecache.h */ |
4 |
||
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
|
5 |
#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
|
6 |
#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
|
7 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
8 |
struct Sprite { |
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
|
9 |
byte height; |
1356
291c2802243f
(svn r1860) The sprite header endianness issue was solved in r1855
tron
parents:
1352
diff
changeset
|
10 |
uint16 width; |
291c2802243f
(svn r1860) The sprite header endianness issue was solved in r1855
tron
parents:
1352
diff
changeset
|
11 |
int16 x_offs; |
291c2802243f
(svn r1860) The sprite header endianness issue was solved in r1855
tron
parents:
1352
diff
changeset
|
12 |
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
|
13 |
byte data[VARARRAY_SIZE]; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
14 |
}; |
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
|
15 |
|
9626 | 16 |
extern uint _sprite_cache_size; |
17 |
||
9627 | 18 |
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
|
19 |
bool SpriteExists(SpriteID sprite); |
1361 | 20 |
|
21 |
static inline const Sprite *GetSprite(SpriteID sprite) |
|
22 |
{ |
|
9627 | 23 |
return (Sprite*)GetRawSprite(sprite, true); |
1361 | 24 |
} |
25 |
||
26 |
static inline const byte *GetNonSprite(SpriteID sprite) |
|
27 |
{ |
|
9627 | 28 |
return (byte*)GetRawSprite(sprite, false); |
1361 | 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 |
|
6573 | 31 |
void GfxInitSpriteMem(); |
32 |
void IncreaseSpriteLRU(); |
|
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
|
33 |
|
9628
b5c2449616b5
(svn r10195) [NoAI] -Sync: with trunk r10119:10194.
rubidium
parents:
9627
diff
changeset
|
34 |
bool LoadNextSprite(int load_index, byte file_index, uint file_sprite_id); |
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
35 |
void DupSprite(SpriteID old_spr, SpriteID new_spr); |
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
|
36 |
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
|
37 |
|
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
|
38 |
#endif /* SPRITECACHE_H */ |