Subversion Repositories Kolibri OS

Rev

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

Rev 1727 Rev 1732
1
use32
1
use32
2
	org 0x0
2
	org 0x0
3
	db 'MENUET01'
3
	db 'MENUET01'
4
	dd 0x1
4
	dd 0x1
5
	dd start
5
	dd start
6
	dd i_end
6
	dd i_end
7
	dd mem
7
	dd mem
8
	dd stacktop
8
	dd stacktop
9
	dd buf_cmd_lin
9
	dd buf_cmd_lin
10
	dd sys_path
10
	dd sys_path
11
 
11
 
12
include '../../macros.inc'
12
include '../../macros.inc'
13
include '../../proc32.inc'
13
include '../../proc32.inc'
14
include '../../develop/libraries/box_lib/load_lib.mac'
14
include '../../develop/libraries/box_lib/load_lib.mac'
15
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
15
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
16
include 'mem.inc'
16
include 'mem.inc'
17
include 'dll.inc'
17
include 'dll.inc'
18
include 'strlen.inc'
18
include 'strlen.inc'
19
include 'obj_codes.inc'
19
include 'obj_codes.inc'
20
 
20
 
21
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load
21
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load
22
 
22
 
23
hed db 'kol_f_edit 22.12.10',0
23
hed db 'kol_f_edit 31.12.10',0
24
 
24
 
25
sizeof.TreeList equ 20 ;need for element 'tree_list'
25
sizeof.TreeList equ 20 ;need for element 'tree_list'
26
 
26
 
27
BUF_STRUCT_SIZE equ 21
27
BUF_STRUCT_SIZE equ 21
28
buf2d_data equ dword[edi] ;¤ ­­ë¥ ¡ãä¥à  ¨§®¡à ¦¥­¨ï
28
buf2d_data equ dword[edi] ;¤ ­­ë¥ ¡ãä¥à  ¨§®¡à ¦¥­¨ï
29
buf2d_w equ dword[edi+8] ;è¨à¨­  ¡ãä¥à 
29
buf2d_w equ dword[edi+8] ;è¨à¨­  ¡ãä¥à 
30
buf2d_h equ dword[edi+12] ;¢ëá®â  ¡ãä¥à 
30
buf2d_h equ dword[edi+12] ;¢ëá®â  ¡ãä¥à 
31
buf2d_l equ word[edi+4] ;®âáâ㯠᫥¢ 
31
buf2d_l equ word[edi+4] ;®âáâ㯠᫥¢ 
32
buf2d_t equ word[edi+6] ;®âáâ㯠ᢥàåã
32
buf2d_t equ word[edi+6] ;®âáâ㯠ᢥàåã
33
buf2d_size_lt equ dword[edi+4] ;®âáâ㯠᫥¢  ¨ á¯à ¢  ¤«ï ¡ãä¥à 
33
buf2d_size_lt equ dword[edi+4] ;®âáâ㯠᫥¢  ¨ á¯à ¢  ¤«ï ¡ãä¥à 
34
buf2d_color equ dword[edi+16] ;梥â ä®­  ¡ãä¥à 
34
buf2d_color equ dword[edi+16] ;梥â ä®­  ¡ãä¥à 
35
buf2d_bits equ byte[edi+20] ;ª®«¨ç¥á⢮ ¡¨â ¢ 1-© â®çª¥ ¨§®¡à ¦¥­¨ï
35
buf2d_bits equ byte[edi+20] ;ª®«¨ç¥á⢮ ¡¨â ¢ 1-© â®çª¥ ¨§®¡à ¦¥­¨ï
36
 
36
 
37
 
37
 
38
MAX_CED_OBJECTS equ 200
38
MAX_CED_OBJECTS equ 200
39
MAX_OPT_FIELDS equ 11
39
MAX_OPT_FIELDS equ 11
40
MAX_OBJ_TYPES equ 17 ;¬ ªá¨¬ «ì­®¥ ç¨á«® ®¡ê¥ªâ®¢
40
MAX_OBJ_TYPES equ 17 ;¬ ªá¨¬ «ì­®¥ ç¨á«® ®¡ê¥ªâ®¢
41
MAX_OBJ_CAPTIONS equ 1000 ;à §¬¥à ¤®¯®«­¨â¥«ì­ëå ¯®¤¯¨á¥© ¯®¤¯¨á¥©
41
MAX_OBJ_CAPTIONS equ 1000 ;à §¬¥à ¤®¯®«­¨â¥«ì­ëå ¯®¤¯¨á¥© ¯®¤¯¨á¥©
42
WND_CAPT_COLOR equ 0xb0d0ff
42
WND_CAPT_COLOR equ 0xb0d0ff
43
BUF_SIZE equ 1000
43
BUF_SIZE equ 1000
44
 
44
 
45
;modif
45
;modif
46
BIT_MOD_ACI equ 0 ;¯¥à¢®­ ç «ì­ë¥ ­ áâனª¨ í«¥¬¥­â®¢
46
BIT_MOD_ACI equ 0 ;¯¥à¢®­ ç «ì­ë¥ ­ áâனª¨ í«¥¬¥­â®¢
47
BIT_MOD_ACM equ 1 ;ᮡëâ¨ï ®â ¬ëè¨
47
BIT_MOD_ACM equ 1 ;ᮡëâ¨ï ®â ¬ëè¨
48
BIT_MOD_ACD equ 2 ;¤ ­­ë¥ ®¡ê¥ªâ®¢
48
BIT_MOD_ACD equ 2 ;¤ ­­ë¥ ®¡ê¥ªâ®¢
49
BIT_MOD_ABU equ 3 ;á¢ï§ë¢ ­¨¥ ª­®¯®ª
49
BIT_MOD_ABU equ 3 ;á¢ï§ë¢ ­¨¥ ª­®¯®ª
50
;CPP_MOD_WI_CA equ 16 ;áâ¨«ì ®ª­  ¯®¤¯¨áì
50
;CPP_MOD_WI_CA equ 16 ;áâ¨«ì ®ª­  ¯®¤¯¨áì
51
;CPP_MOD_WI_AO equ 32 ;áâ¨«ì ®ª­  ª®®à¤¨­ âë ®â­®á¨â¥«ì­® ª«¨¥­â᪮© ®¡« áâ¨
51
;CPP_MOD_WI_AO equ 32 ;áâ¨«ì ®ª­  ª®®à¤¨­ âë ®â­®á¨â¥«ì­® ª«¨¥­â᪮© ®¡« áâ¨
52
;CPP_MOD_WI_RD equ 64 ;áâ¨«ì ®ª­  ¯¥à¥à¨á®¢ª  ®ª­ 
52
;CPP_MOD_WI_RD equ 64 ;áâ¨«ì ®ª­  ¯¥à¥à¨á®¢ª  ®ª­ 
53
;CPP_MOD_WI_GR equ 128 ;áâ¨«ì ®ª­  £à ¤¨¥­â
53
;CPP_MOD_WI_GR equ 128 ;áâ¨«ì ®ª­  £à ¤¨¥­â
54
BIT_MOD_CHE equ 0 ; ch_flag_en - ¢ë¡à ­ CheckBox
54
BIT_MOD_CHE equ 0 ; ch_flag_en - ¢ë¡à ­ CheckBox
55
BIT_MOD_CHE_T equ 1 ;ᢥàåã
55
BIT_MOD_CHE_T equ 1 ;ᢥàåã
56
BIT_MOD_CHE_M equ 2 ;¯® 業âàã
56
BIT_MOD_CHE_M equ 2 ;¯® 業âàã
57
BIT_MOD_CHE_B equ 3 ;á­¨§ã
57
BIT_MOD_CHE_B equ 3 ;á­¨§ã
58
BIT_MOD_TXT_ASCII_0 equ 0 ;⥪áâ § ª ­ç¨¢. 0
58
BIT_MOD_TXT_ASCII_0 equ 0 ;⥪áâ § ª ­ç¨¢. 0
59
BIT_MOD_TXT_NO_TRAN equ 1 ;⥪á⠯஧à ç­ë©
59
BIT_MOD_TXT_NO_TRAN equ 1 ;⥪á⠯஧à ç­ë©
60
BIT_MOD_TXT_CHAR2 equ 2 ;⥪áâ 2-¬ èà¨ä⮬
60
BIT_MOD_TXT_CHAR2 equ 2 ;⥪áâ 2-¬ èà¨ä⮬
61
BIT_MOD_EDIT_FOC equ 0 ;EditBox ¢ 䮪ãá¥
61
BIT_MOD_EDIT_FOC equ 0 ;EditBox ¢ 䮪ãá¥
62
BIT_MOD_EDIT_FIO equ 1 ;
62
BIT_MOD_EDIT_FIO equ 1 ;
63
;CPP_MOD_RE_GR equ 1 ;£à ¤¨¥­â­ë© ¯àאַ㣮«ì­¨ª
63
;CPP_MOD_RE_GR equ 1 ;£à ¤¨¥­â­ë© ¯àאַ㣮«ì­¨ª
64
BIT_MOD_BUT_NFON equ 0 ;á⨫ì Button ­¥ à¨á®¢ âì ª­®¯ªã
64
BIT_MOD_BUT_NFON equ 0 ;á⨫ì Button ­¥ à¨á®¢ âì ª­®¯ªã
65
BIT_MOD_BUT_NBORD equ 1 ;á⨫ì Button ­¥ à¨á®¢ âì £à ­¨æã
65
BIT_MOD_BUT_NBORD equ 1 ;á⨫ì Button ­¥ à¨á®¢ âì £à ­¨æã
66
BIT_MOD_IMPORT_FUNCT_COMMENT equ 0 ;ª®¬¥­â¨à®¢ âì äã­ªæ¨î
66
BIT_MOD_IMPORT_FUNCT_COMMENT equ 0 ;ª®¬¥­â¨à®¢ âì äã­ªæ¨î
67
 
67
 
68
macro load_image_file path,buf,size ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥­¨©
68
macro load_image_file path,buf,size ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥­¨©
69
{
69
{
70
	copy_path path,sys_path,fp_icon,0x0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
70
	copy_path path,sys_path,fp_icon,0x0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
71
 
71
 
72
	stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥­¨ï
72
	stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥­¨ï
73
	mov [buf],eax
73
	mov [buf],eax
74
 
74
 
75
	mov eax,70 ;70-ï äã­ªæ¨ï à ¡®â  á ä ©« ¬¨
75
	mov eax,70 ;70-ï äã­ªæ¨ï à ¡®â  á ä ©« ¬¨
76
	mov [run_file_70.Function], 0
76
	mov [run_file_70.Function], 0
77
	mov [run_file_70.Position], 0
77
	mov [run_file_70.Position], 0
78
	mov [run_file_70.Flags], 0
78
	mov [run_file_70.Flags], 0
79
	mov [run_file_70.Count], dword size
79
	mov [run_file_70.Count], dword size
80
	m2m [run_file_70.Buffer], [buf]
80
	m2m [run_file_70.Buffer], [buf]
81
	mov byte[run_file_70+20], 0
81
	mov byte[run_file_70+20], 0
82
	mov [run_file_70.FileName], fp_icon
82
	mov [run_file_70.FileName], fp_icon
83
	mov ebx,run_file_70
83
	mov ebx,run_file_70
84
	int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
84
	int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
85
	cmp ebx,0xffffffff
85
	cmp ebx,0xffffffff
86
	je @f
86
	je @f
87
		;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥­¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥­­ë© ¡ãä¥à image_data
87
		;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥­¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥­­ë© ¡ãä¥à image_data
88
		stdcall dword[img_decode], dword[buf],ebx,0
88
		stdcall dword[img_decode], dword[buf],ebx,0
89
		mov dword[image_data],eax
89
		mov dword[image_data],eax
90
		;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥­¨¥ ª ä®à¬ âã rgb
90
		;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥­¨¥ ª ä®à¬ âã rgb
91
		stdcall dword[img_to_rgb2], dword[image_data],dword[buf]
91
		stdcall dword[img_to_rgb2], dword[image_data],dword[buf]
92
		;㤠«ï¥¬ ¢à¥¬¥­­ë© ¡ãä¥à image_data
92
		;㤠«ï¥¬ ¢à¥¬¥­­ë© ¡ãä¥à image_data
93
		stdcall dword[img_destroy], dword[image_data]
93
		stdcall dword[img_destroy], dword[image_data]
94
	@@:
94
	@@:
95
}
95
}
96
 
96
 
97
struct FileInfoBlock
97
struct FileInfoBlock
98
	Function dd ?
98
	Function dd ?
99
	Position dd ?
99
	Position dd ?
100
	Flags	 dd ?
100
	Flags	 dd ?
101
	Count	 dd ?
101
	Count	 dd ?
102
	Buffer	 dd ?
102
	Buffer	 dd ?
103
	rezerv	 db ?
103
	rezerv	 db ?
104
	FileName dd ?
104
	FileName dd ?
105
ends
105
ends
106
 
106
 
107
struct object
107
struct object
108
	id dd ? ;¨¤¥­â¨ä¨ª â®à ®¡ê¥ªâ 
108
	id dd ? ;¨¤¥­â¨ä¨ª â®à ®¡ê¥ªâ 
109
	txt rb MAX_LEN_OBJ_TXT ;⥪áâ®¢ë¥ á¢®©á⢠
109
	txt rb MAX_LEN_OBJ_TXT ;⥪áâ®¢ë¥ á¢®©á⢠
110
	lvl db 0
110
	lvl db 0
111
	clo db 0
111
	clo db 0
112
	typid dd ? ;­®¬¥à ®¡ê¥ªâ  ®¯à¥¤¥«ïî饣® ⨯ ¯¥à¥¬¥­­®©
112
	typid dd ? ;­®¬¥à ®¡ê¥ªâ  ®¯à¥¤¥«ïî饣® ⨯ ¯¥à¥¬¥­­®©
113
	modif dd ? ;¡¨â®¢ë¥ ᢮©á⢠
113
	modif dd ? ;¡¨â®¢ë¥ ᢮©á⢠
114
ends
114
ends
115
 
115
 
116
struct ObjOpt
116
struct ObjOpt
117
	dd ?
117
	dd ?
118
	bl_type db ?
118
	bl_type db ?
119
	graph db ?
119
	graph db ?
120
	info rb 30
120
	info rb 30
121
	caption rb MAX_OPT_CAPTION
121
	caption rb MAX_OPT_CAPTION
122
	Col rw MAX_OPT_FIELDS
122
	Col rw MAX_OPT_FIELDS
123
	img rw MAX_OPT_FIELDS ;¨­¤¥ªáë ª à⨭®ª (¢ ä ©«¥ 'icon.bmp')
123
	img rw MAX_OPT_FIELDS ;¨­¤¥ªáë ª à⨭®ª (¢ ä ©«¥ 'icon.bmp')
124
	bit_prop dd 0 ;¡¨â®¢ë¥ ᢮©á⢠ (¯®¤¯¨á¨, ­ §¢ ­¨ï)
124
	bit_prop dd 0 ;¡¨â®¢ë¥ ᢮©á⢠ (¯®¤¯¨á¨, ­ §¢ ­¨ï)
125
	bit_val dd 0 ;¡¨â®¢ë¥ ᢮©á⢠ (§­ ç¥­¨ï, ª®­áâ ­âë)
125
	bit_val dd 0 ;¡¨â®¢ë¥ ᢮©á⢠ (§­ ç¥­¨ï, ª®­áâ ­âë)
126
ends
126
ends
127
 
127
 
128
SKIN_H equ 22
128
SKIN_H equ 22
129
SKIN_W1 equ 5
129
SKIN_W1 equ 5
130
SKIN_W2 equ 7
130
SKIN_W2 equ 7
131
SKIN_W3 equ 23
131
SKIN_W3 equ 23
132
fn_skin_1 db 'left.bmp',0
132
fn_skin_1 db 'left.bmp',0
133
fn_skin_2 db 'base.bmp',0
133
fn_skin_2 db 'base.bmp',0
134
fn_skin_3 db 'oper.bmp',0
134
fn_skin_3 db 'oper.bmp',0
135
IMAGE_FILE_SKIN1_SIZE equ 3*(SKIN_W1+3)*SKIN_H+54
135
IMAGE_FILE_SKIN1_SIZE equ 3*(SKIN_W1+3)*SKIN_H+54
136
IMAGE_FILE_SKIN2_SIZE equ 3*(SKIN_W2+3)*SKIN_H+54
136
IMAGE_FILE_SKIN2_SIZE equ 3*(SKIN_W2+3)*SKIN_H+54
137
IMAGE_FILE_SKIN3_SIZE equ 3*(SKIN_W3+3)*SKIN_H+54
137
IMAGE_FILE_SKIN3_SIZE equ 3*(SKIN_W3+3)*SKIN_H+54
138
 
138
 
139
fn_font_s1 db 'font6x9.bmp',0
139
fn_font_s1 db 'font6x9.bmp',0
140
IMAGE_FILE_FONT1_SIZE equ 96*144*3 ;à §¬¥à ä ©«  á 1-¬ á¨á⥬­ë¬ èà¨ä⮬
140
IMAGE_FILE_FONT1_SIZE equ 96*144*3 ;à §¬¥à ä ©«  á 1-¬ á¨á⥬­ë¬ èà¨ä⮬
141
 
141
 
142
fn_icon db 'icon.bmp',0
142
fn_icon db 'icon.bmp',0
143
count_main_icons equ 35 ;ç¨á«® ¨ª®­®ª ¢ ä ©«¥ icon.bmp
143
count_main_icons equ 35 ;ç¨á«® ¨ª®­®ª ¢ ä ©«¥ icon.bmp
144
bmp_icon rb 0x300*count_main_icons
144
bmp_icon rb 0x300*count_main_icons
145
 
145
 
146
fn_icon_tl_sys db 'tl_sys_16.png',0
146
fn_icon_tl_sys db 'tl_sys_16.png',0
147
TREE_ICON_SYS16_BMP_SIZE equ 256*3*11+54 ;à §¬¥à bmp ä ©«  á á¨á⥬­ë¬¨ ¨ª®­ª ¬¨
147
TREE_ICON_SYS16_BMP_SIZE equ 256*3*11+54 ;à §¬¥à bmp ä ©«  á á¨á⥬­ë¬¨ ¨ª®­ª ¬¨
148
icon_tl_sys dd 0 ;㪠§ â¥¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï á¨á⥬­ëå ¨ª®­®ª
148
icon_tl_sys dd 0 ;㪠§ â¥¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï á¨á⥬­ëå ¨ª®­®ª
149
icon_font_s1 dd 0 ;㪠§ â¥«ì ­  ¢à¥¬¥­­ãî ¯ ¬ïâì ¤«ï § £à㧪¨ èà¨äâ 
149
icon_font_s1 dd 0 ;㪠§ â¥«ì ­  ¢à¥¬¥­­ãî ¯ ¬ïâì ¤«ï § £à㧪¨ èà¨äâ 
150
 
150
 
151
fn_syntax db 'asm.syn',0 ;¨¬ï § £à㦠¥¬®£® ä ©«  ᨭ⠪á¨á 
151
fn_syntax db 'asm.syn',0 ;¨¬ï § £à㦠¥¬®£® ä ©«  ᨭ⠪á¨á 
152
 
