/*************************************

		パズル「石狩」

				エリア選択画面

 *************************************/

#include	"common.h"
#include	"ishikari.h"
#include	"graph.h"
#include	"screen2.h"


#define		SELECT_X	 2				/* 選択エリア位置 */
#define		SELECT_Y	15
#define		AREA_X		 4				/* エリア番号 */
#define		AREA_Y		 3
#define		CLEAR_X		AREA_X			/* クリア数 */
#define		CLEAR_Y		 5
#define		TITLE_X		19				/* タイトル */
#define		TITLE_Y		12
#define		EXIT_X		11				/* "START:EXIT"描画位置 */
#define		EXIT_Y		16


/************************
    エリア選択画面描画
 ************************/
void	draw_select(void)
{
	static int	cnt = 0;
	int		code, x, y;

	v_synch();									/* 同期待ち */

	draw_num(AREA_X + 6, AREA_Y, area_num + 1, 2);		/* エリア番号 */
	draw_num(CLEAR_X + 6, CLEAR_Y, play_data[area_num] >> 12, 2);
														/* クリア数 */

	code = (cnt++)/16 % 4;						/* エリア選択キャラ */
	if ( code == 3 ) {
		code = 1;
	}
	code = SPR_SELECT + code*2;
	x = SELECT_X*8 + area_num*16;				/* 表示位置 */
	y = SELECT_Y*8 - 14 - area_num*8;
	set_sprite(code,     x,     y);
	set_sprite(code + 1, x + 8, y);
	set_sprite(code + 8, x,     y + 8);
	set_sprite(code + 9, x + 8, y + 8);

	sprite_set_range(0, spr_no);				/* スプライト表示数設定 */
}

/****************************
    エリア選択初期画面描画
 ****************************/
void	draw_select0(void)
{
	int		i;

	screen_fill_char(SCREEN2, 0, 0,					/* 画面クリア */
						SCREEN_CHAR_WIDTH, SCREEN_CHAR_HEIGHT, CHR_SPACE);
	set_chr(CHR_TITLE, TITLE_X, TITLE_Y, 8, 4);		/* タイトル描画 */
	set_chr(CHR_EXIT, EXIT_X, EXIT_Y, 6, 1);		/* "START:EXIT" */
	draw_str(AREA_X, AREA_Y, "AREA");				/* エリア番号 */
	draw_str(CLEAR_X, CLEAR_Y, "CLEAR");			/* クリア数 */
	for (i = 0; i < AREA_MAX; i++) {
		set_chr(CHR_STONE + (i % 3)*2
						+ (((i == 0) || check_area(i - 1)) ? 0 : 0x400),
										SELECT_X + i*2, SELECT_Y - i, 2, 2);
													/* 石描画 */
	}
}

/****************** End of File ****************************************/