1,22 → 1,14 |
;£à®¬ ï ¡« £®¤ à®áâì Maxxxx32, Diamond, Heavyiron |
;¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬, â ª¦¥ |
;¥¯«®¢ã «¥ªá¥î (<Lrz> www.lrz.land.ru) |
;¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬, â ª¦¥ ¥¯«®¢ã «¥ªá¥î |
use32 |
org 0x0 |
db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
dd 0x1 |
dd start |
dd i_end ; à §¬¥à ¯à¨«®¦¥¨ï |
dd mem |
dd stacktop |
dd 0x0 |
dd sys_path |
dd 1,start,i_end,mem,stacktop,0,sys_path |
|
include '../../proc32.inc' |
include '../../macros.inc' |
include '../../dll.inc' |
|
include '../../develop/libraries/box_lib/load_lib.mac' |
include '../../KOSfuncs.inc' |
include '../../load_img.inc' |
include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
|
min_window_w equ 485 ;¬¨¨¬ «ì ï è¨à¨ ®ª |
28,20 → 20,7 |
|
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load |
|
struct FileInfoBlock |
Function dd ? |
Position dd ? |
Flags dd ? |
Count dd ? |
Buffer dd ? |
db ? |
FileName dd ? |
ends |
|
fn_metki db 'pl_metki.lst',0 |
fn_icon1 db 'tl_sys_16.png',0 |
fn_icon2 db 'tl_nod_16.bmp',0 |
|
ini_name db 'planet_v.ini',0 |
ini_sec db 'Map',0 |
ini_k_cache db 'Cache',0 |
56,18 → 35,15 |
load_libraries l_libs_start,load_lib_end |
|
;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨«¨áì ¡¨¡«¨®â¥ª¨ |
cmp dword [lib0+ll_struc_size-4],0 |
jnz @f |
cmp dword [lib1+ll_struc_size-4],0 |
jnz @f |
cmp dword [lib2+ll_struc_size-4],0 |
jnz @f |
cmp dword [lib3+ll_struc_size-4],0 |
jnz @f |
jmp .lib |
mov ebp,lib_0 |
.test_lib_open: |
cmp dword [ebp+ll_struc_size-4],0 |
jz @f |
mcall SF_TERMINATE_PROCESS ;exit not correct |
@@: |
mcall -1 ;exit not correct |
.lib: |
add ebp,ll_struc_size |
cmp ebp,load_lib_end |
jl .test_lib_open |
|
copy_path ini_name,sys_path,file_name,0 |
stdcall dword[ini_get_str],file_name,ini_sec,ini_k_cache,dword[edit1.text],dword[edit1.max],ini_def_cache |
103,52 → 79,20 |
stdcall array_tile_function, tile_00,max_tiles_count,tile_init |
stdcall tiles_init_grid, tile_00,max_tiles_count,max_tiles_cols |
|
stdcall mem.Alloc, dword TREE_ICON_SYS16_BMP_SIZE |
mov [tree_sys_icon],eax |
load_image_file 'tl_sys_16.png',tree_sys_icon |
mov eax,[tree_sys_icon] |
mov [tree1.data_img_sys],eax |
mov [tree2.data_img_sys],eax |
|
stdcall mem.Alloc, dword TREE_ICON_NOD16_BMP_SIZE |
mov [tree_nod_icon],eax |
load_image_file 'tl_nod_16.bmp',tree_nod_icon |
mov eax,[tree_nod_icon] |
mov [tree1.data_img],eax |
mov [tree2.data_img],eax |
|
copy_path fn_icon1,sys_path,file_name,0 |
mov [run_file_70.Function], 0 |
mov [run_file_70.Position], 0 |
mov [run_file_70.Flags], 0 |
mov [run_file_70.Count], TREE_ICON_SYS16_BMP_SIZE |
m2m [run_file_70.Buffer], [tree_sys_icon] |
mov byte[run_file_70+20], 0 |
mov [run_file_70.FileName], file_name |
mcall 70,run_file_70 |
cmp ebx,0xffffffff |
je @f |
stdcall dword[img_decode], dword[tree_sys_icon],ebx,0 |
mov dword[data_icon],eax |
stdcall dword[img_to_rgb2], dword[data_icon],dword[tree_sys_icon] |
stdcall dword[img_destroy], dword[data_icon] |
|
m2m dword[tree1.data_img_sys],dword[tree_sys_icon] |
m2m dword[tree2.data_img_sys],dword[tree_sys_icon] |
@@: |
|
|
copy_path fn_icon2,sys_path,file_name,0 |
mov [run_file_70.Count], TREE_ICON_NOD16_BMP_SIZE |
m2m [run_file_70.Buffer], [tree_nod_icon] |
mcall 70,run_file_70 |
cmp ebx,0xffffffff |
je @f |
stdcall dword[img_decode], dword[tree_nod_icon],ebx,0 |
mov dword[data_icon],eax |
stdcall dword[img_to_rgb2], dword[data_icon],dword[tree_nod_icon] |
stdcall dword[img_destroy], dword[data_icon] |
|
m2m dword[tree1.data_img],dword[tree_nod_icon] |
m2m dword[tree2.data_img],dword[tree_nod_icon] |
@@: |
|
mcall 40,0x27 ;¬ ᪠á¨á⥬ëå ᮡë⨩ |
mcall SF_SET_EVENTS_MASK,0x27 |
init_checkboxes2 ch1,checkboxes_end |
|
mcall 48,3,sc,sizeof.system_colors |
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors |
;ãáâ ®¢ª á¨á⥬ëå 梥⮢ |
edit_boxes_set_sys_color edit1,editboxes_end,sc |
check_boxes_set_sys_color2 ch1,checkboxes_end,sc |
166,7 → 110,7 |
|
align 4 |
still: |
mcall 10 |
mcall SF_WAIT_EVENT |
|
cmp al,0x1 ;¨§¬. ¯®«®¦¥¨¥ ®ª |
jz red_win |
187,7 → 131,7 |
align 4 |
key: |
push eax ebx |
mcall 2 |
mcall SF_GET_KEY |
stdcall [edit_box_key], edit1 |
stdcall [edit_box_key], edit2 |
|
250,15 → 194,13 |
align 4 |
draw_window: |
pushad |
mcall 12,1 |
mcall SF_REDRAW,SSF_BEGIN_DRAW |
|
xor eax,eax |
mov edx,[sc.work] |
or edx,0x33000000 |
mov edi,hed |
mcall ,20*65536+min_window_w,20*65536+min_window_h |
mcall SF_CREATE_WINDOW,20*65536+min_window_w,20*65536+min_window_h,,,hed |
|
mcall 9,procinfo,-1 |
mcall SF_THREAD_INFO,procinfo,-1 |
|
cmp dword[procinfo.box.width],min_window_w ; ¯à®¢¥à塞 è¨à¨ã ®ª |
jge @f |
284,12 → 226,11 |
stdcall [scrollbar_ver_draw], dword wScrMetki |
|
mov esi,[sc.work_button] |
mcall 8,145*65536+20,5*65536+25,6 ;ª®¯ª |
mcall SF_DEFINE_BUTTON,145*65536+20,5*65536+25,6 |
|
mcall ,100*65536+20,5*65536+25,5 |
|
mov ebx,170*65536+40 ;ª®¯ª ¢ë§®¢ ¤¨ «®£ OpenDial |
;mov ecx,5*65536+25 |
mov edx,13 |
int 0x40 |
|
309,7 → 250,6 |
add bx,410-otst_panel_left |
shl ebx,16 |
mov bx,55 |
;mov ebx,410*65536+55 |
mov ecx,5*65536+25 |
mov edx,7 |
int 0x40 |
318,7 → 258,6 |
add bx,440-otst_panel_left |
shl ebx,16 |
mov bx,30 |
;mov ebx,440*65536+30 |
mov ecx,265*65536+25 |
mov edx,12 |
int 0x40 |
327,8 → 266,6 |
add bx,405-otst_panel_left |
shl ebx,16 |
mov bx,30 |
;mov ebx,405*65536+30 |
;mov ecx,265*65536+25 |
mov edx,11 |
int 0x40 |
|
336,17 → 273,12 |
add bx,370-otst_panel_left |
shl ebx,16 |
mov bx,30 |
;mov ebx,370*65536+30 |
;mov ecx,265*65536+25 |
mov edx,10 |
int 0x40 |
|
mov eax,4 ;à¨á®¢ ¨¥ ⥪áâ |
mov ebx,152*65536+13 |
mov ecx,[sc.work_button_text] |
or ecx,0x80000000 |
mov edx,txt_zoom_p |
mcall |
mcall SF_DRAW_TEXT,152*65536+13,,txt_zoom_p |
|
mov ebx,107*65536+13 |
mov edx,txt_zoom_m |
417,18 → 349,17 |
int 0x40 |
|
mov bx,135 |
;mov ebx,265*65536+135 |
mov edx,txt142 |
int 0x40 |
|
call draw_tiles |
|
stdcall [check_box_draw], dword ch1 |
stdcall [check_box_draw], dword ch2 |
stdcall [check_box_draw], ch1 |
stdcall [check_box_draw], ch2 |
stdcall [edit_box_draw], edit1 |
stdcall [edit_box_draw], edit2 |
|
mcall 12,2 |
mcall SF_REDRAW,SSF_END_DRAW |
popad |
ret |
|
462,16 → 393,21 |
|
;library structures |
l_libs_start: |
lib0 l_libs lib0_name, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l, boxlib_import,err_message_import0, head_f_i |
lib1 l_libs lib1_name, sys_path, file_name, system_dir1, err_message_found_lib1, head_f_l, libimg_import, err_message_import1, head_f_i |
lib2 l_libs lib2_name, sys_path, file_name, system_dir2, err_message_found_lib2, head_f_l, strlib_import, err_message_import2, head_f_i |
lib3 l_libs lib3_name, sys_path, file_name, system_dir3, err_message_found_lib3, head_f_l, libini_import, err_message_import3, head_f_i |
lib4 l_libs lib4_name, sys_path, file_name, system_dir4, err_message_found_lib4, head_f_l, proclib_import, err_message_import4, head_f_i |
lib_0 l_libs lib0_name, sys_path, file_name, system_dir0,\ |
err_message_found_lib0, head_f_l, boxlib_import, err_message_import0, head_f_i |
lib_1 l_libs lib1_name, sys_path, file_name, system_dir1,\ |
err_message_found_lib1, head_f_l, libimg_import, err_message_import1, head_f_i |
lib_2 l_libs lib2_name, sys_path, file_name, system_dir2,\ |
err_message_found_lib2, head_f_l, strlib_import, err_message_import2, head_f_i |
lib_3 l_libs lib3_name, sys_path, file_name, system_dir3,\ |
err_message_found_lib3, head_f_l, libini_import, err_message_import3, head_f_i |
lib_4 l_libs lib4_name, sys_path, file_name, system_dir4,\ |
err_message_found_lib4, head_f_l, proclib_import, err_message_import4, head_f_i |
load_lib_end: |
|
align 4 |
button: |
mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
mcall SF_GET_BUTTON |
cmp ah,5 |
jne @f |
call but_ZoomM |
529,7 → 465,7 |
stdcall dword[tl_data_clear], tree2 |
|
; stdcall dword[img_destroy], dword[data_icon] |
mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë |
mcall SF_TERMINATE_PROCESS |
|
|
;input: |
958,7 → 894,6 |
xor edx,edx ;®ç¨áâ¨âì edx |
div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx |
push edx ;¯®«®¦¨âì ¢ á⥪ |
;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨ |
call .str ;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
pop eax |
@@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
970,24 → 905,20 |
@@: |
ret ;¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï |
|
hed db 'Planet viewer 16.02.16',0 ;¯®¤¯¨áì ®ª |
mouse_dd dd 0 ;㦮 ¤«ï Shift- ¢ editbox |
|
hed db 'Planet viewer 09.11.15',0 ;¯®¤¯¨áì ®ª |
|
sc system_colors ;á¨áâ¥¬ë¥ æ¢¥â |
mouse_dd dd 0 ;㦮 ¤«ï Shift- ¢ editbox |
align 16 |
i_end: |
procinfo process_information |
sc system_colors ;á¨áâ¥¬ë¥ æ¢¥â |
rb 1024 |
align 16 |
stacktop: |
sys_path rb 4096 |
file_name: |
rb 4096 |
plugin_path: |
rb 4096 |
openfile_path: |
rb 4096 |
filename_area: |
rb 256 |
file_name rb 4096 |
plugin_path rb 4096 |
openfile_path rb 4096 |
filename_area rb 256 |
mem: |
|