rnd-20030208-2-src
[rocksndiamonds.git] / src / libgame / toons.h
index 75f76864e8203ccef076017791a773ea5c98780f..8ea41d1868fb375e51de653b2e699c5b488e50ac 100644 (file)
@@ -24,6 +24,7 @@
 #define ANIM_PINGPONG          (1 << 2)
 #define ANIM_PINGPONG2         (1 << 3)
 #define ANIM_REVERSE           (1 << 4)
+#define ANIM_RANDOM            (1 << 5)
 
 /* values for toon animation direction */
 #define ANIMDIR_LEFT   1
@@ -51,6 +52,8 @@ struct ToonScreenInfo
 
   int startx, starty;
   int width, height;
+
+  int frame_delay_value;
 };
 
 struct ToonInfo
@@ -59,21 +62,36 @@ struct ToonInfo
   int width, height;
   int src_x, src_y;
   int anim_frames;
-  int move_delay;
-  int stepsize;
+  int step_delay;
+  int step_offset;
   int anim_mode;
   int direction;
   int position;
 
   int anim_delay;
-  int start_frame;
+  int anim_start_frame;
   Bitmap *bitmap;      /* dynamically initialized */
+
+#if 0
+  Bitmap *bitmap;
+  int src_x, src_y;
+  int width, height;
+  int anim_frames;
+  int anim_start_frame;
+  int anim_delay;
+  int anim_mode;
+  int step_offset;
+  int step_delay;
+#endif
 };
 
 
 int getAnimationFrame(int, int, int, int, int);
 
-void InitToonScreen();
+void InitToonScreen(Bitmap *, void (*update_function)(void),
+                   void (*prepare_backbuffer_function)(void),
+                   boolean (*redraw_needed_function)(void),
+                   struct ToonInfo *, int, int, int, int, int, int);
 void InitAnimation(void);
 void StopAnimation(void);
 void DoAnimation(void);