152
 
153
;¬ ªà®á ¤«ï ¯à®¢¥àª¨ ¡¨â®¢®£® ᢮©á⢠
153
;¬ ªà®á ¤«ï ¯à®¢¥àª¨ ¡¨â®¢®£® ᢮©á⢠
154
macro test_bool_prop obj_reg,n_prop
154
macro test_bool_prop obj_reg,n_prop
155
{
155
{
156
	bt dword[obj_reg+u_object.modif-u_object],n_prop
156
	bt dword[obj_reg+u_object.modif-u_object],n_prop
157
}
157
}
158
 
158
 
159
include 'ced_wnd_m.inc'
159
include 'ced_wnd_m.inc'
160
include 'ced_wnd_prop.inc' ;ä ©« á äã­ªæ¨ï¬¨ ®ª­  ᢮©á⢠®¡ê¥ªâ 
160
include 'ced_wnd_prop.inc' ;ä ©« á äã­ªæ¨ï¬¨ ®ª­  ᢮©á⢠®¡ê¥ªâ 
161
include 'ced_constr.inc' ;ä ©« á äã­ªæ¨ï¬¨ ®ª­  ª®­áâàãªâ®à 
161
include 'ced_constr.inc' ;ä ©« á äã­ªæ¨ï¬¨ ®ª­  ª®­áâàãªâ®à 
162
include 'ced_code_g.inc' ;ä ©« á äã­ªæ¨ï¬¨ £¥­¥à¨à®¢ ­¨ï ª®¤®¢
162
include 'ced_code_g.inc' ;ä ©« á äã­ªæ¨ï¬¨ £¥­¥à¨à®¢ ­¨ï ª®¤®¢
163
 
163
 
164
align 4
164
align 4
165
start:
165
start:
166
	load_libraries l_libs_start,load_lib_end
166
	load_libraries l_libs_start,load_lib_end
167
 
167
 
168
	;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨« áì ­ è  «¨¡ 
168
	;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨« áì ­ è  «¨¡ 
169
	mov	ebp,lib0
169
	mov	ebp,lib0
170
	cmp	dword [ebp+ll_struc_size-4],0
170
	cmp	dword [ebp+ll_struc_size-4],0
171
	jz	@f
171
	jz	@f
172
		mcall -1 ;exit not correct
172
		mcall -1 ;exit not correct
173
	@@:
173
	@@:
174
	mov	ebp,lib1
174
	mov	ebp,lib1
175
	cmp	dword [ebp+ll_struc_size-4],0
175
	cmp	dword [ebp+ll_struc_size-4],0
176
	jz	@f
176
	jz	@f
177
		mcall -1 ;exit not correct
177
		mcall -1 ;exit not correct
178
	@@:
178
	@@:
179
	mov	ebp,lib2
179
	mov	ebp,lib2
180
	cmp	dword [ebp+ll_struc_size-4],0
180
	cmp	dword [ebp+ll_struc_size-4],0
181
	jz	@f
181
	jz	@f
182
		mcall -1 ;exit not correct
182
		mcall -1 ;exit not correct
183
	@@:
183
	@@:
184
	mov	ebp,lib3
184
	mov	ebp,lib3
185
	cmp	dword [ebp+ll_struc_size-4],0
185
	cmp	dword [ebp+ll_struc_size-4],0
186
	jz	@f
186
	jz	@f
187
		mcall -1 ;exit not correct
187
		mcall -1 ;exit not correct
188
	@@:
188
	@@:
189
 
189
 
190
	;§ ¤ ­¨¥ à §¬¥à®¢ ¯®«¥© ᮠ᢮©á⢠¬¨
190
	;§ ¤ ­¨¥ à §¬¥à®¢ ¯®«¥© ᮠ᢮©á⢠¬¨
191
	mov eax,prop_edits_top
191
	mov eax,prop_edits_top
192
	mov ebx,16+6 ;è¨à¨­  ¨ª®­ª¨ + ®âáâã¯ë
192
	mov ebx,16+6 ;è¨à¨­  ¨ª®­ª¨ + ®âáâã¯ë
193
	mov edi,edit2
193
	mov edi,edit2
194
	@@:
194
	@@:
195
		mov ed_top,eax ;®âáâ㯠ᢥàåã
195
		mov ed_top,eax ;®âáâ㯠ᢥàåã
196
		mov ed_left,ebx ;®âáâ㯠᫥¢ 
196
		mov ed_left,ebx ;®âáâ㯠᫥¢ 
197
		add edi,ed_struc_size
197
		add edi,ed_struc_size
198
		add eax,prop_edits_height
198
		add eax,prop_edits_height
199
		cmp edi,prop_wnd_edits_end
199
		cmp edi,prop_wnd_edits_end
200
		jl @b
200
		jl @b
201
 
201
 
202
	stdcall [buf2d_create], buf_fon
202
	stdcall [buf2d_create], buf_fon
203
 
203
 
204
	mcall 48,3,sc,sizeof.system_colors
204
	mcall 48,3,sc,sizeof.system_colors
205
	mcall 40,0x27
205
	mcall 40,0x27
206
 
206
 
207
	stdcall dword[tl_data_init], tree1
207
	stdcall dword[tl_data_init], tree1
208
	stdcall dword[tl_data_init], tree2
208
	stdcall dword[tl_data_init], tree2
209
 
209
 
210
	copy_path fn_icon,sys_path,fp_icon,0x0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
210
	copy_path fn_icon,sys_path,fp_icon,0x0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
211
	mov eax,70 ;load icon file
211
	mov eax,70 ;load icon file
212
	mov [run_file_70.Function], 0
212
	mov [run_file_70.Function], 0
213
	mov [run_file_70.Position], 54
213
	mov [run_file_70.Position], 54
214
	mov [run_file_70.Flags], 0
214
	mov [run_file_70.Flags], 0
215
	mov [run_file_70.Count], 0x300*count_main_icons
215
	mov [run_file_70.Count], 0x300*count_main_icons
216
	mov [run_file_70.Buffer], bmp_icon
216
	mov [run_file_70.Buffer], bmp_icon
217
	mov [run_file_70.rezerv], 0
217
	mov [run_file_70.rezerv], 0
218
	mov [run_file_70.FileName], fp_icon
218
	mov [run_file_70.FileName], fp_icon
219
	mov ebx,run_file_70
219
	mov ebx,run_file_70
220
	int 0x40
220
	int 0x40
221
 
221
 
222
	cmp ebx,-1
222
	cmp ebx,-1
223
	mov [err_ini0],1
223
	mov [err_ini0],1
224
	je @f ;if open file
224
	je @f ;if open file
225
		mov [err_ini0],0
225
		mov [err_ini0],0
226
		mov dword[tree1.data_img],bmp_icon
226
		mov dword[tree1.data_img],bmp_icon
227
		mov dword[tree2.data_img],bmp_icon
227
		mov dword[tree2.data_img],bmp_icon
228
	@@:
228
	@@:
229
 
229
 
230
	;á¨á⥬­ë¥ ¨ª®­ª¨ 16*16 ¤«ï tree_list
230
	;á¨á⥬­ë¥ ¨ª®­ª¨ 16*16 ¤«ï tree_list
231
	load_image_file fn_icon_tl_sys, icon_tl_sys,TREE_ICON_SYS16_BMP_SIZE
231
	load_image_file fn_icon_tl_sys, icon_tl_sys,TREE_ICON_SYS16_BMP_SIZE
232
	;¥á«¨ ¨§®¡à ¦¥­¨¥ ­¥ ®âªàë«®áì, â® ¢ icon_tl_sys ¡ã¤ãâ
232
	;¥á«¨ ¨§®¡à ¦¥­¨¥ ­¥ ®âªàë«®áì, â® ¢ icon_tl_sys ¡ã¤ãâ
233
	;­¥ ¨­¨æ¨ «¨§¨à®¢ ­­ë¥ ¤ ­­ë¥, ­® ®è¨¡ª¨ ­¥ ¡ã¤¥â, â. ª. ¡ãä¥à ­ã¦­®£® à §¬¥à 
233
	;­¥ ¨­¨æ¨ «¨§¨à®¢ ­­ë¥ ¤ ­­ë¥, ­® ®è¨¡ª¨ ­¥ ¡ã¤¥â, â. ª. ¡ãä¥à ­ã¦­®£® à §¬¥à 
234
	mov eax,dword[icon_tl_sys]
234
	mov eax,dword[icon_tl_sys]
235
	mov dword[tree1.data_img_sys],eax
235
	mov dword[tree1.data_img_sys],eax
236
	mov dword[tree2.data_img_sys],eax
236
	mov dword[tree2.data_img_sys],eax
237
 
237
 
238
	;1-© ä ©« ᪨­ 
238
	;1-© ä ©« ᪨­ 
239
	load_image_file fn_skin_1, icon_font_s1,IMAGE_FILE_SKIN1_SIZE
239
	load_image_file fn_skin_1, icon_font_s1,IMAGE_FILE_SKIN1_SIZE
240
	stdcall [buf2d_create_f_img], buf_skin1,[icon_font_s1] ;ᮧ¤ ¥¬ ¡ãä¥à
240
	stdcall [buf2d_create_f_img], buf_skin1,[icon_font_s1] ;ᮧ¤ ¥¬ ¡ãä¥à
241
	stdcall mem.Free,[icon_font_s1] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
241
	stdcall mem.Free,[icon_font_s1] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
242
	;2-© ä ©« ᪨­ 
242
	;2-© ä ©« ᪨­ 
243
	load_image_file fn_skin_2, icon_font_s1,IMAGE_FILE_SKIN2_SIZE
243
	load_image_file fn_skin_2, icon_font_s1,IMAGE_FILE_SKIN2_SIZE
244
	stdcall [buf2d_create_f_img], buf_skin2,[icon_font_s1] ;ᮧ¤ ¥¬ ¡ãä¥à
244
	stdcall [buf2d_create_f_img], buf_skin2,[icon_font_s1] ;ᮧ¤ ¥¬ ¡ãä¥à
245
	stdcall mem.Free,[icon_font_s1] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
245
	stdcall mem.Free,[icon_font_s1] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
246
	;3-© ä ©« ᪨­ 
246
	;3-© ä ©« ᪨­ 
247
	load_image_file fn_skin_3, icon_font_s1,IMAGE_FILE_SKIN3_SIZE
247
	load_image_file fn_skin_3, icon_font_s1,IMAGE_FILE_SKIN3_SIZE
248
	stdcall [buf2d_create_f_img], buf_skin3,[icon_font_s1] ;ᮧ¤ ¥¬ ¡ãä¥à
248
	stdcall [buf2d_create_f_img], buf_skin3,[icon_font_s1] ;ᮧ¤ ¥¬ ¡ãä¥à
249
	stdcall mem.Free,[icon_font_s1] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
249
	stdcall mem.Free,[icon_font_s1] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
250
 
250
 
251
	;ᨬ¢®«ë 1-£® á¨á⥬­®£® èà¨äâ 
251
	;ᨬ¢®«ë 1-£® á¨á⥬­®£® èà¨äâ 
252
	load_image_file fn_font_s1, icon_font_s1,IMAGE_FILE_FONT1_SIZE
252
	load_image_file fn_font_s1, icon_font_s1,IMAGE_FILE_FONT1_SIZE
253
	stdcall [buf2d_create_f_img], buf_font,[icon_font_s1] ;ᮧ¤ ¥¬ ¡ãä¥à
253
	stdcall [buf2d_create_f_img], buf_font,[icon_font_s1] ;ᮧ¤ ¥¬ ¡ãä¥à
254
	stdcall mem.Free,[icon_font_s1] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
254
	stdcall mem.Free,[icon_font_s1] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
255
	stdcall [buf2d_conv_24_to_8], buf_font,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç­®á⨠8 ¡¨â
255
	stdcall [buf2d_conv_24_to_8], buf_font,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç­®á⨠8 ¡¨â
256
	stdcall [buf2d_convert_text_matrix], buf_font
256
	stdcall [buf2d_convert_text_matrix], buf_font
257
 
257
 
258
 
258
 
259
	copy_path fn_obj_opt,sys_path,fp_obj_opt,0x0
259
	copy_path fn_obj_opt,sys_path,fp_obj_opt,0x0
260
	;load options file
260
	;load options file
261
	mov eax,70
261
	mov eax,70
262
	mov [run_file_70.Position], 0
262
	mov [run_file_70.Position], 0
263
	mov [run_file_70.Count], sizeof.ObjOpt*MAX_OBJ_TYPES+MAX_OBJ_CAPTIONS
263
	mov [run_file_70.Count], sizeof.ObjOpt*MAX_OBJ_TYPES+MAX_OBJ_CAPTIONS
264
	mov [run_file_70.Buffer], obj_opt
264
	mov [run_file_70.Buffer], obj_opt
265
	mov [run_file_70.FileName], fp_obj_opt
265
	mov [run_file_70.FileName], fp_obj_opt
266
	mov ebx,run_file_70
266
	mov ebx,run_file_70
267
	int 0x40
267
	int 0x40
268
 
268
 
269
	cmp ebx,-1
269
	cmp ebx,-1
270
	mov [err_ini1],1
270
	mov [err_ini1],1
271
	je .open_end ;jmp if not open file
271
	je .open_end ;jmp if not open file
272
		mov [err_ini1],0
272
		mov [err_ini1],0
273
 
273
 
274
		mov eax,obj_opt ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâë
274
		mov eax,obj_opt ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâë
275
		@@:
275
		@@:
276
			mov ebx,dword[eax]
276
			mov ebx,dword[eax]
277
			cmp ebx,0
277
			cmp ebx,0
278
			je @f
278
			je @f
279
			;xor ecx,ecx ;¢ ecx ¡ã¤¥â ¨­¤¥ªá ¨ª®­ª¨
279
			;xor ecx,ecx ;¢ ecx ¡ã¤¥â ¨­¤¥ªá ¨ª®­ª¨
280
			mov cx,word[eax+obj_opt.img-obj_opt]
280
			mov cx,word[eax+obj_opt.img-obj_opt]
281
			cmp cx,0
281
			cmp cx,0
282
			jge .zero
282
			jge .zero
283
				xor cx,cx ;çâ®-¡ë ­¥ £«î稫® á ®âà¨æ â¥«ì­ë¬ ¨­¤¥ªá®¬
283
				xor cx,cx ;çâ®-¡ë ­¥ £«î稫® á ®âà¨æ â¥«ì­ë¬ ¨­¤¥ªá®¬
284
			.zero:
284
			.zero:
285
			shl ecx,16
285
			shl ecx,16
286
			stdcall dword[tl_node_add], eax, ecx, tree1 ;¤®¡ ¢«ï¥¬ ­ §¢ ­¨¥ ®¡ê¥ªâ 
286
			stdcall dword[tl_node_add], eax, ecx, tree1 ;¤®¡ ¢«ï¥¬ ­ §¢ ­¨¥ ®¡ê¥ªâ 
287
			stdcall dword[tl_cur_next], tree1 ;¯¥à¥­®á¨¬ ªãàá®à ¢­¨§, çâ®-¡ë ­¥ ¯®¬¥­ï«áï ¯®à冷ª
287
			stdcall dword[tl_cur_next], tree1 ;¯¥à¥­®á¨¬ ªãàá®à ¢­¨§, çâ®-¡ë ­¥ ¯®¬¥­ï«áï ¯®à冷ª
288
			add eax,sizeof.ObjOpt ;¯¥à¥å®¤ ­  á«¥¤ãî騩 ®¡ê¥ªâ
288
			add eax,sizeof.ObjOpt ;¯¥à¥å®¤ ­  á«¥¤ãî騩 ®¡ê¥ªâ
289
			jmp @b
289
			jmp @b
290
		@@:
290
		@@:
291
		stdcall dword[tl_cur_beg], tree1 ;¯¥à¥­®á¨¬ ªãàá®à ¢¢¥àå
291
		stdcall dword[tl_cur_beg], tree1 ;¯¥à¥­®á¨¬ ªãàá®à ¢¢¥àå
292
 
292
 
293
	.open_end:
293
	.open_end:
294
 
294
 
295
	stdcall [ted_init], tedit0
295
	stdcall [ted_init], tedit0
296
	copy_path fn_syntax,sys_path,fp_icon,0x0
296
	copy_path fn_syntax,sys_path,fp_icon,0x0
297
	stdcall [ted_init_syntax_file], tedit0,run_file_70,fp_icon
297
	stdcall [ted_init_syntax_file], tedit0,run_file_70,fp_icon
298
	;mov edi,tedit0
298
	;mov edi,tedit0
299
    ;call [ted_text_colored]
299
    ;call [ted_text_colored]
300
 
300
 
301
	;get cmd line
301
	;get cmd line
302
	cmp [buf_cmd_lin],0
302
	cmp [buf_cmd_lin],0
303
	je @f ;if file names exist
303
	je @f ;if file names exist
304
		mov esi,buf_cmd_lin
304
		mov esi,buf_cmd_lin
305
		call strlen ;eax=strlen
305
		call strlen ;eax=strlen
306
		mov edi,[edit1.text]
306
		mov edi,[edit1.text]
307
		mov [edit1.size],eax
307
		mov [edit1.size],eax
308
		mov ecx,eax
308
		mov ecx,eax
309
		rep movsb
309
		rep movsb
310
		call but_open_proj
310
		call but_open_proj
311
	@@:
311
	@@:
312
 
312
 
313
 
313
 
314
 
314
 
315
align 4
315
align 4
316
red_win:
316
red_win:
317
	call draw_window
317
	call draw_window
318
 
318
 
319
align 4
319
align 4
320
still:
320
still:
321
	mcall 10
321
	mcall 10
322
 
322
 
323
	cmp al,1
323
	cmp al,1
324
	jne @f
324
	jne @f
325
		call draw_window
325
		call draw_window
326
	@@:
326
	@@:
327
	cmp al,2
327
	cmp al,2
328
	jz key
328
	jz key
329
	cmp al,3
329
	cmp al,3
330
	jz button
330
	jz button
331
	cmp al,6
331
	cmp al,6
332
	jne @f 
332
	jne @f 
333
		call mouse
333
		call mouse
334
	@@:
334
	@@:
335
 
335
 
336
	jmp still
336
	jmp still
337
 
337
 
338
align 4
338
align 4
339
draw_window:
339
draw_window:
340
pushad
340
pushad
341
	mcall 12,1
341
	mcall 12,1
342
 
342
 
343
	xor eax,eax
343
	xor eax,eax
344
	mov ebx,20*65536+670
344
	mov ebx,20*65536+670
345
	mov ecx,20*65536+370
345
	mov ecx,20*65536+370
346
	mov edx,[sc.work]
346
	mov edx,[sc.work]
347
	or  edx,0x33000000
347
	or  edx,0x33000000
348
	mov edi,hed
348
	mov edi,hed
349
	int 0x40
349
	int 0x40
350
 
350
 
351
	mov eax,8 ;button 'Open Project'
351
	mov eax,8 ;button 'Open Project'
