1 /*
2  * OpenBOR - http://www.chronocrash.com
3  * -----------------------------------------------------------------------
4  * All rights reserved, see LICENSE in OpenBOR root for details.
5  *
6  * Copyright (c) 2004 - 2014 OpenBOR Team
7  */
8 
9 #ifndef	SPRITEQ_H
10 #define	SPRITEQ_H
11 
12 
13 #define			SFX_NONE		0
14 #define			SFX_REMAP		1
15 #define			SFX_BLEND		2
16 #define			SFX_SPECIAL		3
17 
18 // Max layer values, used at debug performance menu
19 #define			LAYER_Z_LIMIT_MAX		1410065407
20 #define			LAYER_Z_LIMIT_BOX_MAX		0x540BE3FF
21 
22 
23 
24 extern int  pixelformat;
25 // Sprite queueing and sorting
26 void spriteq_add_sprite(int x, int y, int z, int id, s_drawmethod *pdrawmethod, int sortid);
27 void spriteq_add_frame(int x, int y, int z, s_sprite *frame, s_drawmethod *pdrawmethod, int sortid);
28 void spriteq_add_dot(int sx, int sy, int z, int colour, s_drawmethod *pdrawmethod);
29 void spriteq_add_line(int sx, int sy, int ex, int ey, int z, int colour, s_drawmethod *pdrawmethod);
30 void spriteq_add_box(int x, int y, int width, int height, int z, int colour, s_drawmethod *pdrawmethod);
31 void spriteq_add_screen(int x, int y, int z, s_screen *ps, s_drawmethod *pdrawmethod, int sortid);
32 void spriteq_draw(s_screen *screen, int newonly, int minz, int maxz, int dx, int dy);
33 
34 // Quantity readouts.
35 int spriteq_get_sprite_count();
36 int spriteq_get_sprite_max();
37 
38 void spriteq_lock();
39 void spriteq_unlock();
40 int  spriteq_islocked();
41 
42 void spriteq_clear(void);
43 
44 
45 #endif
46