14,12 → 14,14 |
include '../../develop/libraries/box_lib/load_lib.mac' |
include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
include '../../dll.inc' |
include '../../system/desktop/trunk/kglobals.inc' |
include '../../system/desktop/trunk/unpacker.inc' |
include 'strlen.inc' |
include 'obj_codes.inc' |
|
@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' |
|
325,19 → 327,8 |
mov ted_syntax_file,eax |
|
;¯à®¡ã¥¬ ®âªàëâì ä ©« á¨â ªá¨á |
mov ebx,run_file_70 |
mov dword[ebx], 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 |
call open_unpac_synt_file |
jmp .end_0 |
@@: |
notify_window_run txt_not_syntax_file |
.end_0: |
638,6 → 629,10 |
stdcall [buf2d_delete],buf_skin2 |
stdcall [buf2d_delete],buf_skin3 |
stdcall [ted_delete], tedit0 |
cmp dword[unpac_mem],0 |
je @f |
stdcall mem.Free,[unpac_mem] |
@@: |
mcall -1 |
|
align 4 |
868,6 → 863,13 |
je @f |
xor ecx,ecx |
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 |
stdcall mem_clear, u_object,sizeof.object |
mov ebx,dword[eax] |
888,7 → 890,85 |
but_ctrl_s: |
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 |
buf_fon: ;ä®®¢ë© ¡ãä¥à |
dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
dw 310 ;+4 left |
942,6 → 1022,8 |
err_opn db 0 ;१. ®âªàëâ¨ï ä ©« ¯à®íªâ |
err_ini0 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 |
|
1094,17 → 1176,7 |
.delta dw 0 ;+44 |
.delta2 dw 0 ;+46 |
.run_x: |
.r_size_x dw 0 ;+48 |
.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 |
rb 32 |
.all_redraw dd 0 ;+80 |
.ar_offset dd 1 ;+84 |
;--------------------------------------------------------------------- |
1127,17 → 1199,7 |
.delta dw 0 ;+44 |
.delta2 dw 0 ;+46 |
.run_x: |
.r_size_x dw 0 ;+48 |
.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 |
rb 32 |
.all_redraw dd 0 ;+80 |
.ar_offset dd 1 ;+84 |
|
1156,7 → 1218,7 |
.line_col dd 0 ;+36 |
rb 4+2+2 |
.run_x: |
rb 2+2+2+2+4+4+4+4+4+4 |
rb 32 |
.all_redraw dd 0 ;+80 |
.ar_offset dd 1 ;+84 |
|
1173,7 → 1235,7 |
.line_col dd 0 ;+36 |
rb 4+2+2 |
.run_x: |
rb 2+2+2+2+4+4+4+4+4+4 |
rb 32 |
.all_redraw dd 0 ;+80 |
.ar_offset dd 1 ;+84 |
|
1197,8 → 1259,6 |
obj_count_txt_props dd 0 ;ª®«¨ç¥á⢮ ¨á¯®«ì§ã¥¬ëå ⥪á⮢ëå ᢮©á⢠|
obj_m_win dd 0 ;áâàãªâãà £« ¢®£® ®ª |
|
txt_not_syntax_file db '¥ ©¤¥ ä ©« ¤«ï ¯®¤á¢¥âª¨ á¨â ªá¨á .',0 |
|
; |
if 1 ;lang eq ru |
|
1508,7 → 1568,9 |
run_file_70 FileInfoBlock |
open_b rb 560 |
|
IncludeIGlobals |
i_end: |
IncludeUGlobals |
buf_cmd_lin rb 1024 |
file_name rb 1024 ;icon file path |
fp_obj_opt rb 1024 ;obj options file patch |