Subversion Repositories Kolibri OS

Rev

Rev 1522 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1518 dunkaist 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------------------------------------------------------------------------------------------------------------