Subversion Repositories Kolibri OS

Rev

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