Rev 2055 | Rev 2354 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2055 | Rev 2144 | ||
---|---|---|---|
Line 66... | Line 66... | ||
66 | call dword [sort_init] |
66 | call dword [sort_init] |
67 | ; unpack deflate |
67 | ; unpack deflate |
68 | mov eax,[unpack_DeflateUnpack2] |
68 | mov eax,[unpack_DeflateUnpack2] |
69 | mov [deflate_unpack],eax |
69 | mov [deflate_unpack],eax |
Line -... | Line 70... | ||
- | 70 | ||
- | 71 | mov esi,start_pach |
|
- | 72 | mov edi,previous_dir_path |
|
- | 73 | call copy_dir_name.1 |
|
70 | 74 | ||
71 | call load_root_directory |
75 | call load_root_directory |
72 | call load_start_directory |
76 | call load_start_directory |
73 | call sort_directory |
77 | call sort_directory |
74 | call load_icons |
78 | call load_icons |
Line 349... | Line 353... | ||
349 | ; xor eax,eax |
353 | ; xor eax,eax |
350 | ; mov [focus_pointer],al |
354 | ; mov [focus_pointer],al |
351 | ; mcall 66,1,1 |
355 | ; mcall 66,1,1 |
Line 352... | Line 356... | ||
352 | 356 | ||
353 | ; xor eax,eax |
357 | ; xor eax,eax |
354 | ; mov esi,dir_pach |
358 | ; mov esi,dir_path |
355 | ; cld |
359 | ; cld |
356 | ;@@: |
360 | ;@@: |
357 | ; lodsb |
361 | ; lodsb |
358 | ; test al,al |
362 | ; test al,al |
Line 373... | Line 377... | ||
373 | call control_minimal_window_size |
377 | call control_minimal_window_size |
374 | call draw_window |
378 | call draw_window |
375 | ret |
379 | ret |
376 | @@: |
380 | @@: |
377 | add eax,16 ;12 |
381 | add eax,16 ;12 |
378 | ;copy_path user_selected_name,dir_pach,eax,0 |
382 | ;copy_path user_selected_name,dir_path,eax,0 |
379 | mov esi,dir_pach |
383 | mov esi,dir_path |
380 | mov edi,eax |
384 | mov edi,eax |
381 | call copy_dir_name |
385 | call copy_dir_name |
382 | mov [edi-1],byte '/' |
386 | mov [edi-1],byte '/' |
383 | mov esi,user_selected_name |
387 | mov esi,user_selected_name |
384 | call copy_dir_name |
388 | call copy_dir_name |
Line 628... | Line 632... | ||
628 | jmp .red |
632 | jmp .red |
629 | @@: |
633 | @@: |
630 | cmp al,5 |
634 | cmp al,5 |
631 | jne @f |
635 | jne @f |
632 | mov [N_error],load_directory_error_type |
636 | mov [N_error],load_directory_error_type |
633 | mov [error_path],dir_pach |
637 | mov [error_path],dir_path |
634 | jmp .error_type |
638 | jmp .error_type |
635 | @@: |
639 | @@: |
636 | cmp al,6 |
640 | cmp al,6 |
637 | jne .button |
641 | jne .button |
638 | mov [N_error],convert_icons_error_type |
642 | mov [N_error],convert_icons_error_type |
Line 893... | Line 897... | ||
893 | ; Available disks |
897 | ; Available disks |
894 | mov eax,[menu_data_1.cursor_out] |
898 | mov eax,[menu_data_1.cursor_out] |
895 | dec eax |
899 | dec eax |
896 | imul esi,eax,10 |
900 | imul esi,eax,10 |
897 | add esi,retrieved_devices_table |
901 | add esi,retrieved_devices_table |
898 | mov edi,dir_pach |
902 | mov edi,dir_path |
899 | call copy_dir_name |
903 | call copy_dir_name |
900 | call load_next_dir.1 |
904 | call load_next_dir.1 |
901 | jmp still |
905 | jmp still |
902 | ;--------------------------------------------------------------------- |
906 | ;--------------------------------------------------------------------- |
903 | analyse_out_menu_2: |
907 | analyse_out_menu_2: |
Line 982... | Line 986... | ||
982 | pop esi |
986 | pop esi |
983 | jmp .2 |
987 | jmp .2 |
984 | .1: |
988 | .1: |
985 | mov esi,start_pach |
989 | mov esi,start_pach |
986 | .2: |
990 | .2: |
987 | mov edi,dir_pach |
991 | mov edi,dir_path |
988 | call copy_dir_name |
992 | call copy_dir_name |
Line 989... | Line 993... | ||
989 | 993 | ||
990 | ; call load_directory |
994 | ; call load_directory |
991 | ; mov eax,[N_error] |
995 | ; mov eax,[N_error] |
Line 1009... | Line 1013... | ||
1009 | cmp [ebx],word '..' |
1013 | cmp [ebx],word '..' |
1010 | jne @f |
1014 | jne @f |
1011 | cmp [ebx+2],byte 0 |
1015 | cmp [ebx+2],byte 0 |
1012 | je .exit_dir |
1016 | je .exit_dir |
1013 | @@: |
1017 | @@: |
1014 | mov esi,dir_pach |
1018 | mov esi,dir_path |
1015 | call copy_dir_path |
1019 | call copy_dir_path |
Line 1016... | Line 1020... | ||
1016 | 1020 | ||
1017 | @@: |
1021 | @@: |
1018 | .1: |
1022 | .1: |
Line 1035... | Line 1039... | ||
1035 | mov [edi+44],eax |
1039 | mov [edi+44],eax |
1036 | mov [edi+12],dword 0xffffff ; color white |
1040 | mov [edi+12],dword 0xffffff ; color white |
1037 | call draw_draw_file_browser1 |
1041 | call draw_draw_file_browser1 |
1038 | ret |
1042 | ret |
1039 | .exit_dir: |
1043 | .exit_dir: |
1040 | mov esi,dir_pach |
1044 | mov esi,dir_path |
1041 | call copy_exit_dir |
1045 | call copy_exit_dir |
1042 | jmp .1 |
1046 | jmp .1 |
1043 | ;--------------------------------------------------------------------- |
1047 | ;--------------------------------------------------------------------- |
1044 | error_handler: |
1048 | error_handler: |
1045 | .red: |
1049 | .red: |
Line 1092... | Line 1096... | ||
1092 | xor eax,eax |
1096 | xor eax,eax |
1093 | mov [N_error],eax |
1097 | mov [N_error],eax |
1094 | jmp button.exit |
1098 | jmp button.exit |
1095 | ;------------------------------------ |
1099 | ;------------------------------------ |
1096 | .exit: |
1100 | .exit: |
- | 1101 | mov esi,previous_dir_path |
|
- | 1102 | mov edi,dir_path |
|
- | 1103 | call copy_dir_name.1 |
|
1097 | mov esi,start_pach |
1104 | mov esi,start_pach |
1098 | mov edi,dir_pach |
1105 | mov edi,previous_dir_path |
1099 | call copy_dir_name |
1106 | call copy_dir_name.1 |
1100 | ret |
1107 | ret |
1101 | ;--------------------------------------------------------------------- |
1108 | ;--------------------------------------------------------------------- |
1102 | file_no_folder: |
1109 | file_no_folder: |
1103 | mov esi,dir_pach |
1110 | mov esi,dir_path |
1104 | mov edi,file_name |
1111 | mov edi,file_name |
1105 | call copy_dir_name |
1112 | call copy_dir_name |
1106 | push ebx |
1113 | push ebx |
1107 | mov al,[focus_pointer] |
1114 | mov al,[focus_pointer] |
1108 | test al,al |
1115 | test al,al |
Line 1141... | Line 1148... | ||
1141 | mov [eax],word 1 |
1148 | mov [eax],word 1 |
1142 | jmp button.exit |
1149 | jmp button.exit |
1143 | ;--------------------------------------------------------------------- |
1150 | ;--------------------------------------------------------------------- |
1144 | load_root_directory: |
1151 | load_root_directory: |
1145 | mov esi,root_pach |
1152 | mov esi,root_pach |
1146 | mov edi,dir_pach |
1153 | mov edi,dir_path |
1147 | call copy_dir_name |
1154 | call copy_dir_name |
1148 | call load_directory |
1155 | call load_directory |
1149 | mov eax,[N_error] |
1156 | mov eax,[N_error] |
1150 | test eax,eax |
1157 | test eax,eax |
1151 | jnz button.exit |
1158 | jnz button.exit |
Line 1163... | Line 1170... | ||
1163 | mov [retrieved_devices_table_counter],eax ;0 |
1170 | mov [retrieved_devices_table_counter],eax ;0 |
1164 | .start_temp_counter_1: |
1171 | .start_temp_counter_1: |
1165 | imul esi,[temp_counter_1],304 |
1172 | imul esi,[temp_counter_1],304 |
1166 | add esi,[root_folder_area] |
1173 | add esi,[root_folder_area] |
1167 | add esi,32+40 |
1174 | add esi,32+40 |
1168 | mov edi,dir_pach+1 |
1175 | mov edi,dir_path+1 |
1169 | mov [edi-1],byte '/' |
1176 | mov [edi-1],byte '/' |
1170 | call copy_dir_name |
1177 | call copy_dir_name |
1171 | call load_directory |
1178 | call load_directory |
1172 | mov eax,[N_error] |
1179 | mov eax,[N_error] |
1173 | test eax,eax |
1180 | test eax,eax |
Line 1243... | Line 1250... | ||
1243 | shl ecx,2 |
1250 | shl ecx,2 |
1244 | add ecx,open_dialog_title_pointer |
1251 | add ecx,open_dialog_title_pointer |
1245 | mov ecx,[ecx] |
1252 | mov ecx,[ecx] |
1246 | test ecx,ecx |
1253 | test ecx,ecx |
1247 | jz @f |
1254 | jz @f |
1248 | mcall 71,1,; title ;;param ;file_name ;dir_pach |
1255 | mcall 71,1,; title ;;param ;file_name ;dir_path |
1249 | @@: |
1256 | @@: |
1250 | ret |
1257 | ret |
1251 | ;--------------------------------------------------------------------- |
1258 | ;--------------------------------------------------------------------- |
1252 | draw_window: |
1259 | draw_window: |
Line 1398... | Line 1405... | ||
1398 | mcall 12,2 |
1405 | mcall 12,2 |
Line 1399... | Line 1406... | ||
1399 | 1406 | ||
1400 | ret |
1407 | ret |
1401 | ;--------------------------------------------------------------------- |
1408 | ;--------------------------------------------------------------------- |
1402 | draw_for_fs_errors: |
1409 | draw_for_fs_errors: |
Line 1403... | Line 1410... | ||
1403 | call draw_dir_pach |
1410 | call draw_dir_path |
1404 | 1411 | ||
1405 | mov ebx,[file_browser_data_1.x] |
1412 | mov ebx,[file_browser_data_1.x] |
1406 | mov ecx,[file_browser_data_1.y] |
1413 | mov ecx,[file_browser_data_1.y] |
Line 1417... | Line 1424... | ||
1417 | mov bx,cx |
1424 | mov bx,cx |
1418 | add ebx,5 shl 16+15 |
1425 | add ebx,5 shl 16+15 |
1419 | mcall 4,,0x90ffffff,load_directory_error_type |
1426 | mcall 4,,0x90ffffff,load_directory_error_type |
Line 1420... | Line 1427... | ||
1420 | 1427 | ||
1421 | add ebx,20 |
1428 | add ebx,20 |
Line 1422... | Line 1429... | ||
1422 | mcall 4,,,dir_pach |
1429 | mcall 4,,,dir_path |
1423 | 1430 | ||
1424 | mov eax,[error_type] |
1431 | mov eax,[error_type] |
1425 | shl eax,2 |
1432 | shl eax,2 |
Line 1500... | Line 1507... | ||
1500 | add bx,[file_browser_data_1.size_y] |
1507 | add bx,[file_browser_data_1.size_y] |
1501 | add bx,9 |
1508 | add bx,9 |
1502 | mcall 4,,0x80000000,message_file_name |
1509 | mcall 4,,0x80000000,message_file_name |
1503 | ret |
1510 | ret |
1504 | ;--------------------------------------------------------------------- |
1511 | ;--------------------------------------------------------------------- |
1505 | draw_dir_pach: |
1512 | draw_dir_path: |
1506 | mov eax,[file_browser_data_1.x] |
1513 | mov eax,[file_browser_data_1.x] |
1507 | mov ebx,eax |
1514 | mov ebx,eax |
1508 | shr ebx,16 |
1515 | shr ebx,16 |
1509 | add ebx,3 |
1516 | add ebx,3 |
1510 | and eax,0xffff |
1517 | and eax,0xffff |
Line 1548... | Line 1555... | ||
1548 | push dword PathShow_data_1 |
1555 | push dword PathShow_data_1 |
1549 | call [PathShow_draw] |
1556 | call [PathShow_draw] |
Line 1550... | Line 1557... | ||
1550 | 1557 | ||
Line 1551... | Line 1558... | ||
1551 | ret |
1558 | ret |
1552 | 1559 | ||
1553 | ;draw_dir_pach_1: |
1560 | ;draw_dir_path_1: |
1554 | ; mov ebx,[file_browser_data_1.x] |
1561 | ; mov ebx,[file_browser_data_1.x] |
1555 | ; mcall 13,,<7,15>,0xffffb0 |
1562 | ; mcall 13,,<7,15>,0xffffb0 |
1556 | ; mov bx,10 |
1563 | ; mov bx,10 |
1557 | ; add ebx,4 shl 16 |
1564 | ; add ebx,4 shl 16 |
1558 | ; mcall 4,,0xC0000000,dir_pach,,0xffffb0 |
1565 | ; mcall 4,,0xC0000000,dir_path,,0xffffb0 |
1559 | ; ret |
1566 | ; ret |
1560 | ;--------------------------------------------------------------------- |
1567 | ;--------------------------------------------------------------------- |
1561 | draw_draw_file_browser1: |
1568 | draw_draw_file_browser1: |
1562 | call draw_dir_pach |
1569 | call draw_dir_path |
1563 | cmp [open_dialog_type],1 |
1570 | cmp [open_dialog_type],1 |
1564 | jne @f |
1571 | jne @f |
1565 | call draw_file_name |
1572 | call draw_file_name |
Line 1823... | Line 1830... | ||
1823 | mov [dirinfo.size],dword 0 |
1830 | mov [dirinfo.size],dword 0 |
1824 | mov [dirinfo.return],dir_header |
1831 | mov [dirinfo.return],dir_header |
1825 | mcall 70,dirinfo |
1832 | mcall 70,dirinfo |
1826 | test eax,eax |
1833 | test eax,eax |
1827 | jz @f |
1834 | jz @f |
- | 1835 | ; mov esi,previous_dir_path |
|
- | 1836 | ; mov edi,dir_path |
|
- | 1837 | ; call copy_dir_name.1 |
|
- | 1838 | ; mcall 70,dirinfo |
|
- | 1839 | ; test eax,eax |
|
- | 1840 | ; jz @f |
|
1828 | xor ebx,ebx |
1841 | xor ebx,ebx |
1829 | mov [file_browser_data_1.folder_data],ebx |
1842 | mov [file_browser_data_1.folder_data],ebx |
1830 | jmp .error |
1843 | jmp .error |
1831 | @@: |
1844 | @@: |
Line 2237... | Line 2250... | ||
2237 | mov [esi+1],al |
2250 | mov [esi+1],al |
2238 | cld |
2251 | cld |
2239 | ret |
2252 | ret |
2240 | ;--------------------------------------------------------------------- |
2253 | ;--------------------------------------------------------------------- |
2241 | copy_dir_name: |
2254 | copy_dir_name: |
- | 2255 | push esi edi |
|
- | 2256 | mov esi,edi |
|
- | 2257 | mov edi,previous_dir_path |
|
- | 2258 | call .1 |
|
- | 2259 | pop edi esi |
|
- | 2260 | .1: |
|
2242 | xor eax,eax |
2261 | xor eax,eax |
2243 | cld |
2262 | cld |
2244 | @@: |
2263 | @@: |
2245 | lodsb |
2264 | lodsb |
2246 | stosb |
2265 | stosb |
Line 2516... | Line 2535... | ||
2516 | .start dd 0 |
2535 | .start dd 0 |
2517 | .flags dd 0 |
2536 | .flags dd 0 |
2518 | .size dd 0 |
2537 | .size dd 0 |
2519 | .return dd 0 |
2538 | .return dd 0 |
2520 | db 0 |
2539 | db 0 |
2521 | .name: dd dir_pach |
2540 | .name: dd dir_path |
2522 | ;--------------------------------------------------------------------- |
2541 | ;--------------------------------------------------------------------- |
2523 | align 4 |
2542 | align 4 |
2524 | dir_header: |
2543 | dir_header: |
2525 | .version dd 0 ;+0 |
2544 | .version dd 0 ;+0 |
2526 | .curn_blocks dd 0 ;+4 |
2545 | .curn_blocks dd 0 ;+4 |
Line 2881... | Line 2900... | ||
2881 | .area_size_x dw 200 ;+10 |
2900 | .area_size_x dw 200 ;+10 |
2882 | .font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
2901 | .font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
2883 | .background_flag dd 0 ;+16 |
2902 | .background_flag dd 0 ;+16 |
2884 | .font_color dd 0x0 ;+20 |
2903 | .font_color dd 0x0 ;+20 |
2885 | .background_color dd 0x0 ;+24 |
2904 | .background_color dd 0x0 ;+24 |
2886 | .text_pointer dd dir_pach ;+28 |
2905 | .text_pointer dd dir_path ;+28 |
2887 | .work_area_pointer dd text_work_area ;+32 |
2906 | .work_area_pointer dd text_work_area ;+32 |
2888 | .temp_text_length dd 0 ;+36 |
2907 | .temp_text_length dd 0 ;+36 |
2889 | ;--------------------------------------------------------------------- |
2908 | ;--------------------------------------------------------------------- |
2890 | ; for EDITBOX |
2909 | ; for EDITBOX |
2891 | align 4 |
2910 | align 4 |
Line 2947... | Line 2966... | ||
2947 | rb 4096 |
2966 | rb 4096 |
2948 | ;--------------------------------------------------------------------- |
2967 | ;--------------------------------------------------------------------- |
2949 | file_name: |
2968 | file_name: |
2950 | rb 4096 |
2969 | rb 4096 |
2951 | ;--------------------------------------------------------------------- |
2970 | ;--------------------------------------------------------------------- |
- | 2971 | previous_dir_path: |
|
- | 2972 | rb 4096 |
|
- | 2973 | ;--------------------------------------------------------------------- |
|
2952 | dir_pach: |
2974 | dir_path: |
2953 | rb 4096 |
2975 | rb 4096 |
2954 | ;--------------------------------------------------------------------- |
2976 | ;--------------------------------------------------------------------- |
2955 | text_work_area: |
2977 | text_work_area: |
2956 | rb 1024 |
2978 | rb 1024 |
2957 | ;--------------------------------------------------------------------- |
2979 | ;--------------------------------------------------------------------- |