Rev 589 | Rev 644 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 589 | Rev 631 | ||
---|---|---|---|
Line 5... | Line 5... | ||
5 | dd i_end |
5 | dd i_end |
6 | memsize dd mem |
6 | memsize dd mem |
7 | dd stacktop |
7 | dd stacktop |
8 | dd 0, app_path |
8 | dd 0, app_path |
Line 9... | Line 9... | ||
9 | 9 | ||
10 | version equ '0.4' |
10 | version equ '0.41' |
Line 11... | Line 11... | ||
11 | version_dword equ 0*10000h + 40 |
11 | version_dword equ 0*10000h + 41 |
12 | 12 | ||
13 | include 'lang.inc' |
13 | include 'lang.inc' |
14 | include 'font.inc' |
14 | include 'font.inc' |
Line 866... | Line 866... | ||
866 | mov eax, aVersion |
866 | mov eax, aVersion |
867 | call load_dll_and_import.find_exported_function |
867 | call load_dll_and_import.find_exported_function |
868 | jnc @f |
868 | jnc @f |
869 | xor eax, eax |
869 | xor eax, eax |
870 | @@: |
870 | @@: |
871 | MIN_INTERFACE_VER = 1 |
871 | MIN_INTERFACE_VER = 2 |
872 | MAX_INTERFACE_VER = 1 |
872 | MAX_INTERFACE_VER = 2 |
873 | cmp eax, MIN_INTERFACE_VER |
873 | cmp eax, MIN_INTERFACE_VER |
874 | jae @f |
874 | jb @f |
875 | cmp eax, MAX_INTERFACE_VER |
875 | cmp eax, MAX_INTERFACE_VER |
876 | jbe @f |
876 | jbe .version_ok |
- | 877 | @@: |
|
877 | push aIncompatibleVersion |
878 | push aIncompatibleVersion |
878 | .cantload: |
879 | .cantload: |
879 | push saved_file_name |
880 | push saved_file_name |
880 | push aCannotLoadPlugin |
881 | push aCannotLoadPlugin |
881 | mov eax, esp |
882 | mov eax, esp |
Line 884... | Line 885... | ||
884 | push eax |
885 | push eax |
885 | push 3 |
886 | push 3 |
886 | call SayErr |
887 | call SayErr |
887 | add esp, 12 |
888 | add esp, 12 |
888 | jmp .dec_ret |
889 | jmp .dec_ret |
889 | @@: |
890 | .version_ok: |
890 | mov edi, esi |
891 | mov edi, esi |
891 | mov esi, plugin_exported |
892 | mov esi, plugin_exported |
892 | .import: |
893 | .import: |
893 | lodsd |
894 | lodsd |
894 | test eax, eax |
895 | test eax, eax |
Line 917... | Line 918... | ||
917 | 918 | ||
918 | plugin_unload_default: |
919 | plugin_unload_default: |
Line 919... | Line 920... | ||
919 | ret |
920 | ret |
- | 921 | ||
- | 922 | OpenFilePlugin_default: |
|
920 | 923 | xor eax, eax |
|
921 | OpenFilePlugin_default: |
924 | ret 28 |
922 | GetFiles_default: |
925 | GetFiles_default: |
Line 923... | Line 926... | ||
923 | xor eax, eax |
926 | xor eax, eax |
Line 1322... | Line 1325... | ||
1322 | .plugloop: |
1325 | .plugloop: |
1323 | add edx, PluginInfo.size |
1326 | add edx, PluginInfo.size |
1324 | dec ecx |
1327 | dec ecx |
1325 | js .plugdone |
1328 | js .plugdone |
1326 | pushad |
1329 | pushad |
- | 1330 | push execdata |
|
- | 1331 | push [ebp+panel1_hFile-panel1_data] |
|
- | 1332 | push [ebp+panel1_hPlugin-panel1_data] |
|
1327 | push edi |
1333 | push edi |
1328 | push filedata_buffer |
1334 | push filedata_buffer |
1329 | call get_curfile_folder_entry |
1335 | call get_curfile_folder_entry |
1330 | push ecx |
1336 | push ecx |
1331 | push execdata |
- | |
1332 | push esi |
1337 | push esi |
1333 | call [edx+PluginInfo.OpenFilePlugin] |
1338 | call [edx+PluginInfo.OpenFilePlugin] |
1334 | mov [esp+28], eax |
1339 | mov [esp+28], eax |
1335 | popad |
1340 | popad |
1336 | test eax, eax |
1341 | test eax, eax |
Line 3928... | Line 3933... | ||
3928 | pop ebp |
3933 | pop ebp |
3929 | mov esi, execdata |
3934 | mov esi, execdata |
3930 | .native: |
3935 | .native: |
3931 | mov edi, cur_header |
3936 | mov edi, cur_header |
3932 | mov ecx, [ebp + panel1_width - panel1_data] |
3937 | mov ecx, [ebp + panel1_width - panel1_data] |
3933 | sub ecx, 7 |
3938 | sub ecx, 6 |
- | 3939 | cmp byte [esi], '/' |
|
- | 3940 | jnz .copy_rest |
|
- | 3941 | dec ecx |
|
3934 | movsb |
3942 | movsb |
3935 | @@: |
3943 | @@: |
3936 | lodsb |
3944 | lodsb |
3937 | stosb |
3945 | stosb |
3938 | dec ecx |
3946 | dec ecx |
3939 | test al, al |
3947 | test al, al |
3940 | jz .header_created |
3948 | jz .header_created |
3941 | cmp al, '/' |
3949 | cmp al, '/' |
3942 | jnz @b |
3950 | jnz @b |
- | 3951 | .copy_rest: |
|
3943 | mov edx, esi |
3952 | mov edx, esi |
3944 | @@: |
3953 | @@: |
3945 | lodsb |
3954 | lodsb |
3946 | test al, al |
3955 | test al, al |
3947 | jnz @b |
3956 | jnz @b |
Line 7264... | Line 7273... | ||
7264 | aNoMemory db 'No memory!' |
7273 | aNoMemory db 'No memory!' |
7265 | nullstr db 0 |
7274 | nullstr db 0 |
7266 | aUntitled db 'untitled',0 |
7275 | aUntitled db 'untitled',0 |
7267 | aDotDot db '..',0,0 |
7276 | aDotDot db '..',0,0 |
7268 | standard_dll_path: |
7277 | standard_dll_path: |
7269 | libini_name db '/sys/dll/' |
7278 | libini_name db '/sys/lib/' |
7270 | standard_dll_path_size = $ - standard_dll_path |
7279 | standard_dll_path_size = $ - standard_dll_path |
7271 | db 'libini.obj',0 |
7280 | db 'libini.obj',0 |
7272 | aStart db 'START',0 |
7281 | aStart db 'START',0 |
7273 | aLibInit db 'lib_init',0 |
7282 | aLibInit db 'lib_init',0 |
7274 | aVersion db 'version',0 |
7283 | aVersion db 'version',0 |
Line 7346... | Line 7355... | ||
7346 | 7355 | ||
7347 | kfar_info: |
7356 | kfar_info: |
7348 | dd .size |
7357 | dd .size |
7349 | dd version_dword |
7358 | dd version_dword |
- | 7359 | dd open |
|
7350 | dd open |
7360 | dd open2 |
7351 | dd read |
7361 | dd read |
7352 | dd -1 ; write: to be implemented |
7362 | dd -1 ; write: to be implemented |
- | 7363 | dd seek |
|
7353 | dd seek |
7364 | dd tell |
7354 | dd -1 ; flush: to be implemented |
7365 | dd -1 ; flush: to be implemented |
7355 | dd filesize |
7366 | dd filesize |
7356 | dd close |
7367 | dd close |
7357 | dd xpgalloc |
7368 | dd xpgalloc |
Line 7608... | Line 7619... | ||
7608 | num_screens dd ? |
7619 | num_screens dd ? |
7609 | active_screen_vtable dd ? |
7620 | active_screen_vtable dd ? |
7610 | active_screen_data dd ? |
7621 | active_screen_data dd ? |
Line 7611... | Line 7622... | ||
7611 | 7622 | ||
7612 | default_attr dd ? |
7623 | default_attr dd ? |
7613 | left_dotdot_entry rb 40+3 ; 40 bytes for attributes + '..' |
7624 | left_dotdot_entry rb 40+4 ; 40 bytes for attributes + '..' |
Line 7614... | Line 7625... | ||
7614 | right_dotdot_entry rb 40+3 |
7625 | right_dotdot_entry rb 40+4 |
7615 | 7626 | ||
7616 | aConfirmDeleteTextBuf rb aConfirmDeleteTextMax + 1 |
7627 | aConfirmDeleteTextBuf rb aConfirmDeleteTextMax + 1 |
7617 | CopySourceTextBuf rb 512 |
7628 | CopySourceTextBuf rb 512 |