Process intro();
Begin
	let_me_alone();
	file=fpg_intro;
	x=320;
	y=240;
	z=-2;
	graph=1;
	saltable();
	musica(103);
	timer[3]=200;
	while(graph!=11)
		timer[3]=0;
		from alpha=0 to 255 step 20; frame; end
		while(timer[3]<800) frame; end
		from alpha=255 to 0 step -20; frame; end
		graph++;
	end
	frame(3000);
	menu();
End

Process saltable();
Begin
	jugador=1;
	controlador(1);
	if(njoys=>1) controlador(2); end
	if(njoys=>2) controlador(3); end
	loop
//		por la sincronización con la música ya no se pueden saltar partes
//		if(botones.p[1][4]) timer[3]=500; while(botones.p[1][4]) frame; end end
		if(botones.p[1][5] or botones.p[2][5] or botones.p[3][5]) signal(father,s_kill); menu(); end
		frame;
	end
End

process escribe_texto(string strin);
private
	string lineas[3];
	string caracter;
	int carro;
	int lineaactual;
	int numlineascaja;
	int numlineas;
begin
	For (i=0; i<=len(strin); i++);
		caracter=strin[i];
		if(caracter=="|") carro--; end
		if(caracter==chr(10))
			carro=0; lineaactual++;
		else
			lineas[lineaactual]=lineas[lineaactual]+caracter;
		end
		carro++;
	End
	carro=0;
	numlineas=lineaactual;
	if(numlineas>3) numlineas=3; end
	for(lineaactual=0; lineaactual<=numlineas; lineaactual++)
		For(i=0; i<=len(lineas[lineaactual]); i++)
			if(lineas[lineaactual][i]!="|")
				switch(numlineascaja)
					case 0: write(fnt_intro,10+14*(i-carro),340,0,lineas[lineaactual][i]); end
					case 1: write(fnt_intro,10+14*(i-carro),370,0,lineas[lineaactual][i]); end
					case 2: write(fnt_intro,10+14*(i-carro),400,0,lineas[lineaactual][i]); end
					case 3: write(fnt_intro,10+14*(i-carro),430,0,lineas[lineaactual][i]); end
				end
				timer[3]=0;
			else
				carro++;
				frame;
			end
			frame(60);
		End
		if(numlineascaja<3)
			numlineascaja++;
		else
			while(accion==0 and !key(_control)) frame; end
			delete_text(all_text);
			numlineascaja=0;
			accion=0;
		end
		carro=0;
	end
	if(exists(father)) father.accion=1; end
end
