#define	CHR_PIX	8	/* １キャラクタの1辺の長さ[ピクセル]*/
#define CHR_BYT 16 	/* １キャラクタあたりデータ数[バイト](4階調時) */

#define CPN_SP 8	/*キャラクタパレット番号：スプライト範囲*/
#define CPN_MY 12	/*キャラクタパレット番号：主人公用*/
#define CPN_BG 12	/*キャラクタパレット番号：背景用(兼用)*/
#define CPN_MT 12	/*キャラクタパレット番号：メーター用(兼用)*/
#define CPN_CS 12	/*キャラクタパレット番号：カーソル用(兼用)*/
#define CPN_IT 12	/*キャラクタパレット番号：アイテム用(兼用)*/

#define	BG_NONE	0	/* 背景のパターン番号: なし*/
#define	BG_TANK	1	/* 背景のパターン番号: タンク*/
#define	BG_BOX	9	/* 背景のパターン番号: 宝箱*/
#define	BG_WALL	2	/* 背景のパターン番号: 壁*/

#define	WALL_U	1	/* 背景のパターン番号: 壁・上空き*/
#define	WALL_R	2	/* 背景のパターン番号: 壁・右空き*/
#define	WALL_D	3	/* 背景のパターン番号: 壁・下空き*/
#define	WALL_L	4	/* 背景のパターン番号: 壁・左空き*/
#define	WALL_UL	5	/* 背景のパターン番号: 角・左上空き*/
#define	WALL_UR	6	/* 背景のパターン番号: 角・右上空き*/
#define	WALL_DL	7	/* 背景のパターン番号: 角・左下空き*/
#define	WALL_DR	8	/* 背景のパターン番号: 角・右下空き*/
#define	WALL_SQ	9	/* 背景のパターン番号: 角・四角*/
#define WALL_B  10	/* 背景のパターン番号: 角・黒四角*/
#define WALL_CLR  11	/* 背景のパターン番号: 角・透明*/
#define WAVE	12	/* 背景のパターン番号: 波*/
#define	BG_MAX	13	/* 背景の総パターン数 */

#define ITEM_TN	 0	/*アイテムのパターン番号：タンク*/
#define ITEM_BOX 1	/*アイテムのパターン番号：宝箱*/

#define	MY_MAX	8	/* 主人公キャラのアニメパターン総数 */
#define	MY_APT	4	/* 主人公キャラ１つ当たりのアニメパターン数 */

#define MT_MAX	2	/* メーター関連の総パターン数 */

#define	CS_MAX	2	/* カーソルのアニメパターン総数 */
#define	CS_APT	2	/* カーソルキャラ１つ当たりのアニメパターン数 */

#define IT_MAX	8	/* アイテム絵(キャラ数) */

#define	MAS_PIX	16	/* １マスの一辺[ピクセル数] */
#define MAS_CX (MAS_PIX / CHR_PIX)	/* 1マスあたりの一辺[キャラクタ数] */
#define MAS_CHR (MAS_CX * MAS_CX)	/* 1マスあたりの総キャラクタ数 */
#define MAS_BYT (MAS_CHR * CHR_BYT) /* １マスあたりのバイト数 */
#define MAP_SCR	8	/*一回にスクロールする距離[マス数]*/

#define CHN_MY 0			/*キャラクタ番号:主人公*/
#define CHX_MY (MAS_CHR * MY_MAX)	/*キャラクタ数  :主人公[24]*/
#define CHN_BG (CHN_MY + CHX_MY)	/*キャラクタ番号:背景(壁)[24]*/
#define CHX_BG (BG_MAX)			/*キャラクタ数  :背景(壁)[10]*/
#define CHN_MT (CHN_BG + CHX_BG)	/*キャラクタ番号:メーター[]*/
#define CHX_MT (MT_MAX)			/*キャラクタ数  :メーター[]*/
#define CHN_CS (CHN_MT + CHX_MT)	/*キャラクタ番号:カーソル[]*/
#define CHX_CS (CS_MAX)			/*キャラクタ数  :カーソル[]*/
#define CHN_IT (CHN_CS + CHX_CS)	/*キャラクタ番号:アイテム[]*/
#define CHX_IT (IT_MAX)			/*キャラクタ数  :アイテム[]*/

#define SPN_ST 0		/*スプライト番号:最初*/
#define SPN_MY SPN_ST	/*スプライト番号:主人公*/
#define SPN_CS (SPN_MY + MAS_CHR)	/*スプライト番号:カーソル*/
#define SPN_BOX (SPN_CS + 1)
#define SP_MAX (MAS_CHR*2 + 1)	/*スプライト数  :最大使用数*/

