Subversion Repositories Kolibri OS

Rev

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

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