#include	"global.h"
#include	"chara.h"
#include	<libwwc.h>

void	draw(void);
int		draw_init(void);
void	sprite_setup(void);

void	ship_draw(void);
void	bar_draw(void);
void	ball_draw(void);
void	enemy_draw(void);
void	zanki_draw(void);
void	super_palette_set(void);

int	count=0;
int count2=0;
int enemy_animetion_count=0;
int bomb_flag=0;
int bomb_count=0;

int	block_life[9][14];

int	enemy_bomb_flag1=0;
int	enemy_bomb_flag2=0;
int	enemy_bomb_count1=0;
int	enemy_bomb_count2=0;

void	draw(void)
{
	enemy_draw();
	ship_draw();
	bar_draw();
	ball_draw();
	break_animation();

	zanki_draw();
}

void	zanki_draw(void)
{
	int zan;
	
	sprite_set_location(25,0,150);
	sprite_set_location(26,0,150);
	sprite_set_location(27,0,150);
	sprite_set_location(28,0,150);


	for(zan=0;zan<ship.flag-1;zan++)
	{
		sprite_set_location(25+zan,0,120-zan*9);
	}
}

void	ship_draw(void)
{
	if(bomb_flag!=0)
	{
		sprite_set_char(0,0x3800+bomb_count*2+140);		
		sprite_set_char(1,0x3800+bomb_count*2+141);		
		sprite_set_char(2,0x3800+bomb_count*2+150);		
		sprite_set_char(3,0x3800+bomb_count*2+151);		
	
		bomb_flag++;
		if(bomb_flag>3)	bomb_count++,bomb_flag=1;
		
		if(bomb_count>2)
		{
			bomb_flag=0;
			bomb_count=0;
		
			ship.x=0;
			ship.y=30;
			ship_up_flag=1;
		}
	}
	else if(muteki_count!=0&&(muteki_count%4)-2>0)
	{
		sprite_set_char(0,0x3800+511);		
		sprite_set_char(1,0x3800+511);		
		sprite_set_char(2,0x3800+511);		
		sprite_set_char(3,0x3800+511);		
		
	}
	else 
	{
		sprite_set_char(0,0x3800+count*2);		
		sprite_set_char(1,0x3800+count*2+1);		
		sprite_set_char(2,0x3800+count*2+10);		
		sprite_set_char(3,0x3800+count*2+11);		
	}
	
	
	sprite_set_location(0,ship.x,ship.y);
	sprite_set_location(1,ship.x+8,ship.y);
	sprite_set_location(2,ship.x,ship.y+8);
	sprite_set_location(3,ship.x+8,ship.y+8);

	if(muteki_count&&bomb_flag==0)	muteki_count--;	
	
	count2++;
	if(count2==3)
	{
		count2=0;
		count++;
		if(count>=5)	count=0;
	}
}

void	bar_draw(void)
{

	sprite_set_location(4,bar.x,bar.y);
	sprite_set_location(5,bar.x+8,bar.y);
	sprite_set_location(6,bar.x,bar.y+8);
	sprite_set_location(7,bar.x+8,bar.y+8);
	sprite_set_location(8,bar.x,bar.y+16);
	sprite_set_location(9,bar.x+8,bar.y+16);
	sprite_set_location(10,bar.x,bar.y+24);
	sprite_set_location(11,bar.x+8,bar.y+24);
	sprite_set_location(12,bar.x,bar.y+32);
	sprite_set_location(13,bar.x+8,bar.y+32);
	sprite_set_location(14,bar.x,bar.y+40);
	sprite_set_location(15,bar.x+8,bar.y+40);
}

void	ball_draw(void)
{

	sprite_set_location(16,ball.x,ball.y);

}



void	sprite_setup(void)
{
	text_screen_init();
	
	font_set_colordata(0,160,bmp_chara);

	screen_fill_char(SCREEN2,0,0,28,18,511);

	wall_setup();
	map_draw();
	

	sprite_set_char(4,0x2c00+20);		
	sprite_set_char(5,0x2c00+21);		
	sprite_set_char(6,0x2c00+30);		
	sprite_set_char(7,0x2c00+31);		
	sprite_set_char(8,0x2c00+40);		
	sprite_set_char(9,0x2c00+41);		
	sprite_set_char(10,0x2c00+50);		
	sprite_set_char(11,0x2c00+51);		
	sprite_set_char(12,0x2c00+60);		
	sprite_set_char(13,0x2c00+61);		
	sprite_set_char(14,0x2c00+70);		
	sprite_set_char(15,0x2c00+71);		

	sprite_set_char(16,0x2c00+126);		

	sprite_set_char(25,0x2c00+127);		
	sprite_set_char(26,0x2c00+127);		
	sprite_set_char(27,0x2c00+127);		
	sprite_set_char(28,0x2c00+127);		
	
	
	sprite_set_range(0,29);


	enemy_bomb_flag1=0;
	enemy_bomb_flag2=0;
	enemy_bomb_count1=0;
	enemy_bomb_count2=0;

}