#define LCD_CHAR_WIDTH	(LCD_PIXEL_WIDTH / 8)	/*1画面の幅[キャラクタ数]*/
#define LCD_CHAR_HEIGHT	(LCD_PIXEL_HEIGHT / 8)	/*1画面の高さ[キャラクタ数]*/

#define MOVE	0.05		/*加速度*/
#define BRAKE	(1 - MOVE)	/*水中摩擦*/
#define ROLL	4.9		/*回転加速度*/

#define TANK	8		/*タンク一個当たりの増える量*/
#define AIR_B	(TANK * 6)	/*空気基本量*/

#define L_ANGLE	5	/*ライトの広角度*/
#define L_RANGE	15	/*ライトの距離*/

/*主人公キャラデータ、3*2パターンアニメ*/
char cChrMy[MY_MAX][MAS_BYT]={/* 主人公キャラのアニメパターン数[6] *//* １マスあたりのバイト数[64] */
  {/*左向き*/
	 0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x02,0x07,0x04,0x07,0x04,0x0E,0x09,0x78,0x47
	,0x80,0x60,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0x80,0x70,0x00,0xF0,0x03,0xF8
	,0xFF,0xE0,0xFF,0xEA,0xFF,0xA0,0x7F,0x40,0x7F,0x40,0x38,0x27,0x07,0x06,0x03,0x02
	,0x83,0x78,0xE3,0xB8,0xE6,0x18,0xC0,0x38,0x86,0x78,0x03,0xF8,0xC3,0x30,0x03,0xF0
  },{
	 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x02,0x07,0x04,0x3C,0x03,0x7F,0x40
	,0x00,0x78,0xC0,0xB8,0xC0,0xB8,0xC0,0x38,0xC0,0x38,0x80,0x70,0x00,0xF0,0x80,0x70
	,0xFF,0xE8,0xFF,0xE2,0x7F,0x20,0x7F,0x40,0x38,0x07,0x0F,0x00,0x0F,0x0C,0x07,0x04
	,0x80,0x78,0xE0,0x9C,0xE3,0x3C,0xC7,0x38,0x07,0xF8,0x86,0x78,0xC6,0x20,0x00,0xC0
  },{
	 0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x02,0x07,0x04,0x07,0x04,0x0E,0x09,0x78,0x47
	,0x80,0x60,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0x80,0x70,0x00,0xF0,0x00,0xF8
	,0xFF,0xE0,0xFF,0xEA,0xFF,0xA0,0x7F,0x40,0x7F,0x40,0x38,0x27,0x07,0x06,0x03,0x02
	,0x83,0x78,0xE3,0xB8,0xE7,0x18,0xC0,0x38,0x87,0x78,0x03,0xF8,0xC3,0x30,0x00,0xF0
  },{
	0x03,0x02,0x03,0x02,0x03,0x02,0x07,0x04,0x07,0x04,0x07,0x04,0x0F,0x08,0x1C,0x03
	,0x80,0x40,0xC0,0x20,0xC0,0x20,0xC0,0x30,0xC0,0x30,0x80,0x70,0x00,0xF8,0x03,0xF8
	,0x30,0x2F,0x7F,0x62,0xFF,0xA8,0xFF,0xC0,0xFF,0xC0,0x7F,0x60,0x38,0x27,0x01,0x01
	,0x23,0xF8,0xE7,0x98,0xE3,0x1C,0xC0,0x3C,0x80,0x7C,0x00,0xFC,0x00,0xF8,0x00,0xF8
  },{/*右向き*/
	 0x01,0x06,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x01,0x0E,0x00,0x0F,0xC0,0x1F
	,0x00,0x00,0x80,0x80,0x80,0x80,0xC0,0x40,0xE0,0x20,0xE0,0x20,0x70,0x90,0x1E,0xE2
	,0xC1,0x1E,0xC7,0x1D,0x67,0x18,0x03,0x1C,0x61,0x1E,0xC0,0x1F,0xC3,0x0C,0xC0,0x0F
	,0xFF,0x07,0xFF,0x57,0xFF,0x05,0xFE,0x02,0xFE,0x02,0x1C,0xE4,0xE0,0x60,0xC0,0x40
  },{
	 0x00,0x1E,0x03,0x1D,0x03,0x1D,0x03,0x1C,0x03,0x1C,0x01,0x0E,0x00,0x0F,0x01,0x0E
	,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0x40,0xE0,0x20,0x3C,0xC0,0xFE,0x02
	,0x01,0x1E,0x07,0x39,0xC7,0x3C,0xE3,0x1C,0xE0,0x1F,0x61,0x1E,0x63,0x04,0x00,0x03
	,0xFF,0x17,0xFF,0x47,0xFE,0x04,0xFE,0x02,0x1C,0xE0,0xF0,0x00,0xF0,0x30,0xE0,0x20
  },{
 	 0x01,0x06,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x01,0x0E,0x00,0x0F,0x00,0x1F
	,0x00,0x00,0x80,0x80,0x80,0x80,0xC0,0x40,0xE0,0x20,0xE0,0x20,0x70,0x90,0x1E,0xE2
	,0xC1,0x1E,0xC7,0x1D,0xE7,0x18,0x03,0x1C,0xE1,0x1E,0xC0,0x1F,0xC3,0x0C,0x00,0x0F
	,0xFF,0x07,0xFF,0x57,0xFF,0x05,0xFE,0x02,0xFE,0x02,0x1C,0xE4,0xE0,0x60,0xC0,0x40
  },{
	0x01,0x02,0x03,0x04,0x03,0x04,0x03,0x0C,0x03,0x0C,0x01,0x0E,0x00,0x1F,0xC0,0x1F
	,0xC0,0x40,0xC0,0x40,0xC0,0x40,0xE0,0x20,0xE0,0x20,0xE0,0x20,0xF0,0x10,0x38,0xC0
	,0xC4,0x1F,0xE7,0x19,0xC7,0x38,0x03,0x3C,0x01,0x3E,0x00,0x3F,0x00,0x1F,0x00,0x1F
	,0x0C,0xF4,0xFE,0x46,0xFF,0x15,0xFF,0x03,0xFF,0x03,0xFE,0x06,0x1C,0xE4,0x80,0x80
  },
};


