X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Ftoons.h;h=449687cd26f98a274d7236e61824f588b09973e4;hp=4ed43abe148c1e16e46db1dafaa911d809a83c26;hb=30f5fd7b8f2235820dcbe638a18319d802317530;hpb=4be46f1030df4cb7db0ce7c46d2518334861731a diff --git a/src/libgame/toons.h b/src/libgame/toons.h index 4ed43abe..449687cd 100644 --- a/src/libgame/toons.h +++ b/src/libgame/toons.h @@ -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 @@ -17,27 +15,10 @@ #include "system.h" -/* values for animation mode (frame order and direction) */ -#define ANIM_NONE 0 -#define ANIM_LOOP (1 << 0) -#define ANIM_LINEAR (1 << 1) -#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 -#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 +/* values for toon animation */ +#define ANIM_START 0 +#define ANIM_CONTINUE 1 +#define ANIM_STOP 2 struct ToonScreenInfo @@ -58,19 +39,19 @@ struct ToonScreenInfo struct ToonInfo { - int graphic; - int width, height; + Bitmap *bitmap; + int src_x, src_y; + int width, height; int anim_frames; - int move_delay; - int stepsize; + int anim_start_frame; + int anim_delay; int anim_mode; - int direction; - int position; + int step_offset; + int step_delay; - int anim_delay; - int start_frame; - Bitmap *bitmap; /* dynamically initialized */ + char *direction; + char *position; }; @@ -80,8 +61,7 @@ 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); + +void HandleAnimation(int); #endif /* TOONS_H */