352
	mov esi,0x80ff
352
	mov esi,0x80ff
353
	mov ebx,230*65536+18
353
	mov ebx,230*65536+18
354
	mov ecx,5*65536+18
354
	mov ecx,5*65536+18
355
	mov edx,5
355
	mov edx,5
356
	int 0x40
356
	int 0x40
357
	stdcall draw_icon, 22,231,6 ;22 - open
357
	stdcall draw_icon, 22,231,6 ;22 - open
358
 
358
 
359
	;button 'Save Project'
359
	;button 'Save Project'
360
	mov ebx,250*65536+18
360
	mov ebx,250*65536+18
361
	mov ecx,5*65536+18
361
	mov ecx,5*65536+18
362
	mov edx,6
362
	mov edx,6
363
	int 0x40
363
	int 0x40
364
	stdcall draw_icon, 17,251,6 ;17 - save
364
	stdcall draw_icon, 17,251,6 ;17 - save
365
 
365
 
366
	;button 'Show Constructor'
366
	;button 'Show Constructor'
367
	mov ebx,310*65536+18
367
	mov ebx,310*65536+18
368
	mov ecx,5*65536+18
368
	mov ecx,5*65536+18
369
	mov edx,11
369
	mov edx,11
370
	int 0x40
370
	int 0x40
371
	stdcall draw_icon, 12,311,6 ;12 - window
371
	stdcall draw_icon, 12,311,6 ;12 - window
372
 
372
 
373
	;button 'Show Code'
373
	;button 'Show Code'
374
	mov ebx,330*65536+18
374
	mov ebx,330*65536+18
375
	mov edx,12
375
	mov edx,12
376
	int 0x40
376
	int 0x40
377
	stdcall draw_icon, 11,331,6 ;11 - text
377
	stdcall draw_icon, 11,331,6 ;11 - text
378
 
378
 
379
	;button 'Update: Code, Constructor'
379
	;button 'Update: Code, Constructor'
380
	mov ebx,350*65536+18
380
	mov ebx,350*65536+18
381
	mov edx,13
381
	mov edx,13
382
	int 0x40
382
	int 0x40
383
	stdcall draw_icon, 32,351,6 ;32 - update
383
	stdcall draw_icon, 32,351,6 ;32 - update
384
 
384
 
385
	;button 'Save Code'
385
	;button 'Save Code'
386
	mov ebx,370*65536+18
386
	mov ebx,370*65536+18
387
	mov edx,14
387
	mov edx,14
388
	int 0x40
388
	int 0x40
389
	stdcall draw_icon, 17,371,6 ;17 - save
389
	stdcall draw_icon, 17,371,6 ;17 - save
390
 
390
 
391
	;button ']P'
391
	;button ']P'
392
	mov ebx,390*65536+18
392
	mov ebx,390*65536+18
393
	mov edx,15
393
	mov edx,15
394
	int 0x40
394
	int 0x40
395
	stdcall draw_icon, 18,391,6 ;18 - §­ ª ª®­æ   ¡§ æ 
395
	stdcall draw_icon, 18,391,6 ;18 - §­ ª ª®­æ   ¡§ æ 
396
 
396
 
397
	;button 'Show color text'
397
	;button 'Show color text'
398
	mov ebx,410*65536+18
398
	mov ebx,410*65536+18
399
	mov edx,16
399
	mov edx,16
400
	int 0x40
400
	int 0x40
401
	stdcall draw_icon, 19,411,6
401
	stdcall draw_icon, 19,411,6
402
 
402
 
403
	;button 'Add Object'
403
	;button 'Add Object'
404
	mov ebx,125*65536+18
404
	mov ebx,125*65536+18
405
	mov ecx,30*65536+18
405
	mov ecx,30*65536+18
406
	mov edx,31
406
	mov edx,31
407
	int 0x40
407
	int 0x40
408
	stdcall draw_icon, 14,126,31 ;14 - add object
408
	stdcall draw_icon, 14,126,31 ;14 - add object
409
 
409
 
410
	;button 'Move Up'
410
	;button 'Move Up'
411
	mov ebx,155*65536+18
411
	mov ebx,155*65536+18
412
	mov edx,21
412
	mov edx,21
413
	int 0x40
413
	int 0x40
414
	stdcall draw_icon, 23,156,31 ;23 - move up
414
	stdcall draw_icon, 23,156,31 ;23 - move up
415
 
415
 
416
	;button 'Move Down'
416
	;button 'Move Down'
417
	mov ebx,175*65536+18
417
	mov ebx,175*65536+18
418
	mov edx,22
418
	mov edx,22
419
	int 0x40
419
	int 0x40
420
	stdcall draw_icon, 24,176,31 ;24 - move down
420
	stdcall draw_icon, 24,176,31 ;24 - move down
421
 
421
 
422
	;button 'Copy'
422
	;button 'Copy'
423
	mov ebx,195*65536+18
423
	mov ebx,195*65536+18
424
	mov edx,23
424
	mov edx,23
425
	int 0x40
425
	int 0x40
426
	stdcall draw_icon, 30,196,31 ;30 - copy
426
	stdcall draw_icon, 30,196,31 ;30 - copy
427
 
427
 
428
	;button 'Paste'
428
	;button 'Paste'
429
	mov ebx,215*65536+18
429
	mov ebx,215*65536+18
430
	mov edx,24
430
	mov edx,24
431
	int 0x40
431
	int 0x40
432
	stdcall draw_icon, 31,216,31 ;31 - paste
432
	stdcall draw_icon, 31,216,31 ;31 - paste
433
 
433
 
434
	;button 'Property'
434
	;button 'Property'
435
	mov ebx,235*65536+18
435
	mov ebx,235*65536+18
436
	mov edx,25
436
	mov edx,25
437
	int 0x40
437
	int 0x40
438
	stdcall draw_icon, 7,236,31 ;7 - property
438
	stdcall draw_icon, 7,236,31 ;7 - property
439
 
439
 
440
	;button 'Undo'
440
	;button 'Undo'
441
	mov ebx,255*65536+18
441
	mov ebx,255*65536+18
442
	mov edx,26
442
	mov edx,26
443
	int 0x40
443
	int 0x40
444
	stdcall draw_icon, 33,256,31 ;33 - undo
444
	stdcall draw_icon, 33,256,31 ;33 - undo
445
 
445
 
446
	;button 'Redo'
446
	;button 'Redo'
447
	mov ebx,275*65536+18
447
	mov ebx,275*65536+18
448
	mov edx,27
448
	mov edx,27
449
	int 0x40
449
	int 0x40
450
	stdcall draw_icon, 34,276,31 ;34 - redo
450
	stdcall draw_icon, 34,276,31 ;34 - redo
451
 
451
 
452
; 10 30 50 70 90
452
; 10 30 50 70 90
453
 
453
 
454
	cmp [err_opn],1
454
	cmp [err_opn],1
455
	jne @f
455
	jne @f
456
		mov eax,4
456
		mov eax,4
457
		mov ebx,10*65536+35
457
		mov ebx,10*65536+35
458
		mov ecx,0x80ff0000
458
		mov ecx,0x80ff0000
459
		mov edx,txtErrOpen
459
		mov edx,txtErrOpen
460
		int 0x40
460
		int 0x40
461
	@@:
461
	@@:
462
 
462
 
463
	stdcall [edit_box_draw], dword edit1
463
	stdcall [edit_box_draw], dword edit1
464
	stdcall [edit_box_draw], dword edit_sav
464
	stdcall [edit_box_draw], dword edit_sav
465
 
465
 
466
	mov dword[w_scr_t1.all_redraw],1
466
	mov dword[w_scr_t1.all_redraw],1
467
	;stdcall [scrollbar_ver_draw],dword w_scr_t1
467
	;stdcall [scrollbar_ver_draw],dword w_scr_t1
468
	stdcall [tl_draw],dword tree1
468
	stdcall [tl_draw],dword tree1
469
	mov dword[w_scr_t2.all_redraw],1
469
	mov dword[w_scr_t2.all_redraw],1
470
	;stdcall [scrollbar_ver_draw],dword w_scr_t2
470
	;stdcall [scrollbar_ver_draw],dword w_scr_t2
471
	stdcall [tl_draw],dword tree2
471
	stdcall [tl_draw],dword tree2
472
 
472
 
473
	cmp byte[show_mode],0 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠®ª­  ª®­áâàãªâ®à 
473
	cmp byte[show_mode],0 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠®ª­  ª®­áâàãªâ®à 
474
	jne @f
474
	jne @f
475
		stdcall [buf2d_draw], buf_fon
475
		stdcall [buf2d_draw], buf_fon
476
	@@:
476
	@@:
477
	cmp byte[show_mode],1 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠⥪á⮢®£® ®ª­ 
477
	cmp byte[show_mode],1 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠⥪á⮢®£® ®ª­ 
478
	jne @f
478
	jne @f
479
		stdcall [ted_draw], tedit0
479
		stdcall [ted_draw], tedit0
480
	@@:
480
	@@:
481
	mcall 12,2
481
	mcall 12,2
482
popad
482
popad
483
	ret
483
	ret
484
 
484
 
485
align 4
485
align 4
486
mouse:
486
mouse:
487
	stdcall [edit_box_mouse], dword edit1
487
	stdcall [edit_box_mouse], dword edit1
488
	stdcall [edit_box_mouse], dword edit_sav
488
	stdcall [edit_box_mouse], dword edit_sav
489
	stdcall [tl_mouse], dword tree1
489
	stdcall [tl_mouse], dword tree1
490
	stdcall [tl_mouse], dword tree2
490
	stdcall [tl_mouse], dword tree2
491
	cmp byte[show_mode],1 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠⥪á⮢®£® ®ª­ 
491
	cmp byte[show_mode],1 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠⥪á⮢®£® ®ª­ 
492
	jne @f
492
	jne @f
493
		stdcall [ted_mouse], tedit0
493
		stdcall [ted_mouse], tedit0
494
	@@:
494
	@@:
495
	ret
495
	ret
496
 
496
 
497
 
497
 
498
align 4
498
align 4
499
key:
499
key:
500
	mcall 2
500
	mcall 2
501
	stdcall [edit_box_key], dword edit1
501
	stdcall [edit_box_key], dword edit1
502
	stdcall [edit_box_key], dword edit_sav
502
	stdcall [edit_box_key], dword edit_sav
503
	stdcall [tl_key], dword tree1
503
	stdcall [tl_key], dword tree1
504
	stdcall [tl_key], dword tree2
504
	stdcall [tl_key], dword tree2
505
 
505
 
506
	jmp still
506
	jmp still
507
 
507
 
508
align 4
508
align 4
509
button:
509
button:
510
	mcall 17
510
	mcall 17
511
	cmp ah,5
511
	cmp ah,5
512
	jne @f
512
	jne @f
513
		call but_open_proj
513
		call but_open_proj
514
	@@:
514
	@@:
515
	cmp ah,6
515
	cmp ah,6
516
	jne @f
516
	jne @f
517
		call but_save_proj
517
		call but_save_proj
518
	@@:
518
	@@:
519
	;cmp ah,10
519
	;cmp ah,10
520
	;jne @f
520
	;jne @f
521
		;call but_element_change
521
		;call but_element_change
522
	;@@:
522
	;@@:
523
	cmp ah,11
523
	cmp ah,11
524
	jne @f
524
	jne @f
525
		call but_show_constructor
525
		call but_show_constructor
526
	@@:
526
	@@:
527
	cmp ah,12
527
	cmp ah,12
528
	jne @f
528
	jne @f
529
		call but_show_code
529
		call but_show_code
530
	@@:
530
	@@:
531
	cmp ah,13
531
	cmp ah,13
532
	jne @f
532
	jne @f
533
		call but_update
533
		call but_update
534
	@@:
534
	@@:
535
	cmp ah,14
535
	cmp ah,14
536
	jne @f
536
	jne @f
537
		call but_save_asm
537
		call but_save_asm
538
	@@:
538
	@@:
539
	cmp ah,15
539
	cmp ah,15
540
	jne @f
540
	jne @f
541
		call but_show_invis
541
		call but_show_invis
542
	@@:
542
	@@:
543
	cmp ah,16
543
	cmp ah,16
544
	jne @f
544
	jne @f
545
		call but_show_syntax
545
		call but_show_syntax
546
	@@:
546
	@@:
547
	cmp ah,21
547
	cmp ah,21
548
	jne @f
548
	jne @f
549
		call but_obj_move_up
549
		call but_obj_move_up
550
	@@:
550
	@@:
551
	cmp ah,22
551
	cmp ah,22
552
	jne @f
552
	jne @f
553
		call but_obj_move_down
553
		call but_obj_move_down
554
	@@:
554
	@@:
555
	cmp ah,23
555
	cmp ah,23
556
	jne @f
556
	jne @f
557
		call but_obj_copy
557
		call but_obj_copy
558
	@@:
558
	@@:
559
	cmp ah,24
559
	cmp ah,24
560
	jne @f
560
	jne @f
561
		call but_obj_paste
561
		call but_obj_paste
562
	@@:
562
	@@:
563
	cmp ah,25
563
	cmp ah,25
564
	jne @f
564
	jne @f
565
		call on_file_object_select
565
		call on_file_object_select
566
	@@:
566
	@@:
567
	cmp ah,26
567
	cmp ah,26
568
	jne @f
568
	jne @f
569
		stdcall [tl_info_undo], tree2
569
		stdcall [tl_info_undo], tree2
570
		stdcall [tl_draw], tree2
570
		stdcall [tl_draw], tree2
571
	@@:
571
	@@:
572
	cmp ah,27
572
	cmp ah,27
573
	jne @f
573
	jne @f
574
		stdcall [tl_info_redo], tree2
574
		stdcall [tl_info_redo], tree2
575
		stdcall [tl_draw], tree2
575
		stdcall [tl_draw], tree2
576
	@@:
576
	@@:
577
	cmp ah,31
577
	cmp ah,31
578
	jne @f
578
	jne @f
579
		call on_add_object
579
		call on_add_object
580
	@@:
580
	@@:
581
	cmp ah,1
581
	cmp ah,1
582
	jne still
582
	jne still
583
.exit:
583
.exit:
584
	stdcall mem.Free,[icon_tl_sys]
584
	stdcall mem.Free,[icon_tl_sys]
585
	mov dword[tree1.data_img],0
585
	mov dword[tree1.data_img],0
586
	mov dword[tree2.data_img],0
586
	mov dword[tree2.data_img],0
587
	mov dword[tree1.data_img_sys],0
587
	mov dword[tree1.data_img_sys],0
588
	mov dword[tree2.data_img_sys],0
588
	mov dword[tree2.data_img_sys],0
589
	stdcall dword[tl_data_clear], tree1
589
	stdcall dword[tl_data_clear], tree1
590
	stdcall dword[tl_data_clear], tree2
590
	stdcall dword[tl_data_clear], tree2
591
	stdcall [buf2d_delete],buf_fon ;㤠«ï¥¬ ¡ãä¥à
591
	stdcall [buf2d_delete],buf_fon ;㤠«ï¥¬ ¡ãä¥à
592
	stdcall [buf2d_delete],buf_font ;㤠«ï¥¬ ¡ãä¥à  
592
	stdcall [buf2d_delete],buf_font ;㤠«ï¥¬ ¡ãä¥à  
593
	stdcall [buf2d_delete],buf_skin1
593
	stdcall [buf2d_delete],buf_skin1
594
	stdcall [buf2d_delete],buf_skin2
594
	stdcall [buf2d_delete],buf_skin2
595
	stdcall [buf2d_delete],buf_skin3
595
	stdcall [buf2d_delete],buf_skin3
596
	stdcall [ted_delete], tedit0
596
	stdcall [ted_delete], tedit0
597
	mcall -1
597
	mcall -1
598
 
598
 
599
align 4
599
align 4
600
but_open_proj:
600
but_open_proj:
601
	pushad
601
	pushad
602
	mov eax,70
602
	mov eax,70
603
	mov [run_file_70.Function], 0
603
	mov [run_file_70.Function], 0
604
	mov [run_file_70.Position], 0
604
	mov [run_file_70.Position], 0
605
	mov [run_file_70.Flags], 0
605
	mov [run_file_70.Flags], 0
606
	mov [run_file_70.Count], sizeof.object*MAX_CED_OBJECTS
606
	mov [run_file_70.Count], sizeof.object*MAX_CED_OBJECTS
607
	mov [run_file_70.Buffer], ced_info
607
	mov [run_file_70.Buffer], ced_info
608
	mov [run_file_70.rezerv], 0
608
	mov [run_file_70.rezerv], 0
609
	push [edit1.text]
609
	push [edit1.text]
610
	pop [run_file_70.FileName]
610
	pop [run_file_70.FileName]
611
	mov ebx,run_file_70
611
	mov ebx,run_file_70
612
	int 0x40
612
	int 0x40
613
 
613
 
614
	cmp ebx,-1
614
	cmp ebx,-1
615
	mov [err_opn],1
615
	mov [err_opn],1
616
	je .open_end ;if open file
616
	je .open_end ;if open file
617
		mov ecx,ced_info
617
		mov ecx,ced_info
618
		add ecx,ebx
618
		add ecx,ebx
619
		mov byte [ecx],0
619
		mov byte [ecx],0
620
		mov [err_opn],0
620
		mov [err_opn],0
621
 
621
 
622
		stdcall dword[tl_info_clear], tree2
622
		stdcall dword[tl_info_clear], tree2
623
		mov eax,ced_info ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâë
623
		mov eax,ced_info ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâë
624
		@@:
624
		@@:
625
			mov ebx,dword[eax]
625
			mov ebx,dword[eax]
626
			cmp ebx,0
626
			cmp ebx,0
627
			je @f
627
			je @f
628
 
628
 
629
			call find_obj_in_opt ;edi = pointer to ObjOpt struct
629
			call find_obj_in_opt ;edi = pointer to ObjOpt struct
630
 
630
 
631
			mov cx,word[edi+obj_opt.img-obj_opt]
631
			mov cx,word[edi+obj_opt.img-obj_opt]
632
			cmp cx,0
632
			cmp cx,0
633
			jge .zero
633
			jge .zero
634
				xor cx,cx ;çâ®-¡ë ­¥ £«î稫® á ®âà¨æ â¥«ì­ë¬ ¨­¤¥ªá®¬
634
				xor cx,cx ;çâ®-¡ë ­¥ £«î稫® á ®âà¨æ â¥«ì­ë¬ ¨­¤¥ªá®¬
635
			.zero:
635
			.zero:
636
			shl ecx,16 ;¢ ecx ¨­¤¥ªá ¨ª®­ª¨
636
			shl ecx,16 ;¢ ecx ¨­¤¥ªá ¨ª®­ª¨
637
			mov cl,byte[eax++u_object.lvl-u_object] ;ã஢¥­ì ®¡ê¥ªâ 
637
			mov cl,byte[eax++u_object.lvl-u_object] ;ã஢¥­ì ®¡ê¥ªâ 
638
 
638
 
639
			;tl_node_close_open - ­¥ ¯®¤å®¤¨â, â.ª. ¤¥©áâ¢ã¥â ­  ã§«ë ¨¬¥î騥 ¤®ç¥à­¨¥
639
			;tl_node_close_open - ­¥ ¯®¤å®¤¨â, â.ª. ¤¥©áâ¢ã¥â ­  ã§«ë ¨¬¥î騥 ¤®ç¥à­¨¥
640
			mov ch,byte[eax++u_object.clo-u_object] ;§ ªàëâë©/®âªàëâë©
640
			mov ch,byte[eax++u_object.clo-u_object] ;§ ªàëâë©/®âªàëâë©
641
 
641
 
642
			stdcall dword[tl_node_add], eax, ecx, tree2 ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâ
642
			stdcall dword[tl_node_add], eax, ecx, tree2 ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâ
643
 
643
 
644
			stdcall dword[tl_cur_next], tree2 ;¯¥à¥­®á¨¬ ªãàá®à ¢­¨§, çâ®-¡ë ­¥ ¯®¬¥­ï«áï ¯®à冷ª
644
			stdcall dword[tl_cur_next], tree2 ;¯¥à¥­®á¨¬ ªãàá®à ¢­¨§, çâ®-¡ë ­¥ ¯®¬¥­ï«áï ¯®à冷ª
645
			add eax,sizeof.object ;¯¥à¥å®¤ ­  á«¥¤ãî騩 ®¡ê¥ªâ
645
			add eax,sizeof.object ;¯¥à¥å®¤ ­  á«¥¤ãî騩 ®¡ê¥ªâ
646
			jmp @b
646
			jmp @b
647
		@@:
647
		@@:
648
		stdcall dword[tl_cur_beg], tree2 ;¯¥à¥­®á¨¬ ªãàá®à ¢¢¥àå
648
		stdcall dword[tl_cur_beg], tree2 ;¯¥à¥­®á¨¬ ªãàá®à ¢¢¥àå
649
 
649
 
650
		mov [foc_obj],0
650
		mov [foc_obj],0
651
		call draw_constructor
651
		call draw_constructor
652
		call code_gen
652
		call code_gen
653
	.open_end:
653
	.open_end:
654
	call draw_window ;¯¥à¥à¨á®¢ª  ®ª­  ¨¤¥â ¢ «î¡®¬ á«ãç ¥, ¤ ¦¥ ¥á«¨ ä ©« ­¥ ®âªàë«áï
654
	call draw_window ;¯¥à¥à¨á®¢ª  ®ª­  ¨¤¥â ¢ «î¡®¬ á«ãç ¥, ¤ ¦¥ ¥á«¨ ä ©« ­¥ ®âªàë«áï
655
	popad
655
	popad
656
	ret
656
	ret
657
 
657
 
658
;á®åà ­¥­¨¥ ä ©«  ¯à®íªâ  ­  ¤¨áª
658
;á®åà ­¥­¨¥ ä ©«  ¯à®íªâ  ­  ¤¨áª
659
align 4
659
align 4
660
but_save_proj:
660
but_save_proj:
661
	pushad
661
	pushad
662
 
662
 
663
	mov edi,ced_info
663
	mov edi,ced_info
664
 
664
 
665
	stdcall [tl_node_poi_get_info], 0,tree2
665
	stdcall [tl_node_poi_get_info], 0,tree2
666
	pop edx
666
	pop edx
667
	@@:
667
	@@:
668
		cmp edx,0
668
		cmp edx,0
669
		je @f
669
		je @f
670
		stdcall [tl_node_poi_get_data], edx,tree2
670
		stdcall [tl_node_poi_get_data], edx,tree2
671
		pop esi ;¯®«ãç ¥¬ ¤ ­­ë¥ 㧫 
671
		pop esi ;¯®«ãç ¥¬ ¤ ­­ë¥ 㧫 
672
 
672
 
673
		mov bl,byte[edx+2] ;bl - ã஢¥­ì ®¡ê¥ªâ 
673
		mov bl,byte[edx+2] ;bl - ã஢¥­ì ®¡ê¥ªâ 
674
		mov byte[esi+u_object.lvl-u_object],bl
674
		mov byte[esi+u_object.lvl-u_object],bl
675
		mov bl,byte[edx+3] ;bl - ®âªàë⨥/§ ªàë⨥ ®¡ê¥ªâ 
675
		mov bl,byte[edx+3] ;bl - ®âªàë⨥/§ ªàë⨥ ®¡ê¥ªâ 
676
		mov byte[esi+u_object.clo-u_object],bl
676
		mov byte[esi+u_object.clo-u_object],bl
677
 
677
 
678
		;¢ëç¨á«ï¥¬ ­®¢ë© ¨­¤¥ªá ¤«ï ⨯  ®¡ê¥ªâ 
678
		;¢ëç¨á«ï¥¬ ­®¢ë© ¨­¤¥ªá ¤«ï ⨯  ®¡ê¥ªâ 
679
		mov ebx,[esi+u_object.typid-u_object] ;ebx - ⨯ ®¡ê¥ªâ 
679
		mov ebx,[esi+u_object.typid-u_object] ;ebx - ⨯ ®¡ê¥ªâ 
680
		;á®å࠭塞 ⨯ ®¡ê¥ªâ 
680
		;á®å࠭塞 ⨯ ®¡ê¥ªâ 
681
		push ebx
681
		push ebx
682
			imul ebx,sizeof.TreeList
682
			imul ebx,sizeof.TreeList
683
			add ebx,[tree2.data_nodes] ;ebx - 㪠§ â¥«ì ®¡ê¥ªâ 㪠§ë¢ î騩 ⨯
683
			add ebx,[tree2.data_nodes] ;ebx - 㪠§ â¥«ì ®¡ê¥ªâ 㪠§ë¢ î騩 ⨯
684
			stdcall get_obj_npp,ebx
684
			stdcall get_obj_npp,ebx
685
			mov [esi+u_object.typid-u_object],eax
685
			mov [esi+u_object.typid-u_object],eax
686
			mov eax,esi
686
			mov eax,esi
687
			;ª®¯¨à㥬 ®¡ê¥ªâ ¢ ¯ ¬ïâì ¤«ï á®åà ­¥­¨ï
687
			;ª®¯¨à㥬 ®¡ê¥ªâ ¢ ¯ ¬ïâì ¤«ï á®åà ­¥­¨ï
688
			xor ecx,ecx
688
			xor ecx,ecx
689
			mov cx,word[tree2.info_size]
689
			mov cx,word[tree2.info_size]
690
			cld
690
			cld
691
			rep movsb
691
			rep movsb
692
		;¢®ááâ ­ ¢«¨¢ ¥¬ ⨯ ®¡ê¥ªâ 
692
		;¢®ááâ ­ ¢«¨¢ ¥¬ ⨯ ®¡ê¥ªâ 
693
		pop dword[eax+u_object.typid-u_object]
693
		pop dword[eax+u_object.typid-u_object]
694
 
694
 
695
		stdcall [tl_node_poi_get_next_info], edx,tree2
695
		stdcall [tl_node_poi_get_next_info], edx,tree2
696
		pop edx ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
696
		pop edx ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
697
		jmp @b
697
		jmp @b
698
	@@:
698
	@@:
699
	mov dword[edi],0 ;¬¥âª  ª®­æ  ä ©« 
699
	mov dword[edi],0 ;¬¥âª  ª®­æ  ä ©« 
700
	add edi,4
700
	add edi,4
701
	mov ecx,edi
701
	mov ecx,edi
702
	sub ecx,ced_info ;ecx - à §¬¥à á®å࠭塞®£® ä ©«        
702
	sub ecx,ced_info ;ecx - à §¬¥à á®å࠭塞®£® ä ©«        
703
 
703
 
704
	mov eax,70
704
	mov eax,70
705
	mov [run_file_70.Function], 2
705
	mov [run_file_70.Function], 2
706
	mov [run_file_70.Position], 0
706
	mov [run_file_70.Position], 0
707
	mov [run_file_70.Flags], 0
707
	mov [run_file_70.Flags], 0
708
	mov [run_file_70.Count], ecx
708
	mov [run_file_70.Count], ecx
709
	mov [run_file_70.Buffer], ced_info
709
	mov [run_file_70.Buffer], ced_info
710
	mov [run_file_70.rezerv], 0
710
	mov [run_file_70.rezerv], 0
711
	push [edit1.text]
711
	push [edit1.text]
712
	pop [run_file_70.FileName]
712
	pop [run_file_70.FileName]
713
	mov ebx,run_file_70
713
	mov ebx,run_file_70
714
	int 0x40
714
	int 0x40
715
 
715
 
716
	popad
716
	popad
717
	ret
717
	ret
718
 
718
 
719
;¡¥à¥â ­®¬¥à ¯® ¯®à浪㠯® 㪠§ â¥«î ­  áâàãªâãàã ®¡ê¥ªâ 
719
;¡¥à¥â ­®¬¥à ¯® ¯®à浪㠯® 㪠§ â¥«î ­  áâàãªâãàã ®¡ê¥ªâ 
720
;output:
720
;output:
721
; eax - ­®¬¥à ®¡ê¥ªâ 
721
; eax - ­®¬¥à ®¡ê¥ªâ 
722
align 4
722
align 4
723
proc get_obj_npp, p_obj_str:dword
723
proc get_obj_npp, p_obj_str:dword
724
	mov eax,2
724
	mov eax,2
725
	push ebx edx
725
	push ebx edx
726
	mov ebx,[p_obj_str]
726
	mov ebx,[p_obj_str]
727
 
727
 
728
	stdcall [tl_node_poi_get_info], 0,tree2
728
	stdcall [tl_node_poi_get_info], 0,tree2
729
	pop edx
729
	pop edx
730
	@@:
730
	@@:
731
		cmp edx,0
731
		cmp edx,0
732
		je .no_exist
732
		je .no_exist
733
		cmp edx,ebx
733
		cmp edx,ebx
734
		je @f
734
		je @f
735
 
735
 
736
		inc eax
736
		inc eax
737
		stdcall [tl_node_poi_get_next_info], edx,tree2
737
		stdcall [tl_node_poi_get_next_info], edx,tree2
738
		pop edx ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
738
		pop edx ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
739
		jmp @b
739
		jmp @b
740
	.no_exist: ;ª®£¤  ¨¤¥â áá뫪  ­  ­¥ áãé¥áâ¢ãî騩 ®¡ê¥ªâ
740
	.no_exist: ;ª®£¤  ¨¤¥â áá뫪  ­  ­¥ áãé¥áâ¢ãî騩 ®¡ê¥ªâ
741
		xor eax,eax ;®¡­ã«ï¥¬ 㪠§ â¥«ì, çâ®-¡ë ­¥ á®åà ­ïâì ¢ ä ©« ¬ãá®à
741
		xor eax,eax ;®¡­ã«ï¥¬ 㪠§ â¥«ì, çâ®-¡ë ­¥ á®åà ­ïâì ¢ ä ©« ¬ãá®à
742
	@@:
742
	@@:
743
	pop edx ebx
743
	pop edx ebx
744
	ret
744
	ret
745
endp
745
endp
746
 
746
 
747
;äã­ªæ¨ï ¤«ï á®åà ­¥­¨ï ᮧ¤ ­­®£® asm ä ©« 
747
;äã­ªæ¨ï ¤«ï á®åà ­¥­¨ï ᮧ¤ ­­®£® asm ä ©« 
748
align 4
748
align 4
749
but_save_asm:
749
but_save_asm:
750
	;stdcall [ted_but_save_file], tedit0,run_file_70,[edit_sav.text]
750
	;stdcall [ted_but_save_file], tedit0,run_file_70,[edit_sav.text]
751
	push edi
751
	push edi
752
	mov edi, tedit0
752
	mov edi, tedit0
753
 
753
 
754
	stdcall [ted_but_save_file],edi,run_file_70,[edit_sav.text]
754
	stdcall [ted_but_save_file],edi,run_file_70,[edit_sav.text]
755
	cmp ted_err_save,0
755
	cmp ted_err_save,0
756
	jne @f
756
	jne @f
757
		stdcall [mb_create],msgbox_1,thread ;message: ” ©« ¡ë« á®åà ­¥­
757
		stdcall [mb_create],msgbox_1,thread ;message: ” ©« ¡ë« á®åà ­¥­
758
	@@:
758
	@@:
759
	pop edi
759
	pop edi
760
	ret
760
	ret
761
 
761
 
762
;äã­ªæ¨ï ¤«ï ¯®ª § /áªàëâ¨ï ­¥¢¨¤¨¬ëå ᨬ¢®«®¢
762
;äã­ªæ¨ï ¤«ï ¯®ª § /áªàëâ¨ï ­¥¢¨¤¨¬ëå ᨬ¢®«®¢
763
align 4
763
align 4
764
but_show_invis:
764
but_show_invis:
765
	push edi
765
	push edi
766
	mov edi,tedit0
766
	mov edi,tedit0
767
 
767
 
768
	xor ted_mode_invis,1
768
	xor ted_mode_invis,1
769
	cmp byte[show_mode],1 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠⥪á⮢®£® ®ª­ 
769
	cmp byte[show_mode],1 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠⥪á⮢®£® ®ª­ 
770
	jne @f
770
	jne @f
771
		stdcall [ted_draw],edi
771
		stdcall [ted_draw],edi
772
	@@:
772
	@@:
773
	pop edi
773
	pop edi
774
	ret
774
	ret
775
 
775
 
776
;
776
;
777
align 4
777
align 4
778
but_show_syntax:
778
but_show_syntax:
779
	push edi
779
	push edi
780
	mov edi,tedit0
780
	mov edi,tedit0
781
 
781
 
782
	xor ted_mode_color,1
782
	xor ted_mode_color,1
783
	cmp byte[show_mode],1 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠⥪á⮢®£® ®ª­ 
783
	cmp byte[show_mode],1 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠⥪á⮢®£® ®ª­ 
784
	jne @f
784
	jne @f
785
		stdcall [ted_draw],edi
785
		stdcall [ted_draw],edi
786
	@@:
786
	@@:
787
	pop edi
787
	pop edi
788
	ret
788
	ret
789
 
789
 
790
align 4
790
align 4
791
ted_save_err_msg:
791
ted_save_err_msg:
792
	mov byte[msgbox_0.err],al
792
	mov byte[msgbox_0.err],al
793
	stdcall [mb_create],msgbox_0,thread ;message: Can-t save text file!
793
	stdcall [mb_create],msgbox_0,thread ;message: Can-t save text file!
794
	ret
794
	ret
795
 
795
 
796
;äã­ªæ¨ï ¢ë§ë¢ ¥¬ ï ¯à¨ ­ ¦ â¨¨ Enter ¢ ®ª­¥ tree2
796
;äã­ªæ¨ï ¢ë§ë¢ ¥¬ ï ¯à¨ ­ ¦ â¨¨ Enter ¢ ®ª­¥ tree2
797
;®¡­®¢«ï¥â ⥪áâ®¢ë¥ ¯®«ï §­ ç¥­¨ï¬¨ ¯ à ¬¥â஢ ¢§ïâëå ¨§ ®¡ê¥ªâ®¢
797
;®¡­®¢«ï¥â ⥪áâ®¢ë¥ ¯®«ï §­ ç¥­¨ï¬¨ ¯ à ¬¥â஢ ¢§ïâëå ¨§ ®¡ê¥ªâ®¢
798
;äã­ªæ¨ï ®¡à â­ ï ª ¤ ­­®© but_element_change
798
;äã­ªæ¨ï ®¡à â­ ï ª ¤ ­­®© but_element_change
799
align 4
799
align 4
800
on_file_object_select:
800
on_file_object_select:
801
	cmp byte[prop_wnd_run],0
801
	cmp byte[prop_wnd_run],0
802
	jne @f
802
	jne @f
803
		mov byte[prop_wnd_run],1
803
		mov byte[prop_wnd_run],1
804
		stdcall [tl_node_get_data], tree2
804
		stdcall [tl_node_get_data], tree2
805
		pop dword[foc_obj]
805
		pop dword[foc_obj]
806
		cmp dword[foc_obj],0
806
		cmp dword[foc_obj],0
807
		je @f
807
		je @f
808
			pushad
808
			pushad
809
			;¢á¥ ¤¥©áâ¢¨ï ¯® ­ áâனª¥ í«¥¬¥­â®¢ ã¯à ¢«¥­¨ï ¢ë¯®«­ïîâáï ¢ ®ª­¥ ᮠ᢮©á⢠¬¨
809
			;¢á¥ ¤¥©áâ¢¨ï ¯® ­ áâனª¥ í«¥¬¥­â®¢ ã¯à ¢«¥­¨ï ¢ë¯®«­ïîâáï ¢ ®ª­¥ ᮠ᢮©á⢠¬¨
810
			mcall 51,1,prop_start,prop_thread
810
			mcall 51,1,prop_start,prop_thread
811
			popad
811
			popad
812
	@@:
812
	@@:
813
	;call draw_window
813
	;call draw_window
814
	ret
814
	ret
815
 
815
 
816
;äã­ªæ¨ï ¢ë§ë¢ ¥¬ ï ¯à¨ ­ ¦ â¨¨ Enter ¢ ®ª­¥ tree1
816
;äã­ªæ¨ï ¢ë§ë¢ ¥¬ ï ¯à¨ ­ ¦ â¨¨ Enter ¢ ®ª­¥ tree1
817
;¤®¡ ¢«ï¥â ­®¢ë© ®¡ê¥ªâ ¢ ®ª­® tree2
817
;¤®¡ ¢«ï¥â ­®¢ë© ®¡ê¥ªâ ¢ ®ª­® tree2
818
align 4
818
align 4
819
on_add_object:
819
on_add_object:
820
push eax ebx ecx
820
push eax ebx ecx
821
	stdcall [tl_node_get_data], tree1
821
	stdcall [tl_node_get_data], tree1
822
	pop eax
822
	pop eax
823
	cmp eax,0
823
	cmp eax,0
824
	je @f
824
	je @f
825
		xor ecx,ecx
825
		xor ecx,ecx
826
		mov cx,word[eax+obj_opt.img-obj_opt] ;cx - ¨­¤¥ªá £« ¢­®© ¨ª®­ª¨ ¤®¡ ¢«ï¥¬®£® ®¡ê¥ªâ 
826
		mov cx,word[eax+obj_opt.img-obj_opt] ;cx - ¨­¤¥ªá £« ¢­®© ¨ª®­ª¨ ¤®¡ ¢«ï¥¬®£® ®¡ê¥ªâ 
827
		shl ecx,16
827
		shl ecx,16
828
		stdcall mem_clear, u_object,sizeof.object
828
		stdcall mem_clear, u_object,sizeof.object
829
		mov ebx,dword[eax]
829
		mov ebx,dword[eax]
830
		mov dword[u_object.id],ebx
830
		mov dword[u_object.id],ebx
831
		stdcall dword[tl_node_add], u_object, ecx, tree2 ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâ
831
		stdcall dword[tl_node_add], u_object, ecx, tree2 ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâ
832
	@@:
832
	@@:
833
pop ecx ebx eax
833
pop ecx ebx eax
834
	call draw_window
834
	call draw_window
