Subversion Repositories Kolibri OS

Rev

Rev 1522 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;;===Game_over_mode============================================================================================================
  2.  
  3. Game_over:
  4.  
  5.     mov  ebx, [score]
  6.     cmp  ebx, [hi_score]
  7.      jng Game_over_Redraw
  8.      
  9.     mov  [is_new_record], 1
  10.  
  11.       mcall     40,100111b                      ; set events: standart + mouse
  12.  
  13. Game_over_Redraw:
  14.       mcall     12,1
  15.       mcall     0,200*65536+WINDOW_WIDTH,326*65536+WINDOW_HEIGHT,[window_style], ,window_title
  16.      
  17.     cmp  [is_new_record], 1
  18.      jnz @f
  19.     push    dword edit1
  20.       call      [edit_box.draw]
  21.   @@:
  22.  
  23.       call      Draw_decorations
  24.       call      Draw_game_over_picture
  25.       call      Draw_game_over_strings
  26.  
  27.       mcall     12,2
  28.  
  29. Game_over_Wait_for_event:
  30.       mcall     10                              ; wait for event
  31.                                                 ; ok, what an event?
  32.     dec  al                                     ; has the window been moved or resized?
  33.      jz  Game_over_Redraw
  34.     dec  al                                     ; was a key pressed?
  35.      jz  Game_over_key
  36.     dec  al                                     ; was a button pressed?
  37.      jz  Game_over_button
  38.  
  39.  
  40. Game_over_mouse:                                ; mouse event received
  41.     push dword edit1
  42.       call      [edit_box.mouse]
  43.    
  44.      jmp Game_over_Wait_for_event
  45.  
  46.  
  47. Game_over_key:                                  ; a key was pressed
  48.       mcall     2                               ; get keycode
  49.  
  50.     cmp  [is_new_record], 1
  51.      jnz .skip
  52.      
  53.     cmp  ah,  0x0D                              ; Enter
  54.      jnz @f
  55.       call      Score_and_name_store
  56.     mov  [is_new_record],   0
  57.       mcall     40,111b                         ; set events: standart
  58.      jmp First_menu
  59.  
  60.   @@:
  61.     push    dword edit1
  62.     call    [edit_box.key]
  63.    
  64.      jmp Game_over_Wait_for_event
  65.   .skip:
  66.  
  67.     cmp  ah,  0x1B                              ; Escape - go to menu
  68.      jne  Game_over_Wait_for_event
  69.  
  70.       mcall     40,111b                         ; set events: standart
  71.      jmp First_menu
  72.  
  73.  
  74. Game_over_button:                               ; a button was pressed
  75.       mcall     17                              ; get button number
  76.     shr  eax, 8                                 ; we should do it to get the real button code
  77.  
  78.     cmp  eax, 1
  79.      je  Exit
  80.  
  81.      jmp Game_over_Wait_for_event
  82.  
  83. ;;---Game_over_mode------------------------------------------------------------------------------------------------------------
  84.  
  85.  
  86. ;;===Some_functions============================================================================================================
  87.  
  88. Draw_game_over_picture:
  89.     ;;===Draw_game_over_picture================================================================================================
  90.  
  91.     mov  al,  11
  92.     mov  bh,  0
  93.     mov  ecx, picture_game_over
  94.     mov  edx, [game_over_picture_color]
  95.       call      Draw_picture
  96.  
  97.     ret
  98.  
  99.     ;;---Draw_game_over_picture------------------------------------------------------------------------------------------------
  100.  
  101.  
  102. Draw_game_over_strings:
  103.     ;;===Draw_game_over_strings================================================================================================
  104.        
  105.    
  106.    
  107.     cmp  [is_new_record], 1
  108.      jnz @f
  109.  
  110.       mcall     4,40*65536+BOTTOM_TOP_STRINGS,[game_over_strings_color],string_congratulations
  111.       mcall      ,244*65536+BOTTOM_BOTTOM_STRINGS, ,string_enter_your_name
  112.       mcall      ,210*65536+TOP_STRINGS,[navigation_strings_color],string_apply_name_enter
  113.       mcall     47,0x00070000,[score],(399)*65536+BOTTOM_TOP_STRINGS,[game_over_hiscore_color]
  114.  
  115.     ret
  116.    
  117.   @@:
  118.    
  119.     call    Draw_menu_esc
  120.  
  121.     ret
  122.        
  123.     ;;---Draw_game_over_strings------------------------------------------------------------------------------------------------
  124.    
  125.    
  126. Score_and_name_store:
  127.     ;;===Name_store============================================================================================================
  128.    
  129.  
  130.       invoke    ini.set_str, cur_dir_path, aScore, aChampion_name, hed, 15
  131.       invoke    ini.set_int, cur_dir_path, aScore, aHiscore, [score]
  132.  
  133.     ret
  134.  
  135.     ;;---Name_store------------------------------------------------------------------------------------------------------------
  136.  
  137. ;;---Some_functions------------------------------------------------------------------------------------------------------------