/* 背景キャラデータ(10種類) */
char cChrBg[BG_MAX][16]={
  {			/*0:なし(草原)*/
	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  },{		/*1:上空き*/
	0x00,0x99,0x99,0x66,0xFF,0x99,0xFF,0x66,0xFF,0x99,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  },{		/*2:右空き*/
	0xFE,0xF5,0xFC,0xEA,0xFC,0xEA,0xFE,0xF5,0xFE,0xF5,0xFC,0xEA,0xFC,0xEA,0xFE,0xF5
  },{		/*3:下空き*/
	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x99,0xFF,0x66,0xFF,0x99,0x99,0x66,0x00,0x99
  },{		/*4:左空き*/
	0x7F,0xAF,0x3F,0x57,0x3F,0x57,0x7F,0xAF,0x7F,0xAF,0x3F,0x57,0x3F,0x57,0x7F,0xAF
  },{		/*5:左上空き*/
	0x00,0x19,0x09,0x76,0x1F,0x69,0x3F,0xD6,0x7F,0xA9,0x3F,0x57,0x3F,0x57,0x7F,0xAF
  },{		/*6:右上空き*/
	0x00,0x98,0x90,0x6E,0xF8,0x96,0xFC,0x6B,0xFE,0x95,0xFC,0xEA,0xFC,0xEA,0xFE,0xF5
  },{		/*7:左下空き*/
	0x7F,0xAF,0x3F,0x57,0x3F,0x57,0x7F,0xA9,0x3F,0xD6,0x1F,0x69,0x09,0x76,0x00,0x19
  },{		/*8:右下空き*/
	0xFE,0xF5,0xFC,0xEA,0xFC,0xEA,0xFE,0x95,0xFC,0x6B,0xF8,0x96,0x90,0x6E,0x00,0x98
  },{		/*9:四角*/
	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  },{		/*10:黒四角*/
	0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF
  },{		/*11:透明*/
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  },{		/*12:海面*/
	0x20,0x00,0x00,0x20,0x50,0x20,0xA8,0x50,0x72,0x8D,0x55,0x02,0x8A,0x00,0x00,0x00
  },
};

/* キャラクタ番号テーブル：背景 */
short wCnBg[BG_MAX][MAS_CHR];

/*アイテムキャラデータ*/
char cChrItem[IT_MAX][64]={
  {	/*タンク*/
	 0x00,0xFF,0x1F,0x20,0x1F,0x22,0x3F,0x45,0x01,0x3E,0x1F,0x20,0x1F,0x2A,0x3F,0x45
	,0x00,0xFF,0xF8,0x04,0xF8,0xEC,0xFC,0xD2,0xE0,0xFC,0xF8,0x04,0xF8,0xEC,0xFC,0xD2
	,0x01,0x3E,0x1F,0x20,0x1F,0x2A,0x3F,0x45,0x01,0x3E,0x1F,0x24,0x1F,0x2A,0x00,0xFF
	,0xE0,0xFC,0xF8,0x04,0xF8,0xEC,0xFC,0xD2,0xE0,0xFC,0xF8,0x04,0xF8,0xEC,0x00,0xFF
  },{
	 0x00,0x1F,0x1F,0x2F,0x3F,0x47,0x3F,0x5F,0x7F,0x9C,0x70,0xBF,0x07,0xFE,0x77,0xB8
	,0x00,0xFC,0xFC,0xF2,0xFA,0x85,0xFA,0xC5,0xF4,0x0B,0x72,0xCD,0x06,0xF9,0x76,0xE9
	,0x70,0x9F,0x7F,0xBF,0x7F,0x8F,0x7F,0xBF,0x7F,0x86,0x7F,0xBF,0x7F,0x80,0x00,0xFF
	,0x76,0xC9,0xF6,0xE9,0xF6,0x09,0xF6,0xC9,0xF6,0x09,0xF4,0x8A,0xF0,0x0C,0x00,0xF8
  },
};
/* キャラクタ番号テーブル：アイテム */
short wCnItem[IT_MAX][MAS_CHR];