835
	ret
835
	ret
836
 
836
 
837
align 4
837
align 4
838
but_ctrl_o:
838
but_ctrl_o:
839
	ret
839
	ret
840
align 4
840
align 4
841
but_ctrl_n:
841
but_ctrl_n:
842
	ret
842
	ret
843
align 4
843
align 4
844
but_ctrl_s:
844
but_ctrl_s:
845
	ret
845
	ret
846
 
846
 
847
align 4
847
align 4
848
buf_fon: ;ä®­®¢ë© ¡ãä¥à
848
buf_fon: ;ä®­®¢ë© ¡ãä¥à
849
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
849
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
850
	dw 310 ;+4 left
850
	dw 310 ;+4 left
851
	dw 50 ;+6 top
851
	dw 50 ;+6 top
852
	dd 340 ;+8 w
852
	dd 340 ;+8 w
853
	dd 280 ;+12 h
853
	dd 280 ;+12 h
854
	dd 0xffffff ;+16 color
854
	dd 0xffffff ;+16 color
855
	db 24 ;+20 bit in pixel
855
	db 24 ;+20 bit in pixel
856
 
856
 
857
align 4
857
align 4
858
buf_font: ;¡ãä¥à ¬ âà¨æë á® èà¨ä⮬
858
buf_font: ;¡ãä¥à ¬ âà¨æë á® èà¨ä⮬
859
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
859
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
860
	dw 25 ;+4 left
860
	dw 25 ;+4 left
861
	dw 25 ;+6 top
861
	dw 25 ;+6 top
862
	dd 96 ;+8 w
862
	dd 96 ;+8 w
863
	dd 144 ;+12 h
863
	dd 144 ;+12 h
864
	dd 0 ;+16 color
864
	dd 0 ;+16 color
865
	db 24 ;+20 bit in pixel
865
	db 24 ;+20 bit in pixel
866
 
866
 
867
align 4
867
align 4
868
buf_skin1:
868
buf_skin1:
869
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
869
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
870
	dw 0 ;+4 left
870
	dw 0 ;+4 left
871
	dw 0 ;+6 top
871
	dw 0 ;+6 top
872
	dd SKIN_W1 ;+8 w
872
	dd SKIN_W1 ;+8 w
873
	dd SKIN_H ;+12 h
873
	dd SKIN_H ;+12 h
874
	dd 0 ;+16 color
874
	dd 0 ;+16 color
875
	db 24 ;+20 bit in pixel
875
	db 24 ;+20 bit in pixel
876
align 4
876
align 4
877
buf_skin2:
877
buf_skin2:
878
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
878
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
879
	dw 0 ;+4 left
879
	dw 0 ;+4 left
880
	dw 0 ;+6 top
880
	dw 0 ;+6 top
881
	dd SKIN_W2 ;+8 w
881
	dd SKIN_W2 ;+8 w
882
	dd SKIN_H ;+12 h
882
	dd SKIN_H ;+12 h
883
	dd 0 ;+16 color
883
	dd 0 ;+16 color
884
	db 24 ;+20 bit in pixel
884
	db 24 ;+20 bit in pixel
885
align 4
885
align 4
886
buf_skin3:
886
buf_skin3:
887
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
887
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
888
	dw 0 ;+4 left
888
	dw 0 ;+4 left
889
	dw 0 ;+6 top
889
	dw 0 ;+6 top
890
	dd SKIN_W3 ;+8 w
890
	dd SKIN_W3 ;+8 w
891
	dd SKIN_H ;+12 h
891
	dd SKIN_H ;+12 h
892
	dd 0 ;+16 color
892
	dd 0 ;+16 color
893
	db 24 ;+20 bit in pixel
893
	db 24 ;+20 bit in pixel
894
 
894
 
895
show_mode db 0 ;०¨¬ ¤«ï ¯®ª §  ®¯à¥¤¥«¥­­®£® ®ª­ 
895
show_mode db 0 ;०¨¬ ¤«ï ¯®ª §  ®¯à¥¤¥«¥­­®£® ®ª­ 
896
txtErrOpen db '¥ ­ ©¤¥­ ä ©«, ¯à®¢¥àì⥠¯à ¢¨«ì­®áâì ¨¬¥­¨',0
896
txtErrOpen db '¥ ­ ©¤¥­ ä ©«, ¯à®¢¥àì⥠¯à ¢¨«ì­®áâì ¨¬¥­¨',0
897
txtErrIni1 db '¥ ®âªàë«áï ä ©« á ®¯æ¨ï¬¨',0
897
txtErrIni1 db '¥ ®âªàë«áï ä ©« á ®¯æ¨ï¬¨',0
898
err_opn db 0 ;१. ®âªàëâ¨ï ä ©«  ¯à®íªâ 
898
err_opn db 0 ;१. ®âªàëâ¨ï ä ©«  ¯à®íªâ 
899
err_ini0 db 0 ;१. ®âªàëâ¨ï ä ©«  á ¨ª®­ª ¬¨
899
err_ini0 db 0 ;१. ®âªàëâ¨ï ä ©«  á ¨ª®­ª ¬¨
900
err_ini1 db 0 ;१. ®âªàëâ¨ï ä ©«  á ®¯æ¨ï¬¨
900
err_ini1 db 0 ;१. ®âªàëâ¨ï ä ©«  á ®¯æ¨ï¬¨
901
 
901
 
902
edit1 edit_box 210, 10, 5, 0xffffff, 0xff80, 0xff, 0xff0000, 0x4080, 300, ed_text1, mouse_dd, 0, 7, 7
902
edit1 edit_box 210, 10, 5, 0xffffff, 0xff80, 0xff, 0xff0000, 0x4080, 300, ed_text1, mouse_dd, 0, 7, 7
903
 
903
 
904
edit2 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text2, mouse_dd, 0
904
edit2 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text2, mouse_dd, 0
905
edit3 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text3, mouse_dd, 0
905
edit3 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text3, mouse_dd, 0
906
edit4 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text4, mouse_dd, 0
906
edit4 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text4, mouse_dd, 0
907
edit5 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text5, mouse_dd, 0
907
edit5 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text5, mouse_dd, 0
908
edit6 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text6, mouse_dd, 0
908
edit6 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text6, mouse_dd, 0
909
edit7 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text7, mouse_dd, 0
909
edit7 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text7, mouse_dd, 0
910
edit8 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text8, mouse_dd, 0
910
edit8 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text8, mouse_dd, 0
911
edit9 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text9, mouse_dd, 0
911
edit9 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text9, mouse_dd, 0
912
edit10 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text10, mouse_dd, 0
912
edit10 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text10, mouse_dd, 0
913
edit11 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text11, mouse_dd, 0
913
edit11 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text11, mouse_dd, 0
914
edit12 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text12, mouse_dd, 0
914
edit12 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text12, mouse_dd, 0
915
prop_wnd_edits_end: ;ª®­¥æ ⥪á⮢ëå ¯®«¥©, ®â¢¥ç îé¨å §  ᢮©á⢠
915
prop_wnd_edits_end: ;ª®­¥æ ⥪á⮢ëå ¯®«¥©, ®â¢¥ç îé¨å §  ᢮©á⢠
916
 
916
 
917
edit_sav edit_box 210, 310, 30, 0xffffff, 0xff80, 0xff, 0xff0000, 0x4080, 300, ed_text_sav, mouse_dd, 0
917
edit_sav edit_box 210, 310, 30, 0xffffff, 0xff80, 0xff, 0xff0000, 0x4080, 300, ed_text_sav, mouse_dd, 0
918
 
918
 
919
 
919
 
920
ed_text1 db '/hd0/1/',0
920
ed_text1 db '/hd0/1/',0
921
	rb 295
921
	rb 295
922
ed_text2 rb MAX_LEN_OBJ_TXT+2
922
ed_text2 rb MAX_LEN_OBJ_TXT+2
923
ed_text3 rb MAX_LEN_OBJ_TXT+2
923
ed_text3 rb MAX_LEN_OBJ_TXT+2
924
ed_text4 rb MAX_LEN_OBJ_TXT+2
924
ed_text4 rb MAX_LEN_OBJ_TXT+2
925
ed_text5 rb MAX_LEN_OBJ_TXT+2
925
ed_text5 rb MAX_LEN_OBJ_TXT+2
926
ed_text6 rb MAX_LEN_OBJ_TXT+2
926
ed_text6 rb MAX_LEN_OBJ_TXT+2
927
ed_text7 rb MAX_LEN_OBJ_TXT+2
927
ed_text7 rb MAX_LEN_OBJ_TXT+2
928
ed_text8 rb MAX_LEN_OBJ_TXT+2
928
ed_text8 rb MAX_LEN_OBJ_TXT+2
929
ed_text9 rb MAX_LEN_OBJ_TXT+2
929
ed_text9 rb MAX_LEN_OBJ_TXT+2
930
ed_text10 rb MAX_LEN_OBJ_TXT+2
930
ed_text10 rb MAX_LEN_OBJ_TXT+2
931
ed_text11 rb MAX_LEN_OBJ_TXT+2
931
ed_text11 rb MAX_LEN_OBJ_TXT+2
932
ed_text12 rb MAX_LEN_OBJ_TXT+2
932
ed_text12 rb MAX_LEN_OBJ_TXT+2
933
ed_text_sav rb 302
933
ed_text_sav rb 302
934
 
934
 
935
txt_null db 'null',0
935
txt_null db 'null',0
936
mouse_dd dd ?
936
mouse_dd dd ?
937
 
937
 
938
el_focus dd tree1
938
el_focus dd tree1
939
;¤¥à¥¢® ᮠᯨ᪮¬ ¢®§¬®¦­ëå ⨯®¢ ®¡ê¥ªâ®¢
939
;¤¥à¥¢® ᮠᯨ᪮¬ ¢®§¬®¦­ëå ⨯®¢ ®¡ê¥ªâ®¢
940
tree1 tree_list sizeof.ObjOpt,20+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\
940
tree1 tree_list sizeof.ObjOpt,20+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\
941
	16,16, 0xffffff,0xb0d0ff,0xd000ff, 5,50,125,280, 0,obj_opt.info-obj_opt,0, el_focus,\
941
	16,16, 0xffffff,0xb0d0ff,0xd000ff, 5,50,125,280, 0,obj_opt.info-obj_opt,0, el_focus,\
942
	w_scr_t1,on_add_object
942
	w_scr_t1,on_add_object
943
;¤¥à¥¢® á ®¡ê¥ªâ ¬¨ ¢ ¯®«ì§®¢ â¥«ì᪮¬ ä ©«¥
943
;¤¥à¥¢® á ®¡ê¥ªâ ¬¨ ¢ ¯®«ì§®¢ â¥«ì᪮¬ ä ©«¥
944
tree2 tree_list sizeof.object,MAX_CED_OBJECTS+2, tl_draw_par_line,\
944
tree2 tree_list sizeof.object,MAX_CED_OBJECTS+2, tl_draw_par_line,\
945
	16,16, 0xffffff,0xb0d0ff,0xd000ff, 155,50,130,280, 13,u_object.txt-u_object,MAX_LEN_OBJ_TXT, el_focus,\
945
	16,16, 0xffffff,0xb0d0ff,0xd000ff, 155,50,130,280, 13,u_object.txt-u_object,MAX_LEN_OBJ_TXT, el_focus,\
946
	w_scr_t2,on_file_object_select
946
	w_scr_t2,on_file_object_select
947
 
947
 
948
msgbox_0:
948
msgbox_0:
949
  db 1,0
949
  db 1,0
950
  db 'Warning',0
950
  db 'Warning',0
951
  db 'Error saving file!',13,\
951
  db 'Error saving file!',13,\
952
     'Maybe the file name is not entered correctly.',13,\
952
     'Maybe the file name is not entered correctly.',13,\
953
     '  (error code ='
953
     '  (error code ='
954
  .err: db '?'
954
  .err: db '?'
955
  db ')',0
955
  db ')',0
956
  db 'Close',0
956
  db 'Close',0
957
  db 0
957
  db 0
958
 
958
 
959
msgbox_1:
959
msgbox_1:
960
	db 1,0
960
	db 1,0
961
	db ':)',0
961
	db ':)',0
962
	db 'File was saved',0
962
	db 'File was saved',0
963
	db 'Ok',0
963
	db 'Ok',0
964
	db 0
964
	db 0
965
 
965
 
966
struct TexSelect
966
struct TexSelect
967
	x0 dd ?
967
	x0 dd ?
968
	y0 dd ?
968
	y0 dd ?
969
	x1 dd ?
969
	x1 dd ?
970
	y1 dd ?
970
	y1 dd ?
971
ends
971
ends
972
;------------------------------------------------------------------------------
972
;------------------------------------------------------------------------------
973
align 4
973
align 4
974
tedit0: ;áâàãªâãà  â¥ªá⮢®£® । ªâ®à 
974
tedit0: ;áâàãªâãà  â¥ªá⮢®£® । ªâ®à 
975
	.wnd BOX 310,50,325,260 ;+ 0
975
	.wnd BOX 310,50,325,260 ;+ 0
976
	.rec BOX 30,13,7,10   ;+16
976
	.rec BOX 30,13,7,10   ;+16
977
	.drag_m db 0 ;+32 ¢ë¤¥«¥­¨¥ ®â ¬ëè¨
977
	.drag_m db 0 ;+32 ¢ë¤¥«¥­¨¥ ®â ¬ëè¨
978
	.drag_k db 0 ;+33 ¢ë¤¥«¥­¨¥ ®â ª« ¢¨ âãàë
978
	.drag_k db 0 ;+33 ¢ë¤¥«¥­¨¥ ®â ª« ¢¨ âãàë
979
	.sel  TexSelect 0,0,0,0 ;+34 áâàãªâãà  ¢ë¤¥«¥­¨ï
979
	.sel  TexSelect 0,0,0,0 ;+34 áâàãªâãà  ¢ë¤¥«¥­¨ï
980
	.seln TexSelect ;+50 ¤®¯®«­¨â¥«ì­ ï áâàãªâãà  ¢ë¤¥«¥­¨ï
980
	.seln TexSelect ;+50 ¤®¯®«­¨â¥«ì­ ï áâàãªâãà  ¢ë¤¥«¥­¨ï
981
	.tex	  dd 0 ;+66 text memory pointer
981
	.tex	  dd 0 ;+66 text memory pointer
982
	.tex_1	  dd 0 ;+70 text first symbol pointer
982
	.tex_1	  dd 0 ;+70 text first symbol pointer
983
	.tex_end  dd 0 ;+74 text end memory pointer
983
	.tex_end  dd 0 ;+74 text end memory pointer
984
	.cur_x	  dd 0 ;+78 ª®®à¤¨­ â  x ªãàá®à 
984
	.cur_x	  dd 0 ;+78 ª®®à¤¨­ â  x ªãàá®à 
985
	.cur_y	  dd 0 ;+82 ª®®à¤¨­ â  y ªãàá®à 
985
	.cur_y	  dd 0 ;+82 ª®®à¤¨­ â  y ªãàá®à 
986
	.max_chars dd 25002 ;+86 ¬ ªá¨¬ «ì­®¥ ç¨á«® ᨬ¢®«®¢ ¢ ®¤­®¬ ¤®ªã¬¥­â¥
986
	.max_chars dd 25002 ;+86 ¬ ªá¨¬ «ì­®¥ ç¨á«® ᨬ¢®«®¢ ¢ ®¤­®¬ ¤®ªã¬¥­â¥
987
	.count_colors_text dd 1 ;+90 ª®««¨ç¥á⢮ 梥⮢ ⥪áâ 
987
	.count_colors_text dd 1 ;+90 ª®««¨ç¥á⢮ 梥⮢ ⥪áâ 
988
	.count_key_words   dd 0 ;+94 ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
988
	.count_key_words   dd 0 ;+94 ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
989
	.color_cursor	   dd 0xff0000 ;+98 梥⠪ãàá®à 
989
	.color_cursor	   dd 0xff0000 ;+98 梥⠪ãàá®à 
990
	.color_wnd_capt    dd 0x0080c0 ;+102 梥⠯®«¥© ¢®ªà㣠®ª­ 
990
	.color_wnd_capt    dd 0x0080c0 ;+102 梥⠯®«¥© ¢®ªà㣠®ª­ 
991
	.color_wnd_work    dd	   0x0 ;+106 梥â ä®­  ®ª­ 
991
	.color_wnd_work    dd	   0x0 ;+106 梥â ä®­  ®ª­ 
992
	.color_wnd_bord    dd 0xffffff ;+110 梥â ⥪áâ  ­  ¯®«ïå
992
	.color_wnd_bord    dd 0xffffff ;+110 梥â ⥪áâ  ­  ¯®«ïå
993
	.color_select	   dd 0x0000ff ;+114 梥⠢뤥«¥­¨ï
993
	.color_select	   dd 0x0000ff ;+114 梥⠢뤥«¥­¨ï
994
	.color_cur_text    dd 0xffff00 ;+118 梥â ᨬ¢®«  ¯®¤ ªãàá®à®¬
994
	.color_cur_text    dd 0xffff00 ;+118 梥â ᨬ¢®«  ¯®¤ ªãàá®à®¬
995
	.color_wnd_text    dd 0x80ffff ;+122 梥â ⥪áâ  ¢ ®ª­¥
995
	.color_wnd_text    dd 0x80ffff ;+122 梥â ⥪áâ  ¢ ®ª­¥
996
	.syntax_file	   dd 0 ;+126 㪠§ â¥«ì ­  ­ ç «® ä ©«  ᨭ⠪á¨á 
996
	.syntax_file	   dd 0 ;+126 㪠§ â¥«ì ­  ­ ç «® ä ©«  ᨭ⠪á¨á 
997
	.syntax_file_size  dd 55*1024 ;+130 ¬ ªá¨¬ «ì­ë© à §¬¥à ä ©«  ᨭ⠪á¨á 
997
	.syntax_file_size  dd 55*1024 ;+130 ¬ ªá¨¬ «ì­ë© à §¬¥à ä ©«  ᨭ⠪á¨á 
998
	.text_colors	   dd 0 ;+134 㪠§ â¥«ì ­  ¬ áᨢ 梥⮢ ⥪áâ 
998
	.text_colors	   dd 0 ;+134 㪠§ â¥«ì ­  ¬ áᨢ 梥⮢ ⥪áâ 
999
	.help_text_f1	   dd 0 ;+138 㪠§ â¥«ì ­  ⥪áâ á¯à ¢ª¨ (¯® ­ ¦ â¨¨ F1)
999
	.help_text_f1	   dd 0 ;+138 㪠§ â¥«ì ­  ⥪áâ á¯à ¢ª¨ (¯® ­ ¦ â¨¨ F1)
1000
	.help_id	   dd -1 ;+142 ¨¤¥­â¨ä¨ª â®à ¤«ï á¯à ¢ª¨
1000
	.help_id	   dd -1 ;+142 ¨¤¥­â¨ä¨ª â®à ¤«ï á¯à ¢ª¨
1001
	.key_words_data    dd 0 ;+146 㪠§ â¥«ì ­  áâàãªâãàë ª«î祢ëå á«®¢ TexColViv
