/*--------------------------------------------------------------------------*/

#ifndef _H_PART
#define _H_PART

#define PTD_MAX			(32)				/* パーティクル数				*/
#define PTD_MAX_PARTS	(64)				/* 最大パーツ数					*/
/*--------------------------------------------------------------------------*/

typedef struct {
	long		px;							/* 座標							*/
	long		py;							/* 座標							*/
	long		vx;							/* 速度							*/
	long		vy;							/* 速度							*/
	long		vvx;						/* 加速度						*/
	long		vvy;						/* 加速度						*/
	short		ptn;						/* パターン番号					*/
	short		cnt;						/* アニメカウント				*/
	short		ani_s;						/* アニメーション開始番号		*/
	short		ani_e;						/* アニメーション終了番号		*/
	short		ani_n;						/* アニメーションスピード		*/
	short		roll;
	short		vroll;
	short		zoom;
	short		vzoom;
} PARTS;

typedef struct {
	short		used;						/* 使用中						*/
	short		mode;						/* モード						*/
	long		cx;							/* センター位置					*/
	long		cy;							/* センター位置					*/
	long		num;						/* パーツ数						*/
	long		grp;						/* グループ番号					*/
	long		timer;						/* 寿命							*/
	PARTS		parts[PTD_MAX_PARTS];
} PARTICLE;

/*--------------------------------------------------------------------------*/
extern void ptInit(void);
extern void ptExit(void);
extern short ptCreate(long num,long tmr);
extern short ptFree(u_long Handle);
extern short ptDraw(u_long Handle, OBJECT *obj);
/*--------------------------------------------------------------------------*/
#endif
