2010-11-12 00:47:18 +03:00
use32
org 0x0
db 'MENUET01'
dd 0x1
dd start
dd i_end
dd mem
dd stacktop
dd buf_cmd_lin
dd sys_path
include '../../macros.inc'
include '../../proc32.inc'
include '../../develop/libraries/box_lib/load_lib.mac'
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
include 'mem.inc'
include 'dll.inc'
include 'strlen.inc'
2010-12-08 21:45:24 +03:00
include 'obj_codes.inc'
2010-11-12 00:47:18 +03:00
@ use_library_mem mem.Alloc , mem.Free , mem.ReAlloc , dl l.Load
2010-12-08 21:45:24 +03:00
hed db 'kol_f_edit 08.12.10' , 0
2010-11-17 02:25:56 +03:00
sizeof.TreeList equ 20 ;need for element 'tree_list'
2010-11-12 00:47:18 +03:00
BUF_STRUCT_SIZE equ 21
buf2d_data equ dword [ edi ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
buf2d_w equ dword [ edi + 8 ] ;<3B> <> ਭ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
buf2d_h equ dword [ edi + 12 ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
buf2d_l equ word [ edi + 4 ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <> <E1ABA5>
buf2d_t equ word [ edi + 6 ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᢥ<> <E1A2A5> <EFBFBD>
buf2d_size_lt equ dword [ edi + 4 ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <> <E1ABA5> <20> <20> <> ࠢ<EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
buf2d_color equ dword [ edi + 16 ] ;梥<> 䮭<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
buf2d_bits equ byte [ edi + 20 ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⢮ <20> <> <EFBFBD> <20> 1-<2D> <20> <> 窥 <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
2010-12-08 21:45:24 +03:00
2010-11-12 00:47:18 +03:00
MAX_CED_OBJECTS equ 200
MAX_OPT_FIELDS equ 11
2010-12-08 21:45:24 +03:00
MAX_OBJ_TYPES equ 18 ;<3B> <> <EFBFBD> ᨬ<EFBFBD> <E1A8AC> 쭮<EFBFBD> <20> <> <20> <> ꥪ⮢
MAX_OBJ_CAPTIONS equ 1000 ;ࠧ<> <E0A0A7> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥫<EFBFBD> <E2A5AB> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ᥩ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ᥩ
2010-11-12 00:47:18 +03:00
WND_CAPT_COLOR equ 0xb0d0ff
BUF_SIZE equ 1000
;modif
CPP_MOD_ACM equ 2 ;ᮡ<> <E1AEA1> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
BIT_MOD_ACM equ 1 ;ᮡ<> <E1AEA1> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2010-12-08 21:45:24 +03:00
CPP_MOD_ACI equ 4 ; <20> <> <EFBFBD> <EFBFBD> 祭<EFBFBD> <E7A5AD>
BIT_MOD_ACI equ 2 ; <20> <> <EFBFBD> <EFBFBD> 祭<EFBFBD> <E7A5AD>
2010-11-12 00:47:18 +03:00
CPP_MOD_ACD equ 8 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ꥪ⮢
BIT_MOD_ACD equ 3 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ꥪ⮢
CPP_MOD_ABU equ 16 ;<3B> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
BIT_MOD_ABU equ 4 ;<3B> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-12-08 21:45:24 +03:00
CPP_MOD_WI_CA equ 16 ; <20> ⨫<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
CPP_MOD_WI_AO equ 32 ; <20> ⨫<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> न<EFBFBD> <E0A4A8> <EFBFBD> <EFBFBD> <20> ⭮<EFBFBD> <E2ADAE> ⥫쭮 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
CPP_MOD_WI_RD equ 64 ; <20> ⨫<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᮢ<EFBFBD> <E1AEA2> <20> <> <EFBFBD> <EFBFBD>
CPP_MOD_WI_GR equ 128 ; <20> ⨫<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> ࠤ<EFBFBD> <E0A0A4> <EFBFBD> <EFBFBD>
CPP_MOD_CHE equ 512 ; ch_flag_en - <20> <> <EFBFBD> ࠭ CheckBox
CPP_MOD_TXT_ASCII_0 equ 1 ; ⥪<> <E2A5AA> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 稢. 0
CPP_MOD_TXT_TRAN equ 4 ; ⥪<> <E2A5AA> <20> <EFBFBD> <E0AEA7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
CPP_MOD_TXT_CHAR2 equ 2 ; ⥪<> <E2A5AA> 2-<2D> <20> <> <EFBFBD> <EFBFBD> ⮬
CPP_MOD_EDIT_FOC equ 1 ; EditBox <20> 䮪<> <E4AEAA> <EFBFBD>
CPP_MOD_EDIT_FIO equ 2 ;
CPP_MOD_RE_GR equ 1 ; <20> ࠤ<EFBFBD> <E0A0A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> אַ㣮<EFACAE> 쭨<EFBFBD>
CPP_MOD_BUT_NFON equ 1 ; <20> ⨫<EFBFBD> Button <20> <> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
CPP_MOD_BUT_NBORD equ 2 ; <20> ⨫<EFBFBD> Button <20> <> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <20> ࠭<EFBFBD> <E0A0AD> <EFBFBD>
2010-11-12 00:47:18 +03:00
macro load_image_file path , buf , si ze ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 㧪<EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
{
copy_path path , sys_path , fp_icon , 0x0 ;<3B> <> ନ<EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> 䠩<> <E4A0A9> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> ࠧ㬥<E0A0A7> <E3ACA5> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> ணࠬ<E0AEA3> <E0A0AC> <EFBFBD>
stdcall mem.Alloc , dword si ze ;<3B> 뤥<EFBFBD> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
mov [ buf ], eax
mov eax , 70 ;70-<2D> <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> ࠡ<> <E0A0A1> <EFBFBD> <20> 䠩<> <E4A0A9> <EFBFBD> <EFBFBD>
mov [ run_file_70.Function ], 0
mov [ run_file_70.Position ], 0
mov [ run_file_70.Flags ], 0
mov [ run_file_70.Count ], dword si ze
m2m [ run_file_70.Buffer ], [ buf ]
mov byte [ run_file_70 + 20 ], 0
mov [ run_file_70.FileName ], fp_icon
mov ebx , run_file_70
int 0x40 ;<3B> <> <EFBFBD> <EFBFBD> 㦠<EFBFBD> <E3A6A0> 䠩<> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
cmp ebx , 0xffffffff
je @ f
;<3B> <> ।<EFBFBD> <E0A5A4> 塞 <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> <20> <20> <> ॢ<EFBFBD> <E0A5A2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <20> ६<EFBFBD> <E0A5AC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> image_data
stdcall dword [ img_decode ], dword [ buf ], ebx , 0
mov dword [ image_data ], eax
;<3B> ८<EFBFBD> ࠧ㥬 <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> <20> <20> <> ଠ <EFBFBD> <E0ACA0> rgb
stdcall dword [ img_to_rgb2 ], dword [ image_data ], dword [ buf ]
;㤠<> 塞 <20> ६<EFBFBD> <E0A5AC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> image_data
stdcall dword [ img_destroy ], dword [ image_data ]
@ @ :
}
struc t FileInfoBlock
Function dd ?
Position dd ?
Flags dd ?
Count dd ?
Buffer dd ?
rezerv db ?
FileName dd ?
ends
struc t object
2010-11-17 02:25:56 +03:00
c db ? ;0
txt rb MAX_LEN_OBJ_TXT ;1
lvl db 0 ;1+mt
clo db 0 ;2+mt
rb 8 ;3+mt <20> <> <20> ᯮ<EFBFBD> <E1AFAE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> ⠫<EFBFBD> <E2A0AB> <EFBFBD> <20> <> Win <20> <> <EFBFBD> ᨨ
typid dd ? ;3+8+mt
modif dd ? ;7+8+mt
2010-11-12 00:47:18 +03:00
ends
struc t ObjOpt
2010-12-08 21:45:24 +03:00
db ?
2010-11-12 00:47:18 +03:00
bl_type db ?
graph db ?
info rb 30
caption rb 200
Col rw MAX_OPT_FIELDS
img rw MAX_OPT_FIELDS ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ⨭<EFBFBD> <E2A8AD> (<28> 䠩<> <E4A0A9> 'icon.bmp')
2010-12-08 21:45:24 +03:00
bit_prop dd 0 ;<3B> <> ⮢<EFBFBD> <E2AEA2> <> <E1A2AE> ⢠
2010-11-12 00:47:18 +03:00
ends
SKIN_H equ 22
SKIN_W1 equ 5
SKIN_W2 equ 7
SKIN_W3 equ 23
fn_skin_1 db 'left.bmp' , 0
fn_skin_2 db 'base.bmp' , 0
fn_skin_3 db 'oper.bmp' , 0
IMAGE_FILE_SKIN1_SIZE equ 3 * ( SKIN_W1 + 3 ) * SKIN_H + 54
IMAGE_FILE_SKIN2_SIZE equ 3 * ( SKIN_W2 + 3 ) * SKIN_H + 54
IMAGE_FILE_SKIN3_SIZE equ 3 * ( SKIN_W3 + 3 ) * SKIN_H + 54
fn_font_s1 db 'font6x9.bmp' , 0
IMAGE_FILE_FONT1_SIZE equ 96 * 144 * 3 ;ࠧ<> <E0A0A7> <EFBFBD> 䠩<> <E4A0A9> <20> 1-<2D> <20> <> <EFBFBD> ⥬<EFBFBD> <E2A5AC> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⮬
fn_icon db 'icon.bmp' , 0
2010-11-29 22:11:22 +03:00
count_main_icons equ 35 ;<3B> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 䠩<> <E4A0A9> icon.bmp
2010-11-20 14:43:51 +03:00
bmp_icon rb 0x300 * count_main_icons
2010-11-12 00:47:18 +03:00
fn_icon_tl_sys db 'tl_sys_16.png' , 0
TREE_ICON_SYS16_BMP_SIZE equ 256 * 3 * 11 + 54 ;ࠧ<> <E0A0A7> <EFBFBD> bmp 䠩<> <E4A0A9> <20> <20> <> <EFBFBD> ⥬<EFBFBD> 묨 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
icon_tl_sys dd 0 ;㪠<> <E3AAA0> ⥥<EFBFBD> <E2A5A5> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ⥬<EFBFBD> <E2A5AC> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
icon_font_s1 dd 0 ;㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> ६<EFBFBD> <E0A5AC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 㧪<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
fn_syntax db 'asm.syn' , 0 ;<3B> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 㦠<EFBFBD> <E3A6A0> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> <E4A0A9> ᨭ⠪<E1A8AD> <E2A0AA> <EFBFBD> <EFBFBD>
include 'ced_wnd_m.inc'
2010-12-08 21:45:24 +03:00
include 'ced_wnd_prop.inc' ;䠩<> <20> <20> 㭪<EFBFBD> <E3ADAA> ﬨ <20> <> <EFBFBD> <EFBFBD> <> <E1A2AE> <EFBFBD> <EFBFBD> <20> <> ꥪ<EFBFBD> <EAA5AA>
2010-11-12 00:47:18 +03:00
include 'ced_constr.inc' ;䠩<> <20> <20> 㭪<EFBFBD> <E3ADAA> ﬨ <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
include 'ced_code_g.inc' ;䠩<> <20> <20> 㭪<EFBFBD> <E3ADAA> ﬨ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E0AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
align 4
start:
load_libraries l_libs_start , load_lib_end
;<3B> <EFBFBD> ઠ <20> <> <> 쪮 㤠筮 <20> <> <EFBFBD> 㧨<EFBFBD> <E3A7A8> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
mov ebp , lib0
cmp dword [ ebp + ll_struc_size - 4 ], 0
jz @ f
mcall - 1 ;exit not correct
@ @ :
mov ebp , lib1
cmp dword [ ebp + ll_struc_size - 4 ], 0
jz @ f
mcall - 1 ;exit not correct
@ @ :
mov ebp , lib2
cmp dword [ ebp + ll_struc_size - 4 ], 0
jz @ f
mcall - 1 ;exit not correct
@ @ :
mov ebp , lib3
cmp dword [ ebp + ll_struc_size - 4 ], 0
jz @ f
mcall - 1 ;exit not correct
@ @ :
2010-12-08 21:45:24 +03:00
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ࠧ<> <E0A0A7> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <> <E1A2AE> ⢠<EFBFBD> <E2A2A0>
mov eax , prop_edits_top
mov ebx , 16 + 6 ;<3B> <> ਭ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> + <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-11-12 00:47:18 +03:00
mov edi , edi t2
@ @ :
2010-11-29 22:11:22 +03:00
mov ed_top , eax ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᢥ<> <E1A2A5> <EFBFBD>
mov ed_left , ebx ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <> <E1ABA5>
2010-11-12 00:47:18 +03:00
add edi , ed_struc_size
2010-12-08 21:45:24 +03:00
add eax , prop_edits_height
2010-11-12 00:47:18 +03:00
cmp edi , prop_wnd_edits_end
jl @ b
stdcall [ buf2d_create ], buf_fon
mcall 48 , 3 , sc , si zeof.system_colors
mcall 40 , 0x27
stdcall dword [ tl_data_init ], tree1
stdcall dword [ tl_data_init ], tree2
copy_path fn_icon , sys_path , fp_icon , 0x0 ;<3B> <> ନ<EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> 䠩<> <E4A0A9> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> ࠧ㬥<E0A0A7> <E3ACA5> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> ணࠬ<E0AEA3> <E0A0AC> <EFBFBD>
mov eax , 70 ;load icon file
mov [ run_file_70.Function ], 0
mov [ run_file_70.Position ], 54
mov [ run_file_70.Flags ], 0
2010-11-20 14:43:51 +03:00
mov [ run_file_70.Count ], 0x300 * count_main_icons
2010-11-12 00:47:18 +03:00
mov [ run_file_70.Buffer ], bmp_icon
mov [ run_file_70.rezerv ], 0
mov [ run_file_70.FileName ], fp_icon
mov ebx , run_file_70
int 0x40
cmp ebx , - 1
mov [ err_ini0 ], 1
je @ f ;if open file
mov [ err_ini0 ], 0
mov dword [ tree1.data_img ], bmp_icon
mov dword [ tree2.data_img ], bmp_icon
@ @ :
;<3B> <> <EFBFBD> ⥬<EFBFBD> <E2A5AC> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 16*16 <20> <> <EFBFBD> tree_list
load_image_file fn_icon_tl_sys , icon_tl_sys , TREE_ICON_SYS16_BMP_SIZE
;<3B> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> 뫮<EFBFBD> <EBABAE> , <20> <> <20> icon_tl_sys <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
;<3B> <> <20> <> <EFBFBD> 樠<EFBFBD> <E6A8A0> <EFBFBD> <EFBFBD> <EFBFBD> <E0AEA2> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <20> 訡<EFBFBD> <E8A8A1> <20> <> <20> 㤥<EFBFBD> , <20> . <20> . <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 㦭<EFBFBD> <E3A6AD> <EFBFBD> ࠧ<> <E0A0A7> <EFBFBD> <EFBFBD>
2010-12-08 21:45:24 +03:00
mov eax , dword [ icon_tl_sys ]
mov dword [ tree1.data_img_sys ], eax
mov dword [ tree2.data_img_sys ], eax
2010-11-12 00:47:18 +03:00
;1-<2D> 䠩<> ᪨<> <E1AAA8>
load_image_file fn_skin_1 , icon_font_s1 , IMAGE_FILE_SKIN1_SIZE
stdcall [ buf2d_create_f_img ], buf_skin1 ,[ icon_font_s1 ] ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall mem.Free ,[ icon_font_s1 ] ;<3B> <EFBFBD> <E1A2AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
;2-<2D> 䠩<> ᪨<> <E1AAA8>
load_image_file fn_skin_2 , icon_font_s1 , IMAGE_FILE_SKIN2_SIZE
stdcall [ buf2d_create_f_img ], buf_skin2 ,[ icon_font_s1 ] ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall mem.Free ,[ icon_font_s1 ] ;<3B> <EFBFBD> <E1A2AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
;3-<2D> 䠩<> ᪨<> <E1AAA8>
load_image_file fn_skin_3 , icon_font_s1 , IMAGE_FILE_SKIN3_SIZE
stdcall [ buf2d_create_f_img ], buf_skin3 ,[ icon_font_s1 ] ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall mem.Free ,[ icon_font_s1 ] ;<3B> <EFBFBD> <E1A2AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
;ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> 1-<2D> <> <20> <> <EFBFBD> ⥬<EFBFBD> <E2A5AC> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
load_image_file fn_font_s1 , icon_font_s1 , IMAGE_FILE_FONT1_SIZE
stdcall [ buf2d_create_f_img ], buf_font ,[ icon_font_s1 ] ;ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall mem.Free ,[ icon_font_s1 ] ;<3B> <EFBFBD> <E1A2AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall [ buf2d_conv_24_to_8 ], buf_font , 1 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <EFBFBD> <E0AEA7> 筮<EFBFBD> <E7ADAE> <EFBFBD> 8 <20> <> <EFBFBD>
stdcall [ buf2d_convert_text_matrix ], buf_font
copy_path fn_obj_opt , sys_path , fp_obj_opt , 0x0
;load options file
mov eax , 70
mov [ run_file_70.Position ], 0
2010-12-08 21:45:24 +03:00
mov [ run_file_70.Count ], si zeof.ObjOpt * MAX_OBJ_TYPES + MAX_OBJ_CAPTIONS
2010-11-12 00:47:18 +03:00
mov [ run_file_70.Buffer ], obj_opt
mov [ run_file_70.FileName ], fp_obj_opt
mov ebx , run_file_70
int 0x40
cmp ebx , - 1
mov [ err_ini1 ], 1
je .open_end ;jmp if not open file
mov [ err_ini1 ], 0
mov eax , obj_opt ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> <> ꥪ<EFBFBD> <EAA5AA>
@ @ :
mov bl , byte [ eax ]
cmp bl , 0
je @ f
;xor ecx,ecx ;<3B> ecx <20> 㤥<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-12-08 21:45:24 +03:00
mov cx , word [ eax + obj_opt.img - obj_opt ]
2010-11-12 00:47:18 +03:00
cmp cx , 0
jge .zero
xor cx , cx ;<3B> <> <EFBFBD> -<2D> <> <20> <> <20> <> <EFBFBD> 稫<EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥫<EFBFBD> <E2A5AB> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ᮬ
.zero:
shl ecx , 16
stdcall dword [ tl_node_add ], eax , ecx , tree1 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ꥪ<EFBFBD> <EAA5AA>
stdcall dword [ tl_cur_next ], tree1 ;<3B> <> ७<EFBFBD> ᨬ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> -<2D> <> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 冷<EFBFBD>
add eax , si zeof.ObjOpt ;<3B> <> <EFBFBD> <EFBFBD> 室 <20> <> <> <E1ABA5> <EFBFBD> 騩 <20> <> ꥪ<EFBFBD>
jmp @ b
@ @ :
stdcall dword [ tl_cur_beg ], tree1 ;<3B> <> ७<EFBFBD> ᨬ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
.open_end:
stdcall [ ted_init ], tedit0
copy_path fn_syntax , sys_path , fp_icon , 0x0
stdcall [ ted_init_syntax_file ], tedit0 , run_file_70 , fp_icon
;mov edi,tedit0
;call [ted_text_colored]
;get cmd line
cmp [ buf_cmd_lin ], 0
je @ f ;if file names exist
mov esi , buf_cmd_lin
call strlen ;eax=strlen
mov edi ,[ edi t1.text ]
mov [ edi t1.size ], eax
mov ecx , eax
rep movsb
2010-11-17 02:25:56 +03:00
call but_open_proj
2010-11-12 00:47:18 +03:00
@ @ :
align 4
red_win:
call draw_window
align 4
still:
mcall 10
cmp al , 1
jne @ f
call draw_window
@ @ :
cmp al , 2
jz key
cmp al , 3
jz button
cmp al , 6
jne @ f
call mouse
@ @ :
jmp still
align 4
draw_window:
pushad
mcall 12 , 1
xor eax , eax
mov ebx , 20 * 65536 + 670
mov ecx , 20 * 65536 + 370
mov edx ,[ sc.work ]
or edx , 0x33000000
mov edi , hed
2010-11-17 02:25:56 +03:00
int 0x40
2010-11-12 00:47:18 +03:00
2010-11-17 02:25:56 +03:00
mov eax , 8 ;button 'Open Project'
2010-11-12 00:47:18 +03:00
mov esi , 0x80ff
2010-11-17 02:25:56 +03:00
mov ebx , 230 * 65536 + 18
mov ecx , 5 * 65536 + 18
2010-11-12 00:47:18 +03:00
mov edx , 5
2010-11-17 02:25:56 +03:00
int 0x40
2010-11-20 14:43:51 +03:00
stdcall draw_icon , 22 , 231 , 6 ;22 - open
2010-11-17 02:25:56 +03:00
;button 'Save Project'
mov ebx , 250 * 65536 + 18
mov ecx , 5 * 65536 + 18
mov edx , 6
int 0x40
2010-11-20 14:43:51 +03:00
stdcall draw_icon , 17 , 251 , 6 ;17 - save
2010-11-12 00:47:18 +03:00
;button 'Show Constructor'
mov ebx , 310 * 65536 + 18
mov ecx , 5 * 65536 + 18
mov edx , 11
2010-11-17 02:25:56 +03:00
int 0x40
2010-11-20 14:43:51 +03:00
stdcall draw_icon , 12 , 311 , 6 ;12 - window
2010-11-12 00:47:18 +03:00
;button 'Show Code'
mov ebx , 330 * 65536 + 18
mov edx , 12
2010-11-17 02:25:56 +03:00
int 0x40
2010-11-20 14:43:51 +03:00
stdcall draw_icon , 11 , 331 , 6 ;11 - text
2010-11-12 00:47:18 +03:00
2010-11-29 22:11:22 +03:00
;button 'Update: Code, Constructor'
2010-11-12 00:47:18 +03:00
mov ebx , 350 * 65536 + 18
mov edx , 13
2010-11-17 02:25:56 +03:00
int 0x40
2010-11-20 14:43:51 +03:00
stdcall draw_icon , 32 , 351 , 6 ;32 - update
2010-11-12 00:47:18 +03:00
;button 'Save Code'
mov ebx , 370 * 65536 + 18
mov edx , 14
2010-11-17 02:25:56 +03:00
int 0x40
2010-11-20 14:43:51 +03:00
stdcall draw_icon , 17 , 371 , 6 ;17 - save
2010-11-12 00:47:18 +03:00
;button ']P'
mov ebx , 390 * 65536 + 18
mov edx , 15
2010-11-17 02:25:56 +03:00
int 0x40
2010-11-12 00:47:18 +03:00
stdcall draw_icon , 18 , 391 , 6 ;18 - <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
;button 'Show color text'
mov ebx , 410 * 65536 + 18
mov edx , 16
2010-11-17 02:25:56 +03:00
int 0x40
2010-11-12 00:47:18 +03:00
stdcall draw_icon , 19 , 411 , 6
2010-11-29 22:11:22 +03:00
;button 'Add Object'
mov ebx , 125 * 65536 + 18
2010-11-17 02:25:56 +03:00
mov ecx , 30 * 65536 + 18
2010-11-29 22:11:22 +03:00
mov edx , 31
int 0x40
stdcall draw_icon , 14 , 126 , 31 ;14 - add object
;button 'Move Up'
mov ebx , 155 * 65536 + 18
2010-11-17 02:25:56 +03:00
mov edx , 21
int 0x40
2010-11-29 22:11:22 +03:00
stdcall draw_icon , 23 , 156 , 31 ;23 - move up
2010-11-17 02:25:56 +03:00
;button 'Move Down'
2010-11-29 22:11:22 +03:00
mov ebx , 175 * 65536 + 18
2010-11-17 02:25:56 +03:00
mov edx , 22
int 0x40
2010-11-29 22:11:22 +03:00
stdcall draw_icon , 24 , 176 , 31 ;24 - move down
2010-11-17 02:25:56 +03:00
2010-11-20 14:43:51 +03:00
;button 'Copy'
2010-11-29 22:11:22 +03:00
mov ebx , 195 * 65536 + 18
2010-11-20 14:43:51 +03:00
mov edx , 23
int 0x40
2010-11-29 22:11:22 +03:00
stdcall draw_icon , 30 , 196 , 31 ;30 - copy
2010-11-20 14:43:51 +03:00
;button 'Paste'
2010-11-29 22:11:22 +03:00
mov ebx , 215 * 65536 + 18
2010-11-20 14:43:51 +03:00
mov edx , 24
int 0x40
2010-11-29 22:11:22 +03:00
stdcall draw_icon , 31 , 216 , 31 ;31 - paste
2010-11-12 00:47:18 +03:00
2010-11-20 14:43:51 +03:00
;button 'Property'
2010-11-29 22:11:22 +03:00
mov ebx , 235 * 65536 + 18
2010-11-20 14:43:51 +03:00
mov edx , 25
2010-11-17 02:25:56 +03:00
int 0x40
2010-11-29 22:11:22 +03:00
stdcall draw_icon , 7 , 236 , 31 ;7 - property
;button 'Undo'
mov ebx , 255 * 65536 + 18
mov edx , 26
int 0x40
stdcall draw_icon , 33 , 256 , 31 ;33 - undo
;button 'Redo'
mov ebx , 275 * 65536 + 18
mov edx , 27
int 0x40
stdcall draw_icon , 34 , 276 , 31 ;34 - redo
2010-11-20 14:43:51 +03:00
; 10 30 50 70 90
2010-11-12 00:47:18 +03:00
cmp [ err_opn ], 1
jne @ f
2010-11-20 14:43:51 +03:00
mov eax , 4
2010-11-12 00:47:18 +03:00
mov ebx , 10 * 65536 + 35
mov ecx , 0x80ff0000
mov edx , txtErrOpen
2010-11-17 02:25:56 +03:00
int 0x40
2010-11-12 00:47:18 +03:00
@ @ :
stdcall [ edi t_box_draw ], dword edi t1
stdcall [ edi t_box_draw ], dword edi t_sav
2010-12-08 21:45:24 +03:00
2010-11-12 00:47:18 +03:00
mov dword [ w_scr_t1.all_redraw ], 1
2010-12-08 21:45:24 +03:00
;stdcall [scrollbar_ver_draw],dword w_scr_t1
stdcall [ tl_draw ], dword tree1
2010-11-12 00:47:18 +03:00
mov dword [ w_scr_t2.all_redraw ], 1
2010-12-08 21:45:24 +03:00
;stdcall [scrollbar_ver_draw],dword w_scr_t2
stdcall [ tl_draw ], dword tree2
2010-11-12 00:47:18 +03:00
cmp byte [ show_mode ], 0 ;<3B> <EFBFBD> <E1ABAE> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
jne @ f
stdcall [ buf2d_draw ], buf_fon
@ @ :
cmp byte [ show_mode ], 1 ;<3B> <EFBFBD> <E1ABAE> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<> ⮢<EFBFBD> <E2AEA2> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
jne @ f
stdcall [ ted_draw ], tedit0
@ @ :
mcall 12 , 2
popad
ret
align 4
mouse:
stdcall [ edi t_box_mouse ], dword edi t1
stdcall [ edi t_box_mouse ], dword edi t_sav
stdcall [ tl_mouse ], dword tree1
stdcall [ tl_mouse ], dword tree2
cmp byte [ show_mode ], 1 ;<3B> <EFBFBD> <E1ABAE> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<> ⮢<EFBFBD> <E2AEA2> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
jne @ f
stdcall [ ted_mouse ], tedit0
@ @ :
ret
align 4
key:
mcall 2
stdcall [ edi t_box_key ], dword edi t1
stdcall [ edi t_box_key ], dword edi t_sav
stdcall [ tl_key ], dword tree1
stdcall [ tl_key ], dword tree2
jmp still
align 4
button:
mcall 17
cmp ah , 5
jne @ f
2010-11-17 02:25:56 +03:00
call but_open_proj
@ @ :
cmp ah , 6
jne @ f
call but_save_proj
2010-11-12 00:47:18 +03:00
@ @ :
2010-12-08 21:45:24 +03:00
;cmp ah,10
;jne @f
;call but_element_change
;@@:
2010-11-12 00:47:18 +03:00
cmp ah , 11
jne @ f
call but_show_constructor
@ @ :
cmp ah , 12
jne @ f
call but_show_code
@ @ :
cmp ah , 13
jne @ f
2010-11-29 22:11:22 +03:00
call but_update
2010-11-12 00:47:18 +03:00
@ @ :
cmp ah , 14
jne @ f
call but_save_asm
@ @ :
cmp ah , 15
jne @ f
call but_show_invis
@ @ :
cmp ah , 16
jne @ f
call but_show_syntax
@ @ :
2010-11-17 02:25:56 +03:00
cmp ah , 21
jne @ f
call but_obj_move_up
@ @ :
cmp ah , 22
jne @ f
call but_obj_move_down
@ @ :
2010-11-20 14:43:51 +03:00
cmp ah , 23
jne @ f
call but_obj_copy
@ @ :
cmp ah , 24
jne @ f
call but_obj_paste
@ @ :
cmp ah , 25
jne @ f
call on_file_object_select
@ @ :
2010-11-29 22:11:22 +03:00
cmp ah , 26
jne @ f
stdcall [ tl_info_undo ], tree2
stdcall [ tl_draw ], tree2
@ @ :
cmp ah , 27
jne @ f
stdcall [ tl_info_redo ], tree2
stdcall [ tl_draw ], tree2
@ @ :
cmp ah , 31
jne @ f
call on_add_object
@ @ :
2010-11-12 00:47:18 +03:00
cmp ah , 1
jne still
.exit:
stdcall mem.Free ,[ icon_tl_sys ]
mov dword [ tree1.data_img ], 0
mov dword [ tree2.data_img ], 0
mov dword [ tree1.data_img_sys ], 0
mov dword [ tree2.data_img_sys ], 0
stdcall dword [ tl_data_clear ], tree1
stdcall dword [ tl_data_clear ], tree2
stdcall [ buf2d_delete ], buf_fon ;㤠<> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall [ buf2d_delete ], buf_font ;㤠<> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
stdcall [ buf2d_delete ], buf_skin1
stdcall [ buf2d_delete ], buf_skin2
stdcall [ buf2d_delete ], buf_skin3
stdcall [ ted_delete ], tedit0
mcall - 1
align 4
2010-11-17 02:25:56 +03:00
but_open_proj:
2010-11-12 00:47:18 +03:00
pushad
mov eax , 70
mov [ run_file_70.Function ], 0
mov [ run_file_70.Position ], 0
mov [ run_file_70.Flags ], 0
mov [ run_file_70.Count ], si zeof.object * MAX_CED_OBJECTS
mov [ run_file_70.Buffer ], ced_info
mov [ run_file_70.rezerv ], 0
push [ edi t1.text ]
pop [ run_file_70.FileName ]
mov ebx , run_file_70
int 0x40
cmp ebx , - 1
mov [ err_opn ], 1
je .open_end ;if open file
mov ecx , ced_info
add ecx , ebx
mov byte [ ecx ], 0
mov [ err_opn ], 0
stdcall dword [ tl_info_clear ], tree2
mov eax , ced_info ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> <> ꥪ<EFBFBD> <EAA5AA>
@ @ :
mov bl , byte [ eax ]
cmp bl , 0
je @ f
call find_obj_in_opt ;edi = pointer to ObjOpt struct
2010-12-08 21:45:24 +03:00
mov cx , word [ edi + obj_opt.img - obj_opt ]
2010-11-12 00:47:18 +03:00
cmp cx , 0
jge .zero
xor cx , cx ;<3B> <> <EFBFBD> -<2D> <> <20> <> <20> <> <EFBFBD> 稫<EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥫<EFBFBD> <E2A5AB> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ᮬ
.zero:
shl ecx , 16 ;<3B> ecx <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
mov cl , byte [ eax + 1 + MAX_LEN_OBJ_TXT ] ;<3B> <EFBFBD> <E0AEA2> <EFBFBD> <20> <> ꥪ<EFBFBD> <EAA5AA>
2010-11-29 22:11:22 +03:00
;tl_node_close_open - <20> <> <20> <> <EFBFBD> 室<EFBFBD> <E5AEA4> , <20> .<2E> . <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 㧫<> <20> <> <EFBFBD> <EFBFBD> 騥 <20> <> <EFBFBD> <EFBFBD> ୨ <EFBFBD>
mov ch , byte [ eax + 2 + MAX_LEN_OBJ_TXT ] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> /<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-11-12 00:47:18 +03:00
stdcall dword [ tl_node_add ], eax , ecx , tree2 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> <> ꥪ<EFBFBD>
2010-11-29 22:11:22 +03:00
2010-11-12 00:47:18 +03:00
stdcall dword [ tl_cur_next ], tree2 ;<3B> <> ७<EFBFBD> ᨬ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> -<2D> <> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 冷<EFBFBD>
add eax , si zeof.object ;<3B> <> <EFBFBD> <EFBFBD> 室 <20> <> <> <E1ABA5> <EFBFBD> 騩 <20> <> ꥪ<EFBFBD>
jmp @ b
@ @ :
stdcall dword [ tl_cur_beg ], tree2 ;<3B> <> ७<EFBFBD> ᨬ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
mov [ foc_obj ], 0
call draw_constructor
call code_gen
.open_end:
call draw_window ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᮢ<EFBFBD> <E1AEA2> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <20> <EFBFBD> <20> <> <EFBFBD> 砥, <20> <> <EFBFBD> <EFBFBD> <20> 䠩<> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
popad
ret
2010-11-17 02:25:56 +03:00
;<3B> <> <EFBFBD> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <EFBFBD> 䠩<> <E4A0A9> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD>
align 4
but_save_proj:
pushad
mov edi , ced_info
stdcall [ tl_node_poi_get_info ], 0 , tree2
pop edx
@ @ :
cmp edx , 0
je @ f
stdcall [ tl_node_poi_get_data ], edx , tree2
pop esi ;<3B> <> <EFBFBD> <EFBFBD> 砥<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 㧫<>
mov bl , byte [ edx + 2 ] ;bl - <20> <EFBFBD> <E0AEA2> <EFBFBD> <20> <> ꥪ<EFBFBD> <EAA5AA>
mov byte [ esi + 1 + MAX_LEN_OBJ_TXT ], bl
2010-11-29 22:11:22 +03:00
mov bl , byte [ edx + 3 ] ;bl - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ⨥/<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> ⨥ <20> <> ꥪ<EFBFBD> <EAA5AA>
mov byte [ esi + 2 + MAX_LEN_OBJ_TXT ], bl
2010-11-17 02:25:56 +03:00
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ⨯ <> <20> <> ꥪ<EFBFBD> <EAA5AA>
mov ebx ,[ esi + 3 + 8 + MAX_LEN_OBJ_TXT ] ;ebx - ⨯ <20> <> ꥪ<EFBFBD> <EAA5AA>
;<3B> <> <EFBFBD> ࠭塞 ⨯ <20> <> ꥪ<EFBFBD> <EAA5AA>
push ebx
imul ebx , si zeof.TreeList
add ebx ,[ tree2.data_nodes ] ;ebx - 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> ꥪ<EFBFBD> 㪠<> 뢠<EFBFBD> 騩 ⨯
stdcall get_obj_npp , ebx
mov [ esi + 3 + 8 + MAX_LEN_OBJ_TXT ], eax
mov eax , esi
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> 㥬 <20> <> ꥪ<EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <EFBFBD>
xor ecx , ecx
mov cx , word [ tree2.info_size ]
cld
rep movsb
;<3B> <> <EFBFBD> <EFBFBD> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⨯ <20> <> ꥪ<EFBFBD> <EAA5AA>
pop dword [ eax + 3 + 8 + MAX_LEN_OBJ_TXT ]
stdcall [ tl_node_poi_get_next_info ], edx , tree2
pop edx ;<3B> <> <EFBFBD> <EFBFBD> 室<EFBFBD> <E5AEA4> <20> <> <E1ABA5> 饬<EFBFBD> 㧫<>
jmp @ b
@ @ :
mov byte [ edi ], 0
inc edi
mov ecx , edi
sub ecx , ced_info ;ecx - ࠧ<> <E0A0A7> <EFBFBD> <20> <> <EFBFBD> ࠭塞<E0A0AD> <EFA5AC> <EFBFBD> 䠩<> <E4A0A9>
mov eax , 70
mov [ run_file_70.Function ], 2
mov [ run_file_70.Position ], 0
mov [ run_file_70.Flags ], 0
mov [ run_file_70.Count ], ecx
mov [ run_file_70.Buffer ], ced_info
mov [ run_file_70.rezerv ], 0
push [ edi t1.text ]
pop [ run_file_70.FileName ]
mov ebx , run_file_70
int 0x40
popad
ret
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> 浪<EFBFBD> <20> <> 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ꥪ<EFBFBD> <EAA5AA>
2010-12-08 21:45:24 +03:00
;output:
; eax - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ꥪ<EFBFBD> <EAA5AA>
2010-11-17 02:25:56 +03:00
align 4
proc get_obj_npp , p_obj_str : dword
mov eax , 2
push ebx edx
mov ebx ,[ p_obj_str ]
stdcall [ tl_node_poi_get_info ], 0 , tree2
pop edx
@ @ :
cmp edx , 0
je @ f
cmp edx , ebx
je @ f
inc eax
stdcall [ tl_node_poi_get_next_info ], edx , tree2
pop edx ;<3B> <> <EFBFBD> <EFBFBD> 室<EFBFBD> <E5AEA4> <20> <> <E1ABA5> 饬<EFBFBD> 㧫<>
jmp @ b
@ @ :
pop edx ebx
ret
endp
2010-11-12 00:47:18 +03:00
;<3B> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <EFBFBD> ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> asm 䠩<> <E4A0A9>
align 4
but_save_asm:
;stdcall [ted_but_save_file], tedit0,run_file_70,[edit_sav.text]
push edi
mov edi , tedit0
stdcall [ ted_but_save_file ], edi , run_file_70 ,[ edi t_sav.text ]
cmp ted_err_save , 0
jne @ f
stdcall [ mb_create ], msgbox_1 , thread ;message: <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> ࠭<EFBFBD> <E0A0AD>
@ @ :
pop edi
ret
;<3B> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> /<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> <EFBFBD>
align 4
but_show_invis:
push edi
mov edi , tedit0
xor ted_mode_invis , 1
cmp byte [ show_mode ], 1 ;<3B> <EFBFBD> <E1ABAE> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<> ⮢<EFBFBD> <E2AEA2> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
jne @ f
stdcall [ ted_draw ], edi
@ @ :
pop edi
ret
;
align 4
but_show_syntax:
push edi
mov edi , tedit0
xor ted_mode_color , 1
cmp byte [ show_mode ], 1 ;<3B> <EFBFBD> <E1ABAE> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<> ⮢<EFBFBD> <E2AEA2> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
jne @ f
stdcall [ ted_draw ], edi
@ @ :
pop edi
ret
align 4
ted_save_err_msg:
mov byte [ msgbox_0.err ], al
stdcall [ mb_create ], msgbox_0 , thread ;message: Can-t save text file!
ret
;<3B> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⨨ Enter <20> <20> <> <EFBFBD> <EFBFBD> tree2
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<> ⮢<EFBFBD> <E2AEA2> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 祭<EFBFBD> ﬨ <20> <> ࠬ<EFBFBD> <E0A0AC> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> ꥪ⮢
;<3B> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⭠<EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> but_element_change
align 4
on_file_object_select:
2010-12-08 21:45:24 +03:00
cmp byte [ prop_wnd_run ], 0
jne @ f
mov byte [ prop_wnd_run ], 1
stdcall [ tl_node_get_data ], tree2
pop dword [ foc_obj ]
cmp dword [ foc_obj ], 0
je @ f
pushad
;<3B> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⢨<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> ன<EFBFBD> <E0AEA9> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⮢ <20> <> ࠢ<EFBFBD> <E0A0A2> <EFBFBD> <EFBFBD> <EFBFBD> <20> 믮<EFBFBD> <EBAFAE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <20> <> <> <E1A2AE> ⢠<EFBFBD> <E2A2A0>
mcall 51 , 1 , prop_start , prop_thread
popad
2010-11-12 00:47:18 +03:00
@ @ :
2010-12-08 21:45:24 +03:00
;call draw_window
2010-11-12 00:47:18 +03:00
ret
align 4
proc set_obj_win_param , col : dword , edi t : dword
pushad
2010-11-29 22:11:22 +03:00
stdcall get_obj_text_col , [ foc_obj ], [ col ] ;edx - text
2010-11-12 00:47:18 +03:00
stdcall get_obj_text_len_col , [ foc_obj ], [ col ] ;eax - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
mov edi ,[ edi t ]
cmp eax , 1
jl @ f
dec eax
mov ed_max , eax ;ed_max = edi+.max
2010-11-29 22:11:22 +03:00
mov ed_focus_border_color , dword 0xff
mov ed_blur_border_color , dword 0x808080
2010-11-12 00:47:18 +03:00
stdcall [ edi t_box_set_text ], edi , edx ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 editbox
jmp .end_f
@ @ :
mov ed_max , dword MAX_LEN_OBJ_TXT
2010-11-29 22:11:22 +03:00
mov ed_focus_border_color , dword 0xffffff ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ⨢<EFBFBD> <E2A8A2> <EFBFBD> ࠬ<> <E0A0AC>
mov ed_blur_border_color , dword 0xffffff ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䮭<> <E4AEAD> <EFBFBD> <EFBFBD> ࠬ<> <E0A0AC>
2010-11-12 00:47:18 +03:00
stdcall [ edi t_box_set_text ], edi , txt_null
.end_f:
popad
ret
endp
2010-11-29 22:11:22 +03:00
;<3B> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⨨ Enter <20> <20> <> <EFBFBD> <EFBFBD> tree1
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ꥪ<EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> tree2
align 4
on_add_object:
push eax ebx ecx
stdcall [ tl_node_get_data ], tree1
pop eax
cmp eax , 0
je @ f
xor ecx , ecx
mov cx , word [ eax + obj_opt.img - obj_opt ] ;cx - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞<EFBFBD> <EFA5AC> <EFBFBD> <20> <> ꥪ<EFBFBD> <EAA5AA>
shl ecx , 16
stdcall mem_clear , u_object , si zeof.object
mov bl , byte [ eax ]
mov byte [ u_object.c ], bl
stdcall dword [ tl_node_add ], u_object , ecx , tree2 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> <> ꥪ<EFBFBD>
@ @ :
pop ecx ebx eax
call draw_window
ret
2010-11-12 00:47:18 +03:00
align 4
but_ctrl_o:
ret
align 4
but_ctrl_n:
ret
align 4
but_ctrl_s:
ret
align 4
buf_fon: ;䮭<> <E4AEAD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
dd 0 ;㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
dw 310 ;+4 left
dw 50 ;+6 top
dd 340 ;+8 w
dd 280 ;+12 h
dd 0xffffff ;+16 color
db 24 ;+20 bit in pixel
align 4
buf_font: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> ⮬
dd 0 ;㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
dw 25 ;+4 left
dw 25 ;+6 top
dd 96 ;+8 w
dd 144 ;+12 h
dd 0 ;+16 color
db 24 ;+20 bit in pixel
align 4
buf_skin1:
dd 0 ;㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
dw 0 ;+4 left
dw 0 ;+6 top
dd SKIN_W1 ;+8 w
dd SKIN_H ;+12 h
dd 0 ;+16 color
db 24 ;+20 bit in pixel
align 4
buf_skin2:
dd 0 ;㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
dw 0 ;+4 left
dw 0 ;+6 top
dd SKIN_W2 ;+8 w
dd SKIN_H ;+12 h
dd 0 ;+16 color
db 24 ;+20 bit in pixel
align 4
buf_skin3:
dd 0 ;㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
dw 0 ;+4 left
dw 0 ;+6 top
dd SKIN_W3 ;+8 w
dd SKIN_H ;+12 h
dd 0 ;+16 color
db 24 ;+20 bit in pixel
show_mode db 0 ;० <> <E0A5A6> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ।<EFBFBD> <E0A5A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
txtErrOpen db '<27> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> , <20> <EFBFBD> <E0AEA2> <EFBFBD> <EFBFBD> <EFBFBD> <20> ࠢ<EFBFBD> <E0A0A2> 쭮<EFBFBD> <ECADAE> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ' , 0
txtErrIni1 db '<27> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> <20> <20> <> <EFBFBD> <EFBFBD> ﬨ' , 0
2010-12-08 21:45:24 +03:00
err_opn db 0 ;१. <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> <E4A0A9> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
err_ini0 db 0 ;१. <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> <E4A0A9> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
err_ini1 db 0 ;१. <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> <E4A0A9> <20> <20> <> <EFBFBD> <EFBFBD> ﬨ
2010-11-12 00:47:18 +03:00
2010-11-17 02:25:56 +03:00
edit1 edi t_box 210 , 10 , 5 , 0xffffff , 0xff80 , 0xff , 0xff0000 , 0x4080 , 300 , ed_text1 , mouse_dd , 0 , 7 , 7
2010-11-12 00:47:18 +03:00
edit2 edi t_box 115 , 32 , 20 , 0xffffff , 0x80ff , 0xff , 0x808080 , 0 , MAX_LEN_OBJ_TXT , ed_text2 , mouse_dd , 0
edit3 edi t_box 115 , 32 , 20 , 0xffffff , 0x80ff , 0xff , 0x808080 , 0 , MAX_LEN_OBJ_TXT , ed_text3 , mouse_dd , 0
edit4 edi t_box 115 , 32 , 20 , 0xffffff , 0x80ff , 0xff , 0x808080 , 0 , MAX_LEN_OBJ_TXT , ed_text4 , mouse_dd , 0
edit5 edi t_box 115 , 32 , 20 , 0xffffff , 0x80ff , 0xff , 0x808080 , 0 , MAX_LEN_OBJ_TXT , ed_text5 , mouse_dd , 0
edit6 edi t_box 115 , 32 , 20 , 0xffffff , 0x80ff , 0xff , 0x808080 , 0 , MAX_LEN_OBJ_TXT , ed_text6 , mouse_dd , 0
edit7 edi t_box 115 , 32 , 20 , 0xffffff , 0x80ff , 0xff , 0x808080 , 0 , MAX_LEN_OBJ_TXT , ed_text7 , mouse_dd , 0
edit8 edi t_box 115 , 32 , 20 , 0xffffff , 0x80ff , 0xff , 0x808080 , 0 , MAX_LEN_OBJ_TXT , ed_text8 , mouse_dd , 0
edit9 edi t_box 115 , 32 , 20 , 0xffffff , 0x80ff , 0xff , 0x808080 , 0 , MAX_LEN_OBJ_TXT , ed_text9 , mouse_dd , 0
2010-11-29 22:11:22 +03:00
edit10 edi t_box 115 , 32 , 20 , 0xffffff , 0x80ff , 0xff , 0x808080 , 0 , MAX_LEN_OBJ_TXT , ed_text10 , mouse_dd , 0
edit11 edi t_box 115 , 32 , 20 , 0xffffff , 0x80ff , 0xff , 0x808080 , 0 , MAX_LEN_OBJ_TXT , ed_text11 , mouse_dd , 0
edit12 edi t_box 115 , 32 , 20 , 0xffffff , 0x80ff , 0xff , 0x808080 , 0 , MAX_LEN_OBJ_TXT , ed_text12 , mouse_dd , 0
2010-11-12 00:47:18 +03:00
prop_wnd_edits_end: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<> ⮢<EFBFBD> <E2AEA2> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> , <20> ⢥<EFBFBD> <E2A2A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <> <E1A2AE> ⢠
edit_sav edi t_box 210 , 310 , 30 , 0xffffff , 0xff80 , 0xff , 0xff0000 , 0x4080 , 300 , ed_text_sav , mouse_dd , 0
ed_text1 db '/hd0/1/' , 0
rb 295
ed_text2 rb MAX_LEN_OBJ_TXT + 2
ed_text3 rb MAX_LEN_OBJ_TXT + 2
ed_text4 rb MAX_LEN_OBJ_TXT + 2
ed_text5 rb MAX_LEN_OBJ_TXT + 2
ed_text6 rb MAX_LEN_OBJ_TXT + 2
ed_text7 rb MAX_LEN_OBJ_TXT + 2
ed_text8 rb MAX_LEN_OBJ_TXT + 2
ed_text9 rb MAX_LEN_OBJ_TXT + 2
2010-11-29 22:11:22 +03:00
ed_text10 rb MAX_LEN_OBJ_TXT + 2
ed_text11 rb MAX_LEN_OBJ_TXT + 2
ed_text12 rb MAX_LEN_OBJ_TXT + 2
2010-11-12 00:47:18 +03:00
ed_text_sav rb 302
txt_null db 'null' , 0
mouse_dd dd ?
el_focus dd tree1
;<3B> <> ॢ<EFBFBD> <20> <> ᯨ<E1AFA8> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⨯ <> <E2A8AF> <20> <> ꥪ⮢
tree1 tree_list si zeof.ObjOpt , 20 + 2 , tl_key_no_edit + tl_draw_par_line + tl_list_box_mode , \
2010-12-08 21:45:24 +03:00
1 6 , 1 6 , 0 xffffff , 0xb0d0ff , 0xd000ff , 5 , 50 , 125 , 280 , 0 , 3 , 0 , el_focus , \
2010-11-12 00:47:18 +03:00
w_scr_t1 , on_add_object
;<3B> <> ॢ<EFBFBD> <20> <20> <> ꥪ⠬<EAA5AA> <20> <20> <> <EFBFBD> 짮<EFBFBD> <ECA7AE> ⥫<EFBFBD> <EFBFBD> 䠩<> <E4A0A9>
tree2 tree_list si zeof.object , MAX_CED_OBJECTS + 2 , tl_draw_par_line , \
2010-11-29 22:11:22 +03:00
1 6 , 1 6 , 0 xffffff , 0xb0d0ff , 0xd000ff , 155 , 50 , 130 , 280 , 13 , 1 , MAX_LEN_OBJ_TXT , el_focus , \
2010-11-12 00:47:18 +03:00
w_scr_t2 , on_file_object_select
msgbox_0:
db 1 , 0
db 'Warning' , 0
db 'Error saving file!' , 13 , \
' Maybe the file name is not entered correctly. ' , 13 , \
' ( error code = '
.err: db '?'
db ')' , 0
db 'Close' , 0
db 0
msgbox_1:
db 1 , 0
db ':)' , 0
db 'File was saved' , 0
db 'Ok' , 0
db 0
struc t TexSelect
x0 dd ?
y0 dd ?
x1 dd ?
y1 dd ?
ends
;------------------------------------------------------------------------------
align 4
tedit0: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<> ⮢<EFBFBD> <E2AEA2> <EFBFBD> ।<> <E0A5A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.wnd BOX 310 , 50 , 325 , 260 ;+ 0
.rec BOX 30 , 13 , 7 , 10 ;+16
.drag_m db 0 ;+32 <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD>
.drag_k db 0 ;+33 <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.sel TexSelect 0 , 0 , 0 , 0 ;+34 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD>
.seln TexSelect ;+50 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥫쭠<E2A5AB> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD>
.tex dd 0 ;+66 text memory pointer
.tex_1 dd 0 ;+70 text first symbol pointer
.tex_end dd 0 ;+74 text end memory pointer
.cur_x dd 0 ;+78 <20> <> <EFBFBD> न<EFBFBD> <E0A4A8> <EFBFBD> <EFBFBD> x <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.cur_y dd 0 ;+82 <20> <> <EFBFBD> न<EFBFBD> <E0A4A8> <EFBFBD> <EFBFBD> y <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.max_chars dd 25002 ;+86 <20> <> <EFBFBD> ᨬ<EFBFBD> <E1A8AC> 쭮<EFBFBD> <20> <> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 㬥<EFBFBD> <E3ACA5> <EFBFBD>
.count_colors_text dd 1 ;+90 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⢮ 梥⮢ ⥪<> <E2A5AA> <EFBFBD>
.count_key_words dd 0 ;+94 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⢮ <20> <> <EFBFBD> 祢<EFBFBD> <E7A5A2> <>
.color_cursor dd 0xff0000 ;+98 梥<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.color_wnd_capt dd 0x0080c0 ;+102 梥<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
.color_wnd_work dd 0x0 ;+106 梥<> 䮭<> <20> <> <EFBFBD> <EFBFBD>
.color_wnd_bord dd 0xffffff ;+110 梥<> ⥪<> <E2A5AA> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
.color_select dd 0x0000ff ;+114 梥<> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD>
.color_cur_text dd 0xffff00 ;+118 梥<> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
.color_wnd_text dd 0x80ffff ;+122 梥<> ⥪<> <E2A5AA> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD>
.syntax_file dd 0 ;+126 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> 砫<EFBFBD> 䠩<> <E4A0A9> ᨭ⠪<E1A8AD> <E2A0AA> <EFBFBD> <EFBFBD>
.syntax_file_size dd 55 * 1024 ;+130 <20> <> <EFBFBD> ᨬ<EFBFBD> <E1A8AC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ࠧ<> <E0A0A7> <EFBFBD> 䠩<> <E4A0A9> ᨭ⠪<E1A8AD> <E2A0AA> <EFBFBD> <EFBFBD>
.text_colors dd 0 ;+134 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> ᨢ 梥⮢ ⥪<> <E2A5AA> <EFBFBD>
.help_text_f1 dd 0 ;+138 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> ⥪<> <E2A5AA> <20> <> ࠢ<EFBFBD> <E0A0A2> (<28> <> <20> <> <EFBFBD> <EFBFBD> ⨨ F1)
.help_id dd - 1 ;+142 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䨪<EFBFBD> <E4A8AA> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> ࠢ<EFBFBD> <E0A0A2>
.key_words_data dd 0 ;+146 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 祢<EFBFBD> <E7A5A2> <> TexColViv
.tim_ch dd ? ;+150 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⢮ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 䠩<> <E4A0A9>
.tim_undo dd ? ;+154 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⢮ <20> ⬥<EFBFBD> <E2ACA5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⢨<EFBFBD>
.tim_ls dd ? ;+158 <20> ६<EFBFBD> <20> <> <EFBFBD> <E1ABA5> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <EFBFBD>
.tim_co dd ? ;+162 <20> ६<EFBFBD> <20> <> <EFBFBD> <E1ABA5> <EFBFBD> <EFBFBD> 梥⮢<E6A2A5> <E2AEA2> ࠧ<> <E0A0A7> ⪨
.el_focus dd el_focus ;+166 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> ६<EFBFBD> <E0A5AC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 䮪<> <E4AEAA> <EFBFBD>
.err_save db 0 ;+170 <20> 訡<EFBFBD> <E8A8A1> <20> <> <EFBFBD> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <EFBFBD> 䠩<> <E4A0A9>
.panel_id db 0 ;+171 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ⮩ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.key_new db 0 ;+172 ᨬ<> <E1A8AC> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 㤥<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.symbol_new_line db 20 ;+173 ᨬ<> <E1A8AC> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 襭<EFBFBD> <E8A5AD> <20> <> ப<EFBFBD>
.scr_w dd scrol_w1 ;+174 <20> <> <EFBFBD> ⨪<EFBFBD> <E2A8AA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <E0AEAB> <EFBFBD> <EFBFBD>
.scr_h dd scrol_h1 ;+178 <20> <> ਧ<EFBFBD> <E0A8A7> ⠫<EFBFBD> <E2A0AB> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <E0AEAB> <EFBFBD> <EFBFBD>
.arr_key_pos dd 0 ;+182 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> ᨢ <20> <> <EFBFBD> <EFBFBD> 権 <20> <> <EFBFBD> 祢<EFBFBD> <E7A5A2> <>
.buffer dd text_buffer ;+186 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <E0AEA2> <EFBFBD> <EFBFBD> /<2F> <> ⠢<EFBFBD> <E2A0A2>
.buffer_find dd 0 ;+190 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> ᪠
.cur_ins db 1 ;+194 ० <> <E0A5A6> ࠡ<> <E0A0A1> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )
.mode_color db 1 ;+195 ० <> <E0A5A6> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> <> 梥⮬ (0-<2D> 몫. 1-<2D> <> <EFBFBD> .)
.mode_invis db 0 ;+196 ० <> <E0A5A6> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⠥<EFBFBD> <E2A0A5> <EFBFBD> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> <EFBFBD>
.gp_opt db 0 ;+197 <20> <> 樨 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 頥<EFBFBD> <E9A0A5> <EFBFBD> <20> 㭪樥<E3ADAA> ted_get_pos_by_cursor
.fun_on_key_ctrl_o dd but_ctrl_o ;+198 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⨨ Ctrl+O (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ⨥ 䠩<> <E4A0A9> )
.fun_on_key_ctrl_f dd 0 ;+202 ... Ctrl+F (<28> 맮<EFBFBD> <EBA7AE> /<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ᪠)
.fun_on_key_ctrl_n dd but_ctrl_n ;+206 ... Ctrl+N (ᮧ<> <E1AEA7> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 㬥<EFBFBD> <E3ACA5> <EFBFBD> )
.fun_on_key_ctrl_s dd 0 ;+210 ... Ctrl+S
.buffer_size dd BUF_SIZE ;+214 ࠧ<> <E0A0A7> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <E0AEA2> <EFBFBD> <EFBFBD> /<2F> <> ⠢<EFBFBD> <E2A0A2>
.fun_find_err dd 0 ;+218 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 稫<EFBFBD> <E7A8AB> <20> <> 㤠筮
.fun_init_synt_err dd 0 ;+222 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> 訡<EFBFBD> 筮<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ⨨ 䠩<> <E4A0A9> ᨭ⠪<E1A8AD> <E2A0AA> <EFBFBD> <EFBFBD>
.fun_draw_panel_buttons dd 0 ;+226 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.fun_draw_panel_find dd 0 ;+230 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ᪠
.fun_draw_panel_syntax dd 0 ;+234 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᨭ⠪<E1A8AD> <E2A0AA> <EFBFBD> <EFBFBD>
.fun_save_err dd ted_save_err_msg ;+238 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <EFBFBD> 䠩<> <E4A0A9> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 稫<EFBFBD> <E7A8AB> <EFBFBD> <20> <> 㤠筮
.increase_size dd 1000 ;+242 <20> <> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 㤥<EFBFBD> 㢥稢<E3A2A5> <E7A8A2> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> 墠⪥
.ptr_free_symb dd ? ;+246 㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <> <E1A2AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᨬ<> <E1A8AC> <EFBFBD> (<28> ᯮ<EFBFBD> <E1AFAE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> ७<E1AAAE> <E0A5AD> <20> <> ⠢<EFBFBD> <E2A0A2> ⥪<> <E2A5AA> <EFBFBD> )
;------------------------------------------------------------------------------
align 4
scrol_w1:
.x:
.size_x dw 16 ;+0
.start_x dw 85 ;+2
.y:
.size_y dw 100 ; +4
.start_y dw 15 ; +6
.btn_high dd 15 ; +8
.type dd 1 ;+12
.max_area dd 100 ;+16
rb 4 + 4
.bckg_col dd 0xeeeeee ;+28
.frnt_col dd 0xbbddff ;+32
.line_col dd 0x808080 ;+36
.redraw dd 0 ;+40
.delta dw 0 ;+44
.delta2 dw 0 ;+46
.run_x:
.r_size_x dw 0 ;+48
.r_start_x dw 0 ;+50
.run_y:
.r_size_y dw 0 ;+52
.r_start_y dw 0 ;+54
.m_pos dd 0 ;+56
.m_pos_2 dd 0 ;+60
.m_keys dd 0 ;+64
.run_size dd 0 ;+68
.position2 dd 0 ;+72
.work_size dd 0 ;+76
.all_redraw dd 0 ;+80
.ar_offset dd 1 ;+84
;---------------------------------------------------------------------
align 4
scrol_h1:
.x:
.size_x dw 85 ;+0
.start_x dw 30 ;+2
.y:
.size_y dw 16 ;+4
.start_y dw 100 ;+6
.btn_high dd 15 ;+8
.type dd 1 ;+12
.max_area dd 100 ;+16
rb 4 + 4
.bckg_col dd 0xeeeeee ;+28
.frnt_col dd 0xbbddff ;+32
.line_col dd 0x808080 ;+36
.redraw dd 0 ;+40
.delta dw 0 ;+44
.delta2 dw 0 ;+46
.run_x:
.r_size_x dw 0 ;+48
.r_start_x dw 0 ;+50
.run_y:
.r_size_y dw 0 ;+52
.r_start_y dw 0 ;+54
.m_pos dd 0 ;+56
.m_pos_2 dd 0 ;+60
.m_keys dd 0 ;+64
.run_size dd 0 ;+68
.position2 dd 0 ;+72
.work_size dd 0 ;+76
.all_redraw dd 0 ;+80
.ar_offset dd 1 ;+84
align 4
w_scr_t1:
.size_x dw 16 ;+0
rb 2 + 2 + 2
.btn_high dd 15 ;+8
.type dd 1 ;+12
.max_area dd 100 ;+16
rb 4 + 4
.bckg_col dd 0xeeeeee ;+28
.frnt_col dd 0xbbddff ;+32
.line_col dd 0 ;+36
rb 4 + 2 + 2
.run_x:
rb 2 + 2 + 2 + 2 + 4 + 4 + 4 + 4 + 4 + 4
.all_redraw dd 0 ;+80
.ar_offset dd 1 ;+84
align 4
w_scr_t2:
.size_x dw 16 ;+0
rb 2 + 2 + 2
.btn_high dd 15 ;+8
.type dd 1 ;+12
.max_area dd 100 ;+16
rb 4 + 4
.bckg_col dd 0xeeeeee ;+28
.frnt_col dd 0xbbddff ;+32
.line_col dd 0 ;+36
rb 4 + 2 + 2
.run_x:
rb 2 + 2 + 2 + 2 + 4 + 4 + 4 + 4 + 4 + 4
.all_redraw dd 0 ;+80
.ar_offset dd 1 ;+84
data_of_code dd 0
sc system_colors
image_data dd 0 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> ८<EFBFBD> ࠧ<EFBFBD> <E0A0A7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ⨭<EFBFBD> <E2A8AD> <20> 㭪<EFBFBD> <E3ADAA> ﬨ libimg
ced_info object 0 ;on start == 0
rb si zeof.object * ( MAX_CED_OBJECTS - 1 )
text_buffer db BUF_SIZE dup ( 0 )
fn_obj_opt db 'ob_o.opt' , 0
obj_opt ObjOpt
2010-12-08 21:45:24 +03:00
rb si zeof.ObjOpt * ( MAX_OBJ_TYPES - 1 ) + MAX_OBJ_CAPTIONS
2010-11-12 00:47:18 +03:00
db 0 ;eof options
cur_x dd 0
cur_y dd 0
foc_obj dd 0 ;<3B> <> ꥪ<EFBFBD> <20> 䮪<> <E4AEAA> <EFBFBD>
obj_m_win dd 0 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
;
if 1 ;lang eq ru
err_message_found_lib0 db '<27> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> box_lib.obj' , 0 ;<3B> <> ப<EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 㤥<EFBFBD> <20> <20> <> <EFBFBD> ନ<E0ACA8> <E0AEA2> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> , <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> <20> <> <20> 㤥<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
err_message_import0 db '<27> 訡<EFBFBD> <E8A8A1> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> box_lib.obj' , 0
err_message_found_lib1 db '<27> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> proc_lib.obj' , 0
err_message_import1 db '<27> 訡<EFBFBD> <E8A8A1> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> proc_lib.obj' , 0
err_message_found_lib2 db '<27> <> 㤠<> <E3A4A0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> buf2d.obj' , 0
err_message_import2 db '<27> 訡<EFBFBD> <E8A8A1> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> buf2d.obj' , 0
err_message_found_lib3 db '<27> <> 㤠<> <E3A4A0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> libimg.obj' , 0
err_message_import3 db '<27> 訡<EFBFBD> <E8A8A1> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> libimg.obj' , 0
err_message_found_lib4 db '<27> <> 㤠<> <E3A4A0> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> msgbox.obj' , 0
err_message_import4 db '<27> 訡<EFBFBD> <E8A8A1> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> msgbox.obj' , 0
head_f_i:
head_f_l db '<27> <> <EFBFBD> ⥬<EFBFBD> <E2A5AC> <EFBFBD> <20> 訡<EFBFBD> <E8A8A1> ' , 0 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 訡<EFBFBD> <E8A8A1>
else
err_message_found_lib0 db 'Sorry I cannot found library box_lib.obj' , 0
err_message_import0 db 'Error on load import library box_lib.obj' , 0
err_message_found_lib1 db 'Sorry I cannot found library proc_lib.obj' , 0
err_message_import1 db 'Error on load import library proc_lib.obj' , 0
err_message_found_lib2 db 'Sorry I cannot found library buf2d.obj' , 0
err_message_import2 db 'Error on load import library buf2d.obj' , 0
err_message_found_lib3 db 'Sorry I cannot found library libimg.obj' , 0
err_message_import3 db 'Error on load import library libimg.obj' , 0
err_message_found_lib4 db 'Sorry I cannot found library msgbox.obj' , 0
err_message_import4 db 'Error on load import library msgbox.obj' , 0
head_f_i:
head_f_l db 'System error' , 0 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 訡<EFBFBD> <E8A8A1>
end if
system_dir0 db '/sys/lib/'
lib0_name db 'box_lib.obj' , 0
system_dir1 db '/sys/lib/'
lib1_name db 'proc_lib.obj' , 0
system_dir2 db '/sys/lib/'
lib2_name db 'buf2d.obj' , 0
system_dir3 db '/sys/lib/'
lib3_name db 'libimg.obj' , 0
system_dir4 db '/sys/lib/'
lib4_name db 'msgbox.obj' , 0
align 4
import_buf2d_lib:
dd sz_lib_init
buf2d_create dd sz_buf2d_create
buf2d_create_f_img dd sz_buf2d_create_f_img
buf2d_clear dd sz_buf2d_clear
buf2d_draw dd sz_buf2d_draw
buf2d_delete dd sz_buf2d_delete
buf2d_line dd sz_buf2d_line
buf2d_rect_by_size dd sz_buf2d_rect_by_size
buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size
buf2d_circle dd sz_buf2d_circle
buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2
buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2
buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8
buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32
buf2d_bit_blt dd sz_buf2d_bit_blt
buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp
buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha
buf2d_cruve_bezier dd sz_buf2d_cruve_bezier
buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix
buf2d_draw_text dd sz_buf2d_draw_text
buf2d_crop_color dd sz_buf2d_crop_color
buf2d_offset_h dd sz_buf2d_offset_h
dd 0 , 0
sz_lib_init db 'lib_init' , 0
sz_buf2d_create db 'buf2d_create' , 0
sz_buf2d_create_f_img db 'buf2d_create_f_img' , 0
sz_buf2d_clear db 'buf2d_clear' , 0
sz_buf2d_draw db 'buf2d_draw' , 0
sz_buf2d_delete db 'buf2d_delete' , 0
sz_buf2d_line db 'buf2d_line' , 0
sz_buf2d_rect_by_size db 'buf2d_rect_by_size' , 0 ;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> אַ㣮<EFACAE> 쭨<EFBFBD> <ECADA8> , 2-<2D> <20> <> <EFBFBD> न<EFBFBD> <E0A4A8> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ࠧ<> <E0A0A7> <EFBFBD> <EFBFBD>
sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size' , 0
sz_buf2d_circle db 'buf2d_circle' , 0 ;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 㦭<EFBFBD> <E3A6AD> <EFBFBD> <EFBFBD>
sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2' , 0
sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2' , 0
sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8' , 0
sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32' , 0
sz_buf2d_bit_blt db 'buf2d_bit_blt' , 0
sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp' , 0
sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha' , 0
sz_buf2d_cruve_bezier db 'buf2d_cruve_bezier' , 0
sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix' , 0
sz_buf2d_draw_text db 'buf2d_draw_text' , 0
sz_buf2d_crop_color db 'buf2d_crop_color' , 0
sz_buf2d_offset_h db 'buf2d_offset_h' , 0
align 4
import_box_lib:
dd al ib_init2
edit_box_draw dd aEdit_box_draw
edit_box_key dd aEdit_box_key
edit_box_mouse dd aEdit_box_mouse
edit_box_set_text dd aEdit_box_set_text
2010-12-08 21:45:24 +03:00
init_checkbox dd aInit_checkbox
check_box_draw dd aCheck_box_draw
check_box_mouse dd aCheck_box_mouse
2010-11-12 00:47:18 +03:00
scrollbar_ver_draw dd aScrollbar_ver_draw
scrollbar_hor_draw dd aScrollbar_hor_draw
tl_data_init dd sz_tl_data_init
tl_data_clear dd sz_tl_data_clear
tl_info_clear dd sz_tl_info_clear
tl_key dd sz_tl_key
tl_mouse dd sz_tl_mouse
tl_draw dd sz_tl_draw
tl_info_undo dd sz_tl_info_undo
tl_info_redo dd sz_tl_info_redo
tl_node_add dd sz_tl_node_add
tl_node_set_data dd sz_tl_node_set_data
tl_node_get_data dd sz_tl_node_get_data
tl_node_delete dd sz_tl_node_delete
2010-11-17 02:25:56 +03:00
tl_node_move_up dd sz_tl_node_move_up
tl_node_move_down dd sz_tl_node_move_down
2010-11-12 00:47:18 +03:00
tl_cur_beg dd sz_tl_cur_beg
tl_cur_next dd sz_tl_cur_next
tl_cur_perv dd sz_tl_cur_perv
tl_node_close_open dd sz_tl_node_close_open
tl_node_lev_inc dd sz_tl_node_lev_inc
tl_node_lev_dec dd sz_tl_node_lev_dec
tl_node_poi_get_info dd sz_tl_node_poi_get_info
tl_node_poi_get_next_info dd sz_tl_node_poi_get_next_info
tl_node_poi_get_data dd sz_tl_node_poi_get_data
ted_but_save_file dd sz_ted_but_save_file
ted_but_sumb_upper dd sz_ted_but_sumb_upper
ted_but_sumb_lover dd sz_ted_but_sumb_lover
ted_can_save dd sz_ted_can_save
ted_clear dd sz_ted_clear
ted_delete dd sz_ted_delete
ted_draw dd sz_ted_draw
ted_init dd sz_ted_init
ted_init_scroll_bars dd sz_ted_init_scroll_bars
ted_init_syntax_file dd sz_ted_init_syntax_file
ted_is_select dd sz_ted_is_select
ted_key dd sz_ted_key
ted_mouse dd sz_ted_mouse
ted_open_file dd sz_ted_open_file
ted_text_add dd sz_ted_text_add
ted_but_select_word dd sz_ted_but_select_word
ted_but_cut dd sz_ted_but_cut
ted_but_copy dd sz_ted_but_copy
ted_but_paste dd sz_ted_but_paste
ted_but_undo dd sz_ted_but_undo
ted_but_redo dd sz_ted_but_redo
ted_but_reverse dd sz_ted_but_reverse
ted_but_find_next dd sz_ted_but_find_next
ted_text_colored dd sz_ted_text_colored
;version_text_edit dd sz_ted_version
dd 0 , 0
alib_init2 db 'lib_init' , 0
aEdit_box_draw db 'edit_box' , 0
aEdit_box_key db 'edit_box_key' , 0
aEdit_box_mouse db 'edit_box_mouse' , 0
aEdit_box_set_text db 'edit_box_set_text' , 0
2010-12-08 21:45:24 +03:00
aInit_checkbox db 'init_checkbox2' , 0
aCheck_box_draw db 'check_box_draw2' , 0
aCheck_box_mouse db 'check_box_mouse2' , 0
2010-11-12 00:47:18 +03:00
aScrollbar_ver_draw db 'scrollbar_v_draw' , 0
aScrollbar_hor_draw db 'scrollbar_h_draw' , 0
sz_tl_data_init db 'tl_data_init' , 0
sz_tl_data_clear db 'tl_data_clear' , 0
sz_tl_info_clear db 'tl_info_clear' , 0
sz_tl_key db 'tl_key' , 0
sz_tl_mouse db 'tl_mouse' , 0
sz_tl_draw db 'tl_draw' , 0
sz_tl_info_undo db 'tl_info_undo' , 0
sz_tl_info_redo db 'tl_info_redo' , 0
sz_tl_node_add db 'tl_node_add' , 0
sz_tl_node_set_data db 'tl_node_set_data' , 0
sz_tl_node_get_data db 'tl_node_get_data' , 0
sz_tl_node_delete db 'tl_node_delete' , 0
2010-11-17 02:25:56 +03:00
sz_tl_node_move_up db 'tl_node_move_up' , 0
sz_tl_node_move_down db 'tl_node_move_down' , 0
2010-11-12 00:47:18 +03:00
sz_tl_cur_beg db 'tl_cur_beg' , 0
sz_tl_cur_next db 'tl_cur_next' , 0
sz_tl_cur_perv db 'tl_cur_perv' , 0
sz_tl_node_close_open db 'tl_node_close_open' , 0
sz_tl_node_lev_inc db 'tl_node_lev_inc' , 0
sz_tl_node_lev_dec db 'tl_node_lev_dec' , 0
sz_tl_node_poi_get_info db 'tl_node_poi_get_info' , 0
sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info' , 0
sz_tl_node_poi_get_data db 'tl_node_poi_get_data' , 0
sz_ted_but_save_file db 'ted_but_save_file' , 0
sz_ted_but_sumb_upper db 'ted_but_sumb_upper' , 0
sz_ted_but_sumb_lover db 'ted_but_sumb_lover' , 0
sz_ted_can_save db 'ted_can_save' , 0
sz_ted_clear db 'ted_clear' , 0
sz_ted_delete db 'ted_delete' , 0
sz_ted_draw db 'ted_draw' , 0
sz_ted_init db 'ted_init' , 0
sz_ted_init_scroll_bars db 'ted_init_scroll_bars' , 0
sz_ted_init_syntax_file db 'ted_init_syntax_file' , 0
sz_ted_is_select db 'ted_is_select' , 0
sz_ted_key db 'ted_key' , 0
sz_ted_mouse db 'ted_mouse' , 0
sz_ted_open_file db 'ted_open_file' , 0
sz_ted_text_add db 'ted_text_add' , 0
sz_ted_but_select_word db 'ted_but_select_word' , 0
sz_ted_but_cut db 'ted_but_cut' , 0
sz_ted_but_copy db 'ted_but_copy' , 0
sz_ted_but_paste db 'ted_but_paste' , 0
sz_ted_but_undo db 'ted_but_undo' , 0
sz_ted_but_redo db 'ted_but_redo' , 0
sz_ted_but_reverse db 'ted_but_reverse' , 0
sz_ted_but_find_next db 'ted_but_find_next' , 0
sz_ted_text_colored db 'ted_text_colored' , 0
;sz_ted_version db 'version_text_edit',0
align 4
import_proc_lib:
OpenDialog_Init dd aOpenDialog_Init
OpenDialog_Start dd aOpenDialog_Start
dd 0 , 0
aOpenDialog_Init db 'OpenDialog_init' , 0
aOpenDialog_Start db 'OpenDialog_start' , 0
align 4
import_libimg:
dd al ib_init1
img_is_img dd aimg_is_img
img_info dd aimg_info
img_from_file dd aimg_from_file
img_to_file dd aimg_to_file
img_from_rgb dd aimg_from_rgb
img_to_rgb dd aimg_to_rgb
img_to_rgb2 dd aimg_to_rgb2
img_decode dd aimg_decode
img_encode dd aimg_encode
img_create dd aimg_create
img_destroy dd aimg_destroy
img_destroy_layer dd aimg_destroy_layer
img_count dd aimg_count
img_lock_bits dd aimg_lock_bits
img_unlock_bits dd aimg_unlock_bits
img_flip dd aimg_flip
img_flip_layer dd aimg_flip_layer
img_rotate dd aimg_rotate
img_rotate_layer dd aimg_rotate_layer
img_draw dd aimg_draw
dd 0 , 0
alib_init1 db 'lib_init' , 0
aimg_is_img db 'img_is_img' , 0 ;<3B> <> ।<EFBFBD> <E0A5A4> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<EFBFBD> ᤥ<> <E1A4A5> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD>
aimg_info db 'img_info' , 0
aimg_from_file db 'img_from_file' , 0
aimg_to_file db 'img_to_file' , 0
aimg_from_rgb db 'img_from_rgb' , 0
aimg_to_rgb db 'img_to_rgb' , 0 ;<3B> ८<EFBFBD> ࠧ<EFBFBD> <E0A0A7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ࠦ<EFBFBD> <E0A0A6> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> RGB
aimg_to_rgb2 db 'img_to_rgb2' , 0
aimg_decode db 'img_decode' , 0 ;<3B> <> ⮬<EFBFBD> <E2AEAC> <EFBFBD> <EFBFBD> <EFBFBD> ᪨ <20> <> ।<EFBFBD> <E0A5A4> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ଠ <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᪨<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
aimg_encode db 'img_encode' , 0
aimg_create db 'img_create' , 0
aimg_destroy db 'img_destroy' , 0
aimg_destroy_layer db 'img_destroy_layer' , 0
aimg_count db 'img_count' , 0
aimg_lock_bits db 'img_lock_bits' , 0
aimg_unlock_bits db 'img_unlock_bits' , 0
aimg_flip db 'img_flip' , 0
aimg_flip_layer db 'img_flip_layer' , 0
aimg_rotate db 'img_rotate' , 0
aimg_rotate_layer db 'img_rotate_layer' , 0
aimg_draw db 'img_draw' , 0
align 4
import_msgbox_lib:
mb_create dd amb_create
mb_reinit dd amb_reinit
mb_setfunctions dd amb_setfunctions
dd 0 , 0
amb_create db 'mb_create' , 0
amb_reinit db 'mb_reinit' , 0
amb_setfunctions db 'mb_setfunctions' , 0
;library structures
l_libs_start:
lib0 l_libs lib0_name , sys_path , library_path , system_dir0 , err_message_found_lib0 , head_f_l , import_box_lib , err_message_import0 , head_f_i
lib1 l_libs lib1_name , sys_path , library_path , system_dir1 , err_message_found_lib1 , head_f_l , import_proc_lib , err_message_import1 , head_f_i
lib2 l_libs lib2_name , sys_path , library_path , system_dir2 , err_message_found_lib2 , head_f_l , import_buf2d_lib , err_message_import2 , head_f_i
lib3 l_libs lib3_name , sys_path , library_path , system_dir3 , err_message_found_lib3 , head_f_l , import_libimg , err_message_import3 , head_f_i
lib4 l_libs lib4_name , sys_path , library_path , system_dir4 , err_message_found_lib4 , head_f_l , import_msgbox_lib , err_message_import4 , head_f_i
load_lib_end:
align 16
procinfo process_information
run_file_70 FileInfoBlock
i_end:
buf_cmd_lin rb 1024
fp_icon rb 1024 ;icon file path
fp_obj_opt rb 1024 ;obj options file patch
rb 1024
2010-12-08 21:45:24 +03:00
prop_thread:
rb 1024
2010-11-12 00:47:18 +03:00
thread: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ୨ <EFBFBD> <20> ⥪ <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ᮮ<> 饭<EFBFBD> <E9A5AD>
rb 1024
stacktop: ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ⥪ <20> ᭮<EFBFBD> <E1ADAE> <EFBFBD> <EFBFBD> <20> ணࠬ<E0AEA3> <E0A0AC>
sys_path rb 1024
library _path rb 1024
mem: