?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1. #ifndef __INTRO
  2. #define __INTRO
  3.  
  4. void quit()
  5. {
  6. __asm
  7.         jp _EXIT
  8. __endasm;
  9. }
  10.  
  11. void PressStart(u8 y)
  12. {
  13.         u32 n=time();
  14.         sfx_play(SFX_SPACE,8);
  15.         while (1)
  16.         {
  17.                 vsync();
  18.                
  19.                 if(joystick()&JOY_FIRE) return;
  20.                
  21.                 if (n+25>time()) // мигающий курсор
  22.                 {
  23.                         draw_image(15,y,IMG_PRESSSPACE);
  24.                         swap_screen();
  25.                 }
  26.                 else if (n+50>time())
  27.                 {
  28.                         draw_image(15,y,IMG_PRESSSPACE0);
  29.                         swap_screen();
  30.                 }
  31.                 else
  32.                 {
  33.                         n=time();
  34.                         sfx_play(SFX_SPACE,8);
  35.                 }
  36.        
  37.         }
  38. }
  39.  
  40. void new_exit()
  41. {
  42.         u8 keys[40];
  43.         u32 n=time();
  44.         sfx_play(SFX_SPACE,8);
  45.         while (1)
  46.         {
  47.                 vsync();
  48.                
  49.                 if(joystick()&JOY_FIRE) return;
  50.                
  51.                 keyboard(keys);
  52.                 if(keys[KEY_Q]&KEY_PRESS) quit();
  53.  
  54.                 if (n+25>time()) // мигающий курсор
  55.                 {
  56.                         draw_image(8,22,IMG_SPACE_Q1);
  57.                         swap_screen();
  58.                 }
  59.                 else if (n+50>time())
  60.                 {
  61.                         draw_image(8,22,IMG_SPACE_Q0);
  62.                         swap_screen();
  63.                 }
  64.                 else
  65.                 {
  66.                         n=time();
  67.                         sfx_play(SFX_SPACE,8);
  68.                 }
  69.        
  70.         }
  71. }
  72.  
  73. void Intro()
  74. {
  75.         u32 n=time();
  76.        
  77.         //черный экран на время подготовки
  78.         pal_bright(BRIGHT_MIN);
  79.  
  80.         //установка палитры
  81.         pal_select(PAL_BOX);
  82.        
  83.         //очистка теневого экрана нужным цветом 0..15
  84.         border(0);
  85.         clear_screen(0);
  86.        
  87.         //установка нормальной яркости
  88.         pal_bright(BRIGHT_MID);
  89.        
  90.         //вывод фона на теневой экран
  91.         draw_image(0,0,IMG_INTRO);
  92.         swap_screen();
  93.         draw_image(0,0,IMG_INTRO);
  94.         swap_screen();
  95.  
  96.         PressStart(20);
  97.  
  98. }
  99.  
  100. void Bright()
  101. {
  102.         i8 k;
  103.         for (k=BRIGHT_MID;k>=BRIGHT_MIN;k--)
  104.         {
  105.                 pal_bright(k);
  106.                 delay(5);
  107.         }
  108.         clear_screen(0);
  109.         swap_screen();
  110. }
  111.  
  112. #endif