Subversion Repositories Kolibri OS

Rev

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

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