forked from KolibriOS/kolibrios
kol_f_edit:
1) add unpack code 2) fix when icon index -1 git-svn-id: svn://kolibrios.org@3475 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
3f2315327d
commit
b1640343a9
@ -14,12 +14,14 @@ include '../../proc32.inc'
|
|||||||
include '../../develop/libraries/box_lib/load_lib.mac'
|
include '../../develop/libraries/box_lib/load_lib.mac'
|
||||||
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||||
include '../../dll.inc'
|
include '../../dll.inc'
|
||||||
|
include '../../system/desktop/trunk/kglobals.inc'
|
||||||
|
include '../../system/desktop/trunk/unpacker.inc'
|
||||||
include 'strlen.inc'
|
include 'strlen.inc'
|
||||||
include 'obj_codes.inc'
|
include 'obj_codes.inc'
|
||||||
|
|
||||||
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load
|
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load
|
||||||
|
|
||||||
hed db 'kol_f_edit 11.04.13',0
|
hed db 'kol_f_edit 17.04.13',0
|
||||||
|
|
||||||
sizeof.TreeList equ 20 ;need for element 'tree_list'
|
sizeof.TreeList equ 20 ;need for element 'tree_list'
|
||||||
|
|
||||||
@ -325,19 +327,8 @@ start:
|
|||||||
mov ted_syntax_file,eax
|
mov ted_syntax_file,eax
|
||||||
|
|
||||||
;¯à®¡ã¥¬ ®âªàëâì ä ©« á¨â ªá¨á
|
;¯à®¡ã¥¬ ®âªàëâì ä ©« á¨â ªá¨á
|
||||||
mov ebx,run_file_70
|
call open_unpac_synt_file
|
||||||
mov dword[ebx], 0
|
jmp .end_0
|
||||||
mov dword[ebx+4], 0
|
|
||||||
mov dword[ebx+8], 0
|
|
||||||
mov dword[ebx+12], ecx
|
|
||||||
mov dword[ebx+16], eax ;ted_syntax_file
|
|
||||||
mov byte[ebx+20], 0
|
|
||||||
m2m dword[ebx+21], file_name
|
|
||||||
mcall 70
|
|
||||||
cmp eax,0
|
|
||||||
jne @f
|
|
||||||
stdcall [ted_init_syntax_file],edi
|
|
||||||
jmp .end_0
|
|
||||||
@@:
|
@@:
|
||||||
notify_window_run txt_not_syntax_file
|
notify_window_run txt_not_syntax_file
|
||||||
.end_0:
|
.end_0:
|
||||||
@ -638,6 +629,10 @@ button:
|
|||||||
stdcall [buf2d_delete],buf_skin2
|
stdcall [buf2d_delete],buf_skin2
|
||||||
stdcall [buf2d_delete],buf_skin3
|
stdcall [buf2d_delete],buf_skin3
|
||||||
stdcall [ted_delete], tedit0
|
stdcall [ted_delete], tedit0
|
||||||
|
cmp dword[unpac_mem],0
|
||||||
|
je @f
|
||||||
|
stdcall mem.Free,[unpac_mem]
|
||||||
|
@@:
|
||||||
mcall -1
|
mcall -1
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
@ -868,6 +863,13 @@ push eax ebx ecx
|
|||||||
je @f
|
je @f
|
||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
mov cx,word[eax+obj_opt.img-obj_opt] ;cx - ¨¤¥ªá £« ¢®© ¨ª®ª¨ ¤®¡ ¢«ï¥¬®£® ®¡ê¥ªâ
|
mov cx,word[eax+obj_opt.img-obj_opt] ;cx - ¨¤¥ªá £« ¢®© ¨ª®ª¨ ¤®¡ ¢«ï¥¬®£® ®¡ê¥ªâ
|
||||||
|
|
||||||
|
cmp ecx,count_main_icons ;¢ áâ àè¨å ¡¨â å ecx ¡ã¤ãâ 0, ¯®â®¬ã ®âà¨æ ⥫ìë¥ ç¨á« ⮦¥ ¯à®¢¥àïîâáï
|
||||||
|
jl .end_0
|
||||||
|
;¥á«¨ ¨ª®ª¨ ¥â, ¯® 㬮«ç ¨î ¡¥à¥¬ 0-î
|
||||||
|
xor cx,cx
|
||||||
|
.end_0:
|
||||||
|
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
stdcall mem_clear, u_object,sizeof.object
|
stdcall mem_clear, u_object,sizeof.object
|
||||||
mov ebx,dword[eax]
|
mov ebx,dword[eax]
|
||||||
@ -888,6 +890,84 @@ align 4
|
|||||||
but_ctrl_s:
|
but_ctrl_s:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
;®âªàë⨥ ¨ à ᯠª®¢ª ä ©« ¯®¤á¢¥âª¨ á¨â ªá¨á
|
||||||
|
;input:
|
||||||
|
; ted_syntax_file - ¡ãä¥à ¤«ï ®âªàë¢ ¥¬®£® ä ©« á¨â ªá¨á
|
||||||
|
; ted_syntax_file_size - à §¬¥à ®âªàë¢ ¥¬®£® ä ©« á¨â ªá¨á
|
||||||
|
;output:
|
||||||
|
; ebx - ç¨á«® ¯à®ç¨â ëå ¡ ©â ¨§ ä ©«
|
||||||
|
align 4
|
||||||
|
open_unpac_synt_file:
|
||||||
|
push eax edi esi
|
||||||
|
mov edi, tedit0
|
||||||
|
mov [run_file_70.Function], 0
|
||||||
|
mov [run_file_70.Position], 0
|
||||||
|
mov [run_file_70.Flags], 0
|
||||||
|
mov ecx, ted_syntax_file_size
|
||||||
|
mov dword[run_file_70.Count], ecx
|
||||||
|
m2m dword[run_file_70.Buffer], ted_syntax_file
|
||||||
|
mov byte[run_file_70+20], 0
|
||||||
|
mov [run_file_70.FileName], file_name
|
||||||
|
mcall 70, run_file_70
|
||||||
|
cmp ebx,-1
|
||||||
|
jne .end_0
|
||||||
|
;¥á«¨ ¢®§¨ª«¨ ®è¨¡ª¨ ¯à¨ ®âªàë⨨ ä ©« á¨â ªá¨á
|
||||||
|
mov byte[txt_not_syntax_file.err],'0'
|
||||||
|
add byte[txt_not_syntax_file.err],al
|
||||||
|
notify_window_run txt_not_syntax_file ;Can-t open color options file!
|
||||||
|
jmp @f
|
||||||
|
.end_0:
|
||||||
|
|
||||||
|
mov eax,ted_syntax_file
|
||||||
|
cmp dword[eax],'KPCK'
|
||||||
|
jne .end_unpack
|
||||||
|
|
||||||
|
mov ecx,dword[eax+4] ;ecx - à §¬¥à ä ©« á¨â ªá¨á ¯®á«¥ à ᯠª®¢ª¨
|
||||||
|
cmp dword[unpac_mem],0
|
||||||
|
jne .end_1
|
||||||
|
;¯¥à¢® ç «ì®¥ ¢ë¤¥«¥¨¥ ¢à¥¬¥®© ¯ ¬ï⨠¤«ï à ᯠª®¢ª¨ ä ©«
|
||||||
|
stdcall mem.Alloc,ecx
|
||||||
|
mov [unpac_mem],eax
|
||||||
|
mov [unpac_mem_size],ecx
|
||||||
|
.end_1:
|
||||||
|
cmp dword[unpac_mem_size],ecx
|
||||||
|
jge .end_2
|
||||||
|
;¥á«¨ ¤«ï à ᯠª®¢ ®£® ä ©« ¥ å¢ â ¥â ¢à¥¬¥®© ¯ ¬ïâ¨
|
||||||
|
stdcall mem.ReAlloc,[unpac_mem],ecx ;§ ®¢® ¢ë¤¥«ï¥¬ ¢à¥¬¥ãî ¯ ¬ïâì
|
||||||
|
mov [unpac_mem],eax
|
||||||
|
mov [unpac_mem_size],ecx
|
||||||
|
.end_2:
|
||||||
|
|
||||||
|
;à ᯠª®¢ª ä ©« ¢® ¢à¥¬¥ãî ¯ ¬ïâì
|
||||||
|
stdcall unpack,ted_syntax_file,[unpac_mem]
|
||||||
|
|
||||||
|
cmp ted_syntax_file_size,ecx
|
||||||
|
jge .end_3
|
||||||
|
;¥á«¨ ¤«ï à ᯠª®¢ ®£® ä ©« ¥ å¢ â ¥â ¯ ¬ïâ¨
|
||||||
|
stdcall mem.ReAlloc,ted_syntax_file,ecx ;§ ®¢® ¢ë¤¥«ï¥¬ ¯ ¬ïâì
|
||||||
|
mov ted_syntax_file,eax
|
||||||
|
mov ted_syntax_file_size,ecx
|
||||||
|
.end_3:
|
||||||
|
|
||||||
|
;ª®¯¨à®¢ ¨¥ à ᯠª®¢ ®£® ä ©« ¨§ ¢à¥¬¥®© ¯ ¬ï⨠¢ ¯ ¬ïâì í«¥¬¥â
|
||||||
|
mov edi,ted_syntax_file
|
||||||
|
mov esi,[unpac_mem]
|
||||||
|
cld
|
||||||
|
rep movsb
|
||||||
|
|
||||||
|
.end_unpack:
|
||||||
|
;¯à¨¬¥¥¨¥ ä ©« ¯®¤á¢¥âª¨
|
||||||
|
stdcall [ted_init_syntax_file], tedit0
|
||||||
|
@@:
|
||||||
|
pop esi edi eax
|
||||||
|
ret
|
||||||
|
|
||||||
|
align 4
|
||||||
|
txt_not_syntax_file:
|
||||||
|
db 'Žè¨¡ª ¯à¨ ®âªàë⨨ ä ©« á 梥⮢묨 áâனª ¬¨! (Š®¤ ®è¨¡ª¨ ='
|
||||||
|
.err: db '?'
|
||||||
|
db ')',0
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
buf_fon: ;ä®®¢ë© ¡ãä¥à
|
buf_fon: ;ä®®¢ë© ¡ãä¥à
|
||||||
dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï
|
dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï
|
||||||
@ -942,6 +1022,8 @@ txtErrIni1 db '
|
|||||||
err_opn db 0 ;१. ®âªàëâ¨ï ä ©« ¯à®íªâ
|
err_opn db 0 ;१. ®âªàëâ¨ï ä ©« ¯à®íªâ
|
||||||
err_ini0 db 0 ;१. ®âªàëâ¨ï ä ©« á ¨ª®ª ¬¨
|
err_ini0 db 0 ;१. ®âªàëâ¨ï ä ©« á ¨ª®ª ¬¨
|
||||||
err_ini1 db 0 ;१. ®âªàëâ¨ï ä ©« á ®¯æ¨ï¬¨
|
err_ini1 db 0 ;१. ®âªàëâ¨ï ä ©« á ®¯æ¨ï¬¨
|
||||||
|
unpac_mem dd 0
|
||||||
|
unpac_mem_size dd 0
|
||||||
|
|
||||||
edit1 edit_box 210, 10, 5, 0xffffff, 0xff80, 0xff, 0xff0000, 0x4080, 300, ed_text1, mouse_dd, 0, 7, 7
|
edit1 edit_box 210, 10, 5, 0xffffff, 0xff80, 0xff, 0xff0000, 0x4080, 300, ed_text1, mouse_dd, 0, 7, 7
|
||||||
|
|
||||||
@ -1094,17 +1176,7 @@ rb 4+4
|
|||||||
.delta dw 0 ;+44
|
.delta dw 0 ;+44
|
||||||
.delta2 dw 0 ;+46
|
.delta2 dw 0 ;+46
|
||||||
.run_x:
|
.run_x:
|
||||||
.r_size_x dw 0 ;+48
|
rb 32
|
||||||
.r_start_x dw 0 ;+50
|
|
||||||
.run_y:
|
|
||||||
.r_size_y dw 0 ;+52
|
|
||||||
.r_start_y dw 0 ;+54
|
|
||||||
.m_pos dd 0 ;+56
|
|
||||||
.m_pos_2 dd 0 ;+60
|
|
||||||
.m_keys dd 0 ;+64
|
|
||||||
.run_size dd 0 ;+68
|
|
||||||
.position2 dd 0 ;+72
|
|
||||||
.work_size dd 0 ;+76
|
|
||||||
.all_redraw dd 0 ;+80
|
.all_redraw dd 0 ;+80
|
||||||
.ar_offset dd 1 ;+84
|
.ar_offset dd 1 ;+84
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
@ -1127,17 +1199,7 @@ rb 4+4
|
|||||||
.delta dw 0 ;+44
|
.delta dw 0 ;+44
|
||||||
.delta2 dw 0 ;+46
|
.delta2 dw 0 ;+46
|
||||||
.run_x:
|
.run_x:
|
||||||
.r_size_x dw 0 ;+48
|
rb 32
|
||||||
.r_start_x dw 0 ;+50
|
|
||||||
.run_y:
|
|
||||||
.r_size_y dw 0 ;+52
|
|
||||||
.r_start_y dw 0 ;+54
|
|
||||||
.m_pos dd 0 ;+56
|
|
||||||
.m_pos_2 dd 0 ;+60
|
|
||||||
.m_keys dd 0 ;+64
|
|
||||||
.run_size dd 0 ;+68
|
|
||||||
.position2 dd 0 ;+72
|
|
||||||
.work_size dd 0 ;+76
|
|
||||||
.all_redraw dd 0 ;+80
|
.all_redraw dd 0 ;+80
|
||||||
.ar_offset dd 1 ;+84
|
.ar_offset dd 1 ;+84
|
||||||
|
|
||||||
@ -1156,7 +1218,7 @@ rb 4+4
|
|||||||
.line_col dd 0 ;+36
|
.line_col dd 0 ;+36
|
||||||
rb 4+2+2
|
rb 4+2+2
|
||||||
.run_x:
|
.run_x:
|
||||||
rb 2+2+2+2+4+4+4+4+4+4
|
rb 32
|
||||||
.all_redraw dd 0 ;+80
|
.all_redraw dd 0 ;+80
|
||||||
.ar_offset dd 1 ;+84
|
.ar_offset dd 1 ;+84
|
||||||
|
|
||||||
@ -1173,7 +1235,7 @@ rb 4+4
|
|||||||
.line_col dd 0 ;+36
|
.line_col dd 0 ;+36
|
||||||
rb 4+2+2
|
rb 4+2+2
|
||||||
.run_x:
|
.run_x:
|
||||||
rb 2+2+2+2+4+4+4+4+4+4
|
rb 32
|
||||||
.all_redraw dd 0 ;+80
|
.all_redraw dd 0 ;+80
|
||||||
.ar_offset dd 1 ;+84
|
.ar_offset dd 1 ;+84
|
||||||
|
|
||||||
@ -1197,8 +1259,6 @@ foc_obj dd 0 ;
|
|||||||
obj_count_txt_props dd 0 ;ª®«¨ç¥á⢮ ¨á¯®«ì§ã¥¬ëå ⥪á⮢ëå ᢮©áâ¢
|
obj_count_txt_props dd 0 ;ª®«¨ç¥á⢮ ¨á¯®«ì§ã¥¬ëå ⥪á⮢ëå ᢮©áâ¢
|
||||||
obj_m_win dd 0 ;áâàãªâãà £« ¢®£® ®ª
|
obj_m_win dd 0 ;áâàãªâãà £« ¢®£® ®ª
|
||||||
|
|
||||||
txt_not_syntax_file db '<27>¥ ©¤¥ ä ©« ¤«ï ¯®¤á¢¥âª¨ á¨â ªá¨á .',0
|
|
||||||
|
|
||||||
;
|
;
|
||||||
if 1 ;lang eq ru
|
if 1 ;lang eq ru
|
||||||
|
|
||||||
@ -1508,7 +1568,9 @@ procinfo process_information
|
|||||||
run_file_70 FileInfoBlock
|
run_file_70 FileInfoBlock
|
||||||
open_b rb 560
|
open_b rb 560
|
||||||
|
|
||||||
|
IncludeIGlobals
|
||||||
i_end:
|
i_end:
|
||||||
|
IncludeUGlobals
|
||||||
buf_cmd_lin rb 1024
|
buf_cmd_lin rb 1024
|
||||||
file_name rb 1024 ;icon file path
|
file_name rb 1024 ;icon file path
|
||||||
fp_obj_opt rb 1024 ;obj options file patch
|
fp_obj_opt rb 1024 ;obj options file patch
|
||||||
|
Loading…
Reference in New Issue
Block a user