1001
	.key_words_data    dd 0 ;+146 㪠§ â¥«ì ­  áâàãªâãàë ª«î祢ëå á«®¢ TexColViv
1002
	.tim_ch      dd ? ;+150 ª®«¨ç¥á⢮ ¨§¬¥­¥­¨© ¢ ä ©«¥
1002
	.tim_ch      dd ? ;+150 ª®«¨ç¥á⢮ ¨§¬¥­¥­¨© ¢ ä ©«¥
1003
	.tim_undo    dd ? ;+154 ª®«¨ç¥á⢮ ®â¬¥­¥­­ëå ¤¥©á⢨©
1003
	.tim_undo    dd ? ;+154 ª®«¨ç¥á⢮ ®â¬¥­¥­­ëå ¤¥©á⢨©
1004
	.tim_ls      dd ? ;+158 ¢à¥¬ï ¯®á«¥¤­¥£® á®åà ­¥­¨ï
1004
	.tim_ls      dd ? ;+158 ¢à¥¬ï ¯®á«¥¤­¥£® á®åà ­¥­¨ï
1005
	.tim_co      dd ? ;+162 ¢à¥¬ï ¯®á«¥¤­¥© 梥⮢®© à §¬¥âª¨
1005
	.tim_co      dd ? ;+162 ¢à¥¬ï ¯®á«¥¤­¥© 梥⮢®© à §¬¥âª¨
1006
	.el_focus    dd el_focus ;+166 㪠§ â¥«ì ­  ¯¥à¥¬¥­­ãî í«¥¬¥­â  ¢ 䮪ãá¥
1006
	.el_focus    dd el_focus ;+166 㪠§ â¥«ì ­  ¯¥à¥¬¥­­ãî í«¥¬¥­â  ¢ 䮪ãá¥
1007
	.err_save    db 0 ;+170 ®è¨¡ª  á®åà ­¥­¨ï ä ©« 
1007
	.err_save    db 0 ;+170 ®è¨¡ª  á®åà ­¥­¨ï ä ©« 
1008
	.panel_id    db 0 ;+171 ­®¬¥à ®âªàë⮩ ¯ ­¥«¨
1008
	.panel_id    db 0 ;+171 ­®¬¥à ®âªàë⮩ ¯ ­¥«¨
1009
	.key_new     db 0 ;+172 ᨬ¢®«, ª®â®àë© ¡ã¤¥â ¤®¡ ¢«ïâáï á ª« ¢¨ âãàë
1009
	.key_new     db 0 ;+172 ᨬ¢®«, ª®â®àë© ¡ã¤¥â ¤®¡ ¢«ïâáï á ª« ¢¨ âãàë
1010
	.symbol_new_line db 20 ;+173 ᨬ¢®« § ¢¥à襭¨ï áâப¨
1010
	.symbol_new_line db 20 ;+173 ᨬ¢®« § ¢¥à襭¨ï áâப¨
1011
	.scr_w	     dd scrol_w1 ;+174 ¢¥à⨪ «ì­ë© áªà®««¨­£
1011
	.scr_w	     dd scrol_w1 ;+174 ¢¥à⨪ «ì­ë© áªà®««¨­£
1012
	.scr_h	     dd scrol_h1 ;+178 £®à¨§®­â «ì­ë© áªà®««¨­£
1012
	.scr_h	     dd scrol_h1 ;+178 £®à¨§®­â «ì­ë© áªà®««¨­£
1013
	.arr_key_pos dd 0 ;+182 㪠§ â¥«ì ­  ¬ áᨢ ¯®§¨æ¨© ª«î祢ëå á«®¢
1013
	.arr_key_pos dd 0 ;+182 㪠§ â¥«ì ­  ¬ áᨢ ¯®§¨æ¨© ª«î祢ëå á«®¢
1014
	.buffer      dd text_buffer ;+186 㪠§ â¥«ì ­  ¡ãä¥à ª®¯¨à®¢ ­¨ï/¢áâ ¢ª¨
1014
	.buffer      dd text_buffer ;+186 㪠§ â¥«ì ­  ¡ãä¥à ª®¯¨à®¢ ­¨ï/¢áâ ¢ª¨
1015
	.buffer_find dd 0 ;+190 㪠§ â¥«ì ­  ¡ãä¥à ¤«ï ¯®¨áª 
1015
	.buffer_find dd 0 ;+190 㪠§ â¥«ì ­  ¡ãä¥à ¤«ï ¯®¨áª 
1016
	.cur_ins     db 1 ;+194 ०¨¬ à ¡®âë ªãàá®à  (®¡ëç­ë© ¨«¨ § ¬¥­ )
1016
	.cur_ins     db 1 ;+194 ०¨¬ à ¡®âë ªãàá®à  (®¡ëç­ë© ¨«¨ § ¬¥­ )
1017
	.mode_color  db 1 ;+195 ०¨¬ ¢ë¤¥«¥­¨ï á«®¢ 梥⮬ (0-¢ëª«. 1-¢ª«.)
1017
	.mode_color  db 1 ;+195 ०¨¬ ¢ë¤¥«¥­¨ï á«®¢ 梥⮬ (0-¢ëª«. 1-¢ª«.)
1018
	.mode_invis  db 0 ;+196 ०¨¬ ¯®ª §  ­¥¯¥ç â ¥¬ëå ᨬ¢®«®¢
1018
	.mode_invis  db 0 ;+196 ०¨¬ ¯®ª §  ­¥¯¥ç â ¥¬ëå ᨬ¢®«®¢
1019
	.gp_opt      db 0 ;+197 ®¯æ¨¨ ¢®§¢à é ¥¬ë¥ ä㭪樥© ted_get_pos_by_cursor
1019
	.gp_opt      db 0 ;+197 ®¯æ¨¨ ¢®§¢à é ¥¬ë¥ ä㭪樥© ted_get_pos_by_cursor
1020
	.fun_on_key_ctrl_o dd but_ctrl_o ;+198 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ­ ¦ â¨¨ Ctrl+O (®âªàë⨥ ä ©« )
1020
	.fun_on_key_ctrl_o dd but_ctrl_o ;+198 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ­ ¦ â¨¨ Ctrl+O (®âªàë⨥ ä ©« )
1021
	.fun_on_key_ctrl_f dd 0 ;+202 ... Ctrl+F (¢ë§®¢ /áªàëâ¨ï ¯ ­¥«¨ ¯®¨áª )
1021
	.fun_on_key_ctrl_f dd 0 ;+202 ... Ctrl+F (¢ë§®¢ /áªàëâ¨ï ¯ ­¥«¨ ¯®¨áª )
1022
	.fun_on_key_ctrl_n dd but_ctrl_n ;+206 ... Ctrl+N (ᮧ¤ ­¨¥ ­®¢®£® ¤®ªã¬¥­â )
1022
	.fun_on_key_ctrl_n dd but_ctrl_n ;+206 ... Ctrl+N (ᮧ¤ ­¨¥ ­®¢®£® ¤®ªã¬¥­â )
1023
	.fun_on_key_ctrl_s dd 0 ;+210 ... Ctrl+S
1023
	.fun_on_key_ctrl_s dd 0 ;+210 ... Ctrl+S
1024
	.buffer_size	   dd BUF_SIZE ;+214 à §¬¥à ¡ãä¥à  ª®¯¨à®¢ ­¨ï/¢áâ ¢ª¨
1024
	.buffer_size	   dd BUF_SIZE ;+214 à §¬¥à ¡ãä¥à  ª®¯¨à®¢ ­¨ï/¢áâ ¢ª¨
1025
	.fun_find_err	   dd 0 ;+218 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ ¯®¨áª § ª®­ç¨«áï ­¥ã¤ ç­®
1025
	.fun_find_err	   dd 0 ;+218 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ ¯®¨áª § ª®­ç¨«áï ­¥ã¤ ç­®
1026
	.fun_init_synt_err dd 0 ;+222 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ®è¨¡®ç­®¬ ®âªàë⨨ ä ©«  ᨭ⠪á¨á 
1026
	.fun_init_synt_err dd 0 ;+222 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ®è¨¡®ç­®¬ ®âªàë⨨ ä ©«  ᨭ⠪á¨á 
1027
	.fun_draw_panel_buttons dd 0 ;+226 㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ á ª­®¯ª ¬¨
1027
	.fun_draw_panel_buttons dd 0 ;+226 㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ á ª­®¯ª ¬¨
1028
	.fun_draw_panel_find	dd 0 ;+230 㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ¯®¨áª 
1028
	.fun_draw_panel_find	dd 0 ;+230 㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ¯®¨áª 
1029
	.fun_draw_panel_syntax	dd 0 ;+234 㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ᨭ⠪á¨á 
1029
	.fun_draw_panel_syntax	dd 0 ;+234 㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ᨭ⠪á¨á 
1030
	.fun_save_err		dd ted_save_err_msg ;+238 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ­¥­¨¥ ä ©«  § ª®­ç¨«®áì ­¥ã¤ ç­®
1030
	.fun_save_err		dd ted_save_err_msg ;+238 㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ­¥­¨¥ ä ©«  § ª®­ç¨«®áì ­¥ã¤ ç­®
1031
	.increase_size dd 1000 ;+242 ç¨á«® ᨬ¢®«®¢ ­  ª®â®àë¥ ¡ã¤¥â 㢥稢 âìáï ¯ ¬ïâì ¯à¨ ­¥å¢ âª¥
1031
	.increase_size dd 1000 ;+242 ç¨á«® ᨬ¢®«®¢ ­  ª®â®àë¥ ¡ã¤¥â 㢥稢 âìáï ¯ ¬ïâì ¯à¨ ­¥å¢ âª¥
1032
	.ptr_free_symb dd ? ;+246 㪠§ â¥«ì ­  ᢮¡®¤­ãî ¯ ¬ïâì, ¢ ª®â®àãî ¬®¦­® ¤®¡ ¢«ïâì ᨬ¢®« (¨á¯®«ì§ã¥âáï ¢­ãâà¨ í«¥¬¥­â  ¤«ï ã᪮७¨ï ¢áâ ¢ª¨ ⥪áâ )
1032
	.ptr_free_symb dd ? ;+246 㪠§ â¥«ì ­  ᢮¡®¤­ãî ¯ ¬ïâì, ¢ ª®â®àãî ¬®¦­® ¤®¡ ¢«ïâì ᨬ¢®« (¨á¯®«ì§ã¥âáï ¢­ãâà¨ í«¥¬¥­â  ¤«ï ã᪮७¨ï ¢áâ ¢ª¨ ⥪áâ )
1033
;------------------------------------------------------------------------------
1033
;------------------------------------------------------------------------------
1034
align 4
1034
align 4
1035
scrol_w1:
1035
scrol_w1:
1036
.x:
1036
.x:
1037
.size_x   dw 16 ;+0
1037
.size_x   dw 16 ;+0
1038
.start_x  dw 85 ;+2
1038
.start_x  dw 85 ;+2
1039
.y:
1039
.y:
1040
.size_y   dw 100 ; +4
1040
.size_y   dw 100 ; +4
1041
.start_y  dw  15 ; +6
1041
.start_y  dw  15 ; +6
1042
.btn_high dd  15 ; +8
1042
.btn_high dd  15 ; +8
1043
.type	  dd   1 ;+12
1043
.type	  dd   1 ;+12
1044
.max_area dd 100 ;+16
1044
.max_area dd 100 ;+16
1045
rb 4+4
1045
rb 4+4
1046
.bckg_col dd 0xeeeeee ;+28
1046
.bckg_col dd 0xeeeeee ;+28
1047
.frnt_col dd 0xbbddff ;+32
1047
.frnt_col dd 0xbbddff ;+32
1048
.line_col dd 0x808080 ;+36
1048
.line_col dd 0x808080 ;+36
1049
.redraw   dd   0 ;+40
1049
.redraw   dd   0 ;+40
1050
.delta	  dw   0 ;+44
1050
.delta	  dw   0 ;+44
1051
.delta2   dw   0 ;+46
1051
.delta2   dw   0 ;+46
1052
.run_x:
1052
.run_x:
1053
.r_size_x  dw 0 ;+48
1053
.r_size_x  dw 0 ;+48
1054
.r_start_x dw 0 ;+50
1054
.r_start_x dw 0 ;+50
1055
.run_y:
1055
.run_y:
1056
.r_size_y   dw 0 ;+52
1056
.r_size_y   dw 0 ;+52
1057
.r_start_y  dw 0 ;+54
1057
.r_start_y  dw 0 ;+54
1058
.m_pos	    dd 0 ;+56
1058
.m_pos	    dd 0 ;+56
1059
.m_pos_2    dd 0 ;+60
1059
.m_pos_2    dd 0 ;+60
1060
.m_keys     dd 0 ;+64
1060
.m_keys     dd 0 ;+64
1061
.run_size   dd 0 ;+68
1061
.run_size   dd 0 ;+68
1062
.position2  dd 0 ;+72
1062
.position2  dd 0 ;+72
1063
.work_size  dd 0 ;+76
1063
.work_size  dd 0 ;+76
1064
.all_redraw dd 0 ;+80
1064
.all_redraw dd 0 ;+80
1065
.ar_offset  dd 1 ;+84
1065
.ar_offset  dd 1 ;+84
1066
;---------------------------------------------------------------------
1066
;---------------------------------------------------------------------
1067
align 4
1067
align 4
1068
scrol_h1:
1068
scrol_h1:
1069
.x:
1069
.x:
1070
.size_x     dw 85 ;+0
1070
.size_x     dw 85 ;+0
1071
.start_x    dw 30 ;+2
1071
.start_x    dw 30 ;+2
1072
.y:
1072
.y:
1073
.size_y     dw 16 ;+4
1073
.size_y     dw 16 ;+4
1074
.start_y    dw 100 ;+6
1074
.start_y    dw 100 ;+6
1075
.btn_high   dd 15 ;+8
1075
.btn_high   dd 15 ;+8
1076
.type	    dd 1  ;+12
1076
.type	    dd 1  ;+12
1077
.max_area   dd 100 ;+16
1077
.max_area   dd 100 ;+16
1078
rb 4+4
1078
rb 4+4
1079
.bckg_col   dd 0xeeeeee ;+28
1079
.bckg_col   dd 0xeeeeee ;+28
1080
.frnt_col   dd 0xbbddff ;+32
1080
.frnt_col   dd 0xbbddff ;+32
1081
.line_col   dd 0x808080 ;+36
1081
.line_col   dd 0x808080 ;+36
1082
.redraw     dd 0  ;+40
1082
.redraw     dd 0  ;+40
1083
.delta	    dw 0  ;+44
1083
.delta	    dw 0  ;+44
1084
.delta2     dw 0  ;+46
1084
.delta2     dw 0  ;+46
1085
.run_x:
1085
.run_x:
1086
.r_size_x   dw 0  ;+48
1086
.r_size_x   dw 0  ;+48
1087
.r_start_x  dw 0  ;+50
1087
.r_start_x  dw 0  ;+50
1088
.run_y:
1088
.run_y:
1089
.r_size_y   dw 0 ;+52
1089
.r_size_y   dw 0 ;+52
1090
.r_start_y  dw 0 ;+54
1090
.r_start_y  dw 0 ;+54
1091
.m_pos	    dd 0 ;+56
1091
.m_pos	    dd 0 ;+56
1092
.m_pos_2    dd 0 ;+60
1092
.m_pos_2    dd 0 ;+60
1093
.m_keys     dd 0 ;+64
1093
.m_keys     dd 0 ;+64
1094
.run_size   dd 0 ;+68
1094
.run_size   dd 0 ;+68
1095
.position2  dd 0 ;+72
1095
.position2  dd 0 ;+72
1096
.work_size  dd 0 ;+76
1096
.work_size  dd 0 ;+76
1097
.all_redraw dd 0 ;+80
1097
.all_redraw dd 0 ;+80
1098
.ar_offset  dd 1 ;+84
1098
.ar_offset  dd 1 ;+84
1099
 
1099
 
1100
 
1100
 
1101
 
1101
 
1102
align 4
1102
align 4
1103
w_scr_t1:
1103
w_scr_t1:
1104
.size_x     dw 16 ;+0
1104
.size_x     dw 16 ;+0
1105
rb 2+2+2
1105
rb 2+2+2
1106
.btn_high   dd 15 ;+8
1106
.btn_high   dd 15 ;+8
1107
.type	    dd 1  ;+12
1107
.type	    dd 1  ;+12
1108
.max_area   dd 100  ;+16
1108
.max_area   dd 100  ;+16
1109
rb 4+4
1109
rb 4+4
1110
.bckg_col   dd 0xeeeeee ;+28
1110
.bckg_col   dd 0xeeeeee ;+28
1111
.frnt_col   dd 0xbbddff ;+32
1111
.frnt_col   dd 0xbbddff ;+32
1112
.line_col   dd 0  ;+36
1112
.line_col   dd 0  ;+36
1113
rb 4+2+2
1113
rb 4+2+2
1114
.run_x:
1114
.run_x:
1115
rb 2+2+2+2+4+4+4+4+4+4
1115
rb 2+2+2+2+4+4+4+4+4+4
1116
.all_redraw dd 0 ;+80
1116
.all_redraw dd 0 ;+80
1117
.ar_offset  dd 1 ;+84
1117
.ar_offset  dd 1 ;+84
1118
 
1118
 
1119
align 4
1119
align 4
1120
w_scr_t2:
1120
w_scr_t2:
1121
.size_x     dw 16 ;+0
1121
.size_x     dw 16 ;+0
1122
rb 2+2+2
1122
rb 2+2+2
1123
.btn_high   dd 15 ;+8
1123
.btn_high   dd 15 ;+8
1124
.type	    dd 1  ;+12
1124
.type	    dd 1  ;+12
1125
.max_area   dd 100  ;+16
1125
.max_area   dd 100  ;+16
1126
rb 4+4
1126
rb 4+4
1127
.bckg_col   dd 0xeeeeee ;+28
1127
.bckg_col   dd 0xeeeeee ;+28
1128
.frnt_col   dd 0xbbddff ;+32
1128
.frnt_col   dd 0xbbddff ;+32
1129
.line_col   dd 0  ;+36
1129
.line_col   dd 0  ;+36
1130
rb 4+2+2
1130
rb 4+2+2
1131
.run_x:
1131
.run_x:
1132
rb 2+2+2+2+4+4+4+4+4+4
1132
rb 2+2+2+2+4+4+4+4+4+4
1133
.all_redraw dd 0 ;+80
1133
.all_redraw dd 0 ;+80
1134
.ar_offset  dd 1 ;+84
1134
.ar_offset  dd 1 ;+84
1135
 
1135
 
1136
data_of_code dd 0
1136
data_of_code dd 0
1137
sc system_colors
1137
sc system_colors
1138
 
1138
 
1139
image_data dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ­¨ï ª à⨭ª¨ äã­ªæ¨ï¬¨ libimg
1139
image_data dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ­¨ï ª à⨭ª¨ äã­ªæ¨ï¬¨ libimg
1140
 
1140
 
1141
ced_info object 0 ;on start == 0
1141
ced_info object 0 ;on start == 0
1142
	rb sizeof.object*(MAX_CED_OBJECTS-1)
1142
	rb sizeof.object*(MAX_CED_OBJECTS-1)
1143
 
1143
 
1144
text_buffer db BUF_SIZE dup(0)
1144
text_buffer db BUF_SIZE dup(0)
1145
fn_obj_opt db 'ob_o.opt',0
1145
fn_obj_opt db 'ob_o.opt',0
1146
obj_opt ObjOpt
1146
obj_opt ObjOpt
1147
	rb sizeof.ObjOpt*(MAX_OBJ_TYPES-1)+MAX_OBJ_CAPTIONS
1147
	rb sizeof.ObjOpt*(MAX_OBJ_TYPES-1)+MAX_OBJ_CAPTIONS
1148
	db 0 ;eof options
1148
	db 0 ;eof options
1149
 
1149
 
1150
cur_x dd 0
1150
cur_x dd 0
1151
cur_y dd 0
1151
cur_y dd 0
1152
foc_obj dd 0 ;®¡ê¥ªâ ¢ 䮪ãá¥
1152
foc_obj dd 0 ;®¡ê¥ªâ ¢ 䮪ãá¥
1153
obj_count_txt_props dd 0 ;ª®«¨ç¥á⢮ ¨á¯®«ì§ã¥¬ëå ⥪á⮢ëå ᢮©áâ¢
1153
obj_count_txt_props dd 0 ;ª®«¨ç¥á⢮ ¨á¯®«ì§ã¥¬ëå ⥪á⮢ëå ᢮©áâ¢
1154
obj_m_win dd 0 ;áâàãªâãà  £« ¢­®£® ®ª­ 
1154
obj_m_win dd 0 ;áâàãªâãà  £« ¢­®£® ®ª­ 
1155
 
1155
 
1156
;
1156
;
1157
if 1 ;lang eq ru
1157
if 1 ;lang eq ru
1158
 
1158
 
1159
	err_message_found_lib0 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  box_lib.obj',0  ;áâப , ª®â®à ï ¡ã¤¥â ¢ áä®à¬¨à®¢ ­­®¬ ®ª­¥, ¥á«¨ ¡¨¡«¨®â¥ª  ­¥ ¡ã¤¥â ­ ©¤¥­ 
1159
	err_message_found_lib0 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  box_lib.obj',0  ;áâப , ª®â®à ï ¡ã¤¥â ¢ áä®à¬¨à®¢ ­­®¬ ®ª­¥, ¥á«¨ ¡¨¡«¨®â¥ª  ­¥ ¡ã¤¥â ­ ©¤¥­ 
1160
	err_message_import0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ box_lib.obj',0
1160
	err_message_import0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ box_lib.obj',0
1161
	err_message_found_lib1 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  proc_lib.obj',0
1161
	err_message_found_lib1 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  proc_lib.obj',0
1162
	err_message_import1 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ proc_lib.obj',0
1162
	err_message_import1 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ proc_lib.obj',0
1163
	err_message_found_lib2 db '¥ 㤠«®áì ­ ©â¨ ¡¨¡«¨®â¥ªã buf2d.obj',0
1163
	err_message_found_lib2 db '¥ 㤠«®áì ­ ©â¨ ¡¨¡«¨®â¥ªã buf2d.obj',0
1164
	err_message_import2 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ buf2d.obj',0
1164
	err_message_import2 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ buf2d.obj',0
1165
	err_message_found_lib3 db '¥ 㤠«®áì ­ ©â¨ ¡¨¡«¨®â¥ªã libimg.obj',0
1165
	err_message_found_lib3 db '¥ 㤠«®áì ­ ©â¨ ¡¨¡«¨®â¥ªã libimg.obj',0
1166
	err_message_import3 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ libimg.obj',0
1166
	err_message_import3 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ libimg.obj',0
1167
	err_message_found_lib4 db '¥ 㤠«®áì ­ ©â¨ ¡¨¡«¨®â¥ªã msgbox.obj',0
1167
	err_message_found_lib4 db '¥ 㤠«®áì ­ ©â¨ ¡¨¡«¨®â¥ªã msgbox.obj',0
1168
	err_message_import4 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ msgbox.obj',0
1168
	err_message_import4 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ msgbox.obj',0
1169
 
1169
 
1170
	head_f_i:
1170
	head_f_i:
1171
	head_f_l db '‘¨á⥬­ ï ®è¨¡ª ',0 ;§ £®«®¢®ª ®ª­ , ¯à¨ ¢®§­¨ª­®¢¥­¨¨ ®è¨¡ª¨
1171
	head_f_l db '‘¨á⥬­ ï ®è¨¡ª ',0 ;§ £®«®¢®ª ®ª­ , ¯à¨ ¢®§­¨ª­®¢¥­¨¨ ®è¨¡ª¨
1172
else
1172
else
1173
 
1173
 
1174
	err_message_found_lib0 db 'Sorry I cannot found library box_lib.obj',0
1174
	err_message_found_lib0 db 'Sorry I cannot found library box_lib.obj',0
1175
	err_message_import0 db 'Error on load import library box_lib.obj',0
1175
	err_message_import0 db 'Error on load import library box_lib.obj',0
1176
	err_message_found_lib1 db 'Sorry I cannot found library proc_lib.obj',0
1176
	err_message_found_lib1 db 'Sorry I cannot found library proc_lib.obj',0
1177
	err_message_import1 db 'Error on load import library proc_lib.obj',0
1177
	err_message_import1 db 'Error on load import library proc_lib.obj',0
1178
	err_message_found_lib2 db 'Sorry I cannot found library buf2d.obj',0
1178
	err_message_found_lib2 db 'Sorry I cannot found library buf2d.obj',0
1179
	err_message_import2 db 'Error on load import library buf2d.obj',0
1179
	err_message_import2 db 'Error on load import library buf2d.obj',0
1180
	err_message_found_lib3 db 'Sorry I cannot found library libimg.obj',0
1180
	err_message_found_lib3 db 'Sorry I cannot found library libimg.obj',0
1181
	err_message_import3 db 'Error on load import library libimg.obj',0
1181
	err_message_import3 db 'Error on load import library libimg.obj',0
1182
	err_message_found_lib4 db 'Sorry I cannot found library msgbox.obj',0
1182
	err_message_found_lib4 db 'Sorry I cannot found library msgbox.obj',0
1183
	err_message_import4 db 'Error on load import library msgbox.obj',0
1183
	err_message_import4 db 'Error on load import library msgbox.obj',0
1184
 
1184
 
1185
	head_f_i:
1185
	head_f_i:
1186
	head_f_l db 'System error',0 ;§ £®«®¢®ª ®ª­ , ¯à¨ ¢®§­¨ª­®¢¥­¨¨ ®è¨¡ª¨
1186
	head_f_l db 'System error',0 ;§ £®«®¢®ª ®ª­ , ¯à¨ ¢®§­¨ª­®¢¥­¨¨ ®è¨¡ª¨
1187
end if
1187
end if
1188
 
1188
 
1189
	system_dir0 db '/sys/lib/'
1189
	system_dir0 db '/sys/lib/'
1190
	lib0_name db 'box_lib.obj',0
1190
	lib0_name db 'box_lib.obj',0
1191
 
1191
 
1192
	system_dir1 db '/sys/lib/'
1192
	system_dir1 db '/sys/lib/'
1193
	lib1_name db 'proc_lib.obj',0
1193
	lib1_name db 'proc_lib.obj',0
1194
 
1194
 
1195
	system_dir2 db '/sys/lib/'
1195
	system_dir2 db '/sys/lib/'
1196
	lib2_name db 'buf2d.obj',0
1196
	lib2_name db 'buf2d.obj',0
1197
 
1197
 
1198
	system_dir3 db '/sys/lib/'
1198
	system_dir3 db '/sys/lib/'
1199
	lib3_name db 'libimg.obj',0
1199
	lib3_name db 'libimg.obj',0
1200
 
1200
 
1201
	system_dir4 db '/sys/lib/'
1201
	system_dir4 db '/sys/lib/'
1202
	lib4_name db 'msgbox.obj',0
1202
	lib4_name db 'msgbox.obj',0
1203
 
1203
 
1204
align 4
1204
align 4
1205
import_buf2d_lib:
1205
import_buf2d_lib:
1206
	dd sz_lib_init
1206
	dd sz_lib_init
1207
	buf2d_create dd sz_buf2d_create
1207
	buf2d_create dd sz_buf2d_create
1208
	buf2d_create_f_img dd sz_buf2d_create_f_img
1208
	buf2d_create_f_img dd sz_buf2d_create_f_img
1209
	buf2d_clear dd sz_buf2d_clear
1209
	buf2d_clear dd sz_buf2d_clear
1210
	buf2d_draw dd sz_buf2d_draw
1210
	buf2d_draw dd sz_buf2d_draw
1211
	buf2d_delete dd sz_buf2d_delete
1211
	buf2d_delete dd sz_buf2d_delete
1212
	buf2d_line dd sz_buf2d_line
1212
	buf2d_line dd sz_buf2d_line
1213
	buf2d_rect_by_size dd sz_buf2d_rect_by_size
1213
	buf2d_rect_by_size dd sz_buf2d_rect_by_size
1214
	buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size
1214
	buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size
1215
	;buf2d_circle dd sz_buf2d_circle
1215
	;buf2d_circle dd sz_buf2d_circle
1216
	buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2
1216
	buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2
1217
	buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2
1217
	buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2
1218
	buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8
1218
	buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8
1219
	buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32
1219
	buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32
1220
	buf2d_bit_blt dd sz_buf2d_bit_blt
1220
	buf2d_bit_blt dd sz_buf2d_bit_blt
1221
	buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp
1221
	buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp
1222
	buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha
1222
	buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha
1223
	;buf2d_curve_bezier dd sz_buf2d_curve_bezier
1223
	;buf2d_curve_bezier dd sz_buf2d_curve_bezier
1224
	buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix
1224
	buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix
1225
	buf2d_draw_text dd sz_buf2d_draw_text
1225
	buf2d_draw_text dd sz_buf2d_draw_text
1226
	;buf2d_crop_color dd sz_buf2d_crop_color
1226
	;buf2d_crop_color dd sz_buf2d_crop_color
1227
	buf2d_offset_h dd sz_buf2d_offset_h	
1227
	buf2d_offset_h dd sz_buf2d_offset_h	
1228
dd 0,0
1228
dd 0,0
1229
	sz_lib_init db 'lib_init',0
1229
	sz_lib_init db 'lib_init',0
1230
	sz_buf2d_create db 'buf2d_create',0
1230
	sz_buf2d_create db 'buf2d_create',0
1231
	sz_buf2d_create_f_img db 'buf2d_create_f_img',0
1231
	sz_buf2d_create_f_img db 'buf2d_create_f_img',0
1232
	sz_buf2d_clear db 'buf2d_clear',0
1232
	sz_buf2d_clear db 'buf2d_clear',0
1233
	sz_buf2d_draw db 'buf2d_draw',0
1233
	sz_buf2d_draw db 'buf2d_draw',0
1234
	sz_buf2d_delete db 'buf2d_delete',0
1234
	sz_buf2d_delete db 'buf2d_delete',0
1235
	sz_buf2d_line db 'buf2d_line',0
1235
	sz_buf2d_line db 'buf2d_line',0
1236
	sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 ;à¨á®¢ ­¨¥ ¯àאַ㣮«ì­¨ª , 2-ï ª®®à¤¨­ â  § ¤ ­  ¯® à §¬¥àã
1236
	sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 ;à¨á®¢ ­¨¥ ¯àאַ㣮«ì­¨ª , 2-ï ª®®à¤¨­ â  § ¤ ­  ¯® à §¬¥àã
1237
	sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0
1237
	sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0
1238
	;sz_buf2d_circle db 'buf2d_circle',0 ;à¨á®¢ ­¨¥ ®ªà㦭®áâ¨
1238
	;sz_buf2d_circle db 'buf2d_circle',0 ;à¨á®¢ ­¨¥ ®ªà㦭®áâ¨
1239
	sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0
1239
	sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0
1240
	sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0
1240
	sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0
1241
	sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0
1241
	sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0
1242
	sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0
1242
	sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0
1243
	sz_buf2d_bit_blt db 'buf2d_bit_blt',0
1243
	sz_buf2d_bit_blt db 'buf2d_bit_blt',0
1244
	sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0
1244
	sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0
1245
	sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0
1245
	sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0
1246
	;sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0
1246
	;sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0
1247
	sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0
1247
	sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0
1248
	sz_buf2d_draw_text db 'buf2d_draw_text',0
1248
	sz_buf2d_draw_text db 'buf2d_draw_text',0
1249
	;sz_buf2d_crop_color db 'buf2d_crop_color',0
1249
	;sz_buf2d_crop_color db 'buf2d_crop_color',0
1250
	sz_buf2d_offset_h db 'buf2d_offset_h',0
1250
	sz_buf2d_offset_h db 'buf2d_offset_h',0
1251
 
1251
 
1252
align 4
1252
align 4
1253
import_box_lib:
1253
import_box_lib:
1254
	dd alib_init2
1254
	dd alib_init2
1255
 
1255
 
1256
	edit_box_draw dd aEdit_box_draw
1256
	edit_box_draw dd aEdit_box_draw
1257
	edit_box_key dd aEdit_box_key
1257
	edit_box_key dd aEdit_box_key
1258
	edit_box_mouse dd aEdit_box_mouse
1258
	edit_box_mouse dd aEdit_box_mouse
1259
	edit_box_set_text dd aEdit_box_set_text
1259
	edit_box_set_text dd aEdit_box_set_text
1260
 
1260
 
1261
	init_checkbox dd aInit_checkbox
1261
	init_checkbox dd aInit_checkbox
1262
	check_box_draw dd aCheck_box_draw
1262
	check_box_draw dd aCheck_box_draw
1263
	check_box_mouse dd aCheck_box_mouse
1263
	check_box_mouse dd aCheck_box_mouse
1264
 
1264
 
1265
	scrollbar_ver_draw dd aScrollbar_ver_draw
1265
	scrollbar_ver_draw dd aScrollbar_ver_draw
1266
	scrollbar_hor_draw dd aScrollbar_hor_draw
1266
	scrollbar_hor_draw dd aScrollbar_hor_draw
1267
 
1267
 
1268
	tl_data_init dd sz_tl_data_init
1268
	tl_data_init dd sz_tl_data_init
1269
	tl_data_clear dd sz_tl_data_clear
1269
	tl_data_clear dd sz_tl_data_clear
1270
	tl_info_clear dd sz_tl_info_clear
1270
	tl_info_clear dd sz_tl_info_clear
1271
	tl_key dd sz_tl_key
1271
	tl_key dd sz_tl_key
1272
	tl_mouse dd sz_tl_mouse
1272
	tl_mouse dd sz_tl_mouse
1273
	tl_draw dd sz_tl_draw
1273
	tl_draw dd sz_tl_draw
1274
	tl_info_undo dd sz_tl_info_undo
1274
	tl_info_undo dd sz_tl_info_undo
1275
	tl_info_redo dd sz_tl_info_redo
1275
	tl_info_redo dd sz_tl_info_redo
1276
	tl_node_add dd sz_tl_node_add
1276
	tl_node_add dd sz_tl_node_add
1277
	tl_node_set_data dd sz_tl_node_set_data
1277
	tl_node_set_data dd sz_tl_node_set_data
1278
	tl_node_get_data dd sz_tl_node_get_data
1278
	tl_node_get_data dd sz_tl_node_get_data
1279
	tl_node_delete dd sz_tl_node_delete
1279
	tl_node_delete dd sz_tl_node_delete
1280
	tl_node_move_up dd sz_tl_node_move_up
1280
	tl_node_move_up dd sz_tl_node_move_up
1281
	tl_node_move_down dd sz_tl_node_move_down
1281
	tl_node_move_down dd sz_tl_node_move_down
1282
	tl_cur_beg dd sz_tl_cur_beg
1282
	tl_cur_beg dd sz_tl_cur_beg
1283
	tl_cur_next dd sz_tl_cur_next
1283
	tl_cur_next dd sz_tl_cur_next
1284
	tl_cur_perv dd sz_tl_cur_perv
1284
	tl_cur_perv dd sz_tl_cur_perv
1285
	tl_node_close_open dd sz_tl_node_close_open
1285
	tl_node_close_open dd sz_tl_node_close_open
1286
	tl_node_lev_inc dd sz_tl_node_lev_inc
1286
	tl_node_lev_inc dd sz_tl_node_lev_inc
1287
	tl_node_lev_dec dd sz_tl_node_lev_dec
1287
	tl_node_lev_dec dd sz_tl_node_lev_dec
1288
	tl_node_poi_get_info dd sz_tl_node_poi_get_info
1288
	tl_node_poi_get_info dd sz_tl_node_poi_get_info
1289
	tl_node_poi_get_next_info dd sz_tl_node_poi_get_next_info
1289
	tl_node_poi_get_next_info dd sz_tl_node_poi_get_next_info
1290
	tl_node_poi_get_data dd sz_tl_node_poi_get_data
1290
	tl_node_poi_get_data dd sz_tl_node_poi_get_data
1291
 
1291
 
1292
	ted_but_save_file dd sz_ted_but_save_file
1292
	ted_but_save_file dd sz_ted_but_save_file
1293
	ted_but_sumb_upper dd sz_ted_but_sumb_upper
1293
	ted_but_sumb_upper dd sz_ted_but_sumb_upper
1294
	ted_but_sumb_lover dd sz_ted_but_sumb_lover
1294
	ted_but_sumb_lover dd sz_ted_but_sumb_lover
1295
	ted_can_save dd sz_ted_can_save
1295
	ted_can_save dd sz_ted_can_save
1296
	ted_clear dd sz_ted_clear
1296
	ted_clear dd sz_ted_clear
1297
	ted_delete dd sz_ted_delete
1297
	ted_delete dd sz_ted_delete
1298
	ted_draw dd sz_ted_draw
1298
	ted_draw dd sz_ted_draw
1299
	ted_init dd sz_ted_init
1299
	ted_init dd sz_ted_init
1300
	ted_init_scroll_bars dd sz_ted_init_scroll_bars
1300
	ted_init_scroll_bars dd sz_ted_init_scroll_bars
1301
	ted_init_syntax_file dd sz_ted_init_syntax_file
1301
	ted_init_syntax_file dd sz_ted_init_syntax_file
1302
	ted_is_select dd sz_ted_is_select
1302
	ted_is_select dd sz_ted_is_select
1303
	ted_key dd sz_ted_key
1303
	ted_key dd sz_ted_key
1304
	ted_mouse dd sz_ted_mouse
1304
	ted_mouse dd sz_ted_mouse
1305
	ted_open_file dd sz_ted_open_file
1305
	ted_open_file dd sz_ted_open_file
1306
	ted_text_add dd sz_ted_text_add
1306
	ted_text_add dd sz_ted_text_add
1307
	ted_but_select_word dd sz_ted_but_select_word
1307
	ted_but_select_word dd sz_ted_but_select_word
