Rev 5887 | Rev 7996 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5887 | Rev 7863 | ||
---|---|---|---|
1 | ;------------------------------------------------------------------------------ |
1 | ;------------------------------------------------------------------------------ |
2 | draw_buttons_panel: |
2 | draw_buttons_panel: |
3 | mov ecx,[skin_high] |
3 | mov ecx,[skin_high] |
4 | add ecx,19 |
4 | add ecx,19 |
5 | shl ecx,16 |
5 | shl ecx,16 |
6 | mov cx,18 |
6 | mov cx,18 |
7 | mov ebx,[window_width] |
7 | mov ebx,[window_width] |
8 | sub ebx,9 |
8 | sub ebx,9 |
9 | add ebx,5 shl 16 |
9 | add ebx,5 shl 16 |
10 | mcall 13,,,0xffffff |
10 | mcall 13,,,0xffffff |
- | 11 | ||
11 | mov edx,15 shl 16+20 |
12 | mov edx,15 shl 16+20 |
12 | add edx,[skin_high] |
13 | add edx,[skin_high] |
13 | pusha |
- | |
14 | call .calculate_button |
- | |
15 | mcall ,,,150 |
- | |
16 | popa |
- | |
17 | mcall 7,[buttons_img_start],<16,16> |
14 | mcall 7,buttons_file_data,<198,16> |
18 | add edx,26 shl 16 |
- | |
19 | add ebx,16*16*3 |
- | |
20 | pusha |
- | |
21 | call .calculate_button |
- | |
22 | mcall ,,,151 |
- | |
23 | popa |
15 | |
24 | mcall |
- | |
25 | add edx,26 shl 16 |
- | |
26 | add ebx,16*16*3 |
- | |
27 | pusha |
- | |
28 | call .calculate_button |
- | |
29 | mcall ,,,152 |
16 | mov ecx, 20 |
30 | popa |
- | |
31 | mcall |
- | |
32 | add edx,26 shl 16 |
17 | add ecx, [skin_high] |
33 | add ebx,16*16*3 |
18 | shl ecx, 16 |
34 | pusha |
- | |
35 | call .calculate_button |
- | |
36 | mcall ,,,153 |
- | |
37 | popa |
- | |
38 | mcall |
- | |
39 | add edx,26 shl 16 |
- | |
40 | add ebx,16*16*3 |
19 | add ecx, 16 |
41 | pusha |
- | |
42 | call .calculate_button |
- | |
43 | mcall ,,,154 |
20 | mcall 8,<15,16>,,150+0x40000000 |
44 | popa |
21 | |
45 | mcall |
22 | _new_but: |
46 | add edx,26 shl 16 |
23 | add ebx,26 shl 16 |
47 | add ebx,16*16*3 |
- | |
48 | pusha |
- | |
49 | call .calculate_button |
- | |
50 | mcall ,,,155 |
- | |
51 | popa |
- | |
52 | mcall |
24 | inc edx |
53 | add edx,26 shl 16 |
- | |
54 | add ebx,16*16*3 |
- | |
55 | pusha |
- | |
56 | call .calculate_button |
- | |
57 | mcall ,,,156 |
- | |
58 | popa |
- | |
59 | mcall |
25 | mcall |
60 | add edx,26 shl 16 |
26 | cmp edx, 157+0x40000000 |
61 | add ebx,16*16*3 |
- | |
62 | pusha |
- | |
63 | call .calculate_button |
- | |
64 | mcall ,,,157 |
27 | jl _new_but |
65 | popa |
28 | |
66 | mcall |
- | |
67 | ret |
29 | ret |
68 | ;-------------------------------------- |
30 | ;-------------------------------------- |
69 | .calculate_button: |
31 | .calculate_button: |
70 | mov esi,0xffffff |
- | |
71 | mov ebx,edx |
32 | mov ebx,edx |
72 | mov bx,15 |
33 | mov bx,15 |
73 | mov ecx,edx |
34 | mov ecx,edx |
74 | shl ecx,16 |
35 | shl ecx,16 |
75 | mov cx,bx |
36 | mov cx,bx |
76 | mov eax,8 |
- | |
77 | ret |
37 | ret |
78 | ;------------------------------------------------------------------------------ |
38 | ;------------------------------------------------------------------------------ |
79 | draw_left_sort_button: |
39 | draw_left_sort_button: |
80 | mov bx,[left_panel_x.start_x] |
40 | mov bx,[left_panel_x.start_x] |
81 | add bx,[left_panel_x.size_x] |
41 | add bx,[left_panel_x.size_x] |
82 | sub ebx,50+15 |
42 | sub ebx,50+15 |
83 | mov cx,[left_panel_y.start_y] |
43 | mov cx,[left_panel_y.start_y] |
84 | call calclulate_sort_button_1 |
44 | call calclulate_sort_button_1 |
85 | mov edx,145 |
45 | mov edx,145 |
86 | ;-------------------------------------- |
46 | ;-------------------------------------- |
87 | .start: |
47 | .start: |
88 | mov esi,0xffffff |
48 | mov esi,0xffffff |
89 | dec ebp |
49 | dec ebp |
90 | cmp [left_sort_flag],ebp |
50 | cmp [left_sort_flag],ebp |
91 | jne @f |
51 | jne @f |
92 | 52 | ||
93 | mov esi,0xccccff |
53 | mov esi,0xccccff |
94 | ;-------------------------------------- |
54 | ;-------------------------------------- |
95 | @@: |
55 | @@: |
96 | call calclulate_sort_button_2 |
56 | call calclulate_sort_button_2 |
97 | jnz .start |
57 | jnz .start |
98 | 58 | ||
99 | ret |
59 | ret |
100 | ;------------------------------------------------------------------------------ |
60 | ;------------------------------------------------------------------------------ |
101 | calclulate_sort_button_1: |
61 | calclulate_sort_button_1: |
102 | shl ebx,16 |
62 | shl ebx,16 |
103 | mov bx,50 |
63 | mov bx,50 |
104 | sub cx,14 |
64 | sub cx,14 |
105 | shl ecx,16 |
65 | shl ecx,16 |
106 | mov cx,12 |
66 | mov cx,12 |
107 | mov eax,8 |
67 | mov eax,8 |
108 | mov ebp,4 |
68 | mov ebp,4 |
109 | ret |
69 | ret |
110 | ;------------------------------------------------------------------------------ |
70 | ;------------------------------------------------------------------------------ |
111 | calclulate_sort_button_2: |
71 | calclulate_sort_button_2: |
112 | inc ebp |
72 | inc ebp |
113 | mcall |
73 | mcall |
114 | pusha |
74 | pusha |
115 | push ebx |
75 | push ebx |
116 | mov eax,ebx |
76 | mov eax,ebx |
117 | inc eax |
77 | inc eax |
118 | shl eax,16 |
78 | shl eax,16 |
119 | add ebx,eax |
79 | add ebx,eax |
120 | cmp ebp,4 |
80 | cmp ebp,4 |
121 | jne @f |
81 | jne @f |
122 | 82 | ||
123 | mov bx,15 |
83 | mov bx,15 |
124 | jmp .continue |
84 | jmp .continue |
125 | ;-------------------------------------- |
85 | ;-------------------------------------- |
126 | @@: |
86 | @@: |
127 | mov bx,1 |
87 | mov bx,1 |
128 | ;-------------------------------------- |
88 | ;-------------------------------------- |
129 | .continue: |
89 | .continue: |
130 | inc ecx |
90 | inc ecx |
131 | mcall 13,,,0xcccccc |
91 | mcall 13,,,0xcccccc |
132 | pop ebx |
92 | pop ebx |
133 | cmp ebp,1 |
93 | cmp ebp,1 |
134 | jne @f |
94 | jne @f |
135 | 95 | ||
136 | mov eax,[temp_panel_end] |
96 | mov eax,[temp_panel_end] |
137 | shl eax,16 |
97 | shl eax,16 |
138 | add eax,[temp_panel_end] |
98 | add eax,[temp_panel_end] |
139 | shr eax,16 |
99 | shr eax,16 |
140 | shr ebx,16 |
100 | shr ebx,16 |
141 | sub ebx,eax |
101 | sub ebx,eax |
142 | shl ebx,16 |
102 | shl ebx,16 |
143 | mov bx,ax |
103 | mov bx,ax |
144 | rol ebx,16 |
104 | rol ebx,16 |
145 | mcall 13 |
105 | mcall 13 |
146 | mov [temp_panel_end],ebx |
106 | mov [temp_panel_end],ebx |
147 | ;-------------------------------------- |
107 | ;-------------------------------------- |
148 | @@: |
108 | @@: |
149 | popa |
109 | popa |
150 | pusha |
110 | pusha |
151 | shr ecx,16 |
111 | shr ecx,16 |
152 | mov bx,cx |
112 | mov bx,cx |
153 | add ebx,3 shl 16+2 |
113 | add ebx,3 shl 16+2 |
154 | mov edx,ebp |
114 | mov edx,ebp |
155 | dec edx |
115 | dec edx |
156 | shl edx,2 |
116 | shl edx,2 |
157 | add edx,sort_button_name |
117 | add edx,sort_button_name |
158 | mov eax,4 |
118 | mov eax,4 |
159 | xor ecx,ecx |
119 | xor ecx,ecx |
160 | mov esi,eax |
120 | mov esi,eax |
161 | mcall |
121 | mcall |
162 | popa |
122 | popa |
163 | dec edx |
123 | dec edx |
164 | sub ebx,38 shl 16 |
124 | sub ebx,38 shl 16 |
165 | mov bx,36 |
125 | mov bx,36 |
166 | dec ebp |
126 | dec ebp |
167 | ret |
127 | ret |
168 | ;------------------------------------------------------------------------------ |
128 | ;------------------------------------------------------------------------------ |
169 | draw_right_sort_button: |
129 | draw_right_sort_button: |
170 | mov bx,[right_panel_x.start_x] |
130 | mov bx,[right_panel_x.start_x] |
171 | add bx,[right_panel_x.size_x] |
131 | add bx,[right_panel_x.size_x] |
172 | sub ebx,50+15 |
132 | sub ebx,50+15 |
173 | mov cx,[right_panel_y.start_y] |
133 | mov cx,[right_panel_y.start_y] |
174 | call calclulate_sort_button_1 |
134 | call calclulate_sort_button_1 |
175 | mov edx,149 |
135 | mov edx,149 |
176 | ;-------------------------------------- |
136 | ;-------------------------------------- |
177 | .start: |
137 | .start: |
178 | mov esi,0xffffff |
138 | mov esi,0xffffff |
179 | dec ebp |
139 | dec ebp |
180 | cmp [right_sort_flag],ebp |
140 | cmp [right_sort_flag],ebp |
181 | jne @f |
141 | jne @f |
182 | 142 | ||
183 | mov esi,0xccccff |
143 | mov esi,0xccccff |
184 | ;-------------------------------------- |
144 | ;-------------------------------------- |
185 | @@: |
145 | @@: |
186 | call calclulate_sort_button_2 |
146 | call calclulate_sort_button_2 |
187 | jnz .start |
147 | jnz .start |
188 | 148 | ||
189 | ret |
149 | ret |
190 | ;------------------------------------------------------------------------------ |
150 | ;------------------------------------------------------------------------------ |
191 | draw_left_select_disk_button: |
151 | draw_left_select_disk_button: |
192 | mov bx,[left_panel_x.start_x] |
152 | mov bx,[left_panel_x.start_x] |
193 | mov cx,[left_panel_y.start_y] |
153 | mov cx,[left_panel_y.start_y] |
194 | mov ebp,read_folder_name ;read_folder.name |
154 | mov ebp,read_folder_name ;read_folder.name |
195 | mov edx,0x40000000+140 |
155 | mov edx,0x40000000+140 |
196 | ;-------------------------------------- |
156 | ;-------------------------------------- |
197 | .1: |
157 | .1: |
198 | shl ebx,16 |
158 | shl ebx,16 |
199 | mov bx,60 |
159 | mov bx,60 |
200 | sub cx,14 |
160 | sub cx,14 |
201 | shl ecx,16 |
161 | shl ecx,16 |
202 | mov cx,13 |
162 | mov cx,13 |
203 | mcall 8,,,,0xffffff |
163 | mcall 8,,,,0xffffff |
204 | mcall 13,,,0xffffff |
164 | mcall 13,,,0xffffff |
205 | pusha |
165 | pusha |
206 | mov esi,ebp |
166 | mov esi,ebp |
207 | add esi,2 |
167 | add esi,2 |
208 | ;-------------------------------------- |
168 | ;-------------------------------------- |
209 | @@: |
169 | @@: |
210 | inc esi |
170 | inc esi |
211 | cmp [esi],byte 0 |
171 | cmp [esi],byte 0 |
212 | je @f |
172 | je @f |
213 | 173 | ||
214 | cmp [esi],byte '/' |
174 | cmp [esi],byte '/' |
215 | jne @r |
175 | jne @r |
216 | 176 | ||
217 | add esi,2 |
177 | add esi,2 |
218 | ;-------------------------------------- |
178 | ;-------------------------------------- |
219 | @@: |
179 | @@: |
220 | sub esi,ebp ;read_folder.name |
180 | sub esi,ebp ;read_folder.name |
221 | add ebx,1 shl 16 |
181 | add ebx,1 shl 16 |
222 | shr ecx,16 |
182 | shr ecx,16 |
223 | mov bx,cx |
183 | mov bx,cx |
224 | add ebx,3 |
184 | add ebx,3 |
225 | mov edx,ebp |
185 | mov edx,ebp |
226 | mcall 4,,0 ;,read_folder.name |
186 | mcall 4,,0 ;,read_folder.name |
227 | popa |
187 | popa |
228 | add ebx,50 shl 16 |
188 | add ebx,50 shl 16 |
229 | mov bx,10 |
189 | mov bx,10 |
230 | mcall ,,,0x6060ff |
190 | mcall ,,,0x6060ff |
231 | mov [temp_panel_end],ebx |
191 | mov [temp_panel_end],ebx |
232 | add ebx,1 shl 16 |
192 | add ebx,1 shl 16 |
233 | shr ecx,16 |
193 | shr ecx,16 |
234 | mov bx,cx |
194 | mov bx,cx |
235 | add ebx,3 |
195 | add ebx,3 |
236 | mcall 4, ,0x80ffffff,select_disk_char |
196 | mcall 4, ,0x80ffffff,select_disk_char |
237 | add ebx,1 shl 16 |
197 | add ebx,1 shl 16 |
238 | mcall |
198 | mcall |
239 | ret |
199 | ret |
240 | ;------------------------------------------------------------------------------ |
200 | ;------------------------------------------------------------------------------ |
241 | draw_right_select_disk_button: |
201 | draw_right_select_disk_button: |
242 | mov bx,[right_panel_x.start_x] |
202 | mov bx,[right_panel_x.start_x] |
243 | mov cx,[right_panel_y.start_y] |
203 | mov cx,[right_panel_y.start_y] |
244 | mov ebp,read_folder_1_name ;read_folder_1.name |
204 | mov ebp,read_folder_1_name ;read_folder_1.name |
245 | mov edx,0x40000000+141 |
205 | mov edx,0x40000000+141 |
246 | jmp draw_left_select_disk_button.1 |
206 | jmp draw_left_select_disk_button.1 |
247 | ;------------------------------------------------------------------------------ |
207 | ;------------------------------------------------------------------------------ |
248 | ;draw_ATAPI_tray_control: |
208 | ;draw_ATAPI_tray_control: |
249 | ; ret |
209 | ; ret |
250 | ;------------------------------------------------------------------------------ |
210 | ;------------------------------------------------------------------------------ |
251 | calc_max_panel_line: |
211 | calc_max_panel_line: |
252 | xor eax,eax |
212 | xor eax,eax |
253 | mov ax,[left_panel_y.size_y] |
213 | mov ax,[left_panel_y.size_y] |
254 | mov ebx,10 |
214 | mov ebx,10 |
255 | xor edx,edx |
215 | xor edx,edx |
256 | div ebx |
216 | div ebx |
257 | mov [max_panel_line],eax |
217 | mov [max_panel_line],eax |
258 | ret |
218 | ret |
259 | ;------------------------------------------------------------------------------ |
219 | ;------------------------------------------------------------------------------ |
260 | draw_icon: |
220 | draw_icon: |
261 | pusha |
221 | pusha |
262 | test [edx-40],byte 0x10 |
222 | test [edx-40],byte 0x10 |
263 | jnz .draw_dir_pic |
223 | jnz .draw_dir_pic |
264 | 224 | ||
265 | call get_icon_number |
225 | call get_icon_number |
266 | imul ebx,270 |
226 | imul ebx,270 |
267 | add ebx,mem |
227 | add ebx,mem |
268 | jmp .draw |
228 | jmp .draw |
269 | ;-------------------------------------- |
229 | ;-------------------------------------- |
270 | .draw_dir_pic: |
230 | .draw_dir_pic: |
271 | mov ebx,mem |
231 | mov ebx,mem |
272 | cmp [edx],word '..' |
232 | cmp [edx],word '..' |
273 | jne .draw |
233 | jne .draw |
274 | 234 | ||
275 | add ebx,270 ;*17 |
235 | add ebx,270 ;*17 |
276 | ;-------------------------------------- |
236 | ;-------------------------------------- |
277 | .draw: |
237 | .draw: |
278 | mov edx,[esp+16] ;ebx |
238 | mov edx,[esp+16] ;ebx |
279 | ror edx,16 |
239 | ror edx,16 |
280 | sub edx,12 |
240 | sub edx,12 |
281 | rol edx,16 |
241 | rol edx,16 |
282 | mcall 7, ,<10,9> |
242 | mcall 7, ,<10,9> |
283 | popa |
243 | popa |
284 | ret |
244 | ret |
285 | ;------------------------------------------------------------------------------ |
245 | ;------------------------------------------------------------------------------ |
286 | ; ÏÅÐÅÂÎÄ 10-ÍÛÕ ×ÈÑÅË ÑÎ ÇÍÀÊÎÌ Â ÑÒÐÎÊÎÂÛÉ ÂÈÄ |
246 | ; ÏÅÐÅÂÎÄ 10-ÍÛÕ ×ÈÑÅË ÑÎ ÇÍÀÊÎÌ Â ÑÒÐÎÊÎÂÛÉ ÂÈÄ |
287 | ; Âõîä: |
247 | ; Âõîä: |
288 | ; AX - ÷èñëî |
248 | ; AX - ÷èñëî |
289 | ; EBX - àäðåñ ñòðîêè |
249 | ; EBX - àäðåñ ñòðîêè |
290 | ; Âûõîä: |
250 | ; Âûõîä: |
291 | ; ñòðîêà ñîäåðæèò ÷èñëî, êîíåö îòìå÷åí êîäîì 0 |
251 | ; ñòðîêà ñîäåðæèò ÷èñëî, êîíåö îòìå÷åí êîäîì 0 |
292 | ;------------------------------------------------------------------------------ |
252 | ;------------------------------------------------------------------------------ |
293 | decimal_string_2: |
253 | decimal_string_2: |
294 | push eax ebx ecx edx |
254 | push eax ebx ecx edx |
295 | xor ecx,ecx |
255 | xor ecx,ecx |
296 | mov [ebx],byte '0' |
256 | mov [ebx],byte '0' |
297 | inc ebx |
257 | inc ebx |
298 | ;-------------------------------------- |
258 | ;-------------------------------------- |
299 | .p3: |
259 | .p3: |
300 | xor edx,edx |
260 | xor edx,edx |
301 | push ebx |
261 | push ebx |
302 | mov ebx,10 |
262 | mov ebx,10 |
303 | div ebx |
263 | div ebx |
304 | pop ebx |
264 | pop ebx |
305 | add edx,48 |
265 | add edx,48 |
306 | push edx |
266 | push edx |
307 | inc ecx |
267 | inc ecx |
308 | cmp ax,0 |
268 | cmp ax,0 |
309 | jne .p3 |
269 | jne .p3 |
310 | 270 | ||
311 | cmp ecx,1 |
271 | cmp ecx,1 |
312 | jbe .p4 |
272 | jbe .p4 |
313 | 273 | ||
314 | mov ecx,2 |
274 | mov ecx,2 |
315 | dec ebx |
275 | dec ebx |
316 | ;-------------------------------------- |
276 | ;-------------------------------------- |
317 | .p4: |
277 | .p4: |
318 | pop edx |
278 | pop edx |
319 | mov [ebx],dl |
279 | mov [ebx],dl |
320 | inc ebx |
280 | inc ebx |
321 | loop .p4 |
281 | loop .p4 |
322 | pop edx ecx ebx eax |
282 | pop edx ecx ebx eax |
323 | ret |
283 | ret |
324 | ;------------------------------------------------------------------------------ |
284 | ;------------------------------------------------------------------------------ |
325 | decimal_string_4: |
285 | decimal_string_4: |
326 | push eax ecx edx |
286 | push eax ecx edx |
327 | xor ecx,ecx |
287 | xor ecx,ecx |
328 | mov [ebx],byte '0' |
288 | mov [ebx],byte '0' |
329 | inc ebx |
289 | inc ebx |
330 | ;-------------------------------------- |
290 | ;-------------------------------------- |
331 | .p3: |
291 | .p3: |
332 | xor edx,edx |
292 | xor edx,edx |
333 | push ebx |
293 | push ebx |
334 | mov ebx,10 |
294 | mov ebx,10 |
335 | div ebx |
295 | div ebx |
336 | pop ebx |
296 | pop ebx |
337 | add edx,48 |
297 | add edx,48 |
338 | push edx |
298 | push edx |
339 | inc ecx |
299 | inc ecx |
340 | cmp eax,0 |
300 | cmp eax,0 |
341 | jne .p3 |
301 | jne .p3 |
342 | 302 | ||
343 | cmp ecx,3 |
303 | cmp ecx,3 |
344 | jbe .p4 |
304 | jbe .p4 |
345 | 305 | ||
346 | mov ecx,4 |
306 | mov ecx,4 |
347 | dec ebx |
307 | dec ebx |
348 | ;-------------------------------------- |
308 | ;-------------------------------------- |
349 | .p4: |
309 | .p4: |
350 | pop edx |
310 | pop edx |
351 | mov [ebx],dl |
311 | mov [ebx],dl |
352 | inc ebx |
312 | inc ebx |
353 | loop .p4 |
313 | loop .p4 |
354 | 314 | ||
355 | pop edx ecx eax |
315 | pop edx ecx eax |
356 | ret |
316 | ret |
357 | ;------------------------------------------------------------------------------ |
317 | ;------------------------------------------------------------------------------ |
358 | draw_type_size_date: |
318 | draw_type_size_date: |
359 | pusha |
319 | pusha |
360 | test [edx-40],byte 0x10 |
320 | test [edx-40],byte 0x10 |
361 | jz .copy_type |
321 | jz .copy_type |
362 | 322 | ||
363 | mov [type_table],dword ' |
323 | mov [type_table],dword ' |
364 | mov [type_table+4],word '> ' |
324 | mov [type_table+4],word '> ' |
365 | mov [file_name_length],0 |
325 | mov [file_name_length],0 |
366 | mov [extension_size],0 |
326 | mov [extension_size],0 |
367 | jmp .start ;.size |
327 | jmp .start ;.size |
368 | ;-------------------------------------- |
328 | ;-------------------------------------- |
369 | .copy_type: |
329 | .copy_type: |
370 | mov [type_table],dword ' ' |
330 | mov [type_table],dword ' ' |
371 | mov [type_table+4],word ' ' |
331 | mov [type_table+4],word ' ' |
372 | ;-------------------------------------- |
332 | ;-------------------------------------- |
373 | .start: |
333 | .start: |
374 | mov esi,edx |
334 | mov esi,edx |
375 | xor eax,eax |
335 | xor eax,eax |
376 | ;-------------------------------------- |
336 | ;-------------------------------------- |
377 | @@: |
337 | @@: |
378 | cld |
338 | cld |
379 | lodsb |
339 | lodsb |
380 | test eax,eax |
340 | test eax,eax |
381 | jnz @b |
341 | jnz @b |
382 | 342 | ||
383 | mov [file_name_length],esi |
343 | mov [file_name_length],esi |
384 | sub [file_name_length],edx |
344 | sub [file_name_length],edx |
385 | mov [temp_counter_1],esi |
345 | mov [temp_counter_1],esi |
386 | test [edx-40],byte 0x10 |
346 | test [edx-40],byte 0x10 |
387 | jnz .size |
347 | jnz .size |
388 | 348 | ||
389 | dec esi |
349 | dec esi |
390 | dec edx |
350 | dec edx |
391 | ;-------------------------------------- |
351 | ;-------------------------------------- |
392 | @@: |
352 | @@: |
393 | std |
353 | std |
394 | lodsb |
354 | lodsb |
395 | cmp esi,edx |
355 | cmp esi,edx |
396 | je .extension_size_0 |
356 | je .extension_size_0 |
397 | 357 | ||
398 | cmp al,'.' |
358 | cmp al,'.' |
399 | jnz @b |
359 | jnz @b |
400 | 360 | ||
401 | add esi,2 |
361 | add esi,2 |
402 | mov [extension_start],esi |
362 | mov [extension_start],esi |
403 | mov ecx,[temp_counter_1] |
363 | mov ecx,[temp_counter_1] |
404 | sub ecx,esi |
364 | sub ecx,esi |
405 | inc ecx |
365 | inc ecx |
406 | mov [extension_size],ecx |
366 | mov [extension_size],ecx |
407 | sub [file_name_length],ecx |
367 | sub [file_name_length],ecx |
408 | cmp ecx,2 |
368 | cmp ecx,2 |
409 | ja @f |
369 | ja @f |
410 | 370 | ||
411 | inc [file_name_length] |
371 | inc [file_name_length] |
412 | ;-------------------------------------- |
372 | ;-------------------------------------- |
413 | @@: |
373 | @@: |
414 | sub ecx,2 |
374 | sub ecx,2 |
415 | cmp ecx,4 |
375 | cmp ecx,4 |
416 | jbe @f |
376 | jbe @f |
417 | 377 | ||
418 | mov ecx,4 |
378 | mov ecx,4 |
419 | mov [type_table+4],word '..' |
379 | mov [type_table+4],word '..' |
420 | ;-------------------------------------- |
380 | ;-------------------------------------- |
421 | @@: |
381 | @@: |
422 | mov edi,type_table ;+1 |
382 | mov edi,type_table ;+1 |
423 | cld |
383 | cld |
424 | rep movsb |
384 | rep movsb |
425 | mov [edi],byte ' ' |
385 | mov [edi],byte ' ' |
426 | inc edx |
386 | inc edx |
427 | jmp .size |
387 | jmp .size |
428 | ;-------------------------------------- |
388 | ;-------------------------------------- |
429 | .extension_size_0: |
389 | .extension_size_0: |
430 | inc edx |
390 | inc edx |
431 | mov [extension_size],0 |
391 | mov [extension_size],0 |
432 | ;-------------------------------------- |
392 | ;-------------------------------------- |
433 | .size: |
393 | .size: |
434 | test [edx-40],byte 0x10 |
394 | test [edx-40],byte 0x10 |
435 | jz .copy_size |
395 | jz .copy_size |
436 | 396 | ||
437 | mov [size_table],dword '----' |
397 | mov [size_table],dword '----' |
438 | mov [size_table+4],word '- ' |
398 | mov [size_table+4],word '- ' |
439 | jmp .date |
399 | jmp .date |
440 | ;-------------------------------------- |
400 | ;-------------------------------------- |
441 | .copy_size: |
401 | .copy_size: |
442 | ;/0x40000000 - Gb |
402 | ;/0x40000000 - Gb |
443 | ;/0x100000 - Mb |
403 | ;/0x100000 - Mb |
444 | ;/0x400 Kb |
404 | ;/0x400 Kb |
445 | mov [size_table],dword ' ' |
405 | mov [size_table],dword ' ' |
446 | mov [size_table+4],word ' ' |
406 | mov [size_table+4],word ' ' |
447 | push ebx |
407 | push ebx |
448 | push edx |
408 | push edx |
449 | mov eax,[edx-40+32] |
409 | mov eax,[edx-40+32] |
450 | mov ebx,0x40000000 |
410 | mov ebx,0x40000000 |
451 | xor edx,edx |
411 | xor edx,edx |
452 | div ebx |
412 | div ebx |
453 | cmp eax,0 |
413 | cmp eax,0 |
454 | je @f |
414 | je @f |
455 | 415 | ||
456 | mov ebx,size_table |
416 | mov ebx,size_table |
457 | call decimal_string_4 |
417 | call decimal_string_4 |
458 | mov [ebx],byte 'G' |
418 | mov [ebx],byte 'G' |
459 | jmp .size_convert_end |
419 | jmp .size_convert_end |
460 | ;-------------------------------------- |
420 | ;-------------------------------------- |
461 | @@: |
421 | @@: |
462 | mov edx,[esp] |
422 | mov edx,[esp] |
463 | mov eax,[edx-40+32] |
423 | mov eax,[edx-40+32] |
464 | mov ebx,0x100000 |
424 | mov ebx,0x100000 |
465 | xor edx,edx |
425 | xor edx,edx |
466 | div ebx |
426 | div ebx |
467 | cmp eax,0 |
427 | cmp eax,0 |
468 | je @f |
428 | je @f |
469 | 429 | ||
470 | mov ebx,size_table |
430 | mov ebx,size_table |
471 | call decimal_string_4 |
431 | call decimal_string_4 |
472 | mov [ebx],byte 'M' |
432 | mov [ebx],byte 'M' |
473 | jmp .size_convert_end |
433 | jmp .size_convert_end |
474 | ;-------------------------------------- |
434 | ;-------------------------------------- |
475 | @@: |
435 | @@: |
476 | mov edx,[esp] |
436 | mov edx,[esp] |
477 | mov eax,[edx-40+32] |
437 | mov eax,[edx-40+32] |
478 | mov ebx,0x400 |
438 | mov ebx,0x400 |
479 | xor edx,edx |
439 | xor edx,edx |
480 | div ebx |
440 | div ebx |
481 | cmp eax,0 |
441 | cmp eax,0 |
482 | je @f |
442 | je @f |
483 | 443 | ||
484 | mov ebx,size_table |
444 | mov ebx,size_table |
485 | call decimal_string_4 |
445 | call decimal_string_4 |
486 | mov [ebx],byte 'K' |
446 | mov [ebx],byte 'K' |
487 | jmp .size_convert_end |
447 | jmp .size_convert_end |
488 | ;-------------------------------------- |
448 | ;-------------------------------------- |
489 | @@: |
449 | @@: |
490 | mov edx,[esp] |
450 | mov edx,[esp] |
491 | mov eax,[edx-40+32] |
451 | mov eax,[edx-40+32] |
492 | ;.size_convert: |
452 | ;.size_convert: |
493 | mov ebx,size_table |
453 | mov ebx,size_table |
494 | call decimal_string_4 |
454 | call decimal_string_4 |
495 | ;-------------------------------------- |
455 | ;-------------------------------------- |
496 | .size_convert_end: |
456 | .size_convert_end: |
497 | cmp [size_table],byte '0' |
457 | cmp [size_table],byte '0' |
498 | jne @f |
458 | jne @f |
499 | 459 | ||
500 | mov [size_table],byte ' ' |
460 | mov [size_table],byte ' ' |
501 | ;-------------------------------------- |
461 | ;-------------------------------------- |
502 | @@: |
462 | @@: |
503 | cmp [size_table+4],byte ' ' |
463 | cmp [size_table+4],byte ' ' |
504 | jne @f |
464 | jne @f |
505 | 465 | ||
506 | mov esi,size_table+3 |
466 | mov esi,size_table+3 |
507 | mov edi,esi |
467 | mov edi,esi |
508 | inc edi |
468 | inc edi |
509 | mov ecx,5 |
469 | mov ecx,5 |
510 | std |
470 | std |
511 | rep movsb |
471 | rep movsb |
512 | jmp @r |
472 | jmp @r |
513 | ;-------------------------------------- |
473 | ;-------------------------------------- |
514 | @@: |
474 | @@: |
515 | pop edx |
475 | pop edx |
516 | pop ebx |
476 | pop ebx |
517 | ;-------------------------------------- |
477 | ;-------------------------------------- |
518 | .date: |
478 | .date: |
519 | xor eax,eax |
479 | xor eax,eax |
520 | mov al,[edx-40+28] |
480 | mov al,[edx-40+28] |
521 | push ebx |
481 | push ebx |
522 | mov ebx,date_table |
482 | mov ebx,date_table |
523 | call decimal_string_2 |
483 | call decimal_string_2 |
524 | mov al,[edx-40+29] |
484 | mov al,[edx-40+29] |
525 | mov ebx,date_table+3 |
485 | mov ebx,date_table+3 |
526 | call decimal_string_2 |
486 | call decimal_string_2 |
527 | mov ax,[edx-40+30] |
487 | mov ax,[edx-40+30] |
528 | mov ebx,year_table |
488 | mov ebx,year_table |
529 | call decimal_string_4 |
489 | call decimal_string_4 |
530 | mov ax,[year_table+2] |
490 | mov ax,[year_table+2] |
531 | mov [date_table+6],ax |
491 | mov [date_table+6],ax |
532 | pop ebx |
492 | pop ebx |
533 | ror ebx,16 |
493 | ror ebx,16 |
534 | add bx,[left_panel_x.size_x] |
494 | add bx,[left_panel_x.size_x] |
535 | sub ebx,122+12+15 |
495 | sub ebx,122+12+15 |
536 | rol ebx,16 |
496 | rol ebx,16 |
537 | mov ecx,0 |
497 | mov ecx,0 |
538 | cmp [marked_file],byte 0 |
498 | cmp [marked_file],byte 0 |
539 | je @f |
499 | je @f |
540 | 500 | ||
541 | mov ecx,0xff0000 |
501 | mov ecx,0xff0000 |
542 | ;-------------------------------------- |
502 | ;-------------------------------------- |
543 | @@: |
503 | @@: |
544 | mcall 4,,,type_table,20 |
504 | mcall 4,,,type_table,20 |
545 | popa |
505 | popa |
546 | ret |
506 | ret |
547 | ;------------------------------------------------------------------------------ |
507 | ;------------------------------------------------------------------------------ |
548 | draw_folder_data: |
508 | draw_folder_data: |
549 | cmp [drawing_panel_folder],1 |
509 | cmp [drawing_panel_folder],1 |
550 | jne .right_panel |
510 | jne .right_panel |
551 | 511 | ||
552 | mov eax,[left_folder_block] |
512 | mov eax,[left_folder_block] |
553 | sub eax,[max_panel_line] |
513 | sub eax,[max_panel_line] |
554 | test eax,0x8000000 |
514 | test eax,0x8000000 |
555 | jz .ok_left |
515 | jz .ok_left |
556 | 516 | ||
557 | mov [left_start_draw_line],0 |
517 | mov [left_start_draw_line],0 |
558 | jmp @f |
518 | jmp @f |
559 | ;-------------------------------------- |
519 | ;-------------------------------------- |
560 | .ok_left: |
520 | .ok_left: |
561 | cmp eax,[left_start_draw_line] |
521 | cmp eax,[left_start_draw_line] |
562 | jae @f |
522 | jae @f |
563 | 523 | ||
564 | mov [left_start_draw_line],eax |
524 | mov [left_start_draw_line],eax |
565 | ;-------------------------------------- |
525 | ;-------------------------------------- |
566 | @@: |
526 | @@: |
567 | mov bx,[left_panel_x.start_x] |
527 | mov bx,[left_panel_x.start_x] |
568 | add bx,12 |
528 | add bx,12 |
569 | shl ebx,16 |
529 | shl ebx,16 |
570 | mov bx,[left_panel_y.start_y] |
530 | mov bx,[left_panel_y.start_y] |
571 | inc bx |
531 | inc bx |
572 | mov edx,[left_start_draw_line] |
532 | mov edx,[left_start_draw_line] |
573 | imul edx,304 |
533 | imul edx,304 |
574 | add edx,[left_folder_data] |
534 | add edx,[left_folder_data] |
575 | add edx,32+40 |
535 | add edx,32+40 |
576 | mov [temp_counter],0 |
536 | mov [temp_counter],0 |
577 | jmp .type_folder |
537 | jmp .type_folder |
578 | ;-------------------------------------- |
538 | ;-------------------------------------- |
579 | .right_panel: |
539 | .right_panel: |
580 | mov eax,[right_folder_block] |
540 | mov eax,[right_folder_block] |
581 | sub eax,[max_panel_line] |
541 | sub eax,[max_panel_line] |
582 | test eax,0x8000000 |
542 | test eax,0x8000000 |
583 | jz .ok_right |
543 | jz .ok_right |
584 | 544 | ||
585 | mov [right_start_draw_line],0 |
545 | mov [right_start_draw_line],0 |
586 | jmp @f |
546 | jmp @f |
587 | ;-------------------------------------- |
547 | ;-------------------------------------- |
588 | .ok_right: |
548 | .ok_right: |
589 | cmp eax,[right_start_draw_line] |
549 | cmp eax,[right_start_draw_line] |
590 | jae @f |
550 | jae @f |
591 | 551 | ||
592 | mov [right_start_draw_line],eax |
552 | mov [right_start_draw_line],eax |
593 | ;-------------------------------------- |
553 | ;-------------------------------------- |
594 | @@: |
554 | @@: |
595 | mov bx,[right_panel_x.start_x] |
555 | mov bx,[right_panel_x.start_x] |
596 | add bx,12 |
556 | add bx,12 |
597 | shl ebx,16 |
557 | shl ebx,16 |
598 | mov bx,[right_panel_y.start_y] |
558 | mov bx,[right_panel_y.start_y] |
599 | inc bx |
559 | inc bx |
600 | mov edx,[right_start_draw_line] |
560 | mov edx,[right_start_draw_line] |
601 | imul edx,304 |
561 | imul edx,304 |
602 | add edx,[right_folder_data] |
562 | add edx,[right_folder_data] |
603 | add edx,32+40 |
563 | add edx,32+40 |
604 | mov [temp_counter],1 |
564 | mov [temp_counter],1 |
605 | ;-------------------------------------- |
565 | ;-------------------------------------- |
606 | .type_folder: |
566 | .type_folder: |
607 | xor eax,eax |
567 | xor eax,eax |
608 | ;-------------------------------------- |
568 | ;-------------------------------------- |
609 | .start: |
569 | .start: |
610 | pusha |
570 | pusha |
611 | mov eax,edx |
571 | mov eax,edx |
612 | cmp [temp_counter],1 |
572 | cmp [temp_counter],1 |
613 | je @f |
573 | je @f |
614 | 574 | ||
615 | sub eax,[left_folder_data] |
575 | sub eax,[left_folder_data] |
616 | sub eax,32+40 |
576 | sub eax,32+40 |
617 | xor edx,edx |
577 | xor edx,edx |
618 | mov ebx,304 |
578 | mov ebx,304 |
619 | div ebx |
579 | div ebx |
620 | cmp eax,[left_folder_block] |
580 | cmp eax,[left_folder_block] |
621 | je .end_1 |
581 | je .end_1 |
622 | 582 | ||
623 | jmp .continue_1 |
583 | jmp .continue_1 |
624 | ;-------------------------------------- |
584 | ;-------------------------------------- |
625 | @@: |
585 | @@: |
626 | sub eax,[right_folder_data] |
586 | sub eax,[right_folder_data] |
627 | sub eax,32+40 |
587 | sub eax,32+40 |
628 | xor edx,edx |
588 | xor edx,edx |
629 | mov ebx,304 |
589 | mov ebx,304 |
630 | div ebx |
590 | div ebx |
631 | cmp eax,[right_folder_block] |
591 | cmp eax,[right_folder_block] |
632 | je .end_1 |
592 | je .end_1 |
633 | ;-------------------------------------- |
593 | ;-------------------------------------- |
634 | .continue_1: |
594 | .continue_1: |
635 | popa |
595 | popa |
636 | cmp eax,[max_panel_line] ; 20 |
596 | cmp eax,[max_panel_line] ; 20 |
637 | je .end_2 |
597 | je .end_2 |
638 | 598 | ||
639 | mov [marked_file],0 |
599 | mov [marked_file],0 |
640 | cmp [edx+299-40],byte 0 |
600 | cmp [edx+299-40],byte 0 |
641 | je @f |
601 | je @f |
642 | 602 | ||
643 | mov [marked_file],1 |
603 | mov [marked_file],1 |
644 | ;-------------------------------------- |
604 | ;-------------------------------------- |
645 | @@: |
605 | @@: |
646 | call clear_line |
606 | call clear_line |
647 | call draw_type_size_date |
607 | call draw_type_size_date |
648 | call draw_icon |
608 | call draw_icon |
649 | push eax |
609 | push eax |
650 | xor eax,eax |
610 | xor eax,eax |
651 | mov ax,[left_panel_x.size_x] |
611 | mov ax,[left_panel_x.size_x] |
652 | push ebx edx |
612 | push ebx edx |
653 | mov ebx,6 |
613 | mov ebx,6 |
654 | xor edx,edx |
614 | xor edx,edx |
655 | div ebx |
615 | div ebx |
656 | pop edx ebx |
616 | pop edx ebx |
657 | sub eax,23+2+2 |
617 | sub eax,23+2+2 |
658 | mov esi,[file_name_length] |
618 | mov esi,[file_name_length] |
659 | mov [temp_counter_1],0 |
619 | mov [temp_counter_1],0 |
660 | cmp esi,eax |
620 | cmp esi,eax |
661 | jbe @f |
621 | jbe @f |
662 | 622 | ||
663 | mov esi,eax |
623 | mov esi,eax |
664 | mov [temp_counter_1],1 |
624 | mov [temp_counter_1],1 |
665 | ;-------------------------------------- |
625 | ;-------------------------------------- |
666 | @@: |
626 | @@: |
667 | mov ecx,0 |
627 | mov ecx,0 |
668 | cmp [marked_file],byte 0 |
628 | cmp [marked_file],byte 0 |
669 | je @f |
629 | je @f |
670 | 630 | ||
671 | mov ecx,0xff0000 |
631 | mov ecx,0xff0000 |
672 | ;-------------------------------------- |
632 | ;-------------------------------------- |
673 | @@: |
633 | @@: |
674 | mcall 4 |
634 | mcall 4 |
675 | cmp [temp_counter_1],0 |
635 | cmp [temp_counter_1],0 |
676 | je .continue |
636 | je .continue |
677 | 637 | ||
678 | mov eax,esi ;[file_name_length] |
638 | mov eax,esi ;[file_name_length] |
679 | imul eax,6 |
639 | imul eax,6 |
680 | shl eax,16 |
640 | shl eax,16 |
681 | push ebx edx |
641 | push ebx edx |
682 | add ebx,eax |
642 | add ebx,eax |
683 | mcall 4,,0xff0000,truncated_filename_char,2 |
643 | mcall 4,,0xff0000,truncated_filename_char,2 |
684 | add ebx,1 shl 16 |
644 | add ebx,1 shl 16 |
685 | mcall |
645 | mcall |
686 | pop edx ebx |
646 | pop edx ebx |
687 | ;-------------------------------------- |
647 | ;-------------------------------------- |
688 | .continue: |
648 | .continue: |
689 | add ebx,10 |
649 | add ebx,10 |
690 | add edx,304 ;10 |
650 | add edx,304 ;10 |
691 | pop eax |
651 | pop eax |
692 | inc eax |
652 | inc eax |
693 | jmp .start |
653 | jmp .start |
694 | ;-------------------------------------- |
654 | ;-------------------------------------- |
695 | .end_1: |
655 | .end_1: |
696 | popa |
656 | popa |
697 | ;-------------------------------------- |
657 | ;-------------------------------------- |
698 | .end_2: |
658 | .end_2: |
699 | mov ax,[left_panel_y.start_y] |
659 | mov ax,[left_panel_y.start_y] |
700 | add ax,[left_panel_y.size_y] |
660 | add ax,[left_panel_y.size_y] |
701 | mov cx,bx |
661 | mov cx,bx |
702 | dec cx |
662 | dec cx |
703 | rol ecx,16 |
663 | rol ecx,16 |
704 | mov cx,ax |
664 | mov cx,ax |
705 | mov eax,ecx |
665 | mov eax,ecx |
706 | shr eax,16 |
666 | shr eax,16 |
707 | sub cx,ax |
667 | sub cx,ax |
708 | cmp cx,0 |
668 | cmp cx,0 |
709 | jbe @f |
669 | jbe @f |
710 | 670 | ||
711 | mov bx,[left_panel_x.size_x] |
671 | mov bx,[left_panel_x.size_x] |
712 | sub ebx,12 shl 16 |
672 | sub ebx,12 shl 16 |
713 | mcall 13,,,0xffffff |
673 | mcall 13,,,0xffffff |
714 | ;-------------------------------------- |
674 | ;-------------------------------------- |
715 | @@: |
675 | @@: |
716 | .end: |
676 | .end: |
717 | cmp [drawing_panel_folder],1 |
677 | cmp [drawing_panel_folder],1 |
718 | jne @f |
678 | jne @f |
719 | 679 | ||
720 | call draw_scroll_bar_left |
680 | call draw_scroll_bar_left |
721 | ret |
681 | ret |
722 | ;-------------------------------------- |
682 | ;-------------------------------------- |
723 | @@: |
683 | @@: |
724 | call draw_scroll_bar_right |
684 | call draw_scroll_bar_right |
725 | ret |
685 | ret |
726 | ;------------------------------------------------------------------------------ |
686 | ;------------------------------------------------------------------------------ |
727 | clear_line: |
687 | clear_line: |
728 | cmp [not_clear_lines],0 |
688 | cmp [not_clear_lines],0 |
729 | jne .end_1 |
689 | jne .end_1 |
730 | 690 | ||
731 | pusha |
691 | pusha |
732 | shl ebx,16 |
692 | shl ebx,16 |
733 | shr ebx,16 |
693 | shr ebx,16 |
734 | dec ebx |
694 | dec ebx |
735 | cmp [drawing_panel_folder],1 |
695 | cmp [drawing_panel_folder],1 |
736 | jne .right |
696 | jne .right |
737 | 697 | ||
738 | cmp [select_panel_counter],0 |
698 | cmp [select_panel_counter],0 |
739 | jne .continue |
699 | jne .continue |
740 | 700 | ||
741 | mov ax,[left_start_draw_cursor_line] |
701 | mov ax,[left_start_draw_cursor_line] |
742 | add ax,[left_panel_y.start_y] |
702 | add ax,[left_panel_y.start_y] |
743 | cmp bx,ax |
703 | cmp bx,ax |
744 | je .end |
704 | je .end |
745 | 705 | ||
746 | jmp .continue |
706 | jmp .continue |
747 | ;-------------------------------------- |
707 | ;-------------------------------------- |
748 | .right: |
708 | .right: |
749 | cmp [select_panel_counter],0 |
709 | cmp [select_panel_counter],0 |
750 | je .continue |
710 | je .continue |
751 | 711 | ||
752 | mov ax,[right_start_draw_cursor_line] |
712 | mov ax,[right_start_draw_cursor_line] |
753 | add ax,[right_panel_y.start_y] |
713 | add ax,[right_panel_y.start_y] |
754 | cmp bx,ax |
714 | cmp bx,ax |
755 | je .end |
715 | je .end |
756 | ;-------------------------------------- |
716 | ;-------------------------------------- |
757 | .continue: |
717 | .continue: |
758 | mov ebx,[esp+16] |
718 | mov ebx,[esp+16] |
759 | mov cx,bx |
719 | mov cx,bx |
760 | dec cx |
720 | dec cx |
761 | rol ecx,16 |
721 | rol ecx,16 |
762 | mov cx,10 |
722 | mov cx,10 |
763 | mov bx,[left_panel_x.size_x] |
723 | mov bx,[left_panel_x.size_x] |
764 | cmp [drawing_panel_folder],1 |
724 | cmp [drawing_panel_folder],1 |
765 | je @f |
725 | je @f |
766 | 726 | ||
767 | dec ebx |
727 | dec ebx |
768 | ;-------------------------------------- |
728 | ;-------------------------------------- |
769 | @@: |
729 | @@: |
770 | sub ebx,12 shl 16+15 |
730 | sub ebx,12 shl 16+15 |
771 | mcall 13,,,0xffffff |
731 | mcall 13,,,0xffffff |
772 | ;-------------------------------------- |
732 | ;-------------------------------------- |
773 | .end: |
733 | .end: |
774 | popa |
734 | popa |
775 | ;-------------------------------------- |
735 | ;-------------------------------------- |
776 | .end_1: |
736 | .end_1: |
777 | ret |
737 | ret |
778 | ;------------------------------------------------------------------------------ |
738 | ;------------------------------------------------------------------------------ |
779 | draw_left_panel: |
739 | draw_left_panel: |
780 | call clear_left_panel |
740 | call clear_left_panel |
781 | call calc_max_panel_line |
741 | call calc_max_panel_line |
782 | call draw_left_panel_selection |
742 | call draw_left_panel_selection |
783 | mov [drawing_panel_folder],1 |
743 | mov [drawing_panel_folder],1 |
784 | call draw_folder_data |
744 | call draw_folder_data |
785 | call draw_left_panel_patch |
745 | call draw_left_panel_patch |
786 | ret |
746 | ret |
787 | ;------------------------------------------------------------------------------ |
747 | ;------------------------------------------------------------------------------ |
788 | draw_right_panel: |
748 | draw_right_panel: |
789 | call clear_right_panel |
749 | call clear_right_panel |
790 | call calc_max_panel_line |
750 | call calc_max_panel_line |
791 | call draw_right_panel_selection |
751 | call draw_right_panel_selection |
792 | mov [drawing_panel_folder],2 |
752 | mov [drawing_panel_folder],2 |
793 | call draw_folder_data |
753 | call draw_folder_data |
794 | call draw_right_panel_patch |
754 | call draw_right_panel_patch |
795 | ret |
755 | ret |
796 | ;------------------------------------------------------------------------------ |
756 | ;------------------------------------------------------------------------------ |
797 | draw_left_panel_patch: |
757 | draw_left_panel_patch: |
798 | cmp [select_panel_counter],0 |
758 | cmp [select_panel_counter],0 |
799 | jne .end |
759 | jne .end |
800 | 760 | ||
801 | mov edx,read_folder_name ;read_folder.name |
761 | mov edx,read_folder_name ;read_folder.name |
802 | ;-------------------------------------- |
762 | ;-------------------------------------- |
803 | .1: |
763 | .1: |
804 | call clear_patch_area |
764 | call clear_patch_area |
805 | mov ebx,[window_high] |
765 | mov ebx,[window_high] |
806 | sub ebx,33 |
766 | sub ebx,33 |
807 | add ebx,8 shl 16 |
767 | add ebx,8 shl 16 |
808 | mcall 4,,0x80000000 ; ,read_folder.name |
768 | mcall 4,,0x80000000 ; ,read_folder.name |
809 | ;-------------------------------------- |
769 | ;-------------------------------------- |
810 | .end: |
770 | .end: |
811 | ret |
771 | ret |
812 | ;------------------------------------------------------------------------------ |
772 | ;------------------------------------------------------------------------------ |
813 | draw_right_panel_patch: |
773 | draw_right_panel_patch: |
814 | cmp [select_panel_counter],1 |
774 | cmp [select_panel_counter],1 |
815 | jne draw_left_panel_patch.end |
775 | jne draw_left_panel_patch.end |
816 | 776 | ||
817 | mov edx,read_folder_1_name ;read_folder_1.name |
777 | mov edx,read_folder_1_name ;read_folder_1.name |
818 | jmp draw_left_panel_patch.1 |
778 | jmp draw_left_panel_patch.1 |
819 | ;------------------------------------------------------------------------------ |
779 | ;------------------------------------------------------------------------------ |
820 | clear_patch_area: |
780 | clear_patch_area: |
821 | push edx |
781 | push edx |
822 | mov ebx,[window_width] |
782 | mov ebx,[window_width] |
823 | sub ebx,9 |
783 | sub ebx,9 |
824 | add ebx,5 shl 16 |
784 | add ebx,5 shl 16 |
825 | mov ecx,[window_high] |
785 | mov ecx,[window_high] |
826 | sub ecx,35 |
786 | sub ecx,35 |
827 | shl ecx,16 |
787 | shl ecx,16 |
828 | mov cx,12 |
788 | mov cx,12 |
829 | mcall 13,,,0xffffcc |
789 | mcall 13,,,0xffffcc |
830 | pop edx |
790 | pop edx |
831 | ret |
791 | ret |
832 | ;------------------------------------------------------------------------------ |
792 | ;------------------------------------------------------------------------------ |
833 | draw_left_panel_selection: |
793 | draw_left_panel_selection: |
834 | cmp [select_panel_counter],0 |
794 | cmp [select_panel_counter],0 |
835 | jne .end |
795 | jne .end |
836 | 796 | ||
837 | mov eax,[left_folder_block] |
797 | mov eax,[left_folder_block] |
838 | sub eax,[left_start_draw_line] |
798 | sub eax,[left_start_draw_line] |
839 | mov edx,left_start_draw_cursor_line |
799 | mov edx,left_start_draw_cursor_line |
840 | mov cx,[edx] |
800 | mov cx,[edx] |
841 | call for_all_panel_selection |
801 | call for_all_panel_selection |
842 | mov eax,[left_folder_block] |
802 | mov eax,[left_folder_block] |
843 | dec eax |
803 | dec eax |
844 | imul eax,10 |
804 | imul eax,10 |
845 | cmp ax,cx |
805 | cmp ax,cx |
846 | jae @f |
806 | jae @f |
847 | 807 | ||
848 | mov cx,ax |
808 | mov cx,ax |
849 | ;-------------------------------------- |
809 | ;-------------------------------------- |
850 | @@: |
810 | @@: |
851 | mov [edx],cx |
811 | mov [edx],cx |
852 | mov ebx,[left_panel_x] |
812 | mov ebx,[left_panel_x] |
853 | add cx,[left_panel_y.start_y] |
813 | add cx,[left_panel_y.start_y] |
854 | ;-------------------------------------- |
814 | ;-------------------------------------- |
855 | .1: |
815 | .1: |
856 | shl ecx,16 |
816 | shl ecx,16 |
857 | mov cx,10 |
817 | mov cx,10 |
858 | sub ebx,15 |
818 | sub ebx,15 |
859 | mcall 13,,,0xbbddff |
819 | mcall 13,,,0xbbddff |
860 | ;-------------------------------------- |
820 | ;-------------------------------------- |
861 | .end: |
821 | .end: |
862 | ret |
822 | ret |
863 | ;------------------------------------------------------------------------------ |
823 | ;------------------------------------------------------------------------------ |
864 | draw_right_panel_selection: |
824 | draw_right_panel_selection: |
865 | cmp [select_panel_counter],1 |
825 | cmp [select_panel_counter],1 |
866 | jne draw_left_panel_selection.end |
826 | jne draw_left_panel_selection.end |
867 | 827 | ||
868 | mov eax,[right_folder_block] |
828 | mov eax,[right_folder_block] |
869 | sub eax,[right_start_draw_line] |
829 | sub eax,[right_start_draw_line] |
870 | mov edx,right_start_draw_cursor_line |
830 | mov edx,right_start_draw_cursor_line |
871 | mov cx,[edx] |
831 | mov cx,[edx] |
872 | call for_all_panel_selection |
832 | call for_all_panel_selection |
873 | mov eax,[right_folder_block] |
833 | mov eax,[right_folder_block] |
874 | dec eax |
834 | dec eax |
875 | imul eax,10 |
835 | imul eax,10 |
876 | cmp ax,cx |
836 | cmp ax,cx |
877 | jae @f |
837 | jae @f |
878 | 838 | ||
879 | mov cx,ax |
839 | mov cx,ax |
880 | ;-------------------------------------- |
840 | ;-------------------------------------- |
881 | @@: |
841 | @@: |
882 | mov [edx],cx |
842 | mov [edx],cx |
883 | mov ebx,[right_panel_x] |
843 | mov ebx,[right_panel_x] |
884 | add cx,[right_panel_y.start_y] |
844 | add cx,[right_panel_y.start_y] |
885 | jmp draw_left_panel_selection.1 |
845 | jmp draw_left_panel_selection.1 |
886 | ;------------------------------------------------------------------------------ |
846 | ;------------------------------------------------------------------------------ |
887 | for_all_panel_selection: |
847 | for_all_panel_selection: |
888 | imul eax,10 |
848 | imul eax,10 |
889 | cmp ax,cx |
849 | cmp ax,cx |
890 | jae @f |
850 | jae @f |
891 | 851 | ||
892 | mov cx,ax |
852 | mov cx,ax |
893 | ;-------------------------------------- |
853 | ;-------------------------------------- |
894 | @@: |
854 | @@: |
895 | mov eax,[max_panel_line] |
855 | mov eax,[max_panel_line] |
896 | dec eax |
856 | dec eax |
897 | imul eax,10 |
857 | imul eax,10 |
898 | cmp ax,cx |
858 | cmp ax,cx |
899 | jae @f |
859 | jae @f |
900 | 860 | ||
901 | mov cx,ax |
861 | mov cx,ax |
902 | ;-------------------------------------- |
862 | ;-------------------------------------- |
903 | @@: |
863 | @@: |
904 | ret |
864 | ret |
905 | ;------------------------------------------------------------------------------ |
865 | ;------------------------------------------------------------------------------ |
906 | clear_left_panel: |
866 | clear_left_panel: |
907 | mov ebx,7 shl 16 |
867 | mov ebx,7 shl 16 |
908 | add ebx,[window_width] |
868 | add ebx,[window_width] |
909 | shr bx,1 |
869 | shr bx,1 |
910 | sub ebx,6+1 |
870 | sub ebx,6+1 |
911 | mov [left_panel_x],ebx |
871 | mov [left_panel_x],ebx |
912 | call calculate_panel_1 |
872 | call calculate_panel_1 |
913 | mov [left_panel_y],ecx |
873 | mov [left_panel_y],ecx |
914 | xor eax,eax |
874 | xor eax,eax |
915 | mov ax,cx |
875 | mov ax,cx |
916 | xor edx,edx |
876 | xor edx,edx |
917 | mov ebx,10 |
877 | mov ebx,10 |
918 | div ebx |
878 | div ebx |
919 | ; óìíîæåíèå íà 10 |
879 | ; óìíîæåíèå íà 10 |
920 | shl eax,1 ; óìíîæåíèå íà 2 |
880 | shl eax,1 ; óìíîæåíèå íà 2 |
921 | lea eax,[eax+eax*4] ; óìíîæåíèå íà 5 |
881 | lea eax,[eax+eax*4] ; óìíîæåíèå íà 5 |
922 | mov [left_panel_y_correct_size_y],ax |
882 | mov [left_panel_y_correct_size_y],ax |
923 | ret |
883 | ret |
924 | ;------------------------------------------------------------------------------ |
884 | ;------------------------------------------------------------------------------ |
925 | calculate_panel_1: |
885 | calculate_panel_1: |
926 | mov ecx,[skin_high] |
886 | mov ecx,[skin_high] |
927 | add ecx,70 |
887 | add ecx,70 |
928 | shl ecx,16 |
888 | shl ecx,16 |
929 | add ecx,[window_high] |
889 | add ecx,[window_high] |
930 | sub ecx,129 |
890 | sub ecx,129 |
931 | ret |
891 | ret |
932 | ;------------------------------------------------------------------------------ |
892 | ;------------------------------------------------------------------------------ |
933 | clear_right_panel: |
893 | clear_right_panel: |
934 | mov ebx,[window_width] |
894 | mov ebx,[window_width] |
935 | shr ebx,1 |
895 | shr ebx,1 |
936 | add ebx,3 |
896 | add ebx,3 |
937 | shl ebx,16 |
897 | shl ebx,16 |
938 | add ebx,[window_width] |
898 | add ebx,[window_width] |
939 | shr bx,1 |
899 | shr bx,1 |
940 | sub bx,2+6 |
900 | sub bx,2+6 |
941 | mov [right_panel_x],ebx |
901 | mov [right_panel_x],ebx |
942 | call calculate_panel_1 |
902 | call calculate_panel_1 |
943 | mov [right_panel_y],ecx |
903 | mov [right_panel_y],ecx |
944 | xor eax,eax |
904 | xor eax,eax |
945 | mov ax,cx |
905 | mov ax,cx |
946 | xor edx,edx |
906 | xor edx,edx |
947 | mov ebx,10 |
907 | mov ebx,10 |
948 | div ebx |
908 | div ebx |
949 | ; óìíîæåíèå íà 10 |
909 | ; óìíîæåíèå íà 10 |
950 | shl eax,1 ; óìíîæåíèå íà 2 |
910 | shl eax,1 ; óìíîæåíèå íà 2 |
951 | lea eax,[eax+eax*4] ; óìíîæåíèå íà 5 |
911 | lea eax,[eax+eax*4] ; óìíîæåíèå íà 5 |
952 | mov [right_panel_y_correct_size_y],ax |
912 | mov [right_panel_y_correct_size_y],ax |
953 | ret |
913 | ret |
954 | ;------------------------------------------------------------------------------ |
914 | ;------------------------------------------------------------------------------ |
955 | erase_fbutton: |
915 | erase_fbutton: |
956 | mov edx,0x80000065 |
916 | mov edx,0x80000065 |
957 | mov eax,8 |
917 | mov eax,8 |
958 | mov ebp,12 |
918 | mov ebp,12 |
959 | ;-------------------------------------- |
919 | ;-------------------------------------- |
960 | .start: |
920 | .start: |
961 | mcall |
921 | mcall |
962 | dec ebp |
922 | dec ebp |
963 | jnz .start |
923 | jnz .start |
964 | 924 | ||
965 | ret |
925 | ret |
966 | ;------------------------------------------------------------------------------ |
926 | ;------------------------------------------------------------------------------ |
967 | draw_fbutton: |
927 | draw_fbutton: |
968 | test [window_status],100b ; window is rolled up |
928 | test [window_status],100b ; window is rolled up |
969 | jnz .exit |
929 | jnz .exit |
970 | 930 | ||
971 | test [window_status],10b ; window is minimized to panel |
931 | test [window_status],10b ; window is minimized to panel |
972 | jnz .exit |
932 | jnz .exit |
973 | 933 | ||
974 | mov ecx,[window_high] |
934 | mov ecx,[window_high] |
975 | sub ecx,20 |
935 | sub ecx,20 |
976 | shl ecx,16 |
936 | shl ecx,16 |
977 | add ecx,15 |
937 | add ecx,15 |
978 | mov eax,[window_width] |
938 | mov eax,[window_width] |
979 | mov ebx,12 |
939 | mov ebx,12 |
980 | xor edx,edx |
940 | xor edx,edx |
981 | div ebx |
941 | div ebx |
982 | mov [fbutton_width],eax |
942 | mov [fbutton_width],eax |
983 | mov ebx,5 shl 16 |
943 | mov ebx,5 shl 16 |
984 | add ebx,eax |
944 | add ebx,eax |
985 | sub ebx,2 |
945 | sub ebx,2 |
986 | mov esi,0xaa00 |
946 | mov esi,0xaa00 |
987 | mov edx,101 |
947 | mov edx,101 |
988 | mov eax,8 |
948 | mov eax,8 |
989 | mov ebp,12 |
949 | mov ebp,12 |
990 | ;-------------------------------------- |
950 | ;-------------------------------------- |
991 | .start: |
951 | .start: |
992 | cmp ebp,1 |
952 | cmp ebp,1 |
993 | jne @f |
953 | jne @f |
994 | 954 | ||
995 | mov eax,ebx |
955 | mov eax,ebx |
996 | shr eax,16 |
956 | shr eax,16 |
997 | mov bx,ax |
957 | mov bx,ax |
998 | mov eax,[window_width] |
958 | mov eax,[window_width] |
999 | sub ax,bx |
959 | sub ax,bx |
1000 | sub ax,5 |
960 | sub ax,5 |
1001 | mov bx,ax |
961 | mov bx,ax |
1002 | mov eax,8 |
962 | mov eax,8 |
1003 | ;-------------------------------------- |
963 | ;-------------------------------------- |
1004 | @@: |
964 | @@: |
1005 | mcall |
965 | mcall |
1006 | push eax ebx edx |
966 | push eax ebx edx |
1007 | mov edx,0x6060ff |
967 | mov edx,0x6060ff |
1008 | mov bx,10 |
968 | mov bx,10 |
1009 | cmp ebp,4 |
969 | cmp ebp,4 |
1010 | jae @f |
970 | jae @f |
1011 | 971 | ||
1012 | mov bx,18 |
972 | mov bx,18 |
1013 | ;-------------------------------------- |
973 | ;-------------------------------------- |
1014 | @@: |
974 | @@: |
1015 | mcall 13 |
975 | mcall 13 |
1016 | cmp ebp,1 |
976 | cmp ebp,1 |
1017 | je @f |
977 | je @f |
1018 | 978 | ||
1019 | ror ebx,16 |
979 | ror ebx,16 |
1020 | add ebx,[fbutton_width] |
980 | add ebx,[fbutton_width] |
1021 | dec ebx |
981 | dec ebx |
1022 | rol ebx,16 |
982 | rol ebx,16 |
1023 | mov bx,1 |
983 | mov bx,1 |
1024 | inc ecx |
984 | inc ecx |
1025 | mcall ,,,0xcccccc |
985 | mcall ,,,0xcccccc |
1026 | dec ecx |
986 | dec ecx |
1027 | ;-------------------------------------- |
987 | ;-------------------------------------- |
1028 | @@: |
988 | @@: |
1029 | pop edx ebx eax |
989 | pop edx ebx eax |
1030 | call .rol_ror |
990 | call .rol_ror |
1031 | inc edx |
991 | inc edx |
1032 | dec ebp |
992 | dec ebp |
1033 | jnz .start |
993 | jnz .start |
1034 | 994 | ||
1035 | call draw_fbutton_name |
995 | call draw_fbutton_name |
1036 | ret |
996 | ret |
1037 | ;-------------------------------------- |
997 | ;-------------------------------------- |
1038 | .rol_ror: |
998 | .rol_ror: |
1039 | rol ebx,16 |
999 | rol ebx,16 |
1040 | add ebx,[fbutton_width] |
1000 | add ebx,[fbutton_width] |
1041 | ror ebx,16 |
1001 | ror ebx,16 |
1042 | ;-------------------------------------- |
1002 | ;-------------------------------------- |
1043 | .exit: |
1003 | .exit: |
1044 | ret |
1004 | ret |
1045 | ;------------------------------------------------------------------------------ |
1005 | ;------------------------------------------------------------------------------ |
1046 | draw_fbutton_name: |
1006 | draw_fbutton_name: |
1047 | mov ebx, 7 shl 16 |
1007 | mov ebx, 7 shl 16 |
1048 | add ebx,[window_high] |
1008 | add ebx,[window_high] |
1049 | sub ebx,19 |
1009 | sub ebx,19 |
1050 | mov eax,4 |
1010 | mov eax,4 |
1051 | mov ecx,0x90000000 |
1011 | mov ecx,0x90000000 |
1052 | push ebx |
1012 | push ebx |
1053 | call .type_1 |
1013 | call .type_1 |
1054 | pop ebx |
1014 | pop ebx |
1055 | mov ecx,0x90ffffff |
1015 | mov ecx,0x90ffffff |
1056 | sub ebx,1 shl 16 + 1 |
1016 | sub ebx,1 shl 16 + 1 |
1057 | ;-------------------------------------- |
1017 | ;-------------------------------------- |
1058 | .type_1: |
1018 | .type_1: |
1059 | cmp [shift_flag],1 |
1019 | cmp [shift_flag],1 |
1060 | je .type_shift |
1020 | je .type_shift |
1061 | 1021 | ||
1062 | cmp [ctrl_flag],1 |
1022 | cmp [ctrl_flag],1 |
1063 | je .type_ctrl |
1023 | je .type_ctrl |
1064 | 1024 | ||
1065 | cmp [alt_flag],1 |
1025 | cmp [alt_flag],1 |
1066 | je .type_alt |
1026 | je .type_alt |
1067 | ;-------------------------------------- |
1027 | ;-------------------------------------- |
1068 | .type: |
1028 | .type: |
1069 | mov edx,fbutton_name.f1 |
1029 | mov edx,fbutton_name.f1 |
1070 | call .type_all |
1030 | call .type_all |
1071 | mov edx,fbutton_name.f2 |
1031 | mov edx,fbutton_name.f2 |
1072 | call .type_all |
1032 | call .type_all |
1073 | mov edx,fbutton_name.f3 |
1033 | mov edx,fbutton_name.f3 |
1074 | call .type_all |
1034 | call .type_all |
1075 | mov edx,fbutton_name.f4 |
1035 | mov edx,fbutton_name.f4 |
1076 | call .type_all |
1036 | call .type_all |
1077 | mov edx,fbutton_name.f5 |
1037 | mov edx,fbutton_name.f5 |
1078 | call .type_all |
1038 | call .type_all |
1079 | mov edx,fbutton_name.f6 |
1039 | mov edx,fbutton_name.f6 |
1080 | call .type_all |
1040 | call .type_all |
1081 | mov edx,fbutton_name.f7 |
1041 | mov edx,fbutton_name.f7 |
1082 | call .type_all |
1042 | call .type_all |
1083 | mov edx,fbutton_name.f8 |
1043 | mov edx,fbutton_name.f8 |
1084 | call .type_all |
1044 | call .type_all |
1085 | mov edx,fbutton_name.f9 |
1045 | mov edx,fbutton_name.f9 |
1086 | call .type_all |
1046 | call .type_all |
1087 | mov edx,fbutton_name.f10 |
1047 | mov edx,fbutton_name.f10 |
1088 | call .type_all |
1048 | call .type_all |
1089 | mov edx,fbutton_name.f11 |
1049 | mov edx,fbutton_name.f11 |
1090 | call .type_all |
1050 | call .type_all |
1091 | mov edx,fbutton_name.f12 |
1051 | mov edx,fbutton_name.f12 |
1092 | mcall |
1052 | mcall |
1093 | ret |
1053 | ret |
1094 | ;-------------------------------------- |
1054 | ;-------------------------------------- |
1095 | .type_shift: |
1055 | .type_shift: |
1096 | mov edx,fbutton_name_shift.f1 |
1056 | mov edx,fbutton_name_shift.f1 |
1097 | call .type_all |
1057 | call .type_all |
1098 | mov edx,fbutton_name_shift.f2 |
1058 | mov edx,fbutton_name_shift.f2 |
1099 | call .type_all |
1059 | call .type_all |
1100 | mov edx,fbutton_name_shift.f3 |
1060 | mov edx,fbutton_name_shift.f3 |
1101 | call .type_all |
1061 | call .type_all |
1102 | mov edx,fbutton_name_shift.f4 |
1062 | mov edx,fbutton_name_shift.f4 |
1103 | call .type_all |
1063 | call .type_all |
1104 | mov edx,fbutton_name_shift.f5 |
1064 | mov edx,fbutton_name_shift.f5 |
1105 | call .type_all |
1065 | call .type_all |
1106 | mov edx,fbutton_name_shift.f6 |
1066 | mov edx,fbutton_name_shift.f6 |
1107 | call .type_all |
1067 | call .type_all |
1108 | mov edx,fbutton_name_shift.f7 |
1068 | mov edx,fbutton_name_shift.f7 |
1109 | call .type_all |
1069 | call .type_all |
1110 | mov edx,fbutton_name_shift.f8 |
1070 | mov edx,fbutton_name_shift.f8 |
1111 | call .type_all |
1071 | call .type_all |
1112 | mov edx,fbutton_name_shift.f9 |
1072 | mov edx,fbutton_name_shift.f9 |
1113 | call .type_all |
1073 | call .type_all |
1114 | mov edx,fbutton_name_shift.f10 |
1074 | mov edx,fbutton_name_shift.f10 |
1115 | call .type_all |
1075 | call .type_all |
1116 | mov edx,fbutton_name_shift.f11 |
1076 | mov edx,fbutton_name_shift.f11 |
1117 | call .type_all |
1077 | call .type_all |
1118 | mov edx,fbutton_name_shift.f12 |
1078 | mov edx,fbutton_name_shift.f12 |
1119 | mcall |
1079 | mcall |
1120 | ret |
1080 | ret |
1121 | ;-------------------------------------- |
1081 | ;-------------------------------------- |
1122 | .type_ctrl: |
1082 | .type_ctrl: |
1123 | mov edx,fbutton_name_ctrl.f1 |
1083 | mov edx,fbutton_name_ctrl.f1 |
1124 | call .type_all |
1084 | call .type_all |
1125 | mov edx,fbutton_name_ctrl.f2 |
1085 | mov edx,fbutton_name_ctrl.f2 |
1126 | call .type_all |
1086 | call .type_all |
1127 | mov edx,fbutton_name_ctrl.f3 |
1087 | mov edx,fbutton_name_ctrl.f3 |
1128 | call .type_all |
1088 | call .type_all |
1129 | mov edx,fbutton_name_ctrl.f4 |
1089 | mov edx,fbutton_name_ctrl.f4 |
1130 | call .type_all |
1090 | call .type_all |
1131 | mov edx,fbutton_name_ctrl.f5 |
1091 | mov edx,fbutton_name_ctrl.f5 |
1132 | call .type_all |
1092 | call .type_all |
1133 | mov edx,fbutton_name_ctrl.f6 |
1093 | mov edx,fbutton_name_ctrl.f6 |
1134 | call .type_all |
1094 | call .type_all |
1135 | mov edx,fbutton_name_ctrl.f7 |
1095 | mov edx,fbutton_name_ctrl.f7 |
1136 | call .type_all |
1096 | call .type_all |
1137 | mov edx,fbutton_name_ctrl.f8 |
1097 | mov edx,fbutton_name_ctrl.f8 |
1138 | call .type_all |
1098 | call .type_all |
1139 | mov edx,fbutton_name_ctrl.f9 |
1099 | mov edx,fbutton_name_ctrl.f9 |
1140 | call .type_all |
1100 | call .type_all |
1141 | mov edx,fbutton_name_ctrl.f10 |
1101 | mov edx,fbutton_name_ctrl.f10 |
1142 | call .type_all |
1102 | call .type_all |
1143 | mov edx,fbutton_name_ctrl.f11 |
1103 | mov edx,fbutton_name_ctrl.f11 |
1144 | call .type_all |
1104 | call .type_all |
1145 | mov edx,fbutton_name_ctrl.f12 |
1105 | mov edx,fbutton_name_ctrl.f12 |
1146 | mcall |
1106 | mcall |
1147 | ret |
1107 | ret |
1148 | ;-------------------------------------- |
1108 | ;-------------------------------------- |
1149 | .type_alt: |
1109 | .type_alt: |
1150 | mov edx,fbutton_name_alt.f1 |
1110 | mov edx,fbutton_name_alt.f1 |
1151 | call .type_all |
1111 | call .type_all |
1152 | mov edx,fbutton_name_alt.f2 |
1112 | mov edx,fbutton_name_alt.f2 |
1153 | call .type_all |
1113 | call .type_all |
1154 | mov edx,fbutton_name_alt.f3 |
1114 | mov edx,fbutton_name_alt.f3 |
1155 | call .type_all |
1115 | call .type_all |
1156 | mov edx,fbutton_name_alt.f4 |
1116 | mov edx,fbutton_name_alt.f4 |
1157 | call .type_all |
1117 | call .type_all |
1158 | mov edx,fbutton_name_alt.f5 |
1118 | mov edx,fbutton_name_alt.f5 |
1159 | call .type_all |
1119 | call .type_all |
1160 | mov edx,fbutton_name_alt.f6 |
1120 | mov edx,fbutton_name_alt.f6 |
1161 | call .type_all |
1121 | call .type_all |
1162 | mov edx,fbutton_name_alt.f7 |
1122 | mov edx,fbutton_name_alt.f7 |
1163 | call .type_all |
1123 | call .type_all |
1164 | mov edx,fbutton_name_alt.f8 |
1124 | mov edx,fbutton_name_alt.f8 |
1165 | call .type_all |
1125 | call .type_all |
1166 | mov edx,fbutton_name_alt.f9 |
1126 | mov edx,fbutton_name_alt.f9 |
1167 | call .type_all |
1127 | call .type_all |
1168 | mov edx,fbutton_name_alt.f10 |
1128 | mov edx,fbutton_name_alt.f10 |
1169 | call .type_all |
1129 | call .type_all |
1170 | mov edx,fbutton_name_alt.f11 |
1130 | mov edx,fbutton_name_alt.f11 |
1171 | call .type_all |
1131 | call .type_all |
1172 | mov edx,fbutton_name_alt.f12 |
1132 | mov edx,fbutton_name_alt.f12 |
1173 | ;-------------------------------------- |
1133 | ;-------------------------------------- |
1174 | .type_all: |
1134 | .type_all: |
1175 | mcall |
1135 | mcall |
1176 | call draw_fbutton.rol_ror |
1136 | call draw_fbutton.rol_ror |
1177 | ret |
1137 | ret |
1178 | ;------------------------------------------------------------------------------ |
1138 | ;------------------------------------------------------------------------------ |
1179 | >10,9>16,16> |
1139 | >10,9>15,16>198,16> |