X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Ftoons.h;h=75f76864e8203ccef076017791a773ea5c98780f;hb=c38b8938950533926b72af227c38513fe665a8f6;hp=f090b4d293922ca3b55e254293f13b8a24ab6940;hpb=1446af0fb66276d75bd2ce82d368292283e555aa;p=rocksndiamonds.git diff --git a/src/libgame/toons.h b/src/libgame/toons.h index f090b4d2..75f76864 100644 --- a/src/libgame/toons.h +++ b/src/libgame/toons.h @@ -17,7 +17,15 @@ #include "system.h" -/* values for toon animation */ +/* 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) + +/* values for toon animation direction */ #define ANIMDIR_LEFT 1 #define ANIMDIR_RIGHT 2 #define ANIMDIR_UP 4 @@ -33,7 +41,6 @@ struct ToonScreenInfo { - Bitmap **toon_bitmap_array; Bitmap *save_buffer; void (*update_function)(void); void (*prepare_backbuffer_function)(void); @@ -48,18 +55,24 @@ struct ToonScreenInfo struct ToonInfo { - int bitmap_nr; + int graphic; int width, height; int src_x, src_y; - int frames; - int frames_per_second; + int anim_frames; + int move_delay; int stepsize; - boolean pingpong; + int anim_mode; int direction; int position; + + int anim_delay; + int start_frame; + Bitmap *bitmap; /* dynamically initialized */ }; +int getAnimationFrame(int, int, int, int, int); + void InitToonScreen(); void InitAnimation(void); void StopAnimation(void);