rnd-20030618-2-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 struct ToonScreenInfo
21 {
22   Bitmap *save_buffer;
23   void (*update_function)(void);
24   void (*prepare_backbuffer_function)(void);
25   boolean (*redraw_needed_function)(void);
26
27   struct ToonInfo *toons;
28   int num_toons;
29
30   int startx, starty;
31   int width, height;
32
33   int frame_delay_value;
34 };
35
36 struct ToonInfo
37 {
38 #if 0
39   int graphic;
40   int width, height;
41   int src_x, src_y;
42   int anim_frames;
43   int step_delay;
44   int step_offset;
45   int anim_mode;
46   int direction;
47   int position;
48
49   int anim_delay;
50   int anim_start_frame;
51   Bitmap *bitmap;       /* dynamically initialized */
52
53   char *direction_str;
54   char *position_str;
55
56 #else
57
58   Bitmap *bitmap;
59   int src_x, src_y;
60   int width, height;
61   int anim_frames;
62   int anim_start_frame;
63   int anim_delay;
64   int anim_mode;
65   int step_offset;
66   int step_delay;
67   char *direction;
68   char *position;
69 #endif
70 };
71
72
73 int getAnimationFrame(int, int, int, int, int);
74
75 void InitToonScreen(Bitmap *, void (*update_function)(void),
76                     void (*prepare_backbuffer_function)(void),
77                     boolean (*redraw_needed_function)(void),
78                     struct ToonInfo *, int, int, int, int, int, int);
79 void InitAnimation(void);
80 void StopAnimation(void);
81 void DoAnimation(void);
82
83 #endif  /* TOONS_H */