-/***********************************************************
-* 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
/* 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
+#define ANIM_START 0
+#define ANIM_CONTINUE 1
+#define ANIM_STOP 2
struct ToonScreenInfo
{
- Bitmap **toon_bitmap_array;
Bitmap *save_buffer;
void (*update_function)(void);
void (*prepare_backbuffer_function)(void);
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();
-void InitAnimation(void);
-void StopAnimation(void);
-void DoAnimation(void);
+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 HandleAnimation(int);
#endif /* TOONS_H */