X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Ftoons.h;h=8ea41d1868fb375e51de653b2e699c5b488e50ac;hb=7119b5d2e756b1ab23818ea39d19aece0563bab0;hp=cf267345df4cecd8b167cf09ef12ff21c799c57c;hpb=a4eaa7fcd8ca604faeee50f049c441415aa4968c;p=rocksndiamonds.git diff --git a/src/libgame/toons.h b/src/libgame/toons.h index cf267345..8ea41d18 100644 --- a/src/libgame/toons.h +++ b/src/libgame/toons.h @@ -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 @@ -41,7 +42,6 @@ struct ToonScreenInfo { - Bitmap **toon_bitmap_array; Bitmap *save_buffer; void (*update_function)(void); void (*prepare_backbuffer_function)(void); @@ -52,23 +52,46 @@ struct ToonScreenInfo int startx, starty; int width, height; + + int frame_delay_value; }; struct ToonInfo { - int bitmap_nr; + int graphic; int width, height; int src_x, src_y; - int frames; - int frames_per_second; - int stepsize; - int mode; + int anim_frames; + int step_delay; + int step_offset; + int anim_mode; int direction; int position; + + int anim_delay; + 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 }; -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);