X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Ftoons.h;h=a30cbe63456786bcf9d1dc4642930d6a05487c17;hb=29fc833ae1b5e46a429a9fa82098e8ad94f6f400;hp=75f76864e8203ccef076017791a773ea5c98780f;hpb=f22f670b327fa0e074a4ef0889585a33afb7f8a3;p=rocksndiamonds.git diff --git a/src/libgame/toons.h b/src/libgame/toons.h index 75f76864..a30cbe63 100644 --- a/src/libgame/toons.h +++ b/src/libgame/toons.h @@ -24,7 +24,9 @@ #define ANIM_PINGPONG (1 << 2) #define ANIM_PINGPONG2 (1 << 3) #define ANIM_REVERSE (1 << 4) +#define ANIM_RANDOM (1 << 5) +#if 0 /* values for toon animation direction */ #define ANIMDIR_LEFT 1 #define ANIMDIR_RIGHT 2 @@ -37,6 +39,7 @@ #define ANIMPOS_UP 4 #define ANIMPOS_DOWN 8 #define ANIMPOS_UPPER 16 +#endif struct ToonScreenInfo @@ -51,29 +54,53 @@ struct ToonScreenInfo int startx, starty; int width, height; + + int frame_delay_value; }; struct ToonInfo { +#if 0 int graphic; 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 */ + + char *direction_str; + char *position_str; + +#else + + 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; + char *direction; + char *position; +#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);