Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5910 → Rev 5911

/programs/other/planet_v/tile_fun.inc
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