updated contact info in source file headers
[rocksndiamonds.git] / src / libgame / toons.h
index f090b4d293922ca3b55e254293f13b8a24ab6940..5dc52d021860d38dc2fb20514ab6c506b98c21bf 100644 (file)
@@ -1,15 +1,13 @@
-/***********************************************************
-* Artsoft Retro-Game Library                               *
-*----------------------------------------------------------*
-* (c) 1995-2002 Artsoft Entertainment                      *
-*               Holger Schemel                             *
-*               Detmolder Strasse 189                      *
-*               33604 Bielefeld                            *
-*               Germany                                    *
-*               e-mail: info@artsoft.org                   *
-*----------------------------------------------------------*
-* toons.h                                                  *
-***********************************************************/
+// ============================================================================
+// Artsoft Retro-Game Library
+// ----------------------------------------------------------------------------
+// (c) 1995-2014 by Artsoft Entertainment
+//                         Holger Schemel
+//                 info@artsoft.org
+//                 http://www.artsoft.org/
+// ----------------------------------------------------------------------------
+// toons.h
+// ============================================================================
 
 #ifndef TOONS_H
 #define TOONS_H
 #include "system.h"
 
 
-/* values for toon animation */
-#define ANIMDIR_LEFT   1
-#define ANIMDIR_RIGHT  2
-#define ANIMDIR_UP     4
-#define ANIMDIR_DOWN   8
-
-#define ANIMPOS_ANY    0
-#define ANIMPOS_LEFT   1
-#define ANIMPOS_RIGHT  2
-#define ANIMPOS_UP     4
-#define ANIMPOS_DOWN   8
-#define ANIMPOS_UPPER  16
-
-
 struct ToonScreenInfo
 {
-  Bitmap **toon_bitmap_array;
   Bitmap *save_buffer;
   void (*update_function)(void);
   void (*prepare_backbuffer_function)(void);
@@ -44,23 +27,34 @@ struct ToonScreenInfo
 
   int startx, starty;
   int width, height;
+
+  int frame_delay_value;
 };
 
 struct ToonInfo
 {
-  int bitmap_nr;
-  int width, height;
+  Bitmap *bitmap;
+
   int src_x, src_y;
-  int frames;
-  int frames_per_second;
-  int stepsize;
-  boolean pingpong;
-  int direction;
-  int position;
+  int width, height;
+  int anim_frames;
+  int anim_start_frame;
+  int anim_delay;
+  int anim_mode;
+  int step_offset;
+  int step_delay;
+
+  char *direction;
+  char *position;
 };
 
 
-void InitToonScreen();
+int getAnimationFrame(int, int, int, int, int);
+
+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);