int	draw_init(void)
{
	display_control(6);
	text_screen_init();

	if(wwc_get_hardarch()==HARDARCH_WS)
	{
		text_screen_init();
		text_put_string(0,8,"カラー専用です。カラースワンを買ってください。");
		key_wait();
		return	1;
	}

	super_palette_set();

	return	0;
}



void	enemy_draw(void)
{
	if(poti.flag)
	{
		sprite_set_char(17,0x3a00+enemy_animetion_count*2+80);		
		sprite_set_char(18,0x3a00+enemy_animetion_count*2+1+80);		
		sprite_set_char(19,0x3a00+enemy_animetion_count*2+10+80);		
		sprite_set_char(20,0x3a00+enemy_animetion_count*2+11+80);		


		sprite_set_location(17,poti.x,poti.y);
		sprite_set_location(18,poti.x+8,poti.y);
		sprite_set_location(19,poti.x,poti.y+8);
		sprite_set_location(20,poti.x+8,poti.y+8);
	}
	else
	{
		if(enemy_bomb_flag1)
		{
			sprite_set_char(17,0x3a00+enemy_bomb_count1*2+86);		
			sprite_set_char(18,0x3a00+enemy_bomb_count1*2+1+86);		
			sprite_set_char(19,0x3a00+enemy_bomb_count1*2+10+86);		
			sprite_set_char(20,0x3a00+enemy_bomb_count1*2+11+86);		


			sprite_set_location(17,poti.x,poti.y);
			sprite_set_location(18,poti.x+8,poti.y);
			sprite_set_location(19,poti.x,poti.y+8);
			sprite_set_location(20,poti.x+8,poti.y+8);

			enemy_bomb_flag1++;
			if(enemy_bomb_flag1>8)
			{
				enemy_bomb_flag1=1;
				enemy_bomb_count1++;
			}
			if(enemy_bomb_count1==2)	enemy_bomb_flag1=0;
		}
		else 
		{
			sprite_set_location(17,0,150);
			sprite_set_location(18,0,150);
			sprite_set_location(19,0,150);
			sprite_set_location(20,0,150);
		}
	}
	
	if(mike.flag)
	{
		sprite_set_char(21,0x3a00+enemy_animetion_count*2+100);		
		sprite_set_char(22,0x3a00+enemy_animetion_count*2+1+100);		
		sprite_set_char(23,0x3a00+enemy_animetion_count*2+10+100);		
		sprite_set_char(24,0x3a00+enemy_animetion_count*2+11+100);		


		sprite_set_location(21,mike.x,mike.y);
		sprite_set_location(22,mike.x+8,mike.y);
		sprite_set_location(23,mike.x,mike.y+8);
		sprite_set_location(24,mike.x+8,mike.y+8);
	}
	else
	{
		if(enemy_bomb_flag2)
		{
			sprite_set_char(21,0x3a00+enemy_bomb_count2*2+106);		
			sprite_set_char(22,0x3a00+enemy_bomb_count2*2+1+106);		
			sprite_set_char(23,0x3a00+enemy_bomb_count2*2+10+106);		
			sprite_set_char(24,0x3a00+enemy_bomb_count2*2+11+106);		

			sprite_set_location(21,mike.x,mike.y);
			sprite_set_location(22,mike.x+8,mike.y);
			sprite_set_location(23,mike.x,mike.y+8);
			sprite_set_location(24,mike.x+8,mike.y+8);

			enemy_bomb_flag2++;
			if(enemy_bomb_flag2>8)
			{
				enemy_bomb_flag2=1;
				enemy_bomb_count2++;
			}
			if(enemy_bomb_count2==2)	enemy_bomb_flag2=0;
		}
		else 
		{
			sprite_set_location(21,0,150);
			sprite_set_location(22,0,150);
			sprite_set_location(23,0,150);
			sprite_set_location(24,0,150);
		}
	}

	enemy_animetion_count++;
	if(enemy_animetion_count>=3)	enemy_animetion_count=0;
}

void	super_palette_set(void)
{

	wwc_set_color_mode(COLOR_MODE_4COLOR);

	/**/
	wwc_palette_set_color(0,0,0x0fff);
	wwc_palette_set_color(0,1,0x0aaa);
	wwc_palette_set_color(0,2,0x0555);
	wwc_palette_set_color(0,3,0x0000);

	/*タイトル*/
	wwc_palette_set_color(1,0,0x0fff);
	wwc_palette_set_color(1,1,0x0aaa);
	wwc_palette_set_color(1,2,0x0555);
	wwc_palette_set_color(1,3,0x0000);

	/*床*/
	wwc_palette_set_color(2,0,0x0fff);
	wwc_palette_set_color(2,1,0x0eea);
	wwc_palette_set_color(2,2,0x0eb5);
	wwc_palette_set_color(2,3,0x0e80);

	/*壁*/
	wwc_palette_set_color(3,0,0x0fff);
	wwc_palette_set_color(3,1,0x0c80);
	wwc_palette_set_color(3,2,0x0a72);
	wwc_palette_set_color(3,3,0x0831);


	/*ブロック*/
	wwc_palette_set_color(4,0,0x0fff);
	wwc_palette_set_color(4,1,0x08c0);
	wwc_palette_set_color(4,2,0x07a2);
	wwc_palette_set_color(4,3,0x0381);

	/*ブロック2*/
	wwc_palette_set_color(5,0,0x0fff);
	wwc_palette_set_color(5,1,0x0c0c);
	wwc_palette_set_color(5,2,0x0a27);
	wwc_palette_set_color(5,3,0x0813);

	/*鍵*/
	wwc_palette_set_color(6,0,0x0fff);
	wwc_palette_set_color(6,1,0x0eb4);
	wwc_palette_set_color(6,2,0x0d70);
	wwc_palette_set_color(6,3,0x0b30);

	/**/
	wwc_palette_set_color(7,0,0x0fff);
	wwc_palette_set_color(7,1,0x055c);
	wwc_palette_set_color(7,2,0x033b);
	wwc_palette_set_color(7,3,0x000a);


	/**/
	wwc_palette_set_color(8,0,0x0fff);
	wwc_palette_set_color(8,1,0x055c);
	wwc_palette_set_color(8,2,0x033b);
	wwc_palette_set_color(8,3,0x000a);

	/**/
	wwc_palette_set_color(9,0,0x0fff);
	wwc_palette_set_color(9,1,0x055c);
	wwc_palette_set_color(9,2,0x033b);
	wwc_palette_set_color(9,3,0x000a);

	/*セブン*/
	wwc_palette_set_color(10,0,0x0fff);
	wwc_palette_set_color(10,1,0x0f66);
	wwc_palette_set_color(10,2,0x0f33);
	wwc_palette_set_color(10,3,0x0f00);

	/*チェリー*/
	wwc_palette_set_color(11,0,0x0fff);
	wwc_palette_set_color(11,1,0x05f5);
	wwc_palette_set_color(11,2,0x0844);
	wwc_palette_set_color(11,3,0x0f00);


	/*ＵＦＯ*/
	wwc_palette_set_color(12,0,0x0fff);
	wwc_palette_set_color(12,1,0x00ff);
	wwc_palette_set_color(12,2,0x034b);
	wwc_palette_set_color(12,3,0x028a);

	/*敵キャラ*/
	wwc_palette_set_color(13,0,0x0fbb);
	wwc_palette_set_color(13,1,0x0f9d);
	wwc_palette_set_color(13,2,0x0d38);
	wwc_palette_set_color(13,3,0x0804);

	/**/
	wwc_palette_set_color(14,0,0x0fff);
	wwc_palette_set_color(14,1,0x055c);
	wwc_palette_set_color(14,2,0x033b);
	wwc_palette_set_color(14,3,0x000a);

	/*フォント*/
	wwc_palette_set_color(15,0,0x0fff);
	wwc_palette_set_color(15,1,0x0aaa);
	wwc_palette_set_color(15,2,0x0555);
	wwc_palette_set_color(15,3,0x0000);





}

