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------------------------------------------------------------------------------------------------------------ |