Subversion Repositories Kolibri OS

Rev

Rev 4308 | Rev 5637 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4308 Rev 4991
1
;Ž£à®¬­ ï ¡« £®¤ à­®áâì ¢á¥¬, ªâ® ¯®¬®£ «: ª®¤®¬/ᮢ¥â®¬/¤¨§ ©­®¬ ...
1
;Ž£à®¬­ ï ¡« £®¤ à­®áâì ¢á¥¬, ªâ® ¯®¬®£ «: ª®¤®¬/ᮢ¥â®¬/¤¨§ ©­®¬ ...
2
 
2
 
3
use32
3
use32
4
  org 0x0
4
  org 0x0
5
  db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
5
  db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
6
  dd 0x01
6
  dd 0x01
7
  dd start
7
  dd start
8
  dd i_end ; à §¬¥à ¯à¨«®¦¥­¨ï
8
  dd i_end ; à §¬¥à ¯à¨«®¦¥­¨ï
9
  dd mem
9
  dd mem
10
  dd stacktop
10
  dd stacktop
11
  dd file_name ; command line
11
  dd file_name ; command line
12
  dd sys_path
12
  dd sys_path
13
 
13
 
14
MAX_COLOR_WORD_LEN equ 40
14
MAX_COLOR_WORD_LEN equ 40
15
maxChars equ 100002 ;(...+2)
15
maxChars equ 100002 ;(...+2)
16
BUF_SIZE equ 4096 ;buffer for copy|paste
16
BUF_SIZE equ 4096 ;buffer for copy|paste
17
maxSyntaxFileSize equ 410000
17
maxSyntaxFileSize equ 410000
18
TOOLBAR_ICONS_SIZE equ 1200*20
18
TOOLBAR_ICONS_SIZE equ 1200*20
19
 
19
 
20
include '../../proc32.inc'
20
include '../../proc32.inc'
21
;include '../../config.inc'
21
;include '../../config.inc'
22
include '../../macros.inc'
22
include '../../macros.inc'
23
include '../../dll.inc'
23
include '../../dll.inc'
24
include '../../develop/libraries/box_lib/load_lib.mac'
24
include '../../develop/libraries/box_lib/load_lib.mac'
25
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
25
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
26
include '../../system/desktop/trunk/kglobals.inc'
26
include '../../system/desktop/trunk/kglobals.inc'
27
include '../../system/desktop/trunk/unpacker.inc'
27
include '../../system/desktop/trunk/unpacker.inc'
28
include 'lang.inc'
28
include 'lang.inc'
29
 
29
 
30
include 't_data.inc'
30
include 't_data.inc'
31
include 'strlen.inc'
31
include 'strlen.inc'
32
include 't_draw.inc' ;draw main window functions
32
include 't_draw.inc' ;draw main window functions
33
include 't_button.inc' ;text work functions
33
include 't_button.inc' ;text work functions
34
include 'wnd_k_words.inc'
34
include 'wnd_k_words.inc'
35
 
35
 
36
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
36
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
37
 
37
 
38
 
38
 
39
;Œ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥­¨© á ¨á¯®«ì§®¢ ­¨¥¬ ¡¨¡«¨®â¥ª¨ libimg.obj
39
;Œ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥­¨© á ¨á¯®«ì§®¢ ­¨¥¬ ¡¨¡«¨®â¥ª¨ libimg.obj
40
;¤«ï ¨á¯®«ì§®¢ ­¨ï ¬ ªà®á  ­ã¦­ë ¯¥à¥¬¥­­ë¥:
40
;¤«ï ¨á¯®«ì§®¢ ­¨ï ¬ ªà®á  ­ã¦­ë ¯¥à¥¬¥­­ë¥:
41
; - run_file_70 FileInfoBlock
41
; - run_file_70 FileInfoBlock
42
; - image_data dd 0
42
; - image_data dd 0
43
macro load_image_file path,buf,size
43
macro load_image_file path,buf,size
44
{
44
{
45
	;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥­­®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬
45
	;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥­­®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬
46
	if path eqtype '' ;¯à®¢¥à塞 § ¤ ­ «¨ áâப®© ¯ à ¬¥âà path
46
	if path eqtype '' ;¯à®¢¥à塞 § ¤ ­ «¨ áâப®© ¯ à ¬¥âà path
47
		jmp @f
47
		jmp @f
48
			local .path_str
48
			local .path_str
49
			.path_str db path ;ä®à¬¨à㥬 «®ª «ì­ãî ¯¥à¥¬¥­­ãî
49
			.path_str db path ;ä®à¬¨à㥬 «®ª «ì­ãî ¯¥à¥¬¥­­ãî
50
			db 0
50
			db 0
51
		@@:
51
		@@:
52
		;32 - áâ ­¤ àâ­ë©  ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥­ ¡ëâì ¡ãä¥à á á¨á⥬­ë¬ ¯ã⥬
52
		;32 - áâ ­¤ àâ­ë©  ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥­ ¡ëâì ¡ãä¥à á á¨á⥬­ë¬ ¯ã⥬
53
		copy_path .path_str,[32],file_name,0x0
53
		copy_path .path_str,[32],file_name,0x0
54
	else
54
	else
55
		copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
55
		copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
56
	end if
56
	end if
57
 
57
 
58
	stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥­¨ï
58
	stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥­¨ï
59
	mov [buf],eax
59
	mov [buf],eax
60
 
60
 
61
	mov eax,70 ;70-ï äã­ªæ¨ï à ¡®â  á ä ©« ¬¨
61
	mov eax,70 ;70-ï äã­ªæ¨ï à ¡®â  á ä ©« ¬¨
62
	mov [run_file_70.Function], 0
62
	mov [run_file_70.Function], 0
63
	mov [run_file_70.Position], 0
63
	mov [run_file_70.Position], 0
64
	mov [run_file_70.Flags], 0
64
	mov [run_file_70.Flags], 0
65
	mov [run_file_70.Count], dword size
65
	mov [run_file_70.Count], dword size
66
	m2m [run_file_70.Buffer], [buf]
66
	m2m [run_file_70.Buffer], [buf]
67
	mov byte[run_file_70+20], 0
67
	mov byte[run_file_70+20], 0
68
	mov [run_file_70.FileName], file_name
68
	mov [run_file_70.FileName], file_name
69
	mov ebx,run_file_70
69
	mov ebx,run_file_70
70
	int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
70
	int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
71
	cmp ebx,0xffffffff
71
	cmp ebx,0xffffffff
72
	je @f
72
	je @f
73
		;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥­¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥­­ë© ¡ãä¥à image_data
73
		;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥­¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥­­ë© ¡ãä¥à image_data
74
		stdcall dword[img_decode], dword[buf],ebx,0
74
		stdcall dword[img_decode], dword[buf],ebx,0
75
		mov dword[image_data],eax
75
		mov dword[image_data],eax
76
		;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥­¨¥ ª ä®à¬ âã rgb
76
		;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥­¨¥ ª ä®à¬ âã rgb
77
		stdcall dword[img_to_rgb2], dword[image_data],dword[buf]
77
		stdcall dword[img_to_rgb2], dword[image_data],dword[buf]
78
		;㤠«ï¥¬ ¢à¥¬¥­­ë© ¡ãä¥à image_data
78
		;㤠«ï¥¬ ¢à¥¬¥­­ë© ¡ãä¥à image_data
79
		stdcall dword[img_destroy], dword[image_data]
79
		stdcall dword[img_destroy], dword[image_data]
80
	@@:
80
	@@:
81
}
81
}
82
 
82
 
83
image_data dd 0 ;㪠§ â¥«ì ­  ¢à¥¬¥­­ãî ¯ ¬ïâì. ¤«ï ­ã¦¥­ ¯à¥®¡à §®¢ ­¨ï ¨§®¡à ¦¥­¨ï
83
image_data dd 0 ;㪠§ â¥«ì ­  ¢à¥¬¥­­ãî ¯ ¬ïâì. ¤«ï ­ã¦¥­ ¯à¥®¡à §®¢ ­¨ï ¨§®¡à ¦¥­¨ï
84
icon_tl_sys dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï á¨á⥬­ëå ¨ª®­®ª
84
icon_tl_sys dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï á¨á⥬­ëå ¨ª®­®ª
85
 
85
 
86
align 4
86
align 4
87
start:
87
start:
88
	mcall 48,3,sc,sizeof.system_colors
88
	mcall 48,3,sc,sizeof.system_colors
89
 
89
 
90
	mcall 68,11
90
	mcall 68,11
91
	or eax,eax
91
	or eax,eax
92
	jz button.exit
92
	jz button.exit
93
 
93
 
94
	mcall 66,1,1 ;scan code
94
	mcall 66,1,1 ;scan code
95
	mcall 40,0xC0000027
95
	mcall 40,0xC0000027
96
 
96
 
97
	mov esi,file_name
97
	mov esi,file_name
98
	call strlen
98
	call strlen
99
	mov ecx,eax
99
	mov ecx,eax
100
	mov edi,openfile_path
100
	mov edi,openfile_path
101
	cld
101
	cld
102
	rep movsb ;ª®¯¨à㥬 ¨¬ï ä ©«  ¢ ¡ãä¥à openfile_path
102
	rep movsb ;ª®¯¨à㥬 ¨¬ï ä ©«  ¢ ¡ãä¥à openfile_path
103
 
103
 
104
load_libraries l_libs_start,load_lib_end
104
load_libraries l_libs_start,load_lib_end
105
 
105
 
106
;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨«¨áì ¡¨¡«¨®â¥ª¨
106
;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨«¨áì ¡¨¡«¨®â¥ª¨
107
mov	ebp,lib0
107
mov	ebp,lib0
108
.test_lib_open:
108
.test_lib_open:
109
	cmp	dword [ebp+ll_struc_size-4],0
109
	cmp	dword [ebp+ll_struc_size-4],0
110
	jz	@f
110
	jz	@f
111
	mcall -1 ;exit not correct
111
	mcall -1 ;exit not correct
112
@@:
112
@@:
113
	add ebp,ll_struc_size
113
	add ebp,ll_struc_size
114
	cmp ebp,load_lib_end
114
	cmp ebp,load_lib_end
115
	jl .test_lib_open
115
	jl .test_lib_open
116
 
116
 
117
;---------------------------------------------------------------------
117
;---------------------------------------------------------------------
118
	stdcall [ted_init], tedit0
118
	stdcall [ted_init], tedit0
119
	stdcall dword[tl_data_init], tree1
119
	stdcall dword[tl_data_init], tree1
120
 
120
 
121
; OpenDialog initialisation
121
; OpenDialog initialisation
122
	stdcall [OpenDialog_Init],OpenDialog_data
122
	stdcall [OpenDialog_Init],OpenDialog_data
123
	mov eax,[sc.work_button_text]
123
	mov eax,[sc.work_button_text]
124
	mov [PathShow_data_1.font_color],eax
124
	mov [PathShow_data_1.font_color],eax
125
	mov eax,[sc.work_button]
125
	mov eax,[sc.work_button]
126
	mov [PathShow_data_1.background_color],eax
126
	mov [PathShow_data_1.background_color],eax
127
 
127
 
128
; init toolbar file
128
; init toolbar file
129
	load_image_file 'te_icon.png', bmp_icon,TOOLBAR_ICONS_SIZE*2 ;㬭®¦¥­¨¥ ­  2 ¤«ï á¥àëå ª­®¯®ª
129
	load_image_file 'te_icon.png', bmp_icon,TOOLBAR_ICONS_SIZE*2 ;㬭®¦¥­¨¥ ­  2 ¤«ï á¥àëå ª­®¯®ª
130
	mov eax,[bmp_icon]
130
	mov eax,[bmp_icon]
131
	add eax,TOOLBAR_ICONS_SIZE
131
	add eax,TOOLBAR_ICONS_SIZE
132
	stdcall img_to_gray, [bmp_icon],eax,(TOOLBAR_ICONS_SIZE)/3
132
	stdcall img_to_gray, [bmp_icon],eax,(TOOLBAR_ICONS_SIZE)/3
133
;---------------------------------------------------------------------
133
;---------------------------------------------------------------------
134
; ç¨â ¥¬ ä ©« á ªãàá®à ¬¨ ¨ «¨­¨ï¬¨
134
; ç¨â ¥¬ ä ©« á ªãàá®à ¬¨ ¨ «¨­¨ï¬¨
135
	load_image_file 'tl_sys_16.png', icon_tl_sys,54+3*256*13
135
	load_image_file 'tl_sys_16.png', icon_tl_sys,54+3*256*13
136
	mov eax,dword[icon_tl_sys]
136
	mov eax,dword[icon_tl_sys]
137
	mov dword[tree1.data_img_sys],eax
137
	mov dword[tree1.data_img_sys],eax
138
;---------------------------------------------------------------------
138
;---------------------------------------------------------------------
139
; ç¨â ¥¬ ä ©« á ¨ª®­ª ¬¨ 㧫®¢
139
; ç¨â ¥¬ ä ©« á ¨ª®­ª ¬¨ 㧫®¢
140
	load_image_file 'tl_nod_16.png', icon_tl_sys,54+3*256*2
140
	load_image_file 'tl_nod_16.png', icon_tl_sys,54+3*256*2
141
	mov eax,dword[icon_tl_sys]
141
	mov eax,dword[icon_tl_sys]
142
	mov dword[tree1.data_img],eax
142
	mov dword[tree1.data_img],eax
143
;------------------------------------------------------------------------------
143
;------------------------------------------------------------------------------
144
  copy_path fn_syntax_dir,sys_path,file_name,0x0 ;¡¥à¥¬ ¯ãâì ª ¯ ¯ª¥ á ä ©« ¬¨ ᨭ⠪á¨á 
144
  copy_path fn_syntax_dir,sys_path,file_name,0x0 ;¡¥à¥¬ ¯ãâì ª ¯ ¯ª¥ á ä ©« ¬¨ ᨭ⠪á¨á 
145
  mov eax,70
145
  mov eax,70
146
  mov ebx,tree_file_struct
146
  mov ebx,tree_file_struct
147
  int 0x40
147
  int 0x40
148
 
148
 
149
cmp ebx,-1
149
cmp ebx,-1
150
je .end_dir_init
150
je .end_dir_init
151
 
151
 
152
  mov eax,dir_mem
152
  mov eax,dir_mem
153
  add eax,32+4+1+3+4*6+8
153
  add eax,32+4+1+3+4*6+8
154
mov ecx,ebx
154
mov ecx,ebx
155
@@:
155
@@:
156
  cmp byte[eax],'.' ;䨫ìâà㥬 ä ©«ë á ¨¬¥­ ¬¨ '.' ¨ '..'
156
  cmp byte[eax],'.' ;䨫ìâà㥬 ä ©«ë á ¨¬¥­ ¬¨ '.' ¨ '..'
157
  je .filter
157
  je .filter
158
    ;0x10000 ;1*2^16 - £¤¥ 1 ­®¬¥à ¨ª®­ª¨ á ª­¨£®©
158
    ;0x10000 ;1*2^16 - £¤¥ 1 ­®¬¥à ¨ª®­ª¨ á ª­¨£®©
159
    stdcall dword[tl_node_add], eax,0x10000, tree1
159
    stdcall dword[tl_node_add], eax,0x10000, tree1
160
 
160
 
161
    stdcall dword[tl_cur_next], tree1
161
    stdcall dword[tl_cur_next], tree1
162
  .filter:
162
  .filter:
163
  add eax,304
163
  add eax,304
164
  loop @b
164
  loop @b
165
  stdcall dword[tl_cur_beg],tree1 ;áâ ¢¨¬ ªãàá®à ­  ­ ç «® ᯨ᪠
165
  stdcall dword[tl_cur_beg],tree1 ;áâ ¢¨¬ ªãàá®à ­  ­ ç «® ᯨ᪠
166
.end_dir_init:
166
.end_dir_init:
167
 
167
 
168
;--- load ini file ---
168
;--- load ini file ---
169
	copy_path ini_name,sys_path,file_name,0
169
	copy_path ini_name,sys_path,file_name,0
170
	;window startup pozition
170
	;window startup pozition
171
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l
171
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l
172
	mov word[wnd_s_pos+2],ax
172
	mov word[wnd_s_pos+2],ax
173
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_w,ini_def_window_w
173
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_w,ini_def_window_w
174
	mov word[wnd_s_pos],ax
174
	mov word[wnd_s_pos],ax
175
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_t,ini_def_window_t
175
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_t,ini_def_window_t
176
	mov word[wnd_s_pos+6],ax
176
	mov word[wnd_s_pos+6],ax
177
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_h,ini_def_window_h
177
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_h,ini_def_window_h
178
	mov word[wnd_s_pos+4],ax
178
	mov word[wnd_s_pos+4],ax
179
	;scrool type
179
	;scrool type
180
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_scroll_type,ini_def_scroll_type
180
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_scroll_type,ini_def_scroll_type
181
	mov [wScr.type],eax
181
	mov [wScr.type],eax
182
	mov [hScr.type],eax
182
	mov [hScr.type],eax
183
	mov [ws_dir_lbox.type],eax
183
	mov [ws_dir_lbox.type],eax
184
    mov [w_scr_t3.type],eax
184
    mov [w_scr_t3.type],eax
185
	;symbol size
185
	;symbol size
186
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_symbol_w,ini_def_symbol_w
186
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_symbol_w,ini_def_symbol_w
187
	mov dword[tedit0.rec.width],eax
187
	mov dword[tedit0.rec.width],eax
188
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_symbol_h,ini_def_symbol_h
188
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_symbol_h,ini_def_symbol_h
189
	mov dword[tedit0.rec.height],eax
189
	mov dword[tedit0.rec.height],eax
190
	lea eax,[eax+eax*2]
190
	lea eax,[eax+eax*2]
191
	mov dword[tedit0.rec.top],eax
191
	mov dword[tedit0.rec.top],eax
192
	;ä ©«®¢ë¥ à áè¨à¥­¨ï
192
	;ä ©«®¢ë¥ à áè¨à¥­¨ï
193
	xor edx,edx
193
	xor edx,edx
194
	mov ebx,synt_auto_open
194
	mov ebx,synt_auto_open
195
	@@:
195
	@@:
196
		;¡¥à¥¬ ¨¬ï ä ©« 
196
		;¡¥à¥¬ ¨¬ï ä ©« 
197
		stdcall dword[ini_get_str],file_name,ini_sec_options,key_synt_file,ebx,32,ini_def_synt_f
197
		stdcall dword[ini_get_str],file_name,ini_sec_options,key_synt_file,ebx,32,ini_def_synt_f
198
		cmp byte[ebx],0
198
		cmp byte[ebx],0
199
		je @f
199
		je @f
200
		inc byte[key_synt_file.numb]
200
		inc byte[key_synt_file.numb]
201
		add ebx,32
201
		add ebx,32
202
		;¡¥à¥¬ à áè¨à¥­¨ï
202
		;¡¥à¥¬ à áè¨à¥­¨ï
203
		stdcall dword[ini_get_str],file_name,ini_sec_options,key_synt_ext,ebx,32,ini_def_synt_f
203
		stdcall dword[ini_get_str],file_name,ini_sec_options,key_synt_ext,ebx,32,ini_def_synt_f
204
		inc byte[key_synt_ext.numb]
204
		inc byte[key_synt_ext.numb]
205
		add ebx,32
205
		add ebx,32
206
		inc edx
206
		inc edx
207
		cmp edx,max_synt_auto_open
207
		cmp edx,max_synt_auto_open
208
		jl @b
208
		jl @b
209
	@@:
209
	@@:
210
 
210
 
211
;--- load color option file ---
211
;--- load color option file ---
212
	mov ebx,dword[fn_col_option]
212
	mov ebx,dword[fn_col_option]
213
	call open_unpac_synt_file
213
	call open_unpac_synt_file
214
 
214
 
215
;--- get cmd line ---
215
;--- get cmd line ---
216
	cmp byte[openfile_path+3],0 ;openfile_path
216
	cmp byte[openfile_path+3],0 ;openfile_path
217
	je @f ;if file names exist
217
	je @f ;if file names exist
218
		mov esi,openfile_path
218
		mov esi,openfile_path
219
		call strlen ;eax=strlen
219
		call strlen ;eax=strlen
220
		call but_no_msg_OpenFile
220
		call but_no_msg_OpenFile
221
	@@:
221
	@@:
222
 
222
 
223
 
223
 
224
 
224
 
225
align 4
225
align 4
226
red_win:
226
red_win:
227
  call draw_window
227
  call draw_window
228
 
228
 
229
align 4
229
align 4
230
still:
230
still:
231
	mcall 10
231
	mcall 10
-
 
232
	cmp dword[exit_code],1
-
 
233
	je button.exit
232
 
234
 
233
	cmp al,1 ;¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
235
	cmp al,1 ;¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
234
	jz red_win
236
	jz red_win
235
	cmp al,2
237
	cmp al,2
236
	jz key
238
	jz key
237
	cmp al,3
239
	cmp al,3
238
	jz button
240
	jz button
239
	cmp al,6 ;¬ëèì
241
	cmp al,6 ;¬ëèì
240
	jne @f
242
	jne @f
241
		jmp mouse
243
		jmp mouse
242
	@@:
244
	@@:
243
	jmp still
245
	jmp still
244
 
246
 
245
align 4
247
align 4
246
draw_window:
248
draw_window:
247
	mcall 12,1
249
	mcall 12,1
248
 
250
 
249
	mov edx,[sc.work]
251
	mov edx,[sc.work]
250
	or  edx,0x73000000
252
	or  edx,0x73000000
251
	mov edi,hed
253
	mov edi,hed
252
	mcall 0,dword[wnd_s_pos],dword[wnd_s_pos+4]
254
	mcall 0,dword[wnd_s_pos],dword[wnd_s_pos+4]
253
 
255
 
254
	mcall 9,procinfo,-1
256
	mcall 9,procinfo,-1
255
	mov edi,tedit0 ;§­ ç¥­¨¥ edi ­ã¦­® ¤«ï EvSize ¨ ted_wnd_t
257
	mov edi,tedit0 ;§­ ç¥­¨¥ edi ­ã¦­® ¤«ï EvSize ¨ ted_wnd_t
256
	call EvSize
258
	call EvSize
257
 
259
 
258
	mov eax,13 ;¢¥àå­¨© ¯àאַ㣮«ì­¨ª, ¤«ï ®ç¨á⪨ ¢¥àå­¥© ¯ ­¥«¨
260
	mov eax,13 ;¢¥àå­¨© ¯àאַ㣮«ì­¨ª, ¤«ï ®ç¨á⪨ ¢¥àå­¥© ¯ ­¥«¨
259
	xor ebx,ebx
261
	xor ebx,ebx
260
	mov ecx,ted_wnd_t
262
	mov ecx,ted_wnd_t
261
	mov bx,word[procinfo.client_box.width]
263
	mov bx,word[procinfo.client_box.width]
262
	inc bx
264
	inc bx
263
	int 0x40
265
	int 0x40
264
 
266
 
265
	mov eax,4
267
	mov eax,4
266
	mov ebx,185*65536+9
268
	mov ebx,185*65536+9
267
	mov ecx,[sc.work_text]
269
	mov ecx,[sc.work_text]
268
	or  ecx,0x80000000
270
	or  ecx,0x80000000
269
	mov edx,txtFile
271
	mov edx,txtFile
270
	int 0x40
272
	int 0x40
271
 
273
 
272
	stdcall [PathShow_draw], dword PathShow_data_1
274
	stdcall [PathShow_draw], dword PathShow_data_1
273
	stdcall [menu_bar_draw], dword menu_data_1
275
	stdcall [menu_bar_draw], dword menu_data_1
274
 
276
 
275
	call draw_but_toolbar
277
	call draw_but_toolbar
276
 
278
 
277
	stdcall [ted_draw], tedit0
279
	stdcall [ted_draw], tedit0
278
 
280
 
279
	mcall 12,2
281
	mcall 12,2
280
	ret
282
	ret
281
 
283
 
282
align 4
284
align 4
283
mouse:
285
mouse:
284
	stdcall [ted_mouse], tedit0
286
	stdcall [ted_mouse], tedit0
285
 
287
 
286
	cmp byte[tedit0.panel_id],TED_PANEL_FIND ;if not panel
288
	cmp byte[tedit0.panel_id],TED_PANEL_FIND ;if not panel
287
	jne @f
289
	jne @f
288
		stdcall [edit_box_mouse], dword edit2
290
		stdcall [edit_box_mouse], dword edit2
289
	@@:
291
	@@:
290
	cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX ;if not panel
292
	cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX ;if not panel
291
	jne .menu_bar_1 ;@f
293
	jne .menu_bar_1 ;@f
292
	stdcall [tl_mouse], tree1
294
	stdcall [tl_mouse], tree1
293
;-----------------------------------------------
295
;-----------------------------------------------
294
.menu_bar_1:
296
.menu_bar_1:
295
	mov [menu_data_1.get_mouse_flag],1
297
	mov [menu_data_1.get_mouse_flag],1
296
; mouse event for Menu 1
298
; mouse event for Menu 1
297
	stdcall [menu_bar_mouse],dword menu_data_1
299
	stdcall [menu_bar_mouse],dword menu_data_1
298
	cmp dword[menu_data_1.click],1
300
	cmp dword[menu_data_1.click],1
299
	jne .mnu_1
301
	jne .mnu_1
300
	cmp dword[menu_data_1.cursor_out],4
302
	cmp dword[menu_data_1.cursor_out],4
301
	je button.exit	
303
	je button.exit	
302
	cmp dword[menu_data_1.cursor_out],3
304
	cmp dword[menu_data_1.cursor_out],3
303
	jne @f
305
	jne @f
304
		call ted_but_save_file
306
		call ted_but_save_file
305
	@@:
307
	@@:
306
	cmp dword[menu_data_1.cursor_out],2
308
	cmp dword[menu_data_1.cursor_out],2
307
	jne @f
309
	jne @f
308
		call ted_but_open_file
310
		call ted_but_open_file
309
	@@:
311
	@@:
310
	cmp dword[menu_data_1.cursor_out],1
312
	cmp dword[menu_data_1.cursor_out],1
311
	jne @f
313
	jne @f
312
		call ted_but_new_file
314
		call ted_but_new_file
313
	@@:
315
	@@:
314
.mnu_1:
316
.mnu_1:
315
	jmp still
317
	jmp still
316
;---------------------------------------------------------------------
318
;---------------------------------------------------------------------
317
 
319
 
318
;output:
320
;output:
319
; ah = symbol
321
; ah = symbol
320
align 4
322
align 4
321
proc KeyConvertToASCII, table:dword
323
proc KeyConvertToASCII, table:dword
322
  push ebx
324
  push ebx
323
  mov ebx,dword[table] ;convert scan to ascii
325
  mov ebx,dword[table] ;convert scan to ascii
324
  ror ax,8
326
  ror ax,8
325
  xor ah,ah
327
  xor ah,ah
326
  add bx,ax
328
  add bx,ax
327
  mov ah,byte[ebx]
329
  mov ah,byte[ebx]
328
  pop ebx
330
  pop ebx
329
  ret
331
  ret
330
endp
332
endp
331
 
333
 
332
align 4
334
align 4
333
key:
335
key:
334
  mcall 66,3 ;66.3 ¯®«ãç¨âì á®áâ®ï­¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è
336
  mcall 66,3 ;66.3 ¯®«ãç¨âì á®áâ®ï­¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è
335
  xor esi,esi
337
  xor esi,esi
336
  mov ecx,1
338
  mov ecx,1
337
  test al,0x03 ;[Shift]
339
  test al,0x03 ;[Shift]
338
  jz @f
340
  jz @f
339
    mov cl,2
341
    mov cl,2
340
    or esi,KM_SHIFT
342
    or esi,KM_SHIFT
341
  @@:
343
  @@:
342
  test al,0x0c ;[Ctrl]
344
  test al,0x0c ;[Ctrl]
343
  jz @f
345
  jz @f
344
    or esi,KM_CTRL
346
    or esi,KM_CTRL
345
  @@:
347
  @@:
346
  test al,0x30 ;[Alt]
348
  test al,0x30 ;[Alt]
347
  jz @f
349
  jz @f
348
    mov cl,3
350
    mov cl,3
349
    or esi,KM_ALT
351
    or esi,KM_ALT
350
  @@:
352
  @@:
351
  test al,0x80 ;[NumLock]
353
  test al,0x80 ;[NumLock]
352
  jz @f
354
  jz @f
353
    or esi,KM_NUMLOCK
355
    or esi,KM_NUMLOCK
354
  @@:
356
  @@:
355
 
357
 
356
  mcall 26,2,,conv_tabl ;26.2 ¯®«ãç¨âì à áª« ¤ªã ª« ¢¨ âãàë
358
  mcall 26,2,,conv_tabl ;26.2 ¯®«ãç¨âì à áª« ¤ªã ª« ¢¨ âãàë
357
  mcall 2 ;¯®«ãç ¥¬ ª®¤ ­ ¦ â®© ª« ¢¨è¨
359
  mcall 2 ;¯®«ãç ¥¬ ª®¤ ­ ¦ â®© ª« ¢¨è¨
358
  stdcall [tl_key], tree1
360
  stdcall [tl_key], tree1
359
 
361
 
360
  test word [edit2.flags],10b;ed_focus ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
362
  test word [edit2.flags],10b;ed_focus ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
361
  je @f
363
  je @f
362
    cmp ah,0x80 ;if key up
364
    cmp ah,0x80 ;if key up
363
    ja still
365
    ja still
364
    cmp ah,42 ;[Shift] (left)
366
    cmp ah,42 ;[Shift] (left)
365
    je still
367
    je still
366
    cmp ah,54 ;[Shift] (right)
368
    cmp ah,54 ;[Shift] (right)
367
    je still
369
    je still
368
    cmp ah,56 ;[Alt]
370
    cmp ah,56 ;[Alt]
369
    je still
371
    je still
370
    cmp ah,29 ;[Ctrl]
372
    cmp ah,29 ;[Ctrl]
371
    je still
373
    je still
372
    cmp ah,69 ;[Pause Break]
374
    cmp ah,69 ;[Pause Break]
373
    je still
375
    je still
374
 
376
 
375
    stdcall KeyConvertToASCII, dword conv_tabl
377
    stdcall KeyConvertToASCII, dword conv_tabl
376
    stdcall [edit_box_key], dword edit2
378
    stdcall [edit_box_key], dword edit2
377
    jmp still
379
    jmp still
378
  @@:
380
  @@:
379
 
381
 
380
  stdcall [ted_key], tedit0, conv_tabl,esi
382
  stdcall [ted_key], tedit0, conv_tabl,esi
381
  jmp still
383
  jmp still
382
 
384
 
383
align 4
385
align 4
384
button:
386
button:
385
;  cmp [menu_active],1 ;¥á«¨ ­ ¦ «¨ ¬¥­î, â® á­ ç «  ॠªæ¨ï ­  ¬¥­î
387
;  cmp [menu_active],1 ;¥á«¨ ­ ¦ «¨ ¬¥­î, â® á­ ç «  ॠªæ¨ï ­  ¬¥­î
386
;  jne @f ;mouse.menu_bar_1
388
;  jne @f ;mouse.menu_bar_1
387
;    mov [menu_active],0
389
;    mov [menu_active],0
388
;    jmp still
390
;    jmp still
389
;  @@:
391
;  @@:
390
 
392
 
391
  mcall 17 ;¯®«ãç¨âì ª®¤ ­ ¦ â®© ª­®¯ª¨
393
  mcall 17 ;¯®«ãç¨âì ª®¤ ­ ¦ â®© ª­®¯ª¨
392
  cmp ah,3
394
  cmp ah,3
393
  jne @f
395
  jne @f
394
    call ted_but_new_file
396
    call ted_but_new_file
395
  @@:
397
  @@:
396
  cmp ah,4
398
  cmp ah,4
397
  jne @f
399
  jne @f
398
    call ted_but_open_file
400
    call ted_but_open_file
399
  @@:
401
  @@:
400
  cmp ah,5
402
  cmp ah,5
401
  jne @f
403
  jne @f
402
    call ted_but_save_file
404
    call ted_but_save_file
403
  @@:
405
  @@:
404
  cmp ah,6
406
  cmp ah,6
405
  jne @f
407
  jne @f
406
    stdcall [ted_but_select_word], tedit0
408
    stdcall [ted_but_select_word], tedit0
407
  @@:
409
  @@:
408
  cmp ah,7
410
  cmp ah,7
409
  jne @f
411
  jne @f
410
    stdcall [ted_but_cut], tedit0
412
    stdcall [ted_but_cut], tedit0
411
  @@:
413
  @@:
412
  cmp ah,8
414
  cmp ah,8
413
  jne @f
415
  jne @f
414
    stdcall [ted_but_copy], tedit0
416
    stdcall [ted_but_copy], tedit0
415
  @@:
417
  @@:
416
  cmp ah,9
418
  cmp ah,9
417
  jne @f
419
  jne @f
418
    stdcall [ted_but_paste], tedit0
420
    stdcall [ted_but_paste], tedit0
419
  @@:
421
  @@:
420
  cmp ah,10
422
  cmp ah,10
421
  jne @f
423
  jne @f
422
    call ted_but_find
424
    call ted_but_find
423
  @@:
425
  @@:
424
  cmp ah,11
426
  cmp ah,11
425
  jne @f
427
  jne @f
426
    call but_replace
428
    call but_replace
427
  @@:
429
  @@:
428
  cmp ah,12
430
  cmp ah,12
429
  jne @f
431
  jne @f
430
    call but_find_key_w
432
    call but_find_key_w
431
  @@:
433
  @@:
432
  cmp ah,13
434
  cmp ah,13
433
  jne @f
435
  jne @f
434
    stdcall [ted_but_sumb_upper], tedit0
436
    stdcall [ted_but_sumb_upper], tedit0
435
  @@:
437
  @@:
436
  cmp ah,14
438
  cmp ah,14
437
  jne @f
439
  jne @f
438
    stdcall [ted_but_sumb_lover], tedit0
440
    stdcall [ted_but_sumb_lover], tedit0
439
  @@:
441
  @@:
440
  cmp ah,15
442
  cmp ah,15
441
  jne @f
443
  jne @f
442
    stdcall [ted_but_reverse], tedit0
444
    stdcall [ted_but_reverse], tedit0
443
  @@:
445
  @@:
444
  cmp ah,16
446
  cmp ah,16
445
  jne @f
447
  jne @f
446
    stdcall [ted_but_undo], tedit0
448
    stdcall [ted_but_undo], tedit0
447
  @@:
449
  @@:
448
  cmp ah,17
450
  cmp ah,17
449
  jne @f
451
  jne @f
450
    stdcall [ted_but_redo], tedit0
452
    stdcall [ted_but_redo], tedit0
451
  @@:
453
  @@:
452
  cmp ah,18
454
  cmp ah,18
453
  jne @f
455
  jne @f
454
    stdcall but_sumb_invis, tedit0
456
    stdcall but_sumb_invis, tedit0
455
  @@:
457
  @@:
456
  cmp ah,19
458
  cmp ah,19
457
  jne @f
459
  jne @f
458
    stdcall but_k_words_show, tedit0
460
    stdcall but_k_words_show, tedit0
459
  @@:
461
  @@:
460
  cmp ah,20
462
  cmp ah,20
461
  jne @f
463
  jne @f
462
    stdcall but_synt_show, tedit0
464
    stdcall but_synt_show, tedit0
463
  @@:
465
  @@:
464
  cmp ah,21
466
  cmp ah,21
465
  jne @f
467
  jne @f
466
    stdcall [ted_but_convert_by_table],tedit0,tbl_1251_866
468
    stdcall [ted_but_convert_by_table],tedit0,tbl_1251_866
467
  @@:
469
  @@:
468
  cmp ah,22
470
  cmp ah,22
469
  jne @f
471
  jne @f
470
    stdcall [ted_but_convert_by_table],tedit0,tbl_866_1251
472
    stdcall [ted_but_convert_by_table],tedit0,tbl_866_1251
471
  @@:
473
  @@:
472
 
474
 
473
  cmp ah,200
475
  cmp ah,200
474
  jne @f
476
  jne @f
475
    stdcall ted_but_open_syntax, tedit0
477
    stdcall ted_but_open_syntax, tedit0
476
  @@:
478
  @@:
477
  cmp ah,201
479
  cmp ah,201
478
  jne @f
480
  jne @f
479
    stdcall [ted_but_find_next], tedit0
481
    stdcall [ted_but_find_next], tedit0
480
  @@:
482
  @@:
481
 
483
 
482
  cmp ah,1
484
  cmp ah,1
483
  jne still
485
  jne still
484
.exit:
486
.exit:
-
 
487
	cmp dword[exit_code],1
-
 
488
	je @f
485
	stdcall [ted_can_save], tedit0
489
	stdcall [ted_can_save], tedit0
486
	cmp al,1
490
	cmp al,1
487
	jne @f
491
	jne @f
488
		stdcall [mb_create],msgbox_8,thread ;message: save changes in file?
492
		stdcall [mb_create],msgbox_2,thread ;message: save changes in file?
-
 
493
		stdcall [mb_setfunctions],msgbox_2E_funct
489
		jmp still
494
		jmp still
490
	@@:
495
	@@:
491
	stdcall mem.Free,[bmp_icon]
496
	stdcall mem.Free,[bmp_icon]
492
	cmp dword[unpac_mem],0
497
	cmp dword[unpac_mem],0
493
	je @f
498
	je @f
494
		stdcall mem.Free,[unpac_mem]
499
		stdcall mem.Free,[unpac_mem]
495
	@@:
500
	@@:
496
 
501
 
497
	stdcall [ted_delete], tedit0
502
	stdcall [ted_delete], tedit0
498
	stdcall dword[tl_data_clear], tree1
503
	stdcall dword[tl_data_clear], tree1
499
	mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë
504
	mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë
500
 
505
 
501
PathShow_data_1:
506
PathShow_data_1:
502
.type			dd 0	;+0
507
.type			dd 0	;+0
503
.start_y		dw 9	;+4
508
.start_y		dw 9	;+4
504
.start_x		dw 222	;+6
509
.start_x		dw 222	;+6
505
.font_size_x		dw 6	;+8	; 6 - for font 0, 8 - for font 1
510
.font_size_x		dw 6	;+8     ; 6 - for font 0, 8 - for font 1
506
.area_size_x		dw 200	;+10
511
.area_size_x		dw 200	;+10
507
.font_number		dd 0	;+12	; 0 - monospace, 1 - variable
512
.font_number		dd 0	;+12    ; 0 - monospace, 1 - variable
508
.background_flag	dd 1	;+16
513
.background_flag	dd 1	;+16
509
.font_color		dd 0x0	;+20
514
.font_color		dd 0x0	;+20
510
.background_color	dd 0xffffff	;+24
515
.background_color	dd 0xffffff	;+24
511
.text_pointer		dd openfile_path	;+28
516
.text_pointer		dd openfile_path	;+28
512
.work_area_pointer	dd text_work_area	;+32
517
.work_area_pointer	dd text_work_area	;+32
513
.temp_text_length	dd 0	;+36
518
.temp_text_length	dd 0	;+36
514
 
519
 
515
edit2 edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
520
edit2 edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
516
 
521
 
517
unpac_mem dd 0
522
unpac_mem dd 0
518
 
523
 
519
if lang eq ru
524
if lang eq ru
520
  head_f_i:
525
  head_f_i:
521
  head_f_l db '‘¨á⥬­ ï ®è¨¡ª ',0
526
  head_f_l db '‘¨á⥬­ ï ®è¨¡ª ',0
522
  err_message_found_lib0 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'box_lib.obj',39,0
527
  err_message_found_lib0 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'box_lib.obj',39,0
523
  err_message_import0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib.obj',39,0
528
  err_message_import0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib.obj',39,0
524
  err_message_found_lib1 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'msgbox.obj',39,0
529
  err_message_found_lib1 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'msgbox.obj',39,0
525
  err_message_import1 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'msgbox.obj',39,0
530
  err_message_import1 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'msgbox.obj',39,0
526
  err_message_found_lib2 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'proc_lib.obj',39,0
531
  err_message_found_lib2 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'proc_lib.obj',39,0
527
  err_message_import2 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0
532
  err_message_import2 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0
528
  err_message_found_lib_3 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libimg.obj',39,0
533
  err_message_found_lib_3 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libimg.obj',39,0
529
  err_message_import_3 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libimg.obj',39,0
534
  err_message_import_3 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libimg.obj',39,0
530
  err_message_found_lib_4 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libini.obj',39,0
535
  err_message_found_lib_4 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libini.obj',39,0
531
  err_message_import_4 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libini.obj',39,0
536
  err_message_import_4 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libini.obj',39,0
532
else
537
else
533
  head_f_i:
538
  head_f_i:
534
  head_f_l db 'System error',0
539
  head_f_l db 'System error',0
535
  err_message_found_lib0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0
540
  err_message_found_lib0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0
536
  err_message_import0 db 'Error on load import library ',39,'box_lib.obj',39,0
541
  err_message_import0 db 'Error on load import library ',39,'box_lib.obj',39,0
537
  err_message_found_lib1 db 'Sorry I cannot found library ',39,'msgbox.obj',39,0
542
  err_message_found_lib1 db 'Sorry I cannot found library ',39,'msgbox.obj',39,0
538
  err_message_import1 db 'Error on load import library ',39,'msgbox.obj',39,0
543
  err_message_import1 db 'Error on load import library ',39,'msgbox.obj',39,0
539
  err_message_found_lib2 db 'Sorry I cannot found library ',39,'proc_lib.obj',39,0
544
  err_message_found_lib2 db 'Sorry I cannot found library ',39,'proc_lib.obj',39,0
540
  err_message_import2 db 'Error on load import library ',39,'proc_lib.obj',39,0
545
  err_message_import2 db 'Error on load import library ',39,'proc_lib.obj',39,0
541
  err_message_found_lib_3 db 'Sorry I cannot found library ',39,'libimg.obj',39,0
546
  err_message_found_lib_3 db 'Sorry I cannot found library ',39,'libimg.obj',39,0
542
  err_message_import_3 db 'Error on load import library ',39,'libimg.obj',39,0
547
  err_message_import_3 db 'Error on load import library ',39,'libimg.obj',39,0
543
  err_message_found_lib_4 db 'Sorry I cannot found library ',39,'libini.obj',39,0
548
  err_message_found_lib_4 db 'Sorry I cannot found library ',39,'libini.obj',39,0
544
  err_message_import_4 db 'Error on load import library ',39,'libini.obj',39,0
549
  err_message_import_4 db 'Error on load import library ',39,'libini.obj',39,0
545
end if
550
end if
546
 
551
 
547
;library structures
552
;library structures
548
l_libs_start:
553
l_libs_start:
549
	lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\
554
	lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\
550
		err_message_found_lib0, head_f_l, import_box_lib,err_message_import0, head_f_i
555
		err_message_found_lib0, head_f_l, import_box_lib,err_message_import0, head_f_i
551
	lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\
556
	lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\
552
		err_message_found_lib1, head_f_l, import_msgbox_lib, err_message_import1, head_f_i
557
		err_message_found_lib1, head_f_l, import_msgbox_lib, err_message_import1, head_f_i
553
	lib2 l_libs lib_name_2, sys_path, file_name, system_dir_2,\
558
	lib2 l_libs lib_name_2, sys_path, file_name, system_dir_2,\
554
		err_message_found_lib2, head_f_l, import_proclib, err_message_import2, head_f_i
559
		err_message_found_lib2, head_f_l, import_proclib, err_message_import2, head_f_i
555
	lib3 l_libs lib_name_3, sys_path, file_name, system_dir_3,\
560
	lib3 l_libs lib_name_3, sys_path, file_name, system_dir_3,\
556
		err_message_found_lib_3, head_f_l, import_libimg, err_message_import_3, head_f_i
561
		err_message_found_lib_3, head_f_l, import_libimg, err_message_import_3, head_f_i
557
	lib4 l_libs lib_name_4, sys_path, file_name, system_dir_4,\
562
	lib4 l_libs lib_name_4, sys_path, file_name, system_dir_4,\
558
		err_message_found_lib_4, head_f_l, import_libini, err_message_import_4, head_f_i
563
		err_message_found_lib_4, head_f_l, import_libini, err_message_import_4, head_f_i
559
load_lib_end:
564
load_lib_end:
560
 
565
 
561
IncludeIGlobals
566
IncludeIGlobals
562
i_end:
567
i_end:
563
	dir_mem rb 32+304*count_of_dir_list_files
568
	dir_mem rb 32+304*count_of_dir_list_files
564
	wnd_s_pos: ;¬¥áâ® ¤«ï ­ áâ஥ª áâ à⮢®© ¯®§¨æ¨¨ ®ª­ 
569
	wnd_s_pos: ;¬¥áâ® ¤«ï ­ áâ஥ª áâ à⮢®© ¯®§¨æ¨¨ ®ª­ 
565
		rq 1
570
		rq 1
566
	last_open_synt_file rb 32 ;¨¬ï ¯®á«¥¤­¥£® ¯®¤ª«î祭­®£® ä ©«  ᨭ⠪á¨á 
571
	last_open_synt_file rb 32 ;¨¬ï ¯®á«¥¤­¥£® ¯®¤ª«î祭­®£® ä ©«  ᨭ⠪á¨á 
567
	buf rb BUF_SIZE ;¡ãä¥à ¤«ï ª®¯¨à®¢ ­¨ï ¨ ¢áâ ¢ª¨
572
	buf rb BUF_SIZE ;¡ãä¥à ¤«ï ª®¯¨à®¢ ­¨ï ¨ ¢áâ ¢ª¨
568
	buf_find rb 302 ;¡ãä¥à ¤«ï ¯®¨áª  ⥪áâ 
573
	buf_find rb 302 ;¡ãä¥à ¤«ï ¯®¨áª  ⥪áâ 
569
IncludeUGlobals
574
IncludeUGlobals
570
	align 16
575
	align 16
571
	procinfo process_information
576
	procinfo process_information
572
		rb 1024
577
		rb 1024
573
	thread:
578
	thread:
574
	rb 1024
579
	rb 1024
575
    thread_coords:
580
    thread_coords:
576
	rb 1024
581
	rb 1024
577
stacktop:
582
stacktop:
578
	sys_path: ;¯ãâì ®âªã¤  § ¯ãá⨫áï ¨á¯®«­ï¥¬ë© ä ©«
583
	sys_path: ;¯ãâì ®âªã¤  § ¯ãá⨫áï ¨á¯®«­ï¥¬ë© ä ©«
579
		rb 4096
584
		rb 4096
580
	file_name: ;¯ à ¬¥âàë § ¯ã᪠
585
	file_name: ;¯ à ¬¥âàë § ¯ã᪠
581
		rb 4096
586
		rb 4096
582
	syntax_path: ;¨¬ï ¯®¤ª«îç ¥¬®£® ä ©«  ᨭ⠪á¨á 
587
	syntax_path: ;¨¬ï ¯®¤ª«îç ¥¬®£® ä ©«  ᨭ⠪á¨á 
583
		rb 4096
588
		rb 4096
584
	plugin_path:
589
	plugin_path:
585
		rb 4096
590
		rb 4096
586
	openfile_path: ;¯®«­ë© ¯ãâì ª ä ©«ã á ª®â®àë¬ ¨¤¥â à ¡®â 
591
	openfile_path: ;¯®«­ë© ¯ãâì ª ä ©«ã á ª®â®àë¬ ¨¤¥â à ¡®â 
587
		rb 4096
592
		rb 4096
588
	text_work_area: ;¯ãâì ª ä ©«ã, ª®â®àë© ¯®ª §ë¢ ¥âáï ¢ ®ª­¥
593
	text_work_area: ;¯ãâì ª ä ©«ã, ª®â®àë© ¯®ª §ë¢ ¥âáï ¢ ®ª­¥
589
		rb 4096
594
		rb 4096
590
	filename_area: ;¨¬ï ä ©«  ¤«ï ¤¨ «®£  ®âªàëâ¨ï/§ ªàëâ¨ï
595
	filename_area: ;¨¬ï ä ©«  ¤«ï ¤¨ «®£  ®âªàëâ¨ï/§ ªàëâ¨ï
591
		rb 256
596
		rb 256
592
	file_info:
597
	file_info:
593
		rb 40
598
		rb 40
594
mem:
599
mem: