media/log_el: Post-SVN tidy
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 36s
Build system / Build (pull_request) Successful in 6m1s

- Fix `t_edit` reliance on `log_el` images; Update ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
This commit is contained in:
2025-06-01 00:34:47 +01:00
parent 35d798ead7
commit 989a99d3dc
2 changed files with 830 additions and 818 deletions

View File

@@ -1,429 +1,435 @@
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0ADAE><EFBFBD> <20>ᥬ, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD>/ᮢ<>⮬/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ... ; SPDX-License-Identifier: NOASSERTION
;
use32
org 0 ; Text encoded with Code Page 866 - Cyrillic
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> <20><EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
dd 1, start, i_end, mem, stacktop, file_name, sys_path
;<3B><><EFBFBD><E0AEAC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0ADAE><EFBFBD> <20>ᥬ, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD>/ᮢ<>⮬/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ...
MAX_COLOR_WORD_LEN equ 40
maxChars equ 100002 ;(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E3ACA5><EFBFBD> + 2) use32
BUF_SIZE equ 4096 ;buffer for copy|paste org 0
maxSyntaxFileSize equ 410000 db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> <20><EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
TOOLBAR_ICONS_SIZE equ 1200*21 dd 1, start, i_end, mem, stacktop, file_name, sys_path
include '../../proc32.inc' MAX_COLOR_WORD_LEN equ 40
include '../../macros.inc' maxChars equ 100002 ;(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E3ACA5><EFBFBD> + 2)
include '../../KOSfuncs.inc' BUF_SIZE equ 4096 ;buffer for copy|paste
include '../../load_img.inc' maxSyntaxFileSize equ 410000
include '../../load_lib.mac' TOOLBAR_ICONS_SIZE equ 1200*21
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
include '../../system/skincfg/trunk/kglobals.inc' include '../../proc32.inc'
include '../../system/skincfg/trunk/unpacker.inc' include '../../macros.inc'
include 'lang.inc' include '../../KOSfuncs.inc'
include '../../load_img.inc'
include 't_data.inc' include '../../load_lib.mac'
include 't_button.inc' include '../../develop/libraries/box_lib/trunk/box_lib.mac'
include 't_menu.inc' include '../../system/skincfg/trunk/kglobals.inc'
include 'strlen.inc' include '../../system/skincfg/trunk/unpacker.inc'
include 't_draw.inc' ;draw main window functions include 'lang.inc'
include 'wnd_k_words.inc'
include 't_data.inc'
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load include 't_button.inc'
include 't_menu.inc'
align 4 include 'strlen.inc'
icon_tl_sys dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> include 't_draw.inc' ;draw main window functions
run_file_70 FileInfoBlock include 'wnd_k_words.inc'
align 4 @use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
start:
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors align 4
icon_tl_sys dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mcall SF_SYS_MISC,SSF_HEAP_INIT run_file_70 FileInfoBlock
or eax,eax
jnz @f align 4
call ted_Exit start:
@@: mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code mcall SF_SYS_MISC,SSF_HEAP_INIT
mcall SF_SET_EVENTS_MASK,0xC0000027 or eax,eax
jnz @f
mov esi,file_name call ted_Exit
stdcall str_len,esi @@:
mov ecx,eax
mov edi,openfile_path mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code
cld mcall SF_SET_EVENTS_MASK,0xC0000027
rep movsb ;<3B><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD> openfile_path
mov esi,file_name
load_libraries l_libs_start,load_lib_end stdcall str_len,esi
mov ecx,eax
;<3B><EFBFBD><20><><>쪮 㤠筮 <20><><EFBFBD><EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov edi,openfile_path
mov ebp,lib0 cld
.test_lib_open: rep movsb ;<3B><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD> openfile_path
cmp dword [ebp+ll_struc_size-4],0
jz @f load_libraries l_libs_start,load_lib_end
mcall SF_TERMINATE_PROCESS ;exit not correct
@@: ;<3B><EFBFBD><20><><>쪮 㤠筮 <20><><EFBFBD><EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
add ebp,ll_struc_size mov ebp,lib0
cmp ebp,load_lib_end .test_lib_open:
jl .test_lib_open cmp dword [ebp+ll_struc_size-4],0
jz @f
;--------------------------------------------------------------------- mcall SF_TERMINATE_PROCESS ;exit not correct
stdcall [ted_init], tedit0 @@:
stdcall [tl_data_init], tree1 add ebp,ll_struc_size
option_boxes_set_sys_color sc,opt_grlist1 cmp ebp,load_lib_end
init_checkboxes2 check_boxes,check_boxes_end jl .test_lib_open
check_boxes_set_sys_color2 check_boxes,check_boxes_end,sc
;---------------------------------------------------------------------
; OpenDialog initialisation stdcall [ted_init], tedit0
stdcall [OpenDialog_Init],OpenDialog_data stdcall [tl_data_init], tree1
option_boxes_set_sys_color sc,opt_grlist1
; kmenu initialisation init_checkboxes2 check_boxes,check_boxes_end
call tedit_menu_init check_boxes_set_sys_color2 check_boxes,check_boxes_end,sc
; init toolbar file ; OpenDialog initialisation
include_image_file 'te_icon.png', bmp_icon,,,6 ;6 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stdcall [OpenDialog_Init],OpenDialog_data
mov eax,[bmp_icon]
add eax,TOOLBAR_ICONS_SIZE ; kmenu initialisation
stdcall img_to_gray, [bmp_icon],eax,(TOOLBAR_ICONS_SIZE)/3 call tedit_menu_init
;---------------------------------------------------------------------
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> ; init toolbar file
include_image_file '..\..\media\log_el\trunk\tl_sys_16.png', icon_tl_sys include_image_file 'te_icon.png', bmp_icon,,,6 ;6 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov eax,dword[icon_tl_sys] mov eax,[bmp_icon]
mov dword[tree1.data_img_sys],eax add eax,TOOLBAR_ICONS_SIZE
; <20><><EFBFBD><EFBFBD><EFBFBD>塞 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3A7AB> stdcall img_to_gray, [bmp_icon],eax,(TOOLBAR_ICONS_SIZE)/3
include_image_file 'tl_nod_16.png', icon_tl_sys ;---------------------------------------------------------------------
mov eax,dword[icon_tl_sys] ; <20><><EFBFBD><EFBFBD><EFBFBD>塞 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
mov dword[tree1.data_img],eax include_image_file '..\..\media\log_el\tl_sys_16.png', icon_tl_sys
;------------------------------------------------------------------------------ mov eax,dword[icon_tl_sys]
copy_path fn_syntax_dir,sys_path,file_name,0 ;<3B><><20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD> mov dword[tree1.data_img_sys],eax
xor eax,eax ; <20><><EFBFBD><EFBFBD><EFBFBD>塞 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3A7AB>
mov ecx,4096 include_image_file 'tl_nod_16.png', icon_tl_sys
mov edi,file_name mov eax,dword[icon_tl_sys]
repnz scasb mov dword[tree1.data_img],eax
mov byte[edi-2],al ;㡨ࠥ<E3A1A8> '/' <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E2A5AD> <20> CD) ;------------------------------------------------------------------------------
mcall SF_FILE,tree_file_struct copy_path fn_syntax_dir,sys_path,file_name,0 ;<3B><><20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
xor eax,eax
or ebx,ebx mov ecx,4096
jz .end_dir_init mov edi,file_name
mov eax,dir_mem+32+40 repnz scasb
mov ecx,ebx mov byte[edi-2],al ;㡨ࠥ<E3A1A8> '/' <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E2A5AD> <20> CD)
@@: mcall SF_FILE,tree_file_struct
cmp byte[eax],'.' ;䨫<><E4A8AB><EFBFBD>㥬 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '.' <20> '..'
je .filter or ebx,ebx
;0x10000 ;1*2^16 - <20><><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> jz .end_dir_init
stdcall [tl_node_add], tree1,0x10000,eax mov eax,dir_mem+32+40
stdcall [tl_cur_next], tree1 mov ecx,ebx
.filter: @@:
add eax,304 cmp byte[eax],'.' ;䨫<><E4A8AB><EFBFBD>㥬 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '.' <20> '..'
loop @b je .filter
stdcall [tl_cur_beg],tree1 ;<3B><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD> ᯨ᪠ ;0x10000 ;1*2^16 - <20><><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
or dword[tree1.style], tl_cursor_pos_limited ;<3B><><EFBFBD><EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD> ᯨ᪠ stdcall [tl_node_add], tree1,0x10000,eax
.end_dir_init: stdcall [tl_cur_next], tree1
.filter:
;--- load ini file --- add eax,304
copy_path ini_name,sys_path,file_name,0 loop @b
;window startup pozition stdcall [tl_cur_beg],tree1 ;<3B><EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> ᯨ᪠
stdcall [ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l or dword[tree1.style], tl_cursor_pos_limited ;<3B><><EFBFBD><EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD> ᯨ᪠
mov word[wnd_s_pos+2],ax .end_dir_init:
stdcall [ini_get_int],file_name,ini_sec_window,key_window_w,ini_def_window_w
mov word[wnd_s_pos],ax ;--- load ini file ---
stdcall [ini_get_int],file_name,ini_sec_window,key_window_t,ini_def_window_t copy_path ini_name,sys_path,file_name,0
mov word[wnd_s_pos+6],ax ;window startup pozition
stdcall [ini_get_int],file_name,ini_sec_window,key_window_h,ini_def_window_h stdcall [ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l
mov word[wnd_s_pos+4],ax mov word[wnd_s_pos+2],ax
;scrool type stdcall [ini_get_int],file_name,ini_sec_window,key_window_w,ini_def_window_w
stdcall [ini_get_int],file_name,ini_sec_window,key_scroll_type,ini_def_scroll_type mov word[wnd_s_pos],ax
mov [wScr.type],eax stdcall [ini_get_int],file_name,ini_sec_window,key_window_t,ini_def_window_t
mov [hScr.type],eax mov word[wnd_s_pos+6],ax
mov [ws_dir_lbox.type],eax stdcall [ini_get_int],file_name,ini_sec_window,key_window_h,ini_def_window_h
mov [w_scr_t3.type],eax mov word[wnd_s_pos+4],ax
;symbol size ;scrool type
stdcall [ini_get_int],file_name,ini_sec_window,key_symbol_w,ini_def_symbol_w stdcall [ini_get_int],file_name,ini_sec_window,key_scroll_type,ini_def_scroll_type
mov dword[tedit0.rec.width],eax mov [wScr.type],eax
stdcall [ini_get_int],file_name,ini_sec_window,key_symbol_h,ini_def_symbol_h mov [hScr.type],eax
mov dword[tedit0.rec.height],eax mov [ws_dir_lbox.type],eax
;lea eax,[eax+eax*2] mov [w_scr_t3.type],eax
;mov dword[tedit0.rec.top],eax ;symbol size
;font size stdcall [ini_get_int],file_name,ini_sec_window,key_symbol_w,ini_def_symbol_w
stdcall [ini_get_int],file_name,ini_sec_window,key_font_s,ini_def_font_s mov dword[tedit0.rec.width],eax
shl eax,24 stdcall [ini_get_int],file_name,ini_sec_window,key_symbol_h,ini_def_symbol_h
mov dword[tedit0.font_size],eax mov dword[tedit0.rec.height],eax
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;lea eax,[eax+eax*2]
ini_panel key_but_new, ID_BUT_NEW ;mov dword[tedit0.rec.top],eax
ini_panel key_but_open, ID_BUT_OPEN ;font size
ini_panel key_but_save, ID_BUT_SAVE stdcall [ini_get_int],file_name,ini_sec_window,key_font_s,ini_def_font_s
ini_panel key_but_save_as,ID_BUT_SAVE_AS shl eax,24
ini_panel key_but_select, ID_BUT_SELECT mov dword[tedit0.font_size],eax
ini_panel key_but_cut, ID_BUT_CUT ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ini_panel key_but_copy, ID_BUT_COPY ini_panel key_but_new, ID_BUT_NEW
ini_panel key_but_paste, ID_BUT_PASTE ini_panel key_but_open, ID_BUT_OPEN
ini_panel key_but_find, ID_BUT_FIND ini_panel key_but_save, ID_BUT_SAVE
ini_panel key_but_replace,ID_BUT_REPLACE ini_panel key_but_save_as,ID_BUT_SAVE_AS
ini_panel key_but_key_words,ID_BUT_KEY_WORDS ini_panel key_but_select, ID_BUT_SELECT
ini_panel key_but_upper, ID_BUT_UPPER ini_panel key_but_cut, ID_BUT_CUT
ini_panel key_but_lower, ID_BUT_LOWER ini_panel key_but_copy, ID_BUT_COPY
ini_panel key_but_reverse,ID_BUT_REVERSE ini_panel key_but_paste, ID_BUT_PASTE
ini_panel key_but_undo, ID_BUT_UNDO ini_panel key_but_find, ID_BUT_FIND
ini_panel key_but_redo, ID_BUT_REDO ini_panel key_but_replace,ID_BUT_REPLACE
ini_panel key_but_invisible,ID_BUT_INVISIBLE ini_panel key_but_key_words,ID_BUT_KEY_WORDS
ini_panel key_but_syntax_list,ID_BUT_SYNTAX_LIST ini_panel key_but_upper, ID_BUT_UPPER
ini_panel key_but_syntax_mode,ID_BUT_SYNTAX_MODE ini_panel key_but_lower, ID_BUT_LOWER
ini_panel key_but_convert_1251_866,ID_BUT_CONVERT_1251_866 ini_panel key_but_reverse,ID_BUT_REVERSE
ini_panel key_but_convert_866_1251,ID_BUT_CONVERT_866_1251 ini_panel key_but_undo, ID_BUT_UNDO
;䠩<><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5AD> ini_panel key_but_redo, ID_BUT_REDO
xor edx,edx ini_panel key_but_invisible,ID_BUT_INVISIBLE
mov ebx,synt_auto_open ini_panel key_but_syntax_list,ID_BUT_SYNTAX_LIST
@@: ini_panel key_but_syntax_mode,ID_BUT_SYNTAX_MODE
;<3B><><20><><EFBFBD><><E4A0A9> ini_panel key_but_convert_1251_866,ID_BUT_CONVERT_1251_866
stdcall [ini_get_str],file_name,ini_sec_options,key_synt_file,ebx,32,ini_def_synt_f ini_panel key_but_convert_866_1251,ID_BUT_CONVERT_866_1251
cmp byte[ebx],0 ;䠩<><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5AD>
je @f xor edx,edx
inc byte[key_synt_file.numb] mov ebx,synt_auto_open
add ebx,32 @@:
;<3B><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><><20><><EFBFBD><EFBFBD><EFBFBD>
stdcall [ini_get_str],file_name,ini_sec_options,key_synt_ext,ebx,32,ini_def_synt_f stdcall [ini_get_str],file_name,ini_sec_options,key_synt_file,ebx,32,ini_def_synt_f
inc byte[key_synt_ext.numb] cmp byte[ebx],0
add ebx,32 je @f
inc edx inc byte[key_synt_file.numb]
cmp edx,max_synt_auto_open add ebx,32
jl @b ;<3B><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5AD>
@@: stdcall [ini_get_str],file_name,ini_sec_options,key_synt_ext,ebx,32,ini_def_synt_f
inc byte[key_synt_ext.numb]
;--- load color option file --- add ebx,32
stdcall open_unpac_synt_file,[fn_col_option] inc edx
cmp edx,max_synt_auto_open
;--- get cmd line --- jl @b
cmp byte[openfile_path+3],0 ;openfile_path @@:
je @f ;if file names exist
mov esi,openfile_path ;--- load color option file ---
stdcall auto_open_syntax,esi stdcall open_unpac_synt_file,[fn_col_option]
call but_no_msg_OpenFile
@@: ;--- get cmd line ---
cmp byte[openfile_path+3],0 ;openfile_path
je @f ;if file names exist
mov esi,openfile_path
align 16 stdcall auto_open_syntax,esi
red_win: call but_no_msg_OpenFile
call draw_window @@:
align 16
still:
mcall SF_WAIT_EVENT align 16
cmp dword[exit_code],1 red_win:
jne @f call draw_window
call ted_Exit
jmp still align 16
@@: still:
mcall SF_WAIT_EVENT
cmp al,1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> cmp dword[exit_code],1
jz red_win jne @f
cmp al,2 call ted_Exit
jz key jmp still
cmp al,3 @@:
jz button
cmp al,6 ;<3B><><EFBFBD><EFBFBD> cmp al,1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jne @f jz red_win
call mouse cmp al,2
@@: jz key
jmp still cmp al,3
jz button
align 16 cmp al,6 ;<3B><><EFBFBD><EFBFBD>
mouse: jne @f
stdcall [kmainmenu_dispatch_cursorevent], [main_menu] call mouse
@@:
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION jmp still
cmp word[tedit0.wnd.top],ax
jg .no_edit align 16
shr eax,16 mouse:
cmp word[tedit0.wnd.left],ax stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
jg .no_edit
mcall SF_MOUSE_GET,SSF_BUTTON_EXT mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
bt eax,24 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E9A5AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cmp word[tedit0.wnd.top],ax
jnc @f jg .no_edit
stdcall [ted_but_select_word], tedit0 shr eax,16
ret cmp word[tedit0.wnd.left],ax
@@: jg .no_edit
stdcall [ted_mouse], tedit0 mcall SF_MOUSE_GET,SSF_BUTTON_EXT
.no_edit: bt eax,24 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E9A5AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jnc @f
;<3B><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stdcall [ted_but_select_word], tedit0
cmp byte[tedit0.panel_id],TED_PANEL_FIND ret
jne @f @@:
stdcall [edit_box_mouse], edit_find stdcall [ted_mouse], tedit0
stdcall [option_box_mouse], opt_grlist1 .no_edit:
stdcall [check_box_mouse], ch1
@@: ;<3B><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp byte[tedit0.panel_id],TED_PANEL_REPLACE cmp byte[tedit0.panel_id],TED_PANEL_FIND
jne @f jne @f
stdcall [edit_box_mouse], edit_find stdcall [edit_box_mouse], edit_find
stdcall [edit_box_mouse], edit_replace stdcall [option_box_mouse], opt_grlist1
stdcall [option_box_mouse], opt_grlist1 stdcall [check_box_mouse], ch1
@@: @@:
cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX cmp byte[tedit0.panel_id],TED_PANEL_REPLACE
jne @f jne @f
stdcall [tl_mouse], tree1 stdcall [edit_box_mouse], edit_find
@@: stdcall [edit_box_mouse], edit_replace
cmp byte[tedit0.panel_id],TED_PANEL_GOTO stdcall [option_box_mouse], opt_grlist1
jne @f @@:
stdcall [edit_box_mouse], edit_goto cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX
@@: jne @f
ret stdcall [tl_mouse], tree1
;--------------------------------------------------------------------- @@:
cmp byte[tedit0.panel_id],TED_PANEL_GOTO
;output: jne @f
; ah = symbol stdcall [edit_box_mouse], edit_goto
align 16 @@:
proc KeyConvertToASCII uses ebx, table:dword ret
mov ebx,dword[table] ;convert scan to ascii ;---------------------------------------------------------------------
shr ax,8
add bx,ax ;output:
mov ah,byte[ebx] ; ah = symbol
ret align 16
endp proc KeyConvertToASCII uses ebx, table:dword
mov ebx,dword[table] ;convert scan to ascii
align 16 shr ax,8
key: add bx,ax
mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov ah,byte[ebx]
xor esi,esi ret
mov ecx,1 endp
test al,3 ;[Shift]
jz @f align 16
mov cl,2 key:
or esi,KM_SHIFT mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@: xor esi,esi
test al,0x0c ;[Ctrl] mov ecx,1
jz @f test al,3 ;[Shift]
or esi,KM_CTRL jz @f
@@: mov cl,2
test al,0x30 ;[Alt] or esi,KM_SHIFT
jz @f @@:
mov cl,3 test al,0x0c ;[Ctrl]
or esi,KM_ALT jz @f
@@: or esi,KM_CTRL
test al,0x80 ;[NumLock] @@:
jz @f test al,0x30 ;[Alt]
or esi,KM_NUMLOCK jz @f
@@: mov cl,3
or esi,KM_ALT
mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @@:
mcall SF_GET_KEY test al,0x80 ;[NumLock]
stdcall [tl_key], tree1 jz @f
or esi,KM_NUMLOCK
test word[edit_replace.flags],ed_focus ;<3B><20><> <20><><E4AEAA><EFBFBD>, <20><><EFBFBD><E5AEA4> @@:
je @f
cmp ah,0x80 ;if key up mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ja still mcall SF_GET_KEY
cmp ah,42 ;[Shift] (left) stdcall [tl_key], tree1
je still
cmp ah,54 ;[Shift] (right) test word[edit_replace.flags],ed_focus ;<3B><20><> <20><><E4AEAA><EFBFBD>, <20><><EFBFBD><E5AEA4>
je still je @f
cmp ah,56 ;[Alt] cmp ah,0x80 ;if key up
je still ja still
cmp ah,29 ;[Ctrl] cmp ah,42 ;[Shift] (left)
je still je still
cmp ah,69 ;[Pause Break] cmp ah,54 ;[Shift] (right)
je still je still
cmp ah,56 ;[Alt]
stdcall KeyConvertToASCII, conv_tabl je still
stdcall [edit_box_key], edit_replace cmp ah,29 ;[Ctrl]
jmp still je still
@@: cmp ah,69 ;[Pause Break]
test word[edit_find.flags],ed_focus ;<3B><20><> <20><><E4AEAA><EFBFBD>, <20><><EFBFBD><E5AEA4> je still
je @f
cmp ah,0x80 ;if key up stdcall KeyConvertToASCII, conv_tabl
ja still stdcall [edit_box_key], edit_replace
cmp ah,42 ;[Shift] (left) jmp still
je still @@:
cmp ah,54 ;[Shift] (right) test word[edit_find.flags],ed_focus ;<3B><20><> <20><><E4AEAA><EFBFBD>, <20><><EFBFBD><E5AEA4>
je still je @f
cmp ah,56 ;[Alt] cmp ah,0x80 ;if key up
je still ja still
cmp ah,29 ;[Ctrl] cmp ah,42 ;[Shift] (left)
je still je still
cmp ah,69 ;[Pause Break] cmp ah,54 ;[Shift] (right)
je still je still
cmp ah,56 ;[Alt]
stdcall KeyConvertToASCII, conv_tabl je still
stdcall [edit_box_key], edit_find cmp ah,29 ;[Ctrl]
jmp still je still
@@: cmp ah,69 ;[Pause Break]
test word[edit_goto.flags],ed_focus ;<3B><20><> <20><><E4AEAA><EFBFBD>, <20><><EFBFBD><E5AEA4> je still
je @f
cmp ah,0x80 ;if key up stdcall KeyConvertToASCII, conv_tabl
ja still stdcall [edit_box_key], edit_find
cmp ah,42 ;[Shift] (left) jmp still
je still @@:
cmp ah,54 ;[Shift] (right) test word[edit_goto.flags],ed_focus ;<3B><20><> <20><><E4AEAA><EFBFBD>, <20><><EFBFBD><E5AEA4>
je still je @f
cmp ah,56 ;[Alt] cmp ah,0x80 ;if key up
je still ja still
cmp ah,29 ;[Ctrl] cmp ah,42 ;[Shift] (left)
je still je still
cmp ah,69 ;[Pause Break] cmp ah,54 ;[Shift] (right)
je still je still
cmp ah,56 ;[Alt]
stdcall KeyConvertToASCII, conv_tabl je still
stdcall [edit_box_key], edit_goto cmp ah,29 ;[Ctrl]
jmp still je still
@@: cmp ah,69 ;[Pause Break]
je still
stdcall [ted_key], tedit0, conv_tabl,esi
jmp still stdcall KeyConvertToASCII, conv_tabl
stdcall [edit_box_key], edit_goto
align 4 jmp still
edit_replace edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_replace, mouse_dd, 0 @@:
edit_find edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
edit_goto edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 10, buf_goto, mouse_dd, 0 stdcall [ted_key], tedit0, conv_tabl,esi
jmp still
unpac_mem dd 0
align 4
;library structures edit_replace edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_replace, mouse_dd, 0
l_libs_start: edit_find edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
lib0 l_libs lib_name_0, file_name, system_dir_0, import_box_lib edit_goto edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 10, buf_goto, mouse_dd, 0
lib1 l_libs lib_name_1, file_name, system_dir_1, import_msgbox_lib
lib2 l_libs lib_name_2, file_name, system_dir_2, import_proclib unpac_mem dd 0
lib3 l_libs lib_name_3, file_name, system_dir_3, import_libimg
lib4 l_libs lib_name_4, file_name, system_dir_4, import_libini ;library structures
lib5 l_libs lib_name_5, file_name, system_dir_5, import_libkmenu l_libs_start:
load_lib_end: lib0 l_libs lib_name_0, file_name, system_dir_0, import_box_lib
lib1 l_libs lib_name_1, file_name, system_dir_1, import_msgbox_lib
IncludeIGlobals lib2 l_libs lib_name_2, file_name, system_dir_2, import_proclib
hed db 'TextEdit ' lib3 l_libs lib_name_3, file_name, system_dir_3, import_libimg
i_end: lib4 l_libs lib_name_4, file_name, system_dir_4, import_libini
openfile_path: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><><E0A0A1><EFBFBD> lib5 l_libs lib_name_5, file_name, system_dir_5, import_libkmenu
rb 4096 load_lib_end:
dir_mem rb 32+304*count_of_dir_list_files
wnd_s_pos: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD> IncludeIGlobals
rq 1 hed db 'TextEdit '
last_open_synt_file rb 32 ;<3B><><EFBFBD> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A5AD><EFBFBD><EFBFBD><><E4A0A9> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD> i_end:
buf rb BUF_SIZE ;<3B><><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> openfile_path: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD> <20><><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><><EFBFBD><EFBFBD>
buf_find rb 302 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>᪠ ⥪<><E2A5AA><EFBFBD> rb 4096
buf_replace rb 302 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD> dir_mem rb 32+304*count_of_dir_list_files
buf_goto rb 12 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> wnd_s_pos: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
sc system_colors rq 1
IncludeUGlobals last_open_synt_file rb 32 ;<3B><><EFBFBD> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A5AD><EFBFBD><EFBFBD><><E4A0A9> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
align 16 buf rb BUF_SIZE ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E2A0A2>
procinfo process_information buf_find rb 302 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>᪠ ⥪<><E2A5AA><EFBFBD>
rb 1024 buf_replace rb 302 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD>
thread: buf_goto rb 12 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>
rb 4096 sc system_colors
align 16 IncludeUGlobals
thread_coords: align 16
rb 4096 procinfo process_information
align 16 rb 1024
stacktop: thread:
sys_path: ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A8AB> <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><> rb 4096
rb 4096 align 16
file_name: ;<3B><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> thread_coords:
rb 4096 rb 4096
syntax_path: ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A0A5><EFBFBD><EFBFBD><><E4A0A9> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD> align 16
rb 4096 stacktop:
plugin_path: sys_path: ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A8AB> <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><>
rb 4096 rb 4096
text_work_area: ;<3B><><EFBFBD><EFBFBD> <20><><E4A0A9>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> file_name: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
rb 4096 rb 4096
filename_area: ;<3B><><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> syntax_path: ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ᨭ⠪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
rb 256 rb 4096
file_info: plugin_path:
rb 40 rb 4096
mem: text_work_area: ;<3B><><EFBFBD><EFBFBD> <20><><E4A0A9>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
rb 4096
filename_area: ;<3B><><EFBFBD><><E4A0A9> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
rb 256
file_info:
rb 40
mem:

View File

@@ -1,389 +1,395 @@
use32 ; SPDX-License-Identifier: NOASSERTION
org 0 ;
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> <20><EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
dd 1, start, i_end, mem, stacktop, file_name, sys_path ; Text encoded with Code Page 866 - Cyrillic
MAX_COLOR_WORD_LEN equ 40
BUF_SIZE equ 4096 ;buffer for copy|paste use32
CAPT_PATH_WIDTH equ 50 ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>। ⥪<><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD> org 0
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> <20><EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
include '../../macros.inc' dd 1, start, i_end, mem, stacktop, file_name, sys_path
include '../../proc32.inc'
include '../../KOSfuncs.inc' MAX_COLOR_WORD_LEN equ 40
include '../../load_img.inc' BUF_SIZE equ 4096 ;buffer for copy|paste
include '../../load_lib.mac' CAPT_PATH_WIDTH equ 50 ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>। ⥪<><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD>
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
include '../../system/skincfg/trunk/kglobals.inc' include '../../macros.inc'
include '../../system/skincfg/trunk/unpacker.inc' include '../../proc32.inc'
include 'te_data.inc' include '../../KOSfuncs.inc'
include 'te_work.inc' ;text work functions include '../../load_img.inc'
include '../../load_lib.mac'
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load include '../../develop/libraries/box_lib/trunk/box_lib.mac'
include '../../system/skincfg/trunk/kglobals.inc'
icon_tl_sys dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> include '../../system/skincfg/trunk/unpacker.inc'
include 'te_data.inc'
align 4 include 'te_work.inc' ;text work functions
start:
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors @use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
mcall SF_SYS_MISC,SSF_HEAP_INIT icon_tl_sys dd 0 ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
or eax,eax
jz button.exit align 4
start:
mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
mcall SF_SET_EVENTS_MASK,0xC0000027
mcall SF_SYS_MISC,SSF_HEAP_INIT
load_libraries l_libs_start,load_lib_end or eax,eax
jz button.exit
;<3B><EFBFBD><20><><>쪮 㤠筮 <20><><EFBFBD><EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp dword[lib0+ll_struc_size-4],0 mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code
jz @f mcall SF_SET_EVENTS_MASK,0xC0000027
mcall -1 ;exit not correct
@@: load_libraries l_libs_start,load_lib_end
;--------------------------------------------------------------------- ;<EFBFBD><EFBFBD><20><><>쪮 㤠筮 <20><><EFBFBD><EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
stdcall [tl_data_init], tree1 cmp dword[lib0+ll_struc_size-4],0
jz @f
; <20><><EFBFBD><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> mcall -1 ;exit not correct
include_image_file '..\..\media\log_el\trunk\tl_sys_16.png', icon_tl_sys @@:
mov eax,[icon_tl_sys]
mov [tree1.data_img_sys],eax ;---------------------------------------------------------------------
;--------------------------------------------------------------------- stdcall [tl_data_init], tree1
; <20><><EFBFBD> bmp 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3A7AB>
include_image_file '..\t_edit\tl_nod_16.png', icon_tl_sys ; <20><><EFBFBD><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
mov eax,[icon_tl_sys] include_image_file '..\..\media\log_el\tl_sys_16.png', icon_tl_sys
mov [tree1.data_img],eax mov eax,[icon_tl_sys]
;------------------------------------------------------------------------------ mov [tree1.data_img_sys],eax
copy_path fn_syntax_dir,sys_path,file_name,0 ;<3B><><20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD> ;---------------------------------------------------------------------
mcall SF_FILE,tree_file_struct ; <20><><EFBFBD> bmp 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3A7AB>
include_image_file '..\t_edit\tl_nod_16.png', icon_tl_sys
cmp ebx,2 mov eax,[icon_tl_sys]
jg @f mov [tree1.data_img],eax
notify_window_run file_name ;ᮮ<><EFBFBD><E9A5AD> <20><20><><><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9> ;------------------------------------------------------------------------------
jmp .end_dir_init copy_path fn_syntax_dir,sys_path,file_name,0 ;<3B><><20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
@@: mcall SF_FILE,tree_file_struct
;cmp ebx,0
;jle .end_dir_init cmp ebx,2
mov eax,dir_mem+32+40 jg @f
mov ecx,ebx notify_window_run file_name ;ᮮ<><EFBFBD><E9A5AD> <20><20><><><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>
@@: jmp .end_dir_init
cmp byte[eax],'.' ;䨫<><E4A8AB><EFBFBD>㥬 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '.' <20> '..' @@:
je .filter ;cmp ebx,0
stdcall [tl_node_add],tree1,0x10000,eax ;1*2^16 - <20><><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;jle .end_dir_init
stdcall [tl_cur_next],tree1 mov eax,dir_mem+32+40
.filter: mov ecx,ebx
add eax,304 @@:
loop @b cmp byte[eax],'.' ;䨫<><E4A8AB><EFBFBD>㥬 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '.' <20> '..'
stdcall [tl_cur_beg],tree1 ;<3B><EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> ᯨ᪠ je .filter
or dword[tree1.style], tl_cursor_pos_limited ;<3B><><EFBFBD><EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᯨ᪠ stdcall [tl_node_add],tree1,0x10000,eax ;1*2^16 - <20><><EFBFBD> 1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
.end_dir_init: stdcall [tl_cur_next],tree1
.filter:
xor eax,eax add eax,304
inc eax loop @b
mov [scrol_w1.type],eax stdcall [tl_cur_beg],tree1 ;<3B><EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> ᯨ᪠
mov [scrol_h1.type],eax or dword[tree1.style], tl_cursor_pos_limited ;<3B><><EFBFBD><EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD> ᯨ᪠
mov [ws_dir_lbox.type],eax .end_dir_init:
;--- load color option file --- xor eax,eax
stdcall [ted_init], tedit0 inc eax
mov byte[file_name],0 mov [scrol_w1.type],eax
mov [scrol_h1.type],eax
align 4 mov [ws_dir_lbox.type],eax
red_win:
call draw_window ;--- load color option file ---
stdcall [ted_init], tedit0
align 4 mov byte[file_name],0
still:
mcall SF_WAIT_EVENT align 4
red_win:
cmp al,1 ;<3B><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> call draw_window
jz red_win
cmp al,2 align 4
jz key still:
cmp al,3 mcall SF_WAIT_EVENT
jz button
cmp al,6 cmp al,1 ;<3B><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
jz mouse jz red_win
cmp al,2
jmp still jz key
cmp al,3
jz button
align 4 cmp al,6
draw_window: jz mouse
pushad
mcall SF_REDRAW,SSF_BEGIN_DRAW jmp still
mov edx,[sc.work]
or edx,0x33000000 align 4
mov edi,hed draw_window:
mcall SF_CREATE_WINDOW,<10,555>,<10,333> pushad
mcall SF_REDRAW,SSF_BEGIN_DRAW
mcall SF_THREAD_INFO,procinfo,-1
mov edi,tedit0 ;<3B><><EFBFBD><EFBFBD><E7A5AD> edi <20><EFBFBD> <20><><EFBFBD> EvSize <20> ted_wnd_t mov edx,[sc.work]
call EvSize or edx,0x33000000
mov edi,hed
mov esi,[sc.work_button];0xd0 mcall SF_CREATE_WINDOW,<10,555>,<10,333>
mcall SF_DEFINE_BUTTON,5*65536+90,195*65536+20,200
mcall SF_THREAD_INFO,procinfo,-1
mov ebx,100*65536+85 mov edi,tedit0 ;<3B><><EFBFBD><EFBFBD><E7A5AD> edi <20><EFBFBD> <20><><EFBFBD> EvSize <20> ted_wnd_t
mov ecx,195*65536+20 call EvSize
mov edx,201
mov esi,0xd00000 mov esi,[sc.work_button];0xd0
mcall mcall SF_DEFINE_BUTTON,5*65536+90,195*65536+20,200
mov ecx,[sc.work_button_text] mov ebx,100*65536+85
or ecx,0x80000000 mov ecx,195*65536+20
mcall SF_DRAW_TEXT,10*65536+200,,txt_load_f mov edx,201
mov esi,0xd00000
mov ecx,0xffff00 mcall
or ecx,0x80000000
mcall ,105*65536+200,,txt_save_f mov ecx,[sc.work_button_text]
or ecx,0x80000000
mov ecx,[sc.work_text] mcall SF_DRAW_TEXT,10*65536+200,,txt_load_f
or ecx,0x80000000
mcall ,195*65536+10,,txt_inp_file mov ecx,0xffff00
or ecx,0x80000000
add ebx,20 mcall ,105*65536+200,,txt_save_f
mov edx,txt_out_file
int 0x40 mov ecx,[sc.work_text]
or ecx,0x80000000
stdcall [PathShow_draw], PathShow_data_1 mcall ,195*65536+10,,txt_inp_file
stdcall [edit_box_draw], edit1 add ebx,20
stdcall [tl_draw], tree1 mov edx,txt_out_file
int 0x40
;scroll 1
mov [ws_dir_lbox.all_redraw],1 stdcall [PathShow_draw], PathShow_data_1
stdcall [scrollbar_ver_draw],ws_dir_lbox
stdcall [ted_draw], tedit0 stdcall [edit_box_draw], edit1
stdcall [tl_draw], tree1
mcall SF_REDRAW,SSF_END_DRAW
popad ;scroll 1
ret mov [ws_dir_lbox.all_redraw],1
stdcall [scrollbar_ver_draw],ws_dir_lbox
MIN_M_WND_H equ 100 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> stdcall [ted_draw], tedit0
;input:
; edi = pointer to tedit struct mcall SF_REDRAW,SSF_END_DRAW
align 4 popad
EvSize: ret
pushad
mov ebx,ted_scr_h MIN_M_WND_H equ 100 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mov esi,ted_scr_w ;input:
; edi = pointer to tedit struct
m2m ted_wnd_w,[procinfo.client_box.width] ;<3B><EFBFBD><E2A0A2> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A2><EFBFBD> <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD> align 4
mov eax,ted_wnd_l EvSize:
sub ted_wnd_w,eax ;<3B><EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1ABA5> pushad
movzx eax,word[esi+sb_offs_size_x] mov ebx,ted_scr_h
sub ted_wnd_w,eax ;<3B><EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD> mov esi,ted_scr_w
m2m ted_wnd_h,[procinfo.client_box.height] ;<3B><EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD> m2m ted_wnd_w,[procinfo.client_box.width] ;<3B><EFBFBD><E2A0A2> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A2><EFBFBD> <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD>
cmp ted_wnd_h,MIN_M_WND_H mov eax,ted_wnd_l
jg @f sub ted_wnd_w,eax ;<3B><EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1ABA5>
mov ted_wnd_h,MIN_M_WND_H movzx eax,word[esi+sb_offs_size_x]
@@: sub ted_wnd_w,eax ;<3B><EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
movzx eax,word[ebx+sb_offs_size_y] m2m ted_wnd_h,[procinfo.client_box.height] ;<3B><EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD>
sub ted_wnd_h,eax ;<3B><EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ਧ. <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD> cmp ted_wnd_h,MIN_M_WND_H
mov eax,ted_wnd_t jg @f
sub ted_wnd_h,eax ;<3B><EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1A2A5><EFBFBD> mov ted_wnd_h,MIN_M_WND_H
@@:
stdcall [ted_init_scroll_bars], tedit0,2
popad movzx eax,word[ebx+sb_offs_size_y]
ret sub ted_wnd_h,eax ;<3B><EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ਧ. <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
mov eax,ted_wnd_t
align 4 sub ted_wnd_h,eax ;<3B><EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1A2A5><EFBFBD>
mouse:
stdcall [tl_mouse],tree1 stdcall [ted_init_scroll_bars], tedit0,2
stdcall [edit_box_mouse],edit1 popad
stdcall [ted_mouse], tedit0 ret
jmp still
align 4
;output: mouse:
; ah = symbol stdcall [tl_mouse],tree1
align 4 stdcall [edit_box_mouse],edit1
proc KeyConvertToASCII, table:dword stdcall [ted_mouse], tedit0
push ebx jmp still
mov ebx,dword[table] ;convert scan to ascii
shr ax,8 ;output:
add bx,ax ; ah = symbol
mov ah,byte[ebx] align 4
pop ebx proc KeyConvertToASCII, table:dword
ret push ebx
endp mov ebx,dword[table] ;convert scan to ascii
shr ax,8
align 4 add bx,ax
key: mov ah,byte[ebx]
mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pop ebx
xor esi,esi ret
mov ecx,1 endp
test al,3 ;[Shift]
jz @f align 4
mov cl,2 key:
or esi,KM_SHIFT mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@: xor esi,esi
test al,0x0c ;[Ctrl] mov ecx,1
jz @f test al,3 ;[Shift]
or esi,KM_CTRL jz @f
@@: mov cl,2
test al,0x30 ;[Alt] or esi,KM_SHIFT
jz @f @@:
mov cl,3 test al,0x0c ;[Ctrl]
or esi,KM_ALT jz @f
@@: or esi,KM_CTRL
test al,0x80 ;[NumLock] @@:
jz @f test al,0x30 ;[Alt]
or esi,KM_NUMLOCK jz @f
@@: mov cl,3
or esi,KM_ALT
mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @@:
mcall SF_GET_KEY test al,0x80 ;[NumLock]
stdcall [tl_key],tree1 jz @f
or esi,KM_NUMLOCK
test word [edit1.flags],10b;ed_focus ; <20><20><> <20><><E4AEAA><EFBFBD>, <20><><EFBFBD><E5AEA4> @@:
je @f
cmp ah,0x80 ;if key up mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ja still mcall SF_GET_KEY
cmp ah,42 ;[Shift] (left) stdcall [tl_key],tree1
je still
cmp ah,54 ;[Shift] (right) test word [edit1.flags],10b;ed_focus ; <20><20><> <20><><E4AEAA><EFBFBD>, <20><><EFBFBD><E5AEA4>
je still je @f
cmp ah,56 ;[Alt] cmp ah,0x80 ;if key up
je still ja still
cmp ah,29 ;[Ctrl] cmp ah,42 ;[Shift] (left)
je still je still
cmp ah,69 ;[Pause Break] cmp ah,54 ;[Shift] (right)
je still je still
cmp ah,56 ;[Alt]
stdcall KeyConvertToASCII, conv_tabl je still
stdcall [edit_box_key],edit1 cmp ah,29 ;[Ctrl]
jmp still je still
@@: cmp ah,69 ;[Pause Break]
je still
stdcall [ted_key], tedit0, conv_tabl,esi
jmp still stdcall KeyConvertToASCII, conv_tabl
stdcall [edit_box_key],edit1
align 4 jmp still
button: @@:
mcall SF_GET_BUTTON
stdcall [ted_key], tedit0, conv_tabl,esi
cmp ah,200 jmp still
jne @f
call but_OpenSyntax align 4
@@: button:
cmp ah,201 mcall SF_GET_BUTTON
jne @f
call but_SaveSyntax cmp ah,200
@@: jne @f
call but_OpenSyntax
cmp ah,1 @@:
jne still cmp ah,201
.exit: jne @f
stdcall mem.Free,[options_file] call but_SaveSyntax
stdcall mem.Free,[unpac_mem] @@:
stdcall [tl_data_clear], tree1 cmp ah,1
stdcall [ted_delete], tedit0 jne still
mcall SF_TERMINATE_PROCESS ;<3B><><20><> <20>ணࠬ<E0AEA3><E0A0AC> .exit:
stdcall mem.Free,[options_file]
align 4 stdcall mem.Free,[unpac_mem]
but_OpenSyntax:
push eax stdcall [tl_data_clear], tree1
stdcall [tl_node_get_data],tree1 stdcall [ted_delete], tedit0
mov [fn_col_option],eax mcall SF_TERMINATE_PROCESS ;<3B><><20><> <20>ணࠬ<E0AEA3><E0A0AC>
call InitColText
pop eax align 4
ret but_OpenSyntax:
push eax
align 4 stdcall [tl_node_get_data],tree1
but_SaveSyntax: mov [fn_col_option],eax
stdcall [ted_save_file], tedit0,run_file_70,[edit1.text] call InitColText
ret pop eax
ret
;description:
; <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ Ctrl+N,O,F,S,H,G align 4
align 4 but_SaveSyntax:
proc ted_but_ctrl_all uses eax, opt_key:dword stdcall [ted_save_file], tedit0,run_file_70,[edit1.text]
mov eax,[opt_key] ret
cmp al,'N' ;Ctrl+N
jne @f ;description:
call but_ctrl_n ; <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ Ctrl+N,O,F,S,H,G
jmp .end0 align 4
@@: proc ted_but_ctrl_all uses eax, opt_key:dword
cmp al,'O' ;Ctrl+O mov eax,[opt_key]
jne @f cmp al,'N' ;Ctrl+N
call but_ctrl_o jne @f
@@: call but_ctrl_n
;cmp al,'S' ;Ctrl+S jmp .end0
;cmp al,'F' ;Ctrl+F @@:
;cmp al,'G' ;Ctrl+G cmp al,'O' ;Ctrl+O
;cmp al,'H' ;Ctrl+H jne @f
.end0: call but_ctrl_o
ret @@:
endp ;cmp al,'S' ;Ctrl+S
;cmp al,'F' ;Ctrl+F
align 4 ;cmp al,'G' ;Ctrl+G
but_ctrl_o: ;cmp al,'H' ;Ctrl+H
push eax .end0:
call get_wnd_in_focus ret
or eax,eax endp
jz @f
stdcall [ted_open_file], eax,str_file_70,[edit1.text] align 4
@@: but_ctrl_o:
pop eax push eax
ret call get_wnd_in_focus
or eax,eax
;ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9> jz @f
align 4 stdcall [ted_open_file], eax,str_file_70,[edit1.text]
but_ctrl_n: @@:
push eax pop eax
call get_wnd_in_focus ret
or eax,eax
jz @f ;ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>
stdcall [ted_clear], eax,1 align 4
stdcall [ted_draw], eax but_ctrl_n:
@@: push eax
pop eax call get_wnd_in_focus
ret or eax,eax
jz @f
;<3B><><EFBFBD><E0A5A4><20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><E4AEAA><EFBFBD> stdcall [ted_clear], eax,1
align 4 stdcall [ted_draw], eax
get_wnd_in_focus: @@:
xor eax,eax pop eax
cmp dword[el_focus],tedit0 ret
jne @f
mov eax,tedit0 ;<3B><><EFBFBD><E0A5A4><20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><E4AEAA><EFBFBD>
@@: align 4
;cmp dword[el_focus],tedit1 get_wnd_in_focus:
;jne @f xor eax,eax
; mov eax,tedit1 cmp dword[el_focus],tedit0
;@@: jne @f
ret mov eax,tedit0
@@:
hed db 'TextEditor syntax file converter 18.12.20',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ;cmp dword[el_focus],tedit1
conv_tabl rb 128 ; ⠡<><E2A0A1><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> scan-<2D><><EFBFBD><EFBFBD> <20> ascii-<2D><><EFBFBD> ;jne @f
; mov eax,tedit1
txt_load_f db '<27><><EFBFBD><EFBFBD>. 䠩<>',0 ;@@:
txt_save_f db '<27><><EFBFBD><EFBFBD>. 䠩<>',0 ret
txt_inp_file db '<27><><EFBFBD>. 䠩<>:',0
txt_out_file db '<27><><EFBFBD>. 䠩<>:',0 hed db 'TextEditor syntax file converter 18.12.20',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
conv_tabl rb 128 ; ⠡<><E2A0A1><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> scan-<2D><><EFBFBD><EFBFBD> <20> ascii-<2D><><EFBFBD>
;library structures
l_libs_start: txt_load_f db '<27><><EFBFBD><EFBFBD>. 䠩<>',0
lib0 l_libs lib_name_0, file_name, system_dir_0, import_box_lib txt_save_f db '<27><><EFBFBD><EFBFBD>. 䠩<>',0
lib1 l_libs lib_name_1, file_name, system_dir_1, import_libimg txt_inp_file db '<27><><EFBFBD>. 䠩<>:',0
load_lib_end: txt_out_file db '<27><><EFBFBD>. 䠩<>:',0
IncludeIGlobals ;library structures
l_libs_start:
align 16 lib0 l_libs lib_name_0, file_name, system_dir_0, import_box_lib
i_end: lib1 l_libs lib_name_1, file_name, system_dir_1, import_libimg
IncludeUGlobals load_lib_end:
procinfo process_information
rb 1024 IncludeIGlobals
thread:
rb 1024 align 16
stacktop: i_end:
sys_path rb 4096 IncludeUGlobals
file_name rb 4096 procinfo process_information
file_name_rez rb 4096 rb 1024
mem: thread:
rb 1024
stacktop:
sys_path rb 4096
file_name rb 4096
file_name_rez rb 4096
mem: