/***  各種テーブル、変数  ***/

#include "spr_drv .h"
#include "sblaster.h"

/*  表示位置  "spr_char.c"に必要  */
QUAD	pat_pos[ 4 * 2 ] = {
	-16,-16, -16,-16, -16,-16, -16,-16,/*  32*32 */
	- 8,- 8, - 8,- 8, - 8,- 8, - 8,- 8,/*  16*16 */
};
QUAD	opt_pos[ 8 ];
QUAD	efx_pos[ 4 ] = { 0,0, 0,0, 0,0, 0,0 };
PTENT_S	patstk_ent[1];

/*  当たり判定テーブル（４方向分）  */
D_QUAD	pat_hit[ 4 * 4 ] = {
	-12,-2,9,2,	-12,-2,9,2,	-12,-2,9,2,	-12,-2,9,2,/* PLAYER */
	-10,-4,9,3,	-10,-4,9,3,	-10,-4,9,3,	-10,-4,9,3,/* ENERMY1 */
	- 4,-2,3,1, - 4,-2,3,1, - 4,-2,3,1, - 4,-2,3,1,/* BULLET */
	- 3,-3,2,2, - 3,-3,2,2, - 3,-3,2,2, - 3,-3,2,2,/* BLASTER */
};

/***  効果  ***/

#define	S2					0x0202
#define	XG(pt,pl,hp,sz)		pt,GP(pl),hp,sz

struct EFXPT_S efx_pat[] = {
	/*  爆発  */
	XG( 0, 0,-1,S2), XG( 0, 0,-1,S2), XG( 0, 0,-1,S2), XG( 4, 0,-1,S2),
	XG( 4, 0,-1,S2), XG( 4, 0,-1,S2), XG( 8, 0,-1,S2), XG( 8, 0,-1,S2),
	XG( 8, 0,-1,S2), XG(12, 0,-1,S2), XG(12, 0,-1,S2), XG(12, 0,-1,S2),
	XG(12, 0,-1,S2), XG(12, 1,-1,S2), XG(12, 2,-1,S2), XG(12, 3,-1,S2),
};

EFXPR_S efx_idx[] = {
/*	pat	  ,ofs,max, voice	*/
	EA( 0),  0, 16,     1,	/*  爆発  */
	EA( 0),  0, 16,     2,	/*  爆発  */
};

/***  アニメーションパターン ***/

ACTPT_S act_pat[] = { 0,0, 4,4, 8,8 };
ACTPR_S	act_idx[] = { 0, 6 };

/***  キャラクターパラメータ ***/

CHRPR_S chr_para[] = {
	PLYPT, PLYPL	, PLYHT, 0,
	ENMPT, GRADPAL+3, ENMHT, 0,
};

/***  パッドの方向スイッチに対応した、ＸＹの増減値  ***/

QUAD	pad_plus[16] = {
	 0,0,  0,1,  0,-1,  0,0, 1,0, 1,1, 1,-1, 1,0,
	-1,0, -1,1, -1,-1, -1,0, 0,0, 0,1, 0,-1, 0,0
};

/***  レベルによる、弾敵数  ***/

struct LEVPT_S lv_tbl[22] = {
	0, 4, 0, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1,10, 1,11,
	2, 6, 2, 7, 2, 8, 2, 9, 2,10, 2,11, 3, 8, 3, 9,
	3,10, 3,11, 3,12, 3,13, 3,14, 3,15
};

/***  変数・その他  ***/

STKCH_S	actCH[16], *runCH ;
BLTCH_S	bltVar[64] ;

int		eblt_max, pblt_max ;
int		blast_emp, score, enemy_vol, eshot_vol ;
