rnd-20020330-4-src
[rocksndiamonds.git] / src / libgame / toons.h
1 /***********************************************************
2 * Artsoft Retro-Game Library                               *
3 *----------------------------------------------------------*
4 * (c) 1995-2002 Artsoft Entertainment                      *
5 *               Holger Schemel                             *
6 *               Detmolder Strasse 189                      *
7 *               33604 Bielefeld                            *
8 *               Germany                                    *
9 *               e-mail: info@artsoft.org                   *
10 *----------------------------------------------------------*
11 * toons.h                                                  *
12 ***********************************************************/
13
14 #ifndef TOONS_H
15 #define TOONS_H
16
17 #include "system.h"
18
19
20 /* values for toon animation */
21 #define ANIMDIR_LEFT    1
22 #define ANIMDIR_RIGHT   2
23 #define ANIMDIR_UP      4
24 #define ANIMDIR_DOWN    8
25
26 #define ANIMPOS_ANY     0
27 #define ANIMPOS_LEFT    1
28 #define ANIMPOS_RIGHT   2
29 #define ANIMPOS_UP      4
30 #define ANIMPOS_DOWN    8
31 #define ANIMPOS_UPPER   16
32
33
34 struct ToonScreenInfo
35 {
36   Bitmap **toon_bitmap_array;
37   Bitmap *save_buffer;
38   void (*update_function)(void);
39   void (*prepare_backbuffer_function)(void);
40   boolean (*redraw_needed_function)(void);
41
42   struct ToonInfo *toons;
43   int num_toons;
44
45   int startx, starty;
46   int width, height;
47 };
48
49 struct ToonInfo
50 {
51   int bitmap_nr;
52   int width, height;
53   int src_x, src_y;
54   int frames;
55   int frames_per_second;
56   int stepsize;
57   boolean pingpong;
58   int direction;
59   int position;
60 };
61
62
63 void InitToonScreen();
64 void InitAnimation(void);
65 void StopAnimation(void);
66 void DoAnimation(void);
67
68 #endif  /* TOONS_H */