/***  シューティングブラスター　ヘッダ  ***/

#define FRAME_IX(x)	( ( map_frx + (x) + imgmap_wdx )% imgmap_wdx )
#define FRAME_IY(y)	( ( map_fry + (y) + imgmap_wdy )% imgmap_wdy )
#define PLUS_CHX(x)	( ( CHX + (x) + imgmap_wdx )% imgmap_wdx )
#define PLUS_CHY(y)	( ( CHY + (y) + imgmap_wdy )% imgmap_wdy )
#define SCR_CHX		( ( CHX < map_frx ? imgmap_wdx : 0 )+ CHX - map_frx )
#define SCR_CHY		( ( CHY < map_fry ? imgmap_wdy : 0 )+ CHY - map_fry )
#define SCR_CHRX(n)	( ( CHRX(n) < map_frx ? imgmap_wdx : 0 )+ CHRX(n)-map_frx )
#define SCR_CHRY(n)	( ( CHRY(n) < map_fry ? imgmap_wdy : 0 )+ CHRY(n)-map_fry )

#define ENM_BLT		3
#define EBLT_MAX 	( eblt_max + ENM_BLT )
#define DMG_MAX		16
#define MSGC_MAX	40
#define WAIT_MAX	100
#define SPD			3

#define NO			-1
#define PR_RND		32767

#define TP_PLY		0
#define TP_ENM		1
#define PLYN		0

#define MAINPT		256
#define PLYPT		MAINPT
#define ENMPT		MAINPT + 20
#define BULPT		MAINPT + 64
#define BLAPT		MAINPT + 65
#define EA(n)		( MAINPT + 48 + (n) )
#define PLYHT		0*4
#define ENMHT		1*4
#define BULHT		2*4
#define BLAHT		3*4
#define EFXPS		0
#define GP(n)		( 16 + (n) )
#define PLYPL		1
#define GRADPAL		( 128 + 16 )

typedef struct {
	union	long_HL	x, y ;
			int		type, swi, dmg_c, hit_tp, act_tp ;
			int		ang, spd, c, sc, act_c ;
} STKCH_S ;

typedef struct{
	int ang, spd, hit_tp ;
} BLTCH_S ;

typedef struct { short pat, ofs, max, vc ; } EFXPR_S ;
typedef struct { short pat ; } ACTPT_S ;
typedef struct { short ofs, max ; } ACTPR_S ;
typedef struct { short pat, pal, htp, act_tp ; } CHRPR_S ;

extern STKCH_S	actCH[], *runCH ;
extern BLTCH_S	bltVar[] ;
extern QUAD		pat_pos[], opt_pos[], efx_pos[];
extern D_QUAD	pat_hit[];
extern EFXPR_S	efx_idx[];
extern ACTPT_S	act_pat[];
extern ACTPR_S	act_idx[];
extern CHRPR_S	chr_para[];
extern QUAD		pad_plus[];

extern struct	EFXPT_S { short pat,pal,htp ; unsigned short siz ; } efx_pat[];
extern struct	LEVPT_S { int shot, enemy ; } lv_tbl[];

extern int		eblt_max, pblt_max ;
extern int		blast_emp, score, enemy_vol, eshot_vol ;
