63,9 → 63,9 |
; load_new_tile (¢¥àåïï ª à⨪ ) |
|
|
;??? |
;¯¥à¥¤¢¨£ ¥¬ ª®®à¤¨ âã ªãàá®à ¢¯à ¢® |
align 4 |
CursorMoveRight: ;¯¥à¥¤¢¨£ ¥¬ ª®®à¤¨ âã ªãàá®à ¢¯à ¢® |
CursorMoveRight: |
push ebx ecx |
xor ebx,ebx |
xor ecx,ecx |
87,9 → 87,9 |
pop ecx ebx |
ret |
|
;??? |
;¯¥à¥¤¢¨£ ¥¬ ª®®à¤¨ âã ªãàá®à ¢¨§ |
align 4 |
CursorMoveDown: ;¯¥à¥¤¢¨£ ¥¬ ª®®à¤¨ âã ªãàá®à ¢¨§ |
CursorMoveDown: |
push ebx ecx |
xor ebx,ebx |
xor ecx,ecx |
111,24 → 111,23 |
pop ecx ebx |
ret |
|
;??? |
;¯¥à¥¬¥é¥¨¥ ¬¥âª¨ ¢¢¥àå, ¯® ᯨáªã |
align 4 |
but_met_up: ;¯¥à¥¬¥é¥¨¥ ¬¥âª¨ ¢¢¥àå, ¯® ᯨáªã |
but_met_up: |
stdcall dword[tl_node_move_up], tree2 |
ret |
|
;??? |
;¯¥à¥¬¥é¥¨¥ ¬¥âª¨ ¢¨§, ¯® ᯨáªã? |
align 4 |
but_met_dn: ;¯¥à¥¬¥é¥¨¥ ¬¥âª¨ ¢¨§, ¯® ᯨáªã |
but_met_dn: |
stdcall dword[tl_node_move_down], tree2 |
ret |
|
;??? |
;¬¥ï¥¬ à áè¨à¥¨¥ ¤«ï ª àâë |
align 4 |
fun_new_map_type: ;¬¥ï¥¬ à áè¨à¥¨¥ ¤«ï ª àâë |
fun_new_map_type: |
push eax |
stdcall dword[tl_node_get_data], tree1 |
pop eax |
cmp eax,0 |
je @f |
mov dword[txt_tile_type],eax |
138,8 → 137,7 |
|
;§ ¤ ¥¬ à ᯮ«®¦¥¨¥ â ©«®¢ ¯® á¥âª¥ |
align 4 |
proc tiles_init_grid, beg_tiles:dword, count:dword, cols:dword |
push eax ebx ecx edx edi |
proc tiles_init_grid uses eax ebx ecx edx edi, beg_tiles:dword, count:dword, cols:dword |
xor eax,eax |
xor ebx,ebx |
mov edi,[beg_tiles] |
156,7 → 154,6 |
inc bx |
.old_lin: |
loop @b |
pop edi edx ecx ebx eax |
ret |
endp |
|
165,8 → 162,7 |
;â ©«ë ¢ ¯à®â¨¢®¯®«®¦ãî áâ®à®ã, ¢ १ã«ìâ ⥠ª®®à¤¨ âë ¡®«ìè¨á⢠⠩«®¢ ¥ ¬¥ïîâáï |
; § ç¨â ¯à®£à ¬¬ ¥ ¡ã¤¥â ¯¥à¥ç¨âë¢ âì ¨å § ®¢®, 祬 ¨ ¤®á⨣ ¥âáï ®¯â¨¬¨§ æ¨ï |
align 4 |
proc tiles_grid_move_left, beg_tiles:dword, count:dword, cols:dword |
push eax ebx ecx edx edi |
proc tiles_grid_move_left uses eax ebx ecx edx edi, beg_tiles:dword, count:dword, cols:dword |
xor eax,eax |
xor ebx,ebx |
mov edi,[beg_tiles] |
180,7 → 176,6 |
dec tile_delta_x |
add edi,size_tile_struc |
loop @b |
pop edi edx ecx ebx eax |
ret |
endp |
|
187,8 → 182,7 |
;ᤢ¨£ ¥¬ á¥âªã ¢¯à ¢®, ¢ë«¥§è¨¥ á⮫¡æë ¡ã¤ãâ ¯¥à¥ª¨ãâë «¥¢ãî áâ®à®ã |
;¤¥« ¥â ⮦¥ çâ® ¨ tiles_grid_move_left ⮫쪮 ¤¢¨£ ¥â ª®®à¤¨ âë ¢ ¤àã£ãî áâ®à®ã |
align 4 |
proc tiles_grid_move_right, beg_tiles:dword, count:dword, cols:dword |
push eax ebx ecx edx edi |
proc tiles_grid_move_right uses eax ebx ecx edx edi, beg_tiles:dword, count:dword, cols:dword |
xor eax,eax |
xor ebx,ebx |
mov edi,[beg_tiles] |
202,13 → 196,11 |
.no_jump: |
add edi,size_tile_struc |
loop @b |
pop edi edx ecx ebx eax |
ret |
endp |
|
align 4 |
proc tiles_grid_move_up, beg_tiles:dword, count:dword, rows:dword |
push eax ebx ecx edx edi |
proc tiles_grid_move_up uses eax ebx ecx edx edi, beg_tiles:dword, count:dword, rows:dword |
xor eax,eax |
xor ebx,ebx |
mov edi,[beg_tiles] |
222,13 → 214,11 |
dec tile_delta_y |
add edi,size_tile_struc |
loop @b |
pop edi edx ecx ebx eax |
ret |
endp |
|
align 4 |
proc tiles_grid_move_down, beg_tiles:dword, count:dword, rows:dword |
push eax ebx ecx edx edi |
proc tiles_grid_move_down uses eax ebx ecx edx edi, beg_tiles:dword, count:dword, rows:dword |
xor eax,eax |
xor ebx,ebx |
mov edi,[beg_tiles] |
242,13 → 232,11 |
.no_jump: |
add edi,size_tile_struc |
loop @b |
pop edi edx ecx ebx eax |
ret |
endp |
|
align 4 |
proc array_tile_function, beg_tiles:dword, count:dword, funct:dword |
push ecx edi |
proc array_tile_function uses ecx edi, beg_tiles:dword, count:dword, funct:dword |
mov edi,[beg_tiles] |
mov ecx,[count] |
@@: |
255,7 → 243,6 |
stdcall [funct],edi |
add edi,size_tile_struc |
loop @b |
pop edi ecx |
ret |
endp |
|
262,15 → 249,11 |
align 4 |
draw_tiles: |
pushad |
mov eax,47 |
mov ebx,0x20000 |
xor ecx,ecx |
mov cl,byte[map.zoom] |
mov edx,128*65536+13 |
movzx ecx,byte[map.zoom] |
mov esi,[sc.work_text] |
or esi,0x40000000 |
mov edi,[sc.work] |
int 0x40 |
mcall 47,0x20000,, (128 shl 16)+13 |
|
stdcall array_tile_function, tile_00,max_tiles_count,draw_tile |
popad |
466,40 → 449,35 |
@@: |
ret |
|
;??? |
;á®åà ¥¨¥ ä ©« á ¬¥âª ¬¨ |
align 4 |
but_MetSave: ;á®åà ¥¨¥ ä ©« á ¬¥âª ¬¨ |
stdcall dword[tl_save_mem], TREE_ICON_SYS16_BMP_SIZE,[bmp_icon],0,tree2 |
but_MetSave: |
stdcall dword[tl_save_mem], tree2,0,[bmp_icon],TREE_ICON_SYS16_BMP_SIZE |
|
copy_path fn_metki,sys_path,file_name,0 |
push eax ebx ecx edi |
copy_path fn_metki,sys_path,file_name,0x0 |
stdcall dword[tl_get_mem_size], tree2,[bmp_icon] |
inc eax ;¤«ï § ¯¨á¨ ¢ ä ©« § ¢¥àè î饣® ã«ï |
|
stdcall dword[tl_get_mem_size], [bmp_icon],tree2 |
pop ecx |
inc ecx ;¤«ï § ¯¨á¨ ¢ ä ©« § ¢¥àè î饣® ã«ï |
|
mov eax,70 |
m2m [run_file_70.Buffer], [bmp_icon] |
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.Count], eax |
mov byte[run_file_70+20], 0 |
mov [run_file_70.FileName], file_name |
mov ebx,run_file_70 |
int 0x40 |
mcall 70,run_file_70 |
pop edi ecx ebx eax |
jmp still |
|
;??? |
;áç¨âë¢ ¥¬ ä ©« á ¬¥âª ¬¨ |
align 4 |
but_MetLoad: ;áç¨âë¢ ¥¬ ä ©« á ¬¥âª ¬¨ |
but_MetLoad: |
cmp byte[met_fr_opn],0 |
jne .end_f |
copy_path fn_metki,sys_path,file_name,0 |
pushad |
mov byte[met_fr_opn],1 |
copy_path fn_metki,sys_path,file_name,0x0 |
mov eax,70 ;load icon file |
mov [run_file_70.Function], 0 |
mov [run_file_70.Position], 0 |
mov [run_file_70.Flags], 0 |
507,15 → 485,12 |
mov byte[run_file_70+20], 0 |
mov [run_file_70.FileName], file_name |
m2m [run_file_70.Buffer], [bmp_icon] |
mov eax,70 |
mov ebx,run_file_70 |
int 0x40 |
mcall 70,run_file_70 |
cmp ebx,0xffffffff |
je @f |
stdcall [tl_load_mem], TREE_ICON_SYS16_BMP_SIZE,dword[bmp_icon],0,tree2 |
stdcall [tl_cur_beg], tree2 ;? |
stdcall [tl_draw], tree2 ;? |
pop eax |
stdcall [tl_load_mem], tree2,0,[bmp_icon],TREE_ICON_SYS16_BMP_SIZE |
stdcall [tl_cur_beg], tree2 |
stdcall [tl_draw], tree2 |
@@: |
mov byte[file_name],0 ;clear file name |
popad |
522,9 → 497,9 |
.end_f: |
ret |
|
;??? |
;¤®¡ ¢«¥¨¥ ¬¥âª¨ |
align 4 |
but_MetAdd: ;¤®¡ ¢«¥¨¥ ¬¥âª¨ |
but_MetAdd: |
push eax |
mov eax,dword[bmp_icon] |
m2m dword[eax], dword[map.coord_x] |
532,17 → 507,16 |
m2m word[eax+8], word[map.zoom] |
add eax,12 |
stdcall dword[str_copy], eax,30,dword[edit2.text],30 |
stdcall dword[tl_node_add], dword[bmp_icon], 0, tree2 |
stdcall dword[tl_node_add], tree2, 0, dword[bmp_icon] |
stdcall dword[tl_draw], tree2 |
pop eax |
jmp still |
|
;??? |
;¯¥à¥å®¤ ª ¢ë¡à ®© ¬¥âª¥ |
align 4 |
fun_goto_met: ;¯¥à¥å®¤ ª ¢ë¡à ®© ¬¥âª¥ |
fun_goto_met: |
push eax |
stdcall dword[tl_node_get_data], tree2 |
pop eax |
cmp eax,0 |
je @f ;ªãàá®à ¥ á⮨⠬¥âª¥ |
m2m dword[map.coord_x],dword[eax] |
563,38 → 537,27 |
ret |
|
align 4 |
proc tile_init, tile:dword |
push eax edi |
proc tile_init uses eax edi, tile:dword |
mov edi,[tile] |
|
push dword RGB_TILE_SIZE+300 |
call mem.Alloc |
stdcall mem.Alloc, RGB_TILE_SIZE+300 |
mov tile_rgb_icon,eax |
|
push dword RGB_TILE_SIZE |
call mem.Alloc |
stdcall mem.Alloc, RGB_TILE_SIZE |
mov tile_drobn_icon,eax |
pop edi eax |
ret |
endp |
|
align 4 |
proc tile_destroy, tile:dword |
push edi |
proc tile_destroy uses edi, tile:dword |
mov edi,[tile] |
push tile_rgb_icon |
call mem.Free |
push tile_drobn_icon |
call mem.Free |
pop edi |
stdcall mem.Free,tile_rgb_icon |
stdcall mem.Free,tile_drobn_icon |
ret |
endp |
|
|
;??? |
align 4 ;§ £à㦠¥â â ©«ë, ¢ ®¯à¥¤¥«¥®© ®¡« á⨠|
proc load_tile, tile:dword |
push eax ebx ecx edi |
;§ £à㦠¥â â ©«ë, ¢ ®¯à¥¤¥«¥®© ®¡« á⨠|
align 4 |
proc load_tile uses eax ebx ecx edi, tile:dword |
mov edi,dword[tile] ;ª®¯¨à㥬 㪠§ ⥫ì áâàãªâãàã â ©« , çâ®-¡ë à ¡®â «¨ ª®áâ âë |
|
stdcall mem_copy, map,edi, 9 ;ª®¯¨à㥬 ª®®à¤¨ âë ªãàá®à ¢ áâàãªâãàã â ©« |
748,7 → 711,6 |
jmp .zoom |
@@: |
|
pop edi ecx ebx eax |
ret |
endp |
|
798,7 → 760,6 |
proc load_new_tile, tile:dword |
pushad |
|
mov eax,70 ;load icon file |
mov [run_file_70.Function], 0 |
mov [run_file_70.Position], 0 |
mov [run_file_70.Flags], 0 |
806,8 → 767,7 |
m2m [run_file_70.Buffer], [bmp_icon] |
mov byte[run_file_70+20], 0 |
mov [run_file_70.FileName], file_name |
mov ebx,run_file_70 |
int 0x40 |
mcall 70,run_file_70 |
mov edi,[tile] |
; cmp ebx,0xffffffff |
; je .no_load |
844,8 → 804,7 |
|
;äãªæ¨ï £¥¥à¨àã¥â ç áâì ¯ã⨠ª ä ©«ã ¢ ¢¨¤¥: \z?\?\x?\?\y? |
align 4 |
proc get_tile_path, tile:dword |
push eax ecx edi esi |
proc get_tile_path uses eax ecx edi esi, tile:dword |
mov ecx,300 |
mov edi,txt_tile_path |
@@: |
869,7 → 828,7 |
inc edi |
xor eax,eax |
mov al,byte[esi+8] ;+8 = zoom |
call tl_convert_to_str |
stdcall convert_int_to_str, 300 |
|
inc edi |
cmp byte[esi+8],9 ;+8 = zoom |
883,7 → 842,7 |
cmp eax,ecx |
jge .out_of_rang ;coord_x ¡®«ìè¥ ¤®¯ãá⨬®£® § ç¥¨ï ¯à¨ § ¤ ®¬ ¬ áèâ ¡¥ |
shr eax,10 |
call tl_convert_to_str |
stdcall convert_int_to_str, 300 |
|
@@: |
inc edi |
895,7 → 854,7 |
inc edi |
|
mov eax,[esi] ;coord_x |
call tl_convert_to_str |
stdcall convert_int_to_str, 300 |
|
@@: |
inc edi |
914,7 → 873,7 |
cmp eax,ecx |
jge .out_of_rang ;coord_y ¡®«ìè¥ ¤®¯ãá⨬®£® § ç¥¨ï ¯à¨ § ¤ ®¬ ¬ áèâ ¡¥ |
shr eax,10 |
call tl_convert_to_str |
stdcall convert_int_to_str, 300 |
|
@@: |
inc edi |
926,11 → 885,10 |
inc edi |
|
mov eax,[esi+4] ;coord_y] |
call tl_convert_to_str |
stdcall convert_int_to_str, 300 |
|
.out_of_rang: |
call get_all_path |
pop esi edi ecx eax |
ret |
endp |
|