Subversion Repositories Kolibri OS

Rev

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

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