1308
	ted_but_cut dd sz_ted_but_cut
1308
	ted_but_cut dd sz_ted_but_cut
1309
	ted_but_copy dd sz_ted_but_copy
1309
	ted_but_copy dd sz_ted_but_copy
1310
	ted_but_paste dd sz_ted_but_paste
1310
	ted_but_paste dd sz_ted_but_paste
1311
	ted_but_undo dd sz_ted_but_undo
1311
	ted_but_undo dd sz_ted_but_undo
1312
	ted_but_redo dd sz_ted_but_redo
1312
	ted_but_redo dd sz_ted_but_redo
1313
	ted_but_reverse dd sz_ted_but_reverse
1313
	ted_but_reverse dd sz_ted_but_reverse
1314
	ted_but_find_next dd sz_ted_but_find_next
1314
	ted_but_find_next dd sz_ted_but_find_next
1315
	ted_text_colored dd sz_ted_text_colored
1315
	ted_text_colored dd sz_ted_text_colored
1316
	;version_text_edit dd sz_ted_version
1316
	;version_text_edit dd sz_ted_version
1317
 
1317
 
1318
dd 0,0
1318
dd 0,0
1319
 
1319
 
1320
	alib_init2 db 'lib_init',0
1320
	alib_init2 db 'lib_init',0
1321
 
1321
 
1322
	aEdit_box_draw	db 'edit_box',0
1322
	aEdit_box_draw	db 'edit_box',0
1323
	aEdit_box_key	db 'edit_box_key',0
1323
	aEdit_box_key	db 'edit_box_key',0
1324
	aEdit_box_mouse db 'edit_box_mouse',0
1324
	aEdit_box_mouse db 'edit_box_mouse',0
1325
	aEdit_box_set_text db 'edit_box_set_text',0
1325
	aEdit_box_set_text db 'edit_box_set_text',0
1326
 
1326
 
1327
	aInit_checkbox db 'init_checkbox2',0
1327
	aInit_checkbox db 'init_checkbox2',0
1328
	aCheck_box_draw db 'check_box_draw2',0
1328
	aCheck_box_draw db 'check_box_draw2',0
1329
	aCheck_box_mouse db 'check_box_mouse2',0
1329
	aCheck_box_mouse db 'check_box_mouse2',0
1330
 
1330
 
1331
	aScrollbar_ver_draw  db 'scrollbar_v_draw',0
1331
	aScrollbar_ver_draw  db 'scrollbar_v_draw',0
1332
	aScrollbar_hor_draw  db 'scrollbar_h_draw',0
1332
	aScrollbar_hor_draw  db 'scrollbar_h_draw',0
1333
  
1333
  
1334
	sz_tl_data_init db 'tl_data_init',0
1334
	sz_tl_data_init db 'tl_data_init',0
1335
	sz_tl_data_clear db 'tl_data_clear',0
1335
	sz_tl_data_clear db 'tl_data_clear',0
1336
	sz_tl_info_clear db 'tl_info_clear',0
1336
	sz_tl_info_clear db 'tl_info_clear',0
1337
	sz_tl_key db 'tl_key',0
1337
	sz_tl_key db 'tl_key',0
1338
	sz_tl_mouse db 'tl_mouse',0
1338
	sz_tl_mouse db 'tl_mouse',0
1339
	sz_tl_draw db 'tl_draw',0
1339
	sz_tl_draw db 'tl_draw',0
1340
	sz_tl_info_undo db 'tl_info_undo',0
1340
	sz_tl_info_undo db 'tl_info_undo',0
1341
	sz_tl_info_redo db 'tl_info_redo',0
1341
	sz_tl_info_redo db 'tl_info_redo',0
1342
	sz_tl_node_add db 'tl_node_add',0
1342
	sz_tl_node_add db 'tl_node_add',0
1343
	sz_tl_node_set_data db 'tl_node_set_data',0
1343
	sz_tl_node_set_data db 'tl_node_set_data',0
1344
	sz_tl_node_get_data db 'tl_node_get_data',0
1344
	sz_tl_node_get_data db 'tl_node_get_data',0
1345
	sz_tl_node_delete db 'tl_node_delete',0
1345
	sz_tl_node_delete db 'tl_node_delete',0
1346
	sz_tl_node_move_up db 'tl_node_move_up',0
1346
	sz_tl_node_move_up db 'tl_node_move_up',0
1347
	sz_tl_node_move_down db 'tl_node_move_down',0
1347
	sz_tl_node_move_down db 'tl_node_move_down',0
1348
	sz_tl_cur_beg db 'tl_cur_beg',0
1348
	sz_tl_cur_beg db 'tl_cur_beg',0
1349
	sz_tl_cur_next db 'tl_cur_next',0
1349
	sz_tl_cur_next db 'tl_cur_next',0
1350
	sz_tl_cur_perv db 'tl_cur_perv',0
1350
	sz_tl_cur_perv db 'tl_cur_perv',0
1351
	sz_tl_node_close_open db 'tl_node_close_open',0
1351
	sz_tl_node_close_open db 'tl_node_close_open',0
1352
	sz_tl_node_lev_inc db 'tl_node_lev_inc',0
1352
	sz_tl_node_lev_inc db 'tl_node_lev_inc',0
1353
	sz_tl_node_lev_dec db 'tl_node_lev_dec',0
1353
	sz_tl_node_lev_dec db 'tl_node_lev_dec',0
1354
	sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0
1354
	sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0
1355
	sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0
1355
	sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0
1356
	sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0
1356
	sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0
1357
 
1357
 
1358
	sz_ted_but_save_file	db 'ted_but_save_file',0
1358
	sz_ted_but_save_file	db 'ted_but_save_file',0
1359
	sz_ted_but_sumb_upper	db 'ted_but_sumb_upper',0
1359
	sz_ted_but_sumb_upper	db 'ted_but_sumb_upper',0
1360
	sz_ted_but_sumb_lover	db 'ted_but_sumb_lover',0
1360
	sz_ted_but_sumb_lover	db 'ted_but_sumb_lover',0
1361
	sz_ted_can_save 		db 'ted_can_save',0
1361
	sz_ted_can_save 		db 'ted_can_save',0
1362
	sz_ted_clear			db 'ted_clear',0
1362
	sz_ted_clear			db 'ted_clear',0
1363
	sz_ted_delete			db 'ted_delete',0
1363
	sz_ted_delete			db 'ted_delete',0
1364
	sz_ted_draw				db 'ted_draw',0
1364
	sz_ted_draw				db 'ted_draw',0
1365
	sz_ted_init				db 'ted_init',0
1365
	sz_ted_init				db 'ted_init',0
1366
	sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0
1366
	sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0
1367
	sz_ted_init_syntax_file db 'ted_init_syntax_file',0
1367
	sz_ted_init_syntax_file db 'ted_init_syntax_file',0
1368
	sz_ted_is_select		db 'ted_is_select',0
1368
	sz_ted_is_select		db 'ted_is_select',0
1369
	sz_ted_key				db 'ted_key',0
1369
	sz_ted_key				db 'ted_key',0
1370
	sz_ted_mouse			db 'ted_mouse',0
1370
	sz_ted_mouse			db 'ted_mouse',0
1371
	sz_ted_open_file		db 'ted_open_file',0
1371
	sz_ted_open_file		db 'ted_open_file',0
1372
	sz_ted_text_add 		db 'ted_text_add',0
1372
	sz_ted_text_add 		db 'ted_text_add',0
1373
	sz_ted_but_select_word	db 'ted_but_select_word',0
1373
	sz_ted_but_select_word	db 'ted_but_select_word',0
1374
	sz_ted_but_cut			db 'ted_but_cut',0
1374
	sz_ted_but_cut			db 'ted_but_cut',0
1375
	sz_ted_but_copy 		db 'ted_but_copy',0
1375
	sz_ted_but_copy 		db 'ted_but_copy',0
1376
	sz_ted_but_paste		db 'ted_but_paste',0
1376
	sz_ted_but_paste		db 'ted_but_paste',0
1377
	sz_ted_but_undo 		db 'ted_but_undo',0
1377
	sz_ted_but_undo 		db 'ted_but_undo',0
1378
	sz_ted_but_redo 		db 'ted_but_redo',0
1378
	sz_ted_but_redo 		db 'ted_but_redo',0
1379
	sz_ted_but_reverse		db 'ted_but_reverse',0
1379
	sz_ted_but_reverse		db 'ted_but_reverse',0
1380
	sz_ted_but_find_next	db 'ted_but_find_next',0
1380
	sz_ted_but_find_next	db 'ted_but_find_next',0
1381
	sz_ted_text_colored		db 'ted_text_colored',0
1381
	sz_ted_text_colored		db 'ted_text_colored',0
1382
	;sz_ted_version db 'version_text_edit',0
1382
	;sz_ted_version db 'version_text_edit',0
1383
 
1383
 
1384
align 4
1384
align 4
1385
import_proc_lib:
1385
import_proc_lib:
1386
	OpenDialog_Init dd aOpenDialog_Init
1386
	OpenDialog_Init dd aOpenDialog_Init
1387
	OpenDialog_Start dd aOpenDialog_Start
1387
	OpenDialog_Start dd aOpenDialog_Start
1388
dd 0,0
1388
dd 0,0
1389
	aOpenDialog_Init db 'OpenDialog_init',0
1389
	aOpenDialog_Init db 'OpenDialog_init',0
1390
	aOpenDialog_Start db 'OpenDialog_start',0
1390
	aOpenDialog_Start db 'OpenDialog_start',0
1391
 
1391
 
1392
align 4
1392
align 4
1393
import_libimg:
1393
import_libimg:
1394
	dd alib_init1
1394
	dd alib_init1
1395
	img_is_img  dd aimg_is_img
1395
	img_is_img  dd aimg_is_img
1396
	img_info    dd aimg_info
1396
	img_info    dd aimg_info
1397
	img_from_file dd aimg_from_file
1397
	img_from_file dd aimg_from_file
1398
	img_to_file dd aimg_to_file
1398
	img_to_file dd aimg_to_file
1399
	img_from_rgb dd aimg_from_rgb
1399
	img_from_rgb dd aimg_from_rgb
1400
	img_to_rgb  dd aimg_to_rgb
1400
	img_to_rgb  dd aimg_to_rgb
1401
	img_to_rgb2 dd aimg_to_rgb2
1401
	img_to_rgb2 dd aimg_to_rgb2
1402
	img_decode  dd aimg_decode
1402
	img_decode  dd aimg_decode
1403
	img_encode  dd aimg_encode
1403
	img_encode  dd aimg_encode
1404
	img_create  dd aimg_create
1404
	img_create  dd aimg_create
1405
	img_destroy dd aimg_destroy
1405
	img_destroy dd aimg_destroy
1406
	img_destroy_layer dd aimg_destroy_layer
1406
	img_destroy_layer dd aimg_destroy_layer
1407
	img_count   dd aimg_count
1407
	img_count   dd aimg_count
1408
	img_lock_bits dd aimg_lock_bits
1408
	img_lock_bits dd aimg_lock_bits
1409
	img_unlock_bits dd aimg_unlock_bits
1409
	img_unlock_bits dd aimg_unlock_bits
1410
	img_flip    dd aimg_flip
1410
	img_flip    dd aimg_flip
1411
	img_flip_layer dd aimg_flip_layer
1411
	img_flip_layer dd aimg_flip_layer
1412
	img_rotate  dd aimg_rotate
1412
	img_rotate  dd aimg_rotate
1413
	img_rotate_layer dd aimg_rotate_layer
1413
	img_rotate_layer dd aimg_rotate_layer
1414
	img_draw    dd aimg_draw
1414
	img_draw    dd aimg_draw
1415
 
1415
 
1416
dd 0,0
1416
dd 0,0
1417
 
1417
 
1418
	alib_init1   db 'lib_init',0
1418
	alib_init1   db 'lib_init',0
1419
	aimg_is_img  db 'img_is_img',0 ;®¯à¥¤¥«ï¥â ¯® ¤ ­­ë¬, ¬®¦¥â «¨ ¡¨¡«¨®â¥ª  ᤥ« âì ¨§ ­¨å ¨§®¡à ¦¥­¨¥
1419
	aimg_is_img  db 'img_is_img',0 ;®¯à¥¤¥«ï¥â ¯® ¤ ­­ë¬, ¬®¦¥â «¨ ¡¨¡«¨®â¥ª  ᤥ« âì ¨§ ­¨å ¨§®¡à ¦¥­¨¥
1420
	aimg_info    db 'img_info',0
1420
	aimg_info    db 'img_info',0
1421
	aimg_from_file db 'img_from_file',0
1421
	aimg_from_file db 'img_from_file',0
1422
	aimg_to_file db 'img_to_file',0
1422
	aimg_to_file db 'img_to_file',0
1423
	aimg_from_rgb db 'img_from_rgb',0
1423
	aimg_from_rgb db 'img_from_rgb',0
1424
	aimg_to_rgb  db 'img_to_rgb',0 ;¯à¥®¡à §®¢ ­¨¥ ¨§®¡à ¦¥­¨ï ¢ ¤ ­­ë¥ RGB
1424
	aimg_to_rgb  db 'img_to_rgb',0 ;¯à¥®¡à §®¢ ­¨¥ ¨§®¡à ¦¥­¨ï ¢ ¤ ­­ë¥ RGB
1425
	aimg_to_rgb2 db 'img_to_rgb2',0
1425
	aimg_to_rgb2 db 'img_to_rgb2',0
1426
	aimg_decode  db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ­­ëå
1426
	aimg_decode  db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ­­ëå
1427
	aimg_encode  db 'img_encode',0
1427
	aimg_encode  db 'img_encode',0
1428
	aimg_create  db 'img_create',0
1428
	aimg_create  db 'img_create',0
1429
	aimg_destroy db 'img_destroy',0
1429
	aimg_destroy db 'img_destroy',0
1430
	aimg_destroy_layer db 'img_destroy_layer',0
1430
	aimg_destroy_layer db 'img_destroy_layer',0
1431
	aimg_count   db 'img_count',0
1431
	aimg_count   db 'img_count',0
1432
	aimg_lock_bits db 'img_lock_bits',0
1432
	aimg_lock_bits db 'img_lock_bits',0
1433
	aimg_unlock_bits db 'img_unlock_bits',0
1433
	aimg_unlock_bits db 'img_unlock_bits',0
1434
	aimg_flip    db 'img_flip',0
1434
	aimg_flip    db 'img_flip',0
1435
	aimg_flip_layer db 'img_flip_layer',0
1435
	aimg_flip_layer db 'img_flip_layer',0
1436
	aimg_rotate  db 'img_rotate',0
1436
	aimg_rotate  db 'img_rotate',0
1437
	aimg_rotate_layer db 'img_rotate_layer',0
1437
	aimg_rotate_layer db 'img_rotate_layer',0
1438
	aimg_draw    db 'img_draw',0
1438
	aimg_draw    db 'img_draw',0
1439
 
1439
 
1440
align 4
1440
align 4
1441
import_msgbox_lib:
1441
import_msgbox_lib:
1442
	mb_create dd amb_create
1442
	mb_create dd amb_create
1443
	mb_reinit dd amb_reinit
1443
	mb_reinit dd amb_reinit
1444
	mb_setfunctions dd amb_setfunctions
1444
	mb_setfunctions dd amb_setfunctions
1445
dd 0,0
1445
dd 0,0
1446
	amb_create db 'mb_create',0
1446
	amb_create db 'mb_create',0
1447
	amb_reinit db 'mb_reinit',0
1447
	amb_reinit db 'mb_reinit',0
1448
	amb_setfunctions db 'mb_setfunctions',0
1448
	amb_setfunctions db 'mb_setfunctions',0
1449
 
1449
 
1450
;library structures
1450
;library structures
1451
l_libs_start:
1451
l_libs_start:
1452
	lib0 l_libs lib0_name, sys_path, library_path, system_dir0, err_message_found_lib0, head_f_l, import_box_lib, err_message_import0, head_f_i
1452
	lib0 l_libs lib0_name, sys_path, library_path, system_dir0, err_message_found_lib0, head_f_l, import_box_lib, err_message_import0, head_f_i
1453
	lib1 l_libs lib1_name, sys_path, library_path, system_dir1, err_message_found_lib1, head_f_l, import_proc_lib,err_message_import1, head_f_i
1453
	lib1 l_libs lib1_name, sys_path, library_path, system_dir1, err_message_found_lib1, head_f_l, import_proc_lib,err_message_import1, head_f_i
1454
	lib2 l_libs lib2_name, sys_path, library_path, system_dir2, err_message_found_lib2, head_f_l, import_buf2d_lib, err_message_import2, head_f_i
1454
	lib2 l_libs lib2_name, sys_path, library_path, system_dir2, err_message_found_lib2, head_f_l, import_buf2d_lib, err_message_import2, head_f_i
1455
	lib3 l_libs lib3_name, sys_path, library_path, system_dir3, err_message_found_lib3, head_f_l, import_libimg, err_message_import3, head_f_i
1455
	lib3 l_libs lib3_name, sys_path, library_path, system_dir3, err_message_found_lib3, head_f_l, import_libimg, err_message_import3, head_f_i
1456
	lib4 l_libs lib4_name, sys_path, library_path, system_dir4, err_message_found_lib4, head_f_l, import_msgbox_lib, err_message_import4, head_f_i
1456
	lib4 l_libs lib4_name, sys_path, library_path, system_dir4, err_message_found_lib4, head_f_l, import_msgbox_lib, err_message_import4, head_f_i
1457
load_lib_end:
1457
load_lib_end:
1458
 
1458
 
1459
 
1459
 
1460
align 16
1460
align 16
1461
procinfo process_information
1461
procinfo process_information
1462
run_file_70 FileInfoBlock
1462
run_file_70 FileInfoBlock
1463
 
1463
 
1464
i_end:
1464
i_end:
1465
	buf_cmd_lin rb 1024
1465
	buf_cmd_lin rb 1024
1466
	fp_icon rb 1024 ;icon file path
1466
	fp_icon rb 1024 ;icon file path
1467
	fp_obj_opt rb 1024 ;obj options file patch
1467
	fp_obj_opt rb 1024 ;obj options file patch
1468
	rb 1024
1468
	rb 1024
1469
	prop_thread:
1469
	prop_thread:
1470
	rb 1024
1470
	rb 1024
1471
	thread: ;¢¢¥àåã ¤®ç¥à­¨© á⥪ ¤«ï ®ª­  á®®¡é¥­¨ï
1471
	thread: ;¢¢¥àåã ¤®ç¥à­¨© á⥪ ¤«ï ®ª­  á®®¡é¥­¨ï
1472
	rb 1024
1472
	rb 1024
1473
stacktop: ;¢¢¥àåã á⥪ ®á­®¢­®© ¯à®£à ¬¬ë
1473
stacktop: ;¢¢¥àåã á⥪ ®á­®¢­®© ¯à®£à ¬¬ë
1474
	sys_path rb 1024
1474
	sys_path rb 1024
1475
	library_path rb 1024
1475
	library_path rb 1024
1476
mem:
1476
mem: