fixed RLEsprite bug
[eradicate] / src / sprite.h
1 #ifndef SPRITE_H_
2 #define SPRITE_H_
3
4 enum {
5         SOP_END,
6         SOP_ENDL,
7         SOP_SKIP,
8         SOP_RESVD,
9         SOP_COPY
10 };
11
12 struct sprite_op {
13         unsigned char op;
14         unsigned short size;
15         void *data;
16 };
17
18 struct sprite {
19         struct sprite_op *ops;
20         int num_ops;
21 };
22
23 struct sprites {
24         int width, height, bpp;
25
26         struct sprite *sprites;
27         int num_sprites;
28 };
29
30 void destroy_sprites(struct sprites *ss);
31
32 int load_sprites(struct sprites *ss, const char *fname);
33
34 void draw_sprite(void *dest, int fbpitch, struct sprites *ss, int idx);
35
36 #endif  /* SPRITE_H_ */