X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Ftoons.h;h=2f1044b6b5e77008b710b8315a6a2278cf41d628;hb=cf0ff8143f99393006fc7ebdafd9616becf0ccc6;hp=75f76864e8203ccef076017791a773ea5c98780f;hpb=f22f670b327fa0e074a4ef0889585a33afb7f8a3;p=rocksndiamonds.git diff --git a/src/libgame/toons.h b/src/libgame/toons.h index 75f76864..2f1044b6 100644 --- a/src/libgame/toons.h +++ b/src/libgame/toons.h @@ -1,7 +1,7 @@ /*********************************************************** * Artsoft Retro-Game Library * *----------------------------------------------------------* -* (c) 1995-2002 Artsoft Entertainment * +* (c) 1995-2006 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -17,28 +17,6 @@ #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) - -/* 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 - - struct ToonScreenInfo { Bitmap *save_buffer; @@ -51,29 +29,34 @@ struct ToonScreenInfo int startx, starty; int width, height; + + int frame_delay_value; }; 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; }; 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);