X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Ftoons.h;h=4d3e0be8a08d2579177c915d82fe38bb17756871;hb=ee749a764df3dfa944c1f9de740ccbeb1cfdef40;hp=f090b4d293922ca3b55e254293f13b8a24ab6940;hpb=1446af0fb66276d75bd2ce82d368292283e555aa;p=rocksndiamonds.git diff --git a/src/libgame/toons.h b/src/libgame/toons.h index f090b4d2..4d3e0be8 100644 --- a/src/libgame/toons.h +++ b/src/libgame/toons.h @@ -17,23 +17,8 @@ #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 +29,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);