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