process portada_imagen (graph,flags,x,y,z)
begin
     file=graficos1;
     signal(id,s_freeze);
     frame;
end

process portada_nota (x,pn_angle,graph)
private
begin
     loop
         x-=1;
         z=1;
         if (x<=-40)
            x+=400;
            graph=rand(4,7);
         end
         pn_angle+=4;
         if (pn_angle>=360) pn_angle-=360; end
         y=180+(10*sin(pn_angle*1000));
         frame;
     end
end

process portada ()
private
       fuentes1;
       hijos[2];
       cont1;
       cont2;
       desp_y;
       texto[3];
       texto_y;
       musica;
       portada_optn;
       portada_estado;   //0 = en espera
                         //1 = moviendo texto a la izquierda
                         //2 = moviendo_texto a la derecha
       ant_a;
       ant_left;
       ant_right;
begin
     graficos1=load_fpg("portada.fpg");
     load_pal("impact_menu.fnt");
     fuentes1=load_fnt("impact_menu.fnt");
     musica=load_song("cap_fm.ogg");
     play_song(musica,1);
     put_screen(graficos1,1);
     fade(100,100,100,3);
     while(fading) frame; end
     while (key(_control)) frame; end
     //en espera, mostrando la portada
     while (!key(_control)) frame; end
     while (key(_control)) frame; end
     portada_nota(360,0,4);//160
     portada_nota(460,90,5);
     portada_nota(560,180,6);
     portada_nota(660,270,7);
     hijos[0]=portada_imagen(2,0,480,60,0);
     for (x=480;x>=160;x-=10)
         hijos[0].x=x;
         frame;
     end
     
     text_z=-50;
     hijos[1]=portada_imagen(3,0,32,60,-51);
     hijos[2]=portada_imagen(3,1,288,60,-51);
     portada_optn=1;
     texto_y=-160;
     texto[0]=write(fuentes1,texto_y,60,4,"INSTRUCC.");
     texto[1]=write(fuentes1,texto_y+320,60,4,"EMPEZAR");
     texto[2]=write(fuentes1,texto_y+640,60,4,"CREDITOS");
     texto[3]=write(fuentes1,texto_y+960,60,4,"SALIR");
     loop
         cont1+=4;
         if (cont1>=360) cont1-=360; end
         desp_y=8*sin(cont1*1000);
         hijos[1].y=60+desp_y;
         hijos[2].y=60+desp_y;
         switch (portada_estado)
         case 0:
              if (key(_control)) break; end
              //if (!key(_alt) && ant_a) ant_a=false; end
              
              if (key(_left) && (portada_optn>0))
                 //ant_left=true;
                 portada_optn--;
                 if (portada_optn==0) hijos[1].graph=0; end
                 if (portada_optn==2) hijos[2].graph=3; end
                 cont2=320;
                 portada_estado=2;
              end
              if (key(_right) && (portada_optn<3))
                 //ant_right=true;
                 portada_optn++;
                 if (portada_optn==3) hijos[2].graph=0; end
                 if (portada_optn==1) hijos[1].graph=3; end
                 cont2=320;
                 portada_estado=1;
              end
         end
         case 1:
              if (cont2>0)
                 cont2-=5;
                 texto_y-=5;
                 move_text(texto[0],texto_y,60);
                 move_text(texto[1],texto_y+320,60);
                 move_text(texto[2],texto_y+640,60);
                 move_text(texto[3],texto_y+960,60);
              else
                  portada_estado=0;
              end
         end
         case 2:
              if (cont2>0)
                 cont2-=5;
                 texto_y+=5;
                 move_text(texto[0],texto_y,60);
                 move_text(texto[1],texto_y+320,60);
                 move_text(texto[2],texto_y+640,60);
                 move_text(texto[3],texto_y+960,60);
              else
                  portada_estado=0;
              end
         end
         end
         frame;
     end
     
     //finalizando
     while (texto_y<480)
           texto_y+=10;
           move_text(texto[0],texto_y,60);
           move_text(texto[1],texto_y+320,60);
           move_text(texto[2],texto_y+640,60);
           move_text(texto[3],texto_y+960,60);
           frame;
     end
     delete_text(all_text);
     
     texto_y=hijos[0].x;
     while (texto_y>-160)
           texto_y-=10;
           hijos[0].x=texto_y;
           if (hijos[1].alpha>0)
              hijos[1].alpha--;
              hijos[2].alpha--;
           end
           frame;
     end
     signal(hijos[0],s_kill);
     signal(hijos[1],s_kill);
     signal(hijos[2],s_kill);
     
     if (is_playing_song()) fade_music_off(2000); end
     fade(0,0,0,3);
     while(fading) frame; end
     clear_screen();
     unload_fpg(graficos1);
     unload_fnt(fuentes1);
     unload_song(musica);
     cont1=get_id(type portada_nota);
     while (cont1!=0)
           signal(cont1,s_kill);
           cont1=get_id(type portada_nota);
     end
     
     switch (portada_optn)
     case 0:
          estado=5;
     end
     case 1:
          fade(100,100,100,3);
          while(fading) frame; end
          //for (cont1=0;cont1<100;cont1++) frame; end
          estado=0;
     end
     case 2:       //*******CREDITOS
          estado=7;
     end
     case 3:
          estado=99;
     end
     end
end