char cChrMt[MT_MAX][16]={
    {	/*メーター：途中*/
	0xE0,0xFF,0xC7,0xF8,0xC7,0xF9,0xEF,0xF3,0xFF,0xF0,0xFF,0xF3,0xFF,0xF7,0xFF,0xF4
  },{	/*メーター：底*/
	0xFF,0xF3,0xFF,0xF7,0xFF,0xF4,0xF7,0xFB,0xE7,0xFB,0xE7,0xF9,0xC3,0xFC,0x00,0xFF
  },
};
char cChrCs[CS_MAX][16]={
    {	/*カーソル*/
	0x40,0x40,0xA0,0xE0,0x98,0xF8,0x84,0xFC,0xB8,0xD8,0xE0,0xA0,0x40,0x40,0x00,0x00
  },{
	0x00,0x00,0x40,0x40,0xF8,0xB8,0xFC,0x84,0xB8,0xF8,0x40,0x40,0x00,0x00,0x00,0x00
  },
};
/* キャラクタ番号テーブル：メーター */
short wCnMt[MT_MAX][MAS_CHR];
int	iMater = 11;

#define	MAP_WIDTH	14
#define	MAP_HEIGHT	81

char cMap[MAP_HEIGHT+1][MAP_WIDTH+1]={
/*海面*/
	{"00000000000000"},
	{"00000000000000"},
	{"00000000000000"},
	{"33333333333333"},
	{"20000000000002"},
	{"20000000000002"},
	{"20000000000002"},
	{"20001000000002"},
	{"22222222220022"},
/*1B*/
	{"22222222200022"},
	{"22222222200002"},
	{"22222222000002"},
	{"22200000200002"},
	{"22000000200002"},
	{"20000000000002"},
	{"22010020000002"},
	{"22222220022222"},
/*2B*/
	{"20000020020002"},
	{"20000020020002"},
	{"20000020020002"},
	{"20000200200012"},
	{"22220020020022"},
	{"22220200200222"},
	{"22220000000222"},
	{"22222200222222"},
/*3B*/
	{"20000000000002"},
	{"20000000000002"},
	{"20000000000002"},
	{"20000010000002"},
	{"20000022000002"},
	{"20000222200002"},
	{"20002222220002"},
	{"20022222222002"},
/*4B*/
	{"20022222222002"},
	{"20002222220002"},
	{"20000222200002"},
	{"20000022000002"},
	{"20000002000002"},
	{"20000020000002"},
	{"20000012000002"},
	{"22002222220022"},
/*5B*/
	{"20000222200002"},
	{"20000022000002"},
	{"20000020000002"},
	{"20000002200102"},
	{"20000000022222"},
	{"22000000000002"},
	{"22222000000002"},
	{"22222222200022"},
/*6B*/
	{"22222222000002"},
	{"20000000000002"},
	{"20022202222002"},
	{"20000020000002"},
	{"22220002022222"},
	{"20000020000002"},
	{"20222000222102"},
	{"22222202222222"},
/*7B*/
	{"20200200002002"},
	{"20000202200002"},
	{"20022000002002"},
	{"20000022000002"},
	{"20120000002202"},
	{"20200220000002"},
	{"20002000202202"},
	{"20000020000002"},
/*8B*/
	{"20000000000002"},
	{"20000000000002"},
	{"20000000000002"},
	{"20000000000002"},
	{"20000000000002"},
	{"20000000000022"},
	{"22000000000222"},
	{"22220000022222"},
/*9B*/
	{"22200000000002"},
	{"22200000000002"},
	{"20000000000002"},
	{"20000000000002"},
	{"22222000022222"},
	{"20000000000002"},
	{"20000000000902"},
	{"22222222222222"},
};

short dMap[MAP_HEIGHT*MAS_CX][MAP_WIDTH*MAS_CX];

/*音用*/
SoundIL soundIL;
extern BYTE *_engine;	/*エンジン音*/
extern BYTE *_beep;	/*警告音*/
extern BYTE *_gameover;	/*GameOver*/
extern BYTE *_clear;	/*Clear*/
extern BYTE *_get;	/*アイテムゲット*/
