
#ifndef ANIMATION_H
#define ANIMATION_H

#ifdef E
#undef E
#endif

#ifdef ANIMATION
#define E
#else
#define E extern
#endif

struct ANIMATION_STRUCT {
  int c;					/* コマ数カウンタ */
  int x,y;					/* 座標 */
  int n;					/* 汎用 (変数) */
  int *p;					/* 汎用 (ポインタ) */
  struct ANIMATION_STRUCT *prev,*next;		/* 鎖の前と後ろ */
  void (* func)(struct ANIMATION_STRUCT *);	/* どの animation をするか */
};

typedef struct ANIMATION_STRUCT Anime_struct;

typedef struct {
  Anime_struct *stack[MAXTMP];
  int index;
} AmemStack;

/* Functions */
E void init_animation();
E void return_back_anime();
E void entry_cosmo(int x,int y,int tmpid,int d);
E void entry_cosmo_p(int x,int y,int tmpid);
E void entry_ball(int x,int y,int tmpid);
E void chdir_ball(int d);
E void delete_ball();
E void entry_pa(int x,int y);
E void entry_curtain(int x,int y,int n);
E void entry_fall(int x,int y,int cid,int tmpid,int *tmpp);
E  int animation();

#endif
