#include	"global.h"

unsigned char sound[10][3000];
unsigned char se[10][300];

SoundIL	soundIL;

int		sound_function(void);
void	sound_function_end(void);
void	sound_play(int flag);
void	sound_stop(void);
void	se_start(int flag);

int		current_se;

void	sound_setup(void);

void	sound_play(int flag)
{
	if(bgm_check())	bgm_stop();
	
	if(flag==2||flag==3)	bgm_play(sound[flag],PLAY_SINGLE);
	else					bgm_play(sound[flag],PLAY_LOOP);
}

void	sound_stop(void)
{
	if(bgm_check())	bgm_stop();
}

void	se_start(int flag)
{
	if(current_se==2&&se_check())	return;
	
	if(se_check())	se_stop();
	se_play(se[flag],0);
	current_se=flag;
}

int sound_function(void)
{
	/*サウンド関係のセットアップ*/
	if(open_sound_il(&soundIL) != E_FS_SUCCESS)
	{
		text_screen_init();
		text_put_string(0,0,"ILsondがありません！！");
		key_wait();
		return 1;
	}
	
	sounddrv_init();
	sound_open();

	sound_setup();

	return	0;
}
void sound_function_end(void)
{
	sound_close();
	sounddrv_release();
}

void	sound_setup(void)
{

	/*ファンファーレ*/
	parse_mml(sound[0],"t200"

			"#0@10L4 v10 o5"
					
			"L4"	"c2eg d2a>c< b2 d8g8b8>d8 c2.<<b>"
					"c2.e d2<a>c c2,<b2>c2d2>"
					
			"#1@10L4 v10 o2"
					
			"L8"	"arararar >drdrdrdr< grgrgrgr >crcrcrcr< frfrfrfr drdrdrdr frfrfrfr ererg+rbr"	
							
			"#2@10L4 v7 o3"

			"L8"	"a>cea4ec<a >efa>e4<afe efgb>dfed c<gecec<ge"
					"fa>cf4efd dfa>d4<faf fdafg*ebe >c<e>d<e>e<e>d<b><"

			"#3L8 v15 o10"	
							"cd+ c+d+ cd+ c+d+" 
			,0);

	parse_mml(sound[1],"t175"
			
			"#0@10L4 v13 o5"
					
			"L8"	"<g4>c4de4<g4.>c4d8c4<g4.> c4de4<g4.>c4d8c4<g4.>"
					"c4de4<g4.>c4d8c4<g4.> c4dc4d4.c4d4e4"
					"<g4>c4de4<g4.>c4d8c4<g4.> c4de4<g4.>c4d8c4<g4.>"
					"c4de4<g4.>c4d8c4<g4.> c4dc4d4.c4d4e8<a8^4"
					
					">c4de4<g4.>c4de4 <f4.>c4d8c4 <e4g8 b-8>c8d8d+8e8 <a8^4"
					">c4de4<g4.>c4de4 <g4.>c4d8c4 c2^8 <b2>"
					

			"#1@10L4 v13 o4"

			"L8"	"c2.<g8 c8^2.>c8<b2.^8"	"g8 <b8^2.>b8 a2.^8"
					"e8 <a8^2.a8b-2.^8"	">f8 b-8^2.^8b-8>"
					
					"c2.<g8 c8^2.>c8<b2.^8"	"g8 <b8^2.>b8 a2.^8"
					"e8 <a8^2.a8b-2.^8"	">f8 b-8^2.^8b-8>"
					
					"<f>f<f>f<f>f<fe4 >e<e>e<e>e<ed4"
					">d<d>d<d>d<dc4 >c<c>c<c>c<cf4"
					">f<f>f<f>f<fe4 >e<e>e<e>e<ee-4"
					">e-<e->e-<e->e-<e-d4 >d<dg4gb-b"

			"#2@10L4 v10 o7"
			"L16"	"r1r1r1r1r1r1r1r1"
					"crcrcrrrccccrrcrcrrrcrcrrrcrcccc"
					"crcrcrrrccccrrcrcrrrcrcrrrcrcccc"
					"crcrcrrrccccrrcrcrrrcrcrrrcrcccc"
					"crcrcrrrccccrrcrcrrrcrcrrrcrcccc"
					"crcrcrrrccccrrcrcrrrcrcrrrcrcccc"
					"crcrcrrrccccrrcrcrrrcrcrrrcrcccc"
					"crcrcrrrccccrrcrcrrrcrcrrrcrcccc"
					"crcrcrrrccccrrcrcrrrcrcrrrcrcccc"

			"#3L8 v15 o10"	
			"L4"	"cccccccc8d+8" 
					"cccccccc8d+8" 
					"cccccccc8d+8" 
					"cccccccc8d+8" 
					"cccccccc8d+8" 
					"cccccccc8d+8" 
					"cccccccc8d+8" 
					"cccc c8d+8c8d+8r8c8 d+16d+16d+16d+16" 					
					
					"c8d+8c8d+8c8d+8c8d+8"
					"c8d+8c8d+8c8d+8c8d+8"
					"c8d+8c8d+8c8d+8c8d+8"
					"c8d+8c8d+8c8d+8c8d+8"
					
					
					,0);

	parse_mml(sound[2],"t200"
			
			"#0@10L8 v13 o4"	"af>cf gdgb >c1"

			"#1@10L2 v13 o3"	"ab >c4<g4c"

			"#2@10L16 v13 o6"	"fcfcfcfc gdgdbgfd cdefgab-b>c2"

			"#3L16 v15 o10"		"d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+"
								"d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+"
								"c1"
						
			,0);
	
	parse_mml(sound[3],"t240"
			
			"#0@10L8 v13 o7"	"e4d4<b4 aefdecd<b a4r4<a4r4"

			"#1@10L4 v13 o5"	"ef+g+ a2g+2 er<a>r"

			"#2@10L8 v13 o4"	"eeeeee f>c<f>c<ebeg+ a4r4<a4r4"

/*			"#3L4 v15 o10"		"ccccrctcrcr"*/
						
			,0);

	parse_mml(sound[4],"t180"

			"#0@10L8 v10 o5"	"e2.<a16b16>c16d16 f2^8 e4 c"
								"d2.g4 e4g4a8c4."
								"f2^8 e4c d2^8c<b>d"
								"<ag+ba>c<b>df"
								"L16 edfag+fe>c<bag+fe4L8"
			"#1@10L8 v10 o3"	"a>ece< a>ece< a>fcf< a>fcf<"
								"g>d<b>d< g>gfd c>c<b>dc<gae<"
								"f>fcf< f>fcf< d>d<a>d< d>d<a>d<"
								"e>ere edcd g+efdecd<b"
			"#2@10L8 v13 o4"	"rererererfrfrfrf"
								"rgrgrgrg rgrgrgfe rfrfrfrfrdrfrar>d"
								"eereeereerereeee<"

			"#3L8 v15 o10"	
								"cd+ c+d+ cd+ c+d+" 

			,0);

	parse_mml(se[0],"t180"	"#3o7@5v15" "g8",1);
	
	parse_mml(se[1],"t180"	"#3o7@5v15" "e8",1);

	parse_mml(se[2],"t300"	"#3o7@5v15L8" "g+b<deg*b<e4",1);

	parse_mml(se[3],"t240"	"#3o4@5v15L8" "ae-e<b2^8",1);

	parse_mml(se[4],"t200"	"#3o5@5v15L8" "gab>ceg>c4",1);

}
