forked from KolibriOS/kolibrios
1) changes in 'TreeList':
- fix 'tl_iterat_perv' - small fix 'tl_mouse' - update 'tl_node_lev_inc' - optimization 'tl_node_lev_dec' 2) add new programm 'PlanetV' git-svn-id: svn://kolibrios.org@1401 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> box_lib.obj
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TreeList <20><><EFBFBD> Kolibri OS
|
||||
; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 05.02.2010 IgorA
|
||||
; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 09.02.2010 IgorA
|
||||
; <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GPL2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
@@ -16,8 +16,10 @@ sizeof.TreeList equ 20
|
||||
;ends
|
||||
|
||||
tl_info_size equ word[edi +4] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
tl_info_max_count equ dword[edi+6] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tl_style equ dword[edi+10] ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tl_data_nodes equ dword[edi+14] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
tl_data_img equ dword[edi+18] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
tl_img_cx equ word[edi+22] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tl_img_cy equ word[edi+24] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tl_data_img_sys equ dword[edi+26] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
@@ -51,8 +53,6 @@ tl_load_mode_add equ 0x20000 ;
|
||||
tl_save_load_heder_size equ 26 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
;data_info dd ? ;+ 0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
;info_max_count dd ? ;+ 6 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;data_img dd ? ;+18 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;ls_tim dd ? ;+34 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;on_activate dd ? ;+92 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
@@ -133,7 +133,7 @@ tl_data_init: ;
|
||||
imul ecx,dword[edi+6]
|
||||
call mem_Alloc
|
||||
mov dword[edi],eax ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov dword[edi+18],0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'data_img'
|
||||
mov tl_data_img,0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'data_img'
|
||||
mov tl_data_img_sys,0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'data_img_sys'
|
||||
|
||||
mov ecx,sizeof.TreeList
|
||||
@@ -174,7 +174,7 @@ tl_data_clear: ;
|
||||
mov ebp,esp
|
||||
push ecx edi
|
||||
mov edi,dword[ebp+8]
|
||||
cmp dword[edi+18],0 ;data_img
|
||||
cmp tl_data_img,0
|
||||
je @f
|
||||
mov ecx,dword[edi+18]
|
||||
call mem_Free ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -327,7 +327,7 @@ tl_mouse: ;
|
||||
mov ebx,tl_box_left
|
||||
shl ebx,16
|
||||
cmp eax,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
jl .test_scroll
|
||||
jl .no_in_wnd ;.test_scroll
|
||||
|
||||
mov ebx,tl_box_left
|
||||
add ebx,tl_box_width
|
||||
@@ -573,7 +573,7 @@ align 4
|
||||
tl_draw: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
push ebp
|
||||
mov ebp,esp
|
||||
push eax ebx ecx edx edi esi
|
||||
pushad
|
||||
;draw dir_list main rect
|
||||
mov edi,dword[ebp+8]
|
||||
mov ebx,tl_box_left
|
||||
@@ -670,7 +670,7 @@ tl_draw: ;
|
||||
call scroll_bar_vertical.draw
|
||||
|
||||
.end_draw:
|
||||
pop esi edi edx ecx ebx eax
|
||||
popad
|
||||
pop ebp
|
||||
ret 4
|
||||
|
||||
@@ -755,13 +755,9 @@ tl_iterat_next_all:
|
||||
align 4
|
||||
tl_iterat_perv:
|
||||
push eax
|
||||
|
||||
; mov bl,byte[edx+2]
|
||||
|
||||
cmp tl_tim_undo,0
|
||||
je .beg1
|
||||
|
||||
push eax
|
||||
.beg0:
|
||||
call tl_move_perv
|
||||
cmp edx,ecx
|
||||
@@ -1028,7 +1024,7 @@ tl_get_display_cur_pos: ;
|
||||
;input:
|
||||
; eax = node position
|
||||
; edx = pointer to some node struct
|
||||
; edi = pointer to TreeInfo struct
|
||||
; edi = pointer to 'TreeList' struct
|
||||
; esi = coord of bottom border
|
||||
align 4
|
||||
tl_draw_node:
|
||||
@@ -1067,7 +1063,7 @@ tl_draw_node:
|
||||
.crop:
|
||||
mov esi,ecx ;save ecx
|
||||
|
||||
cmp dword[edi+18],0 ;data_img
|
||||
cmp tl_data_img,0
|
||||
jne .draw_img_n
|
||||
push edx
|
||||
mov edx,tl_col_txt
|
||||
@@ -1088,7 +1084,7 @@ tl_draw_node:
|
||||
imul bx,tl_img_cx
|
||||
imul bx,tl_img_cy
|
||||
imul ebx,esi ;esi = icon index
|
||||
add ebx,dword[edi+18] ;data_img
|
||||
add ebx,tl_data_img
|
||||
|
||||
mov eax,7
|
||||
int 0x40 ;draw node icon '-'
|
||||
@@ -1116,6 +1112,7 @@ tl_draw_node:
|
||||
|
||||
;input:
|
||||
; ecx = pointer to 1 node struct
|
||||
; edx = pointer to some node struct
|
||||
;...
|
||||
align 4
|
||||
tl_draw_node_icon_opn_clo: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + <20><><EFBFBD> -)
|
||||
@@ -1158,6 +1155,8 @@ tl_draw_node_icon_opn_clo: ;
|
||||
|
||||
;input:
|
||||
; al = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
; ecx = pointer to 1 node struct
|
||||
; edx = pointer to some node struct
|
||||
;...
|
||||
align 4
|
||||
tl_draw_node_icon_par_lin:
|
||||
@@ -1213,30 +1212,32 @@ tl_draw_node_icon_par_lin:
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;icon:
|
||||
;input:
|
||||
; al = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;...
|
||||
; ecx = pointer to 1 node struct
|
||||
; edx = pointer to some node struct
|
||||
; edi = pointer to 'TreeList' struct
|
||||
align 4
|
||||
tl_draw_node_icon_par_lin_up:
|
||||
push eax ebx ecx edx esi
|
||||
push eax ebx ecx edx
|
||||
push esi
|
||||
cmp tl_data_img_sys,0 ;if not image
|
||||
je @f
|
||||
cmp al,0
|
||||
je @f
|
||||
|
||||
;---------
|
||||
xor esi,esi ;<3B> si <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
;--- <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ---
|
||||
.cycle0:
|
||||
call tl_iterat_perv ;get perv visible item
|
||||
cmp edx,ecx
|
||||
jle .cycle1 ;if begin of list
|
||||
|
||||
cmp byte[edx+2],al
|
||||
jle .cycle1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jle .cycle0end ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
inc si
|
||||
jmp .cycle0
|
||||
.cycle1:
|
||||
.cycle0end:
|
||||
cmp si,0 ;si = <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
je @f
|
||||
shl esi,16
|
||||
@@ -1257,25 +1258,24 @@ tl_draw_node_icon_par_lin_up:
|
||||
mov ebx,3 ;rgb = 3 bytes
|
||||
imul bx,tl_img_cx
|
||||
imul bx,tl_img_cy
|
||||
;imul ebx,1
|
||||
add ebx,tl_data_img_sys
|
||||
|
||||
add esi,tl_box_top
|
||||
add si,tl_capt_cy ;si = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
mov eax,7
|
||||
;---------
|
||||
.cycle2:
|
||||
;--- <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ---
|
||||
.cycle1:
|
||||
sub dx,tl_img_cy ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> y <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp dx,si
|
||||
jl @f
|
||||
; int 0x40 ;draw line icon
|
||||
cmp esi,0x10000
|
||||
jl @f
|
||||
int 0x40 ;draw line icon
|
||||
sub esi,0x10000 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jmp .cycle2
|
||||
jmp .cycle1
|
||||
@@:
|
||||
pop esi edx ecx ebx eax
|
||||
pop esi
|
||||
pop edx ecx ebx eax
|
||||
ret
|
||||
|
||||
;input:
|
||||
@@ -1470,7 +1470,7 @@ tl_node_add: ;
|
||||
pop dword [edx+8]
|
||||
|
||||
call tl_get_node_index ;*** eax = i ***
|
||||
cmp eax,dword[edi+6] ;info_max_count
|
||||
cmp eax,tl_info_max_count
|
||||
jge .u0
|
||||
|
||||
mov [ecx],eax ;node[po_t].next=i; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -2008,19 +2008,26 @@ align 4
|
||||
tl_node_lev_inc: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
push ebp
|
||||
mov ebp,esp
|
||||
push eax edx edi
|
||||
push eax ecx edx edi
|
||||
mov edi,dword[ebp+8]
|
||||
bt tl_style,2 ;tl_list_box_mode
|
||||
jc @f
|
||||
call tl_get_cur_node_index ;eax=po_t
|
||||
cmp eax,2
|
||||
jl @f
|
||||
mov ecx,tl_data_nodes
|
||||
imul eax,sizeof.TreeList
|
||||
add eax,tl_data_nodes
|
||||
add eax,ecx ;eax = pointer to some node struct
|
||||
add ecx,sizeof.TreeList ;ecx = pointer to 1 node struct
|
||||
|
||||
mov edx,eax
|
||||
inc word[edx+2]
|
||||
call tl_iterat_perv ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
cmp edx,ecx
|
||||
jle @f ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
inc word[eax+2]
|
||||
@@:
|
||||
pop edi edx eax
|
||||
pop edi edx ecx eax
|
||||
pop ebp
|
||||
ret 4
|
||||
|
||||
@@ -2028,19 +2035,18 @@ align 4
|
||||
tl_node_lev_dec: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
push ebp
|
||||
mov ebp,esp
|
||||
push eax edx edi
|
||||
push eax edi
|
||||
mov edi,dword[ebp+8]
|
||||
call tl_get_cur_node_index ;eax=po_t
|
||||
cmp eax,2
|
||||
jl @f
|
||||
imul eax,sizeof.TreeList
|
||||
add eax,tl_data_nodes
|
||||
mov edx,eax
|
||||
cmp word[edx+2],0
|
||||
cmp word[eax+2],0
|
||||
je @f
|
||||
dec word[edx+2]
|
||||
dec word[eax+2]
|
||||
@@:
|
||||
pop edi edx eax
|
||||
pop edi eax
|
||||
pop ebp
|
||||
ret 4
|
||||
|
||||
@@ -2464,8 +2470,6 @@ txt_capt_otm db '
|
||||
;input:
|
||||
; eax = value
|
||||
; edi = string buffer
|
||||
;output:
|
||||
; edi =
|
||||
align 4
|
||||
tl_convert_to_str:
|
||||
pushad
|
||||
|
10
programs/other/planet_v/build.bat
Normal file
10
programs/other/planet_v/build.bat
Normal file
@@ -0,0 +1,10 @@
|
||||
if not exist bin mkdir bin
|
||||
if not exist bin\tl_sys_16.png @copy tl_sys_16.png bin\tl_sys_16.png
|
||||
if not exist bin\tl_nod_16.bmp @copy tl_nod_16.bmp bin\tl_nod_16.bmp
|
||||
if not exist bin\planet_v.ini @copy planet_v.ini bin\planet_v.ini
|
||||
if not exist bin\pl_metki.lst @copy pl_metki.lst bin\pl_metki.lst
|
||||
if not exist bin\str.obj @copy str.obj bin\str.obj
|
||||
|
||||
@fasm.exe -m 16384 planet_v.asm bin\planet_v.kex
|
||||
@kpack bin\planet_v.kex
|
||||
pause
|
99
programs/other/planet_v/dll.inc
Normal file
99
programs/other/planet_v/dll.inc
Normal file
@@ -0,0 +1,99 @@
|
||||
|
||||
proc dll.Load, import_table:dword
|
||||
mov esi,[import_table]
|
||||
.next_lib: mov edx,[esi]
|
||||
or edx,edx
|
||||
jz .exit
|
||||
push esi
|
||||
mov esi,[esi+4]
|
||||
mov edi,s_libdir.fname
|
||||
@@: lodsb
|
||||
stosb
|
||||
or al,al
|
||||
jnz @b
|
||||
mcall 68,19,s_libdir
|
||||
or eax,eax
|
||||
jz .fail
|
||||
stdcall dll.Link,eax,edx
|
||||
push eax
|
||||
mov eax, [eax]
|
||||
cmp dword [eax], 'lib_'
|
||||
pop eax
|
||||
jnz @f
|
||||
stdcall dll.Init,[eax+4]
|
||||
@@:
|
||||
pop esi
|
||||
add esi,8
|
||||
jmp .next_lib
|
||||
.exit: xor eax,eax
|
||||
ret
|
||||
.fail: add esp,4
|
||||
xor eax,eax
|
||||
inc eax
|
||||
ret
|
||||
endp
|
||||
|
||||
proc dll.Link, exp:dword,imp:dword
|
||||
push eax
|
||||
mov esi,[imp]
|
||||
test esi,esi
|
||||
jz .done
|
||||
.next: lodsd
|
||||
test eax,eax
|
||||
jz .done
|
||||
stdcall dll.GetProcAddress,[exp],eax
|
||||
or eax,eax
|
||||
jz @f
|
||||
mov [esi-4],eax
|
||||
jmp .next
|
||||
@@: mov dword[esp],0
|
||||
.done: pop eax
|
||||
ret
|
||||
endp
|
||||
|
||||
proc dll.Init, dllentry:dword
|
||||
pushad
|
||||
mov eax,mem.Alloc
|
||||
mov ebx,mem.Free
|
||||
mov ecx,mem.ReAlloc
|
||||
mov edx,dll.Load
|
||||
stdcall [dllentry]
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
proc dll.GetProcAddress, exp:dword,sz_name:dword
|
||||
mov edx,[exp]
|
||||
xor eax,eax
|
||||
.next: or edx,edx
|
||||
jz .end
|
||||
cmp dword[edx],0
|
||||
jz .end
|
||||
stdcall strcmp,[edx],[sz_name]
|
||||
test eax,eax
|
||||
jz .ok
|
||||
add edx,8
|
||||
jmp .next
|
||||
.ok: mov eax,[edx+4]
|
||||
.end: ret
|
||||
endp
|
||||
|
||||
proc strcmp, str1:dword,str2:dword
|
||||
push esi edi
|
||||
mov esi,[str1]
|
||||
mov edi,[str2]
|
||||
xor eax,eax
|
||||
@@: lodsb
|
||||
scasb
|
||||
jne .fail
|
||||
or al,al
|
||||
jnz @b
|
||||
jmp .ok
|
||||
.fail: or eax,-1
|
||||
.ok: pop edi esi
|
||||
ret
|
||||
endp
|
||||
|
||||
s_libdir:
|
||||
db '/sys/lib/'
|
||||
.fname rb 32
|
48
programs/other/planet_v/mem.inc
Normal file
48
programs/other/planet_v/mem.inc
Normal file
@@ -0,0 +1,48 @@
|
||||
;-----------------------------------------------------------------------------
|
||||
proc mem.Alloc,size ;/////////////////////////////////////////////////////////
|
||||
;-----------------------------------------------------------------------------
|
||||
push ebx ecx
|
||||
mov ecx,[size]
|
||||
;*** add ecx,4
|
||||
mcall 68,12
|
||||
;*** add ecx,-4
|
||||
;*** mov [eax],ecx
|
||||
;*** add eax,4
|
||||
pop ecx ebx
|
||||
ret
|
||||
endp
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
proc mem.ReAlloc,mptr,size ;//////////////////////////////////////////////////
|
||||
;-----------------------------------------------------------------------------
|
||||
push ebx ecx edx
|
||||
mov ecx,[size]
|
||||
or ecx,ecx
|
||||
jz @f
|
||||
;*** add ecx,4
|
||||
@@: mov edx,[mptr]
|
||||
or edx,edx
|
||||
jz @f
|
||||
;*** add edx,-4
|
||||
@@: mcall 68,20
|
||||
or eax,eax
|
||||
jz @f
|
||||
;*** add ecx,-4
|
||||
;*** mov [eax],ecx
|
||||
;*** add eax,4
|
||||
@@: pop edx ecx ebx
|
||||
ret
|
||||
endp
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
proc mem.Free,mptr ;//////////////////////////////////////////////////////////
|
||||
;-----------------------------------------------------------------------------
|
||||
push ebx ecx
|
||||
mov ecx,[mptr]
|
||||
or ecx,ecx
|
||||
jz @f
|
||||
;*** add ecx,-4
|
||||
@@: mcall 68,13
|
||||
pop ecx ebx
|
||||
ret
|
||||
endp
|
175
programs/other/planet_v/pl_import.inc
Normal file
175
programs/other/planet_v/pl_import.inc
Normal file
@@ -0,0 +1,175 @@
|
||||
align 4
|
||||
boxlib_import:
|
||||
edit_box_draw dd aEdit_box_draw
|
||||
edit_box_key dd aEdit_box_key
|
||||
edit_box_mouse dd aEdit_box_mouse
|
||||
; version_ed dd aVersion_ed
|
||||
|
||||
check_box_draw dd aCheck_box_draw
|
||||
check_box_mouse dd aCheck_box_mouse
|
||||
; version_ch dd aVersion_ch
|
||||
|
||||
; option_box_draw dd aOption_box_draw
|
||||
; option_box_mouse dd aOption_box_mouse
|
||||
; version_op dd aVersion_op
|
||||
|
||||
scrollbar_ver_draw dd aScrollbar_ver_draw
|
||||
; scrollbar_ver_mouse dd aScrollbar_ver_mouse
|
||||
scrollbar_hor_draw dd aScrollbar_hor_draw
|
||||
; scrollbar_hor_mouse dd aScrollbar_hor_mouse
|
||||
; version_scrollbar dd aVersion_scrollbar
|
||||
|
||||
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
|
||||
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_move_up dd sz_tl_node_move_up
|
||||
tl_node_move_down dd sz_tl_node_move_down
|
||||
tl_save_mem dd sz_tl_save_mem
|
||||
tl_load_mem dd sz_tl_load_mem
|
||||
tl_get_mem_size dd sz_tl_get_mem_size
|
||||
|
||||
dd 0,0
|
||||
|
||||
aEdit_box_draw db 'edit_box',0
|
||||
aEdit_box_key db 'edit_box_key',0
|
||||
aEdit_box_mouse db 'edit_box_mouse',0
|
||||
; aVersion_ed db 'version_ed',0
|
||||
|
||||
aCheck_box_draw db 'check_box_draw',0
|
||||
aCheck_box_mouse db 'check_box_mouse',0
|
||||
; aVersion_ch db 'version_ch',0
|
||||
|
||||
; aOption_box_draw db 'option_box_draw',0
|
||||
; aOption_box_mouse db 'option_box_mouse',0
|
||||
; aVersion_op db 'version_op',0
|
||||
|
||||
aScrollbar_ver_draw db 'scrollbar_v_draw',0
|
||||
; aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
|
||||
aScrollbar_hor_draw db 'scrollbar_h_draw',0
|
||||
; aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
|
||||
; aVersion_scrollbar db 'version_scrollbar',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
|
||||
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_move_up db 'tl_node_move_up',0
|
||||
sz_tl_node_move_down db 'tl_node_move_down',0
|
||||
sz_tl_save_mem db 'tl_save_mem',0
|
||||
sz_tl_load_mem db 'tl_load_mem',0
|
||||
sz_tl_get_mem_size db 'tl_get_mem_size',0
|
||||
|
||||
align 4
|
||||
libini_import:
|
||||
lib_init_ini dd alib_init0
|
||||
ini_get_str dd aini_get_str
|
||||
dd 0,0
|
||||
alib_init0 db 'lib_init',0
|
||||
aini_get_str db 'ini_get_str',0
|
||||
|
||||
align 4
|
||||
libimg_import:
|
||||
lib_init dd alib_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 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RGB
|
||||
aimg_to_rgb2 db 'img_to_rgb2',0
|
||||
aimg_decode db 'img_decode',0 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><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
|
||||
strlib_import:
|
||||
str_copy dd astr_copy
|
||||
str_cat dd astr_cat
|
||||
str_catchar dd astr_catchar
|
||||
str_inschar dd astr_inschar
|
||||
str_lowcase dd astr_lowcase
|
||||
str_upcase dd astr_upcase
|
||||
|
||||
str_len dd astr_len
|
||||
str_cmp dd astr_cmp
|
||||
str_cmpi dd astr_cmpi
|
||||
str_poschar dd astr_poschar
|
||||
|
||||
dd 0,0
|
||||
astr_copy db 'str_copy',0
|
||||
astr_cat db 'str_cat',0
|
||||
astr_catchar db 'str_catchar',0
|
||||
; str_ins db 'str_ins',0
|
||||
astr_inschar db 'str_inschar',0
|
||||
; str_sub db 'str_sub',0
|
||||
astr_lowcase db 'str_lowcase',0
|
||||
astr_upcase db 'str_upcase',0
|
||||
|
||||
astr_len db 'str_len',0
|
||||
astr_cmp db 'str_cmp',0
|
||||
astr_cmpi db 'str_cmpi',0
|
||||
; str_pos db 'str_pos',0
|
||||
astr_poschar db 'str_poschar',0
|
BIN
programs/other/planet_v/pl_metki.lst
Normal file
BIN
programs/other/planet_v/pl_metki.lst
Normal file
Binary file not shown.
979
programs/other/planet_v/planet_v.asm
Normal file
979
programs/other/planet_v/planet_v.asm
Normal file
@@ -0,0 +1,979 @@
|
||||
;<3B><><EFBFBD><E0AEAC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>୮<EFBFBD><E0ADAE><EFBFBD> Maxxxx32, Diamond, Heavyiron
|
||||
;<3B> <20><>㣨<EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>⠬, <20> ⠪<><E2A0AA>
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<Lrz> www.lrz.land.ru)
|
||||
use32
|
||||
org 0x0
|
||||
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> <20>ᥣ<EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
|
||||
dd 0x1
|
||||
dd start
|
||||
dd i_end ; ࠧ<><E0A0A7><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
dd mem
|
||||
dd stacktop
|
||||
dd 0x0
|
||||
dd sys_path
|
||||
|
||||
include '../../proc32.inc'
|
||||
include '../../macros.inc'
|
||||
include 'mem.inc'
|
||||
include 'dll.inc'
|
||||
|
||||
include '../../develop/libraries/box_lib/load_lib.mac'
|
||||
include '../../develop/libraries/box_lib/trunk/tree_list.mac'
|
||||
include '../../develop/libraries/box_lib/trunk/editbox.mac'
|
||||
include '../../develop/libraries/box_lib/trunk/checkbox.mac'
|
||||
|
||||
min_window_w equ 485 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쭠<EFBFBD> <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
min_window_h equ 325 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쭠<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
otst_panel_left equ 265
|
||||
|
||||
include 'tile_fun.inc'
|
||||
include 'pl_import.inc'
|
||||
|
||||
@use_library
|
||||
|
||||
struct f70
|
||||
func_n dd ?
|
||||
param1 dd ?
|
||||
param2 dd ?
|
||||
param3 dd ?
|
||||
param4 dd ?
|
||||
rezerv db ?
|
||||
name 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
|
||||
ini_def_cache db '/cache/sat',0
|
||||
ini_ext db 'ext'
|
||||
.number db '?'
|
||||
.def db 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><E0A5AD> <20><> 㬮<>砭<EFBFBD><E7A0AD>
|
||||
|
||||
|
||||
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
|
||||
@@:
|
||||
|
||||
stdcall dll.Init,dword[lib_init]
|
||||
stdcall dll.Init,dword[lib_init_ini]
|
||||
|
||||
copy_path ini_name,sys_path,file_name,0x0
|
||||
stdcall dword[ini_get_str],file_name,ini_sec,ini_k_cache,dword[edit1.text],dword[edit1.max],ini_def_cache
|
||||
stdcall [str_len],dword[edit1.text],dword[edit1.max]
|
||||
mov dword[edit1.size],eax
|
||||
mov dword[edit1.pos],eax
|
||||
|
||||
stdcall dword[tl_data_init], tree1
|
||||
stdcall dword[tl_data_init], tree2
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><E0A5AD> <20><><EFBFBD><EFBFBD> <20><> *.ini 䠩<><E4A0A9>
|
||||
mov byte[ini_ext.number],'0'
|
||||
@@: ;<3B><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20><> ext1 <20><> ext9
|
||||
inc byte[ini_ext.number]
|
||||
stdcall dword[ini_get_str],file_name,ini_sec,ini_ext,txt_tile_type_0,dword[tree1.info_capt_len],ini_ext.def
|
||||
cmp byte[txt_tile_type_0],0
|
||||
je @f
|
||||
stdcall dword[tl_node_add], txt_tile_type_0, 0, tree1
|
||||
jmp @b
|
||||
@@:
|
||||
mov byte[ini_ext.number],'0' ;<3B><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD> <20><> ext0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㤥<EFBFBD> <20><><EFBFBD>࠭ <20> ᯨ᪥
|
||||
stdcall dword[ini_get_str],file_name,ini_sec,ini_ext,txt_tile_type_0,dword[tree1.info_capt_len],ini_ext.def
|
||||
cmp byte[txt_tile_type_0],0
|
||||
jne @f
|
||||
mov dword[txt_tile_type_0],'.bmp' ;<3B> <20> *.ini 䠩<><E4A0A9> <20><>祣<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><E0A5AD> .bmp
|
||||
@@:
|
||||
stdcall dword[tl_node_add], txt_tile_type_0, 0, tree1
|
||||
|
||||
; init bmp file
|
||||
push dword RGB_TILE_SIZE+300 ;300 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>⮬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bmp 䠩<><E4A0A9>
|
||||
call mem.Alloc
|
||||
mov [bmp_icon],eax
|
||||
|
||||
stdcall array_tile_function, tile_00,max_tiles_count,tile_init
|
||||
stdcall tiles_init_grid, tile_00,max_tiles_count,max_tiles_cols
|
||||
|
||||
push dword TREE_ICON_SYS16_BMP_SIZE
|
||||
call mem.Alloc
|
||||
mov [tree_sys_icon],eax
|
||||
|
||||
push dword TREE_ICON_NOD16_BMP_SIZE
|
||||
call mem.Alloc
|
||||
mov [tree_nod_icon],eax
|
||||
|
||||
copy_path fn_icon1,sys_path,file_name,0x0
|
||||
mov eax,70 ;load icon file
|
||||
mov [run_file_70.func_n], 0
|
||||
mov [run_file_70.param1], 0
|
||||
mov [run_file_70.param2], 0
|
||||
mov [run_file_70.param3], TREE_ICON_SYS16_BMP_SIZE
|
||||
m2m [run_file_70.param4], [tree_sys_icon]
|
||||
mov [run_file_70.rezerv], 0
|
||||
mov [run_file_70.name], file_name
|
||||
mov ebx,run_file_70
|
||||
int 0x40
|
||||
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,0x0
|
||||
mov eax,70 ;load icon file
|
||||
mov [run_file_70.param3], TREE_ICON_NOD16_BMP_SIZE
|
||||
m2m [run_file_70.param4], [tree_nod_icon]
|
||||
mov ebx,run_file_70
|
||||
int 0x40
|
||||
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 48,3,sc,sizeof.system_colors
|
||||
;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> 梥⮢
|
||||
edit_boxes_set_sys_color edit1,editboxes_end,sc
|
||||
check_boxes_set_sys_color ch1,checkboxes_end,sc
|
||||
|
||||
mov byte[file_name],0
|
||||
|
||||
red_win:
|
||||
call draw_win
|
||||
call but_MetLoad
|
||||
|
||||
still:
|
||||
mov eax,10
|
||||
mcall
|
||||
|
||||
cmp al,0x1 ;<3B><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
jz red_win
|
||||
cmp al,0x2
|
||||
jz key
|
||||
cmp al,0x3
|
||||
jz button
|
||||
|
||||
push dword ch2
|
||||
call [check_box_mouse]
|
||||
push dword ch1
|
||||
call [check_box_mouse]
|
||||
|
||||
stdcall [edit_box_mouse], edit1
|
||||
stdcall [edit_box_mouse], edit2
|
||||
|
||||
stdcall [tl_mouse], tree1
|
||||
stdcall [tl_mouse], tree2
|
||||
|
||||
jmp still
|
||||
|
||||
key:
|
||||
push eax ebx
|
||||
mcall 2
|
||||
stdcall [edit_box_key], edit1
|
||||
stdcall [edit_box_key], edit2
|
||||
|
||||
push dword tree1
|
||||
call [tl_key]
|
||||
push dword tree2
|
||||
call [tl_key]
|
||||
|
||||
mov ebx,dword[el_focus] ;<3B><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> treelist <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp ebx, dword tree1
|
||||
je .end_f
|
||||
cmp ebx, dword tree2
|
||||
je .end_f
|
||||
|
||||
;<3B><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
test word[edit1.flags],10b ;ed_focus
|
||||
jne .end_f
|
||||
test word[edit2.flags],10b ;ed_focus
|
||||
jne .end_f
|
||||
|
||||
cmp ah,179 ;Right
|
||||
jne @f
|
||||
call CursorMoveRight
|
||||
@@:
|
||||
cmp ah,176 ;Left
|
||||
jne @f
|
||||
cmp dword[map.coord_x],0
|
||||
je @f
|
||||
dec dword[map.coord_x]
|
||||
;ᤢ<><E1A4A2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ⠩<><E2A0A9><EFBFBD> <20><>ࠢ<EFBFBD>, <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD> ⠩<><E2A0A9><EFBFBD> ᮢ<><E1AEA2><EFBFBD><EFBFBD> <20> <20><><EFBFBD>諮<EFBFBD><E8ABAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㦠<EFBFBD><E3A6A0> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
stdcall tiles_grid_move_right, tile_00,max_tiles_count,max_tiles_cols
|
||||
call but_Refresh
|
||||
@@:
|
||||
cmp ah,177 ;Down
|
||||
jne @f
|
||||
call CursorMoveDown
|
||||
@@:
|
||||
cmp ah,178 ;Up
|
||||
jne @f
|
||||
cmp dword[map.coord_y],0
|
||||
je @f
|
||||
dec dword[map.coord_y]
|
||||
;ᤢ<><E1A4A2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ⠩<><E2A0A9><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
stdcall tiles_grid_move_down, tile_00,max_tiles_count,max_tiles_rows
|
||||
call but_Refresh
|
||||
@@:
|
||||
|
||||
cmp ah,45 ;-
|
||||
jne @f
|
||||
call but_ZoomM
|
||||
@@:
|
||||
cmp ah,61 ;+
|
||||
jne @f
|
||||
call but_ZoomP
|
||||
@@:
|
||||
|
||||
.end_f:
|
||||
pop ebx eax
|
||||
jmp still
|
||||
|
||||
|
||||
align 4
|
||||
draw_win:
|
||||
pushad
|
||||
mcall 12,1
|
||||
|
||||
xor eax,eax
|
||||
mov ebx,20*65536+min_window_w
|
||||
mov ecx,20*65536+min_window_h
|
||||
mov edx,[sc.work]
|
||||
or edx,0x33000000
|
||||
mov edi,hed
|
||||
mcall
|
||||
|
||||
mcall 9,procinfo,-1
|
||||
|
||||
cmp dword[procinfo.box.width],min_window_w ; <20><EFBFBD><E0AEA2>塞 <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
jge @f
|
||||
mov dword[procinfo.box.width],min_window_w ; <20> <20><><EFBFBD><EFBFBD> <20>祭<EFBFBD> 㧪<><E3A7AA>, 㢥<><E3A2A5>稢<EFBFBD><E7A8A2><EFBFBD> <20><>ਭ<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
@@:
|
||||
|
||||
mov edi,dword[procinfo.box.width]
|
||||
sub edi,min_window_w-otst_panel_left
|
||||
mov dword[tree1.box_left],edi
|
||||
mov dword[tree2.box_left],edi
|
||||
|
||||
mov eax,dword[tree2.box_left] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
|
||||
add eax,dword[tree2.box_width]
|
||||
mov ebx,dword[tree2.p_scrol]
|
||||
mov word[ebx+2],ax
|
||||
|
||||
mov dword[edit2.left],edi
|
||||
add dword[edit2.left],370-otst_panel_left
|
||||
|
||||
stdcall dword[tl_draw],dword tree1
|
||||
stdcall dword[tl_draw],dword tree2
|
||||
mov dword[wScrMetki.all_redraw],1
|
||||
push dword wScrMetki
|
||||
call [scrollbar_ver_draw]
|
||||
|
||||
mov eax,8 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx,145*65536+20
|
||||
mov ecx,5*65536+25
|
||||
mov edx,6
|
||||
mov esi,[sc.work_button]
|
||||
int 0x40
|
||||
|
||||
mov ebx,100*65536+20
|
||||
mov ecx,5*65536+25
|
||||
mov edx,5
|
||||
int 0x40
|
||||
|
||||
mov bx,di
|
||||
shl ebx,16
|
||||
mov bx,100
|
||||
mov ecx,265*65536+25
|
||||
mov edx,9
|
||||
int 0x40
|
||||
|
||||
;ebx ...
|
||||
mov ecx,235*65536+25
|
||||
mov edx,8
|
||||
int 0x40
|
||||
|
||||
mov bx,di
|
||||
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
|
||||
|
||||
mov bx,di
|
||||
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
|
||||
|
||||
mov bx,di
|
||||
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
|
||||
|
||||
mov bx,di
|
||||
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 ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
||||
mov ebx,152*65536+13
|
||||
mov ecx,[sc.work_button_text]
|
||||
or ecx,0x80000000
|
||||
mov edx,txt_zoom_p
|
||||
mcall
|
||||
|
||||
mov ebx,107*65536+13
|
||||
mov edx,txt_zoom_m
|
||||
int 0x40
|
||||
|
||||
mov bx,di
|
||||
add bx,270-otst_panel_left
|
||||
shl ebx,16
|
||||
mov bx,243
|
||||
;mov ebx,270*65536+243
|
||||
mov edx,txt151
|
||||
int 0x40
|
||||
|
||||
mov bx,di
|
||||
add bx,270-otst_panel_left
|
||||
shl ebx,16
|
||||
mov bx,273
|
||||
;mov ebx,270*65536+273
|
||||
mov edx,txt152
|
||||
int 0x40
|
||||
|
||||
mov bx,di
|
||||
add bx,415-otst_panel_left
|
||||
shl ebx,16
|
||||
mov bx,13
|
||||
;mov ebx,415*65536+13
|
||||
mov edx,txt_but_refresh
|
||||
int 0x40
|
||||
|
||||
mov bx,di
|
||||
add bx,380-otst_panel_left
|
||||
shl ebx,16
|
||||
mov bx,275
|
||||
;mov ebx,380*65536+275
|
||||
mov edx,txt_met_up
|
||||
int 0x40
|
||||
|
||||
mov bx,di
|
||||
add bx,415-otst_panel_left
|
||||
shl ebx,16
|
||||
mov bx,275
|
||||
;mov ebx,415*65536+275
|
||||
mov edx,txt_met_dn
|
||||
int 0x40
|
||||
|
||||
|
||||
mov bx,di
|
||||
add bx,450-otst_panel_left
|
||||
shl ebx,16
|
||||
mov bx,275
|
||||
;mov ebx,450*65536+275
|
||||
mov edx,txt_met_sh
|
||||
int 0x40
|
||||
|
||||
mov ecx,[sc.work_text]
|
||||
or ecx,0x80000000
|
||||
|
||||
mov ebx,175*65536+13
|
||||
mov edx,txt_cache
|
||||
int 0x40
|
||||
|
||||
mov bx,di
|
||||
;add bx,450-otst_panel_left
|
||||
shl ebx,16
|
||||
mov bx,35
|
||||
;mov ebx,265*65536+35
|
||||
mov edx,txt141
|
||||
int 0x40
|
||||
|
||||
mov bx,135
|
||||
;mov ebx,265*65536+135
|
||||
mov edx,txt142
|
||||
int 0x40
|
||||
|
||||
call draw_tiles
|
||||
|
||||
push dword ch2
|
||||
call [check_box_draw]
|
||||
push dword ch1
|
||||
call [check_box_draw]
|
||||
|
||||
stdcall [edit_box_draw], edit1
|
||||
stdcall [edit_box_draw], edit2
|
||||
|
||||
mcall 12,2
|
||||
popad
|
||||
ret
|
||||
|
||||
head_f_i:
|
||||
head_f_l db '<27><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20>訡<EFBFBD><E8A8A1>',0
|
||||
err_message_found_lib0 db '<27><> 㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> box_lib.obj',0
|
||||
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><> 㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> libimg.obj',0
|
||||
err_message_import1 db '<27>訡<EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> libimg.obj',0
|
||||
err_message_found_lib2 db '<27><> 㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> str.obj',0
|
||||
err_message_import2 db '<27>訡<EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> str.obj',0
|
||||
err_message_found_lib3 db '<27><> 㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> libini.obj',0
|
||||
err_message_import3 db '<27>訡<EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> libini.obj',0
|
||||
|
||||
system_dir0 db '/sys/lib/'
|
||||
boxlib_name db 'box_lib.obj',0
|
||||
|
||||
system_dir1 db '/sys/lib/'
|
||||
libimg_name db 'libimg.obj',0
|
||||
|
||||
system_dir2 db '/sys/lib/'
|
||||
strlib_name db 'str.obj',0
|
||||
|
||||
system_dir3 db '/sys/lib/'
|
||||
libini_name db 'libini.obj',0
|
||||
|
||||
;library structures
|
||||
l_libs_start:
|
||||
lib0 l_libs boxlib_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 libimg_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 strlib_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 libini_name, sys_path, file_name, system_dir3, err_message_found_lib3, head_f_l, libini_import, err_message_import3, head_f_i
|
||||
load_lib_end:
|
||||
|
||||
align 4
|
||||
button:
|
||||
mcall 17 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp ah,5
|
||||
jne @f
|
||||
call but_ZoomM
|
||||
@@:
|
||||
cmp ah,6
|
||||
jne @f
|
||||
call but_ZoomP
|
||||
@@:
|
||||
cmp ah,7
|
||||
jne @f
|
||||
call but_Refresh
|
||||
@@:
|
||||
|
||||
cmp ah,9
|
||||
jz but_MetSave
|
||||
cmp ah,8
|
||||
jz but_MetAdd
|
||||
|
||||
cmp ah,10
|
||||
jne @f
|
||||
call but_met_up
|
||||
@@:
|
||||
cmp ah,11
|
||||
jne @f
|
||||
call but_met_dn
|
||||
@@:
|
||||
cmp ah,12
|
||||
jne @f
|
||||
call fun_goto_met
|
||||
@@:
|
||||
cmp ah,1
|
||||
jne still
|
||||
|
||||
.exit:
|
||||
push dword[bmp_icon]
|
||||
call mem.Free
|
||||
stdcall array_tile_function, tile_00,max_tiles_count,tile_destroy
|
||||
|
||||
stdcall dword[tl_data_clear], tree1
|
||||
mov dword[tree2.data_img_sys],0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
;<3B>. <20>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> tl_data_clear
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> tl_data_clear <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov dword[tree2.data_img],0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
stdcall dword[tl_data_clear], tree2
|
||||
|
||||
; stdcall dword[img_destroy], dword[data_icon]
|
||||
mcall -1 ;<3B><>室 <20><> <20>ணࠬ<E0AEA3><E0A0AC>
|
||||
|
||||
|
||||
;input:
|
||||
;data_rgb - pointer to rgb data
|
||||
;size - count img pixels (size img data / 3(rgb) )
|
||||
align 4
|
||||
proc img_rgb_wdiv2 data_rgb:dword, size:dword
|
||||
push eax ebx ecx edx
|
||||
mov eax,dword[data_rgb]
|
||||
mov ecx,dword[size] ;ecx = size
|
||||
imul ecx,3
|
||||
@@: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
shr byte[eax],1
|
||||
and byte[eax],0x7f
|
||||
inc eax
|
||||
loop @b
|
||||
|
||||
mov eax,dword[data_rgb]
|
||||
mov ecx,dword[size] ;ecx = size
|
||||
shr ecx,1
|
||||
@@: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx,dword[eax+3] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
add word[eax],bx
|
||||
shr ebx,16
|
||||
add byte[eax+2],bl
|
||||
|
||||
add eax,6 ;=2*3
|
||||
loop @b
|
||||
|
||||
mov eax,dword[data_rgb]
|
||||
add eax,3
|
||||
mov ebx,eax
|
||||
add ebx,3
|
||||
mov ecx,dword[size] ;ecx = size
|
||||
shr ecx,1
|
||||
dec ecx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov edx,dword[ebx]
|
||||
mov word[eax],dx
|
||||
shr edx,16
|
||||
mov byte[eax+2],dl
|
||||
|
||||
add eax,3
|
||||
add ebx,6
|
||||
loop @b
|
||||
|
||||
pop edx ecx ebx eax
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
;data_rgb - pointer to rgb data
|
||||
;size - count img pixels (size img data / 3(rgb) )
|
||||
;size_w - width img in pixels
|
||||
align 4
|
||||
proc img_rgb_hdiv2, data_rgb:dword, size:dword, size_w:dword
|
||||
pushad
|
||||
|
||||
mov eax,dword[data_rgb] ;eax =
|
||||
mov ecx,dword[size] ;ecx = size
|
||||
imul ecx,3
|
||||
@@: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
shr byte[eax],1
|
||||
and byte[eax],0x7f
|
||||
inc eax
|
||||
loop @b
|
||||
|
||||
mov eax,dword[data_rgb] ;eax =
|
||||
mov edi,dword[size_w]
|
||||
lea esi,[edi+edi*2] ;esi = width*3(rgb)
|
||||
mov ebx,esi
|
||||
add ebx,eax
|
||||
mov ecx,dword[size] ;ecx = size
|
||||
shr ecx,1
|
||||
xor edi,edi
|
||||
@@: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov edx,dword[ebx] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
add word[eax],dx
|
||||
shr edx,16
|
||||
add byte[eax+2],dl
|
||||
|
||||
add eax,3
|
||||
add ebx,3
|
||||
inc edi
|
||||
cmp edi,dword[size_w]
|
||||
jl .old_line
|
||||
add eax,esi
|
||||
add ebx,esi
|
||||
xor edi,edi
|
||||
.old_line:
|
||||
loop @b
|
||||
|
||||
|
||||
mov eax,dword[data_rgb] ;eax =
|
||||
add eax,esi ;esi = width*3(rgb)
|
||||
mov ebx,esi
|
||||
add ebx,eax
|
||||
mov ecx,dword[size] ;ecx = size
|
||||
shr ecx,1
|
||||
sub ecx,dword[size_w] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
xor edi,edi
|
||||
@@: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov edx,dword[ebx] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov word[eax],dx
|
||||
shr edx,16
|
||||
mov byte[eax+2],dl
|
||||
|
||||
add eax,3
|
||||
add ebx,3
|
||||
inc edi
|
||||
cmp edi,dword[size_w]
|
||||
jl .old_line_2
|
||||
add ebx,esi
|
||||
xor edi,edi
|
||||
.old_line_2:
|
||||
loop @b
|
||||
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
;data_rgb - pointer to rgb data
|
||||
;size - count img pixels (size img data / 3(rgb) )
|
||||
align 4
|
||||
proc img_rgb_wmul2, data_rgb:dword, size:dword
|
||||
push eax ebx ecx edx
|
||||
;eax - source
|
||||
;ebx - destination
|
||||
mov ecx,dword[size] ;ecx = size
|
||||
mov eax,ecx
|
||||
dec eax
|
||||
lea eax,[eax+eax*2] ;eax = (size-1)*3
|
||||
mov ebx,eax ;ebx = size*3
|
||||
add eax,dword[data_rgb] ;eax = pointer + size*3
|
||||
add ebx,eax ;ebx = pointer + 2*size*3
|
||||
@@:
|
||||
mov edx,dword[eax] ;edx = pixel color
|
||||
mov word[ebx],dx
|
||||
mov word[ebx+3],dx
|
||||
shr edx,16
|
||||
mov byte[ebx+2],dl
|
||||
mov byte[ebx+3+2],dl
|
||||
sub eax,3
|
||||
sub ebx,6
|
||||
loop @b
|
||||
pop edx ecx ebx eax
|
||||
ret
|
||||
endp
|
||||
|
||||
;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFA3A8><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 2 ࠧ<>
|
||||
;<3B> 㪠<><E3AAA0>⥫<EFBFBD> data_rgb <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> 2 ࠧ<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祬 size*3
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFA3A8><EFBFBD><EFBFBD><EFBFBD> <20>㤥<EFBFBD> <20>訡<EFBFBD><E8A8A1>, <20><>室<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;input:
|
||||
;data_rgb - pointer to rgb data
|
||||
;size - count img pixels (size img data / 3(rgb) )
|
||||
;size_w - width img in pixels
|
||||
align 4
|
||||
proc img_rgb_hmul2, data_rgb:dword, size:dword, size_w:dword
|
||||
pushad
|
||||
|
||||
mov esi,dword[size_w]
|
||||
lea esi,[esi+esi*2] ;esi = width * 3(rgb)
|
||||
mov eax,dword[size]
|
||||
lea eax,[eax+eax*2]
|
||||
mov edi,eax
|
||||
shl edi,1
|
||||
add eax,dword[data_rgb] ;eax = pointer to end pixel (old image) + 1
|
||||
add edi,dword[data_rgb] ;edi = pointer to end pixel (new image) + 1
|
||||
mov ebx,edi
|
||||
sub ebx,esi
|
||||
|
||||
.beg_line:
|
||||
mov ecx,dword[size_w]
|
||||
@@:
|
||||
sub eax,3
|
||||
sub ebx,3
|
||||
sub edi,3
|
||||
|
||||
mov edx,dword[eax] ;edx = pixel color
|
||||
mov word[ebx],dx
|
||||
mov word[edi],dx
|
||||
shr edx,16
|
||||
mov byte[ebx+2],dl
|
||||
mov byte[edi+2],dl
|
||||
|
||||
loop @b
|
||||
|
||||
sub ebx,esi
|
||||
sub edi,esi
|
||||
|
||||
cmp eax,dword[data_rgb]
|
||||
jg .beg_line
|
||||
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
;data_rgb - pointer to rgb data
|
||||
;size - count img pixels (size img data / 3(rgb) )
|
||||
;size_w - width img in pixels
|
||||
align 4
|
||||
proc img_rgb_hoffs, data_rgb:dword, size:dword, size_w:dword, hoffs:dword
|
||||
push eax ebx ecx edx esi
|
||||
|
||||
mov esi,dword[size_w]
|
||||
lea esi,[esi+esi*2] ;esi = width * 3(rgb)
|
||||
imul esi,dword[hoffs]
|
||||
|
||||
mov eax,dword[size]
|
||||
lea eax,[eax+eax*2]
|
||||
add eax,dword[data_rgb] ;eax = pointer to end pixel + 1
|
||||
sub eax,3
|
||||
mov ebx,eax
|
||||
add ebx,esi
|
||||
|
||||
mov ecx,dword[size]
|
||||
dec ecx
|
||||
@@:
|
||||
mov edx,dword[eax] ;edx = pixel color
|
||||
mov word[ebx],dx
|
||||
shr edx,16
|
||||
mov byte[ebx+2],dl
|
||||
|
||||
sub eax,3
|
||||
sub ebx,3
|
||||
loop @b
|
||||
pop esi edx ecx ebx eax
|
||||
ret
|
||||
endp
|
||||
|
||||
|
||||
;input:
|
||||
;data_rgb - pointer to rgb data
|
||||
;size_w_old - width img in pixels
|
||||
;size_w_new - new width img in pixels
|
||||
;size_h - height img in pixels
|
||||
align 4
|
||||
proc img_rgb_wcrop, data_rgb:dword, size_w_old:dword, size_w_new:dword, size_h:dword
|
||||
pushad
|
||||
mov eax, dword[size_w_old]
|
||||
lea eax, dword[eax+eax*2] ;eax = width(old) * 3(rgb)
|
||||
mov ebx, dword[size_w_new]
|
||||
lea ebx, dword[ebx+ebx*2] ;ebx = width(new) * 3(rgb)
|
||||
mov edx, dword[size_h]
|
||||
;dec edx
|
||||
mov edi, dword[data_rgb] ;edi - <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov esi, edi
|
||||
add edi, ebx
|
||||
add esi, eax
|
||||
cld
|
||||
@@:
|
||||
dec edx ;㬥<><E3ACA5>蠥<EFBFBD> <20><><EFBFBD><EFBFBD>稪 <20><>⠢<EFBFBD><E2A0A2><EFBFBD><EFBFBD><EFBFBD> <20><>ப <20><> 1
|
||||
cmp edx,0
|
||||
jle @f
|
||||
|
||||
mov ecx, ebx
|
||||
rep movsb ;<3B><>७<EFBFBD><E0A5AD> (<28><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>) <20><>ப<EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB>
|
||||
;stdcall mem_copy,esi,edi,ebx
|
||||
|
||||
add esi,eax ;<3B><><EFBFBD><EFBFBD>室 <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||
sub esi,ebx
|
||||
;add esi,eax
|
||||
;add edi,ebx
|
||||
jmp @b
|
||||
@@:
|
||||
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc mem_copy, source:dword, destination:dword, len:dword
|
||||
push ecx esi edi
|
||||
cld
|
||||
mov esi, dword[source]
|
||||
mov edi, dword[destination]
|
||||
mov ecx, dword[len]
|
||||
rep movsb
|
||||
pop edi esi ecx
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc mem_clear, mem:dword, len:dword
|
||||
push eax ecx edi
|
||||
cld
|
||||
xor al,al
|
||||
mov edi, dword[mem]
|
||||
mov ecx, dword[len]
|
||||
repne stosb
|
||||
pop edi ecx eax
|
||||
ret
|
||||
endp
|
||||
|
||||
txt_met_up db 24,0
|
||||
txt_met_dn db 25,0
|
||||
txt_met_sh db '*',0
|
||||
txt_zoom_m db '-',0
|
||||
txt_zoom_p db '+',0
|
||||
txt151 db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>',0
|
||||
txt152 db '<27><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> <20><>⪨',0
|
||||
txt_but_refresh db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||||
txt_cache db 'Cache:',0
|
||||
txt141 db '<27><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>',0
|
||||
txt142 db '<27>롮<EFBFBD> <20><>⪨',0
|
||||
|
||||
; check_boxes
|
||||
ch1 check_box 5, 5, 6, 12, 0xffffd0, 0x800000, 0, ch_text1, 12,ch_flag_en
|
||||
ch2 check_box 5, 20, 6, 12, 0xffffd0, 0x800000, 0, ch_text2, 11,ch_flag_en
|
||||
checkboxes_end:
|
||||
|
||||
ch_text1 db '<27><><EFBFBD><EFBFBD><EFBFBD> ᢥ<><E1A2A5><EFBFBD>'
|
||||
ch_text2 db '<27><><EFBFBD><EFBFBD><EFBFBD> ᭨<><E1ADA8>'
|
||||
|
||||
edit1 edit_box 190, 215, 10, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000, 500, ed_buffer.1, mouse_dd, 0
|
||||
edit2 edit_box 100, 370, 240, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000, 30, ed_buffer.2, mouse_dd, 0
|
||||
editboxes_end:
|
||||
|
||||
tree1 tree_list 10,10, tl_list_box_mode+tl_key_no_edit, 16,16,\
|
||||
0x8080ff,0x0000ff,0xffffff, 265,45,90,85, 0,0,0,\
|
||||
el_focus, 0,fun_new_map_type
|
||||
tree2 tree_list 32,300, tl_draw_par_line, 16,16,\
|
||||
0x8080ff,0x0000ff,0xffffff, 265,145,190,85, 0,12,0,\
|
||||
el_focus, wScrMetki,fun_goto_met
|
||||
|
||||
align 4
|
||||
wScrMetki:
|
||||
.x:
|
||||
.size_x dw 16 ;+0
|
||||
.start_x dw 0 ;+2
|
||||
.y:
|
||||
.size_y dw 100 ;+4
|
||||
.start_y dw 0 ;+6
|
||||
.btn_high dd 15 ;+8
|
||||
.type dd 1 ;+12
|
||||
.max_area dd 100 ;+16
|
||||
.cur_area dd 30 ;+20
|
||||
.position dd 0 ;+24
|
||||
.bckg_col dd 0xeeeeee ;+28
|
||||
.frnt_col dd 0xbbddff ;+32
|
||||
.line_col dd 0 ;+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
|
||||
|
||||
ed_buffer: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> edit
|
||||
.1: rb 502
|
||||
.2: rb 32
|
||||
|
||||
el_focus dd tree1
|
||||
|
||||
tree_sys_icon dd 0
|
||||
tree_nod_icon dd 0
|
||||
|
||||
bmp_icon dd 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>㧪<EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||
data_icon 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
|
||||
|
||||
run_file_70 f70
|
||||
|
||||
|
||||
txt_tile_path db 'tile path',0
|
||||
rb 300
|
||||
txt_tile_type dd txt_tile_type_0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
txt_tile_type_0 db 0
|
||||
rb 10
|
||||
|
||||
align 4
|
||||
map: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
.coord_x dd 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x
|
||||
.coord_y dd 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> y
|
||||
.zoom db 1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
align 4
|
||||
tile_00 rb size_tile_struc * max_tiles_count
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;input:
|
||||
; eax = value
|
||||
; edi = string buffer
|
||||
;output:
|
||||
; edi =
|
||||
align 4
|
||||
tl_convert_to_str:
|
||||
pushad
|
||||
mov dword[edi+1],0;0x20202020
|
||||
call .str
|
||||
popad
|
||||
ret
|
||||
|
||||
align 4
|
||||
.str:
|
||||
mov ecx,0x0a ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ebx,eax,ecx,edx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> eax - <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> ASCII <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ecx=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> edi <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp eax,ecx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> eax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> ecx <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> @@-1 <20>.<2E>. <20><> pop eax
|
||||
jb @f
|
||||
xor edx,edx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> edx
|
||||
div ecx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> edx
|
||||
push edx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
||||
;dec edi ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
call .str;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> eax <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> ecx
|
||||
pop eax
|
||||
@@: ;cmp al,10 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> al <20><><EFBFBD> 10 (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 10 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>))
|
||||
or al,0x30 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
stosb ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> al <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> es:edi
|
||||
ret ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>.<2E>. <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
hed db 'Planet viewer 09.02.10',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
sc system_colors ;<3B><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> 梥<><E6A2A5>
|
||||
mouse_dd dd 0 ;<3B>㦭<EFBFBD> <20><><EFBFBD> Shift-<2D> <20> editbox
|
||||
sys_path rb 4096
|
||||
file_name:
|
||||
rb 4096
|
||||
i_end:
|
||||
procinfo process_information
|
||||
rb 1024
|
||||
stacktop:
|
||||
mem:
|
||||
|
5
programs/other/planet_v/planet_v.ini
Normal file
5
programs/other/planet_v/planet_v.ini
Normal file
@@ -0,0 +1,5 @@
|
||||
[Map]
|
||||
Cache=/hd0/1/Planet_v/Cache/Sat
|
||||
ext0=.jpg
|
||||
ext1=.png
|
||||
ext2=.gif
|
98
programs/other/planet_v/readme.htm
Normal file
98
programs/other/planet_v/readme.htm
Normal file
@@ -0,0 +1,98 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Planet viewer</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
|
||||
<style>
|
||||
body
|
||||
{
|
||||
font-size: 15px;
|
||||
font-family: "Bookman Old Style";
|
||||
color: black;
|
||||
text-align: justify;
|
||||
width: 750px;
|
||||
}
|
||||
h1 {
|
||||
color: white;
|
||||
background-color: 808080;
|
||||
font-size: 25px;
|
||||
text-align: center;
|
||||
}
|
||||
h2 { color: green; font-size: 21px; }
|
||||
h3 { color: green; font-size: 19px; }
|
||||
h4 { color: #803f00; font-size: 17px; }
|
||||
i { color: #0099cc; }
|
||||
b { color: #0099cc; }
|
||||
p {
|
||||
text-indent: 2em;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 2px;
|
||||
margin-left: 0px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
ol, ul, dl{
|
||||
margin-top: 3px;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Planet viewer 08.02.10</h1>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
|
||||
<h1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></h1>
|
||||
<p><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 'Cache:' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Cache <20><> *.ini <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)</p>
|
||||
<p><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ext0 <20><> *.ini <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)</p>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.</p>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD>' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '-'.</p>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD>' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '+'.</p>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 1-<2D><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 1
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).</p>
|
||||
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'Del' (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'Enter' (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '*'.</p>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20> <20><><EFBFBD><EFBFBD>
|
||||
'pl_metki.lst'.</p>
|
||||
<p><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x <20> y, <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
z. <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
|
||||
<h1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>?</h1>
|
||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SAS.Planet ( <20><> <20><><EFBFBD><EFBFBD> <a href="http://sasgis.ru/sasplaneta/">http://sasgis.ru/sasplaneta/</a> ).
|
||||
<20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 'Cache' <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 'Cache:' <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
|
||||
<h1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:</h1>
|
||||
<p><b>08.02.10</b> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> *.ini <20><><EFBFBD><EFBFBD><EFBFBD> <20><> ext0 <20><> ext9, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>.</p>
|
||||
<p><b>29.01.10</b> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 'Cache:' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 'planet_v.ini'.
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> tl_sys_16.bmp <20><> tl_sys_16.png <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
<p><b>25.01.10</b> - 1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 32 <20><><EFBFBD><EFBFBD> (2 <20> 5-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).
|
||||
3) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>). <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
4) <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 'Cache:' <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Albom)</p>
|
||||
<p><b>23.01.10</b> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>,
|
||||
<20>. <20>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
<p><b>21.01.10</b> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 2 <20><><EFBFBD><EFBFBD>).
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||
<p><b>16.01.10</b> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>'.</p>
|
||||
<p><b>14.01.10</b> - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
|
||||
|
||||
<h1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:</h1>
|
||||
<ul>
|
||||
<li><b>IgorA</b> - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,</li>
|
||||
<li><b>diamond</b> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> libimg.obj (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *.bmp, *.jpg, *.png),</li>
|
||||
<li><b>mike.dld</b> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> libini.obj (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> *.ini <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>),</li>
|
||||
<li><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
BIN
programs/other/planet_v/str.obj
Normal file
BIN
programs/other/planet_v/str.obj
Normal file
Binary file not shown.
921
programs/other/planet_v/tile_fun.inc
Normal file
921
programs/other/planet_v/tile_fun.inc
Normal file
@@ -0,0 +1,921 @@
|
||||
TILE_LEN equ 256
|
||||
TILE_LEN_W equ TILE_LEN
|
||||
TILE_LEN_H equ TILE_LEN
|
||||
RGB_TILE_SIZE_1N4 equ (TILE_LEN*TILE_LEN*3/4) ;1/4 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
RGB_TILE_SIZE_1N2 equ (TILE_LEN*TILE_LEN*3/2) ;1/2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
RGB_TILE_SIZE equ TILE_LEN*TILE_LEN*3 ;ࠧ<EFBFBD><EFBFBD><EFBFBD> 1-<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
TREE_ICON_SYS16_BMP_SIZE equ 256*3*11+54 ;ࠧ<EFBFBD><EFBFBD><EFBFBD> bmp 䠩<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⥬<EFBFBD>묨 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
TREE_ICON_NOD16_BMP_SIZE equ 256*3* 1+54
|
||||
TILE_TEXT_MAX_LEN equ 40 ;<EFBFBD><EFBFBD><EFBFBD>ᨬ<EFBFBD><EFBFBD>쭠<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>뢮<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
||||
|
||||
FRACT_TILE_00 equ 1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD>, 1/4 - <EFBFBD><EFBFBD><EFBFBD>孨<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㣮<EFBFBD>
|
||||
FRACT_TILE_01 equ 2 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD>, 1/4 - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㣮<EFBFBD>
|
||||
FRACT_TILE_10 equ 4 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD>, 1/4 - <EFBFBD><EFBFBD><EFBFBD>孨<EFBFBD> <EFBFBD>ࠢ<EFBFBD><EFBFBD> 㣮<EFBFBD>
|
||||
FRACT_TILE_11 equ 8 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD>, 1/4 - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ࠢ<EFBFBD><EFBFBD> 㣮<EFBFBD>
|
||||
FRACT_TILE_ALL equ 15 ;15=1+2+4+8
|
||||
FRACT_TILE_BIT00 equ 0
|
||||
FRACT_TILE_BIT01 equ 1
|
||||
FRACT_TILE_BIT10 equ 2
|
||||
FRACT_TILE_BIT11 equ 3
|
||||
|
||||
;䫠<EFBFBD><EFBFBD>, <EFBFBD>㦭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
SCALE_0BIT_USE equ 8
|
||||
SCALE_1BIT_USE equ 9
|
||||
SCALE_0_USE equ 0x100 ;䫠<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> ⥪<EFBFBD>饣<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
|
||||
SCALE_1_USE equ 0x200 ;䫠<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>襣<EFBFBD> <EFBFBD><EFBFBD><EFBFBD> (<EFBFBD>㤥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD>ய<EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD>)
|
||||
|
||||
met_fr_opn db 0 ;䫠<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD>⪠<EFBFBD><EFBFBD>
|
||||
|
||||
size_tile_struc equ 32 ;ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD>
|
||||
max_tiles_cols equ 4 ;<EFBFBD><EFBFBD><EFBFBD>ᨬ<EFBFBD><EFBFBD>쭮<EFBFBD> <EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ਭ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
max_tiles_rows equ 3 ;<EFBFBD><EFBFBD><EFBFBD>ᨬ<EFBFBD><EFBFBD>쭮<EFBFBD> <EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
max_tiles_count equ (max_tiles_cols*max_tiles_rows) ;<EFBFBD><EFBFBD><EFBFBD>ᨬ<EFBFBD><EFBFBD>쭮<EFBFBD> <EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD>ணࠬ<EFBFBD><EFBFBD>
|
||||
|
||||
tile_coord_x equ dword[edi] ;<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> x (<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧪<EFBFBD>)
|
||||
tile_coord_y equ dword[edi+ 4] ;<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> y (<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧪<EFBFBD>)
|
||||
tile_zoom equ byte[edi+ 8] ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠡ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>㦠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD>
|
||||
tile_err_f equ byte[edi+ 9] ;<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>訡<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨨ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ࠦ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tile_drobn equ word[edi+10] ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> १<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
tile_offs_l_load equ 12 ;offset params last load tile
|
||||
tile_key_coord_x equ dword[edi+12] ;<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> x (<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧪<EFBFBD>)
|
||||
tile_key_coord_y equ dword[edi+16] ;<EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> y (<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧪<EFBFBD>)
|
||||
tile_key_path_len equ byte[edi+21] ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Cache
|
||||
tile_rgb_icon equ dword[edi+22] ;㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>࠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>᭮<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮩ <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
tile_drobn_icon equ dword[edi+26] ;㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>࠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4-<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
tile_delta_x equ byte[edi+30] ;ᤢ<EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD> <EFBFBD>⭮<EFBFBD><EFBFBD>⥫쭮 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> x
|
||||
tile_delta_y equ byte[edi+31] ;ᤢ<EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD> <EFBFBD>⭮<EFBFBD><EFBFBD>⥫쭮 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> y
|
||||
|
||||
|
||||
;???
|
||||
align 4
|
||||
CursorMoveRight: ;<EFBFBD><EFBFBD>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ࠢ<EFBFBD>
|
||||
push ebx ecx
|
||||
xor ebx,ebx
|
||||
xor ecx,ecx
|
||||
mov cl,byte[map.zoom]
|
||||
dec ecx
|
||||
cmp cx,0
|
||||
jle .no_move ;<EFBFBD><EFBFBD><EFBFBD> 0-<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠡<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@:
|
||||
rol ebx,1
|
||||
or ebx,1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠡<EFBFBD>
|
||||
loop @b
|
||||
cmp dword[map.coord_x],ebx
|
||||
jge .no_move ;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ࠩ<EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
inc dword[map.coord_x]
|
||||
;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD><EFBFBD> ᮢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>諮<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>㦠<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
stdcall tiles_grid_move_left, tile_00,max_tiles_count,max_tiles_cols
|
||||
call but_Refresh
|
||||
.no_move:
|
||||
pop ecx ebx
|
||||
ret
|
||||
|
||||
;???
|
||||
align 4
|
||||
CursorMoveDown: ;<EFBFBD><EFBFBD>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
push ebx ecx
|
||||
xor ebx,ebx
|
||||
xor ecx,ecx
|
||||
mov cl,byte[map.zoom]
|
||||
dec ecx
|
||||
cmp cx,0
|
||||
jle .no_move ;<EFBFBD><EFBFBD><EFBFBD> 0-<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠡<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@:
|
||||
rol ebx,1
|
||||
or ebx,1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠡<EFBFBD>
|
||||
loop @b
|
||||
cmp dword[map.coord_y],ebx
|
||||
jge .no_move ;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ࠩ<EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
inc dword[map.coord_y]
|
||||
;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
stdcall tiles_grid_move_up, tile_00,max_tiles_count,max_tiles_rows
|
||||
call but_Refresh
|
||||
.no_move:
|
||||
pop ecx ebx
|
||||
ret
|
||||
|
||||
;???
|
||||
align 4
|
||||
but_met_up: ;<EFBFBD><EFBFBD>६<EFBFBD>饭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⪨ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD> ᯨ<EFBFBD><EFBFBD><EFBFBD>
|
||||
stdcall dword[tl_node_move_up], tree2
|
||||
ret
|
||||
|
||||
;???
|
||||
align 4
|
||||
but_met_dn: ;<EFBFBD><EFBFBD>६<EFBFBD>饭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⪨ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD> ᯨ<EFBFBD><EFBFBD><EFBFBD>
|
||||
stdcall dword[tl_node_move_down], tree2
|
||||
ret
|
||||
|
||||
;???
|
||||
align 4
|
||||
fun_new_map_type: ;<EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
push eax
|
||||
stdcall dword[tl_node_get_data], tree1
|
||||
pop eax
|
||||
cmp eax,0
|
||||
je @f
|
||||
mov dword[txt_tile_type],eax
|
||||
@@:
|
||||
pop eax
|
||||
ret
|
||||
|
||||
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ᯮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⪥
|
||||
align 4
|
||||
proc tiles_init_grid, beg_tiles:dword, count:dword, cols:dword
|
||||
push eax ebx ecx edx edi
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
mov edi,[beg_tiles]
|
||||
mov ecx,[count]
|
||||
mov edx,[cols]
|
||||
@@:
|
||||
mov tile_delta_x,al
|
||||
mov tile_delta_y,bl
|
||||
add edi,size_tile_struc
|
||||
inc ax
|
||||
cmp eax,edx
|
||||
jl .old_lin
|
||||
xor eax,eax
|
||||
inc bx
|
||||
.old_lin:
|
||||
loop @b
|
||||
pop edi edx ecx ebx eax
|
||||
ret
|
||||
endp
|
||||
|
||||
;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>뫥<EFBFBD>訥 <EFBFBD>⮫<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>४<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>ࠢ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;<EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>㦭<EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⨬<EFBFBD><EFBFBD><EFBFBD>樨 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>饭<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;⠩<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD> १<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>設<EFBFBD>⢠ ⠩<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ணࠬ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>㤥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 祬 <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⨬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
align 4
|
||||
proc tiles_grid_move_left, beg_tiles:dword, count:dword, cols:dword
|
||||
push eax ebx ecx edx edi
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
mov edi,[beg_tiles]
|
||||
mov ecx,[count]
|
||||
mov edx,[cols]
|
||||
@@:
|
||||
cmp tile_delta_x,0
|
||||
jne .no_jump
|
||||
add tile_delta_x,dl ;<EFBFBD> <EFBFBD>⮫<EFBFBD><EFBFBD><EFBFBD> = 0, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 'cols' <EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>뫠<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.no_jump:
|
||||
dec tile_delta_x
|
||||
add edi,size_tile_struc
|
||||
loop @b
|
||||
pop edi edx ecx ebx eax
|
||||
ret
|
||||
endp
|
||||
|
||||
;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ࠢ<EFBFBD>, <EFBFBD>뫥<EFBFBD>訥 <EFBFBD>⮫<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>४<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮦<EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD> tiles_grid_move_left ⮫쪮 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
align 4
|
||||
proc tiles_grid_move_right, beg_tiles:dword, count:dword, cols:dword
|
||||
push eax ebx ecx edx edi
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
mov edi,[beg_tiles]
|
||||
mov ecx,[count]
|
||||
mov edx,[cols]
|
||||
@@:
|
||||
inc tile_delta_x
|
||||
cmp tile_delta_x,dl
|
||||
jl .no_jump
|
||||
mov tile_delta_x,0 ;<EFBFBD> <EFBFBD>⮫<EFBFBD><EFBFBD><EFBFBD> = 'cols', <EFBFBD><EFBFBD> <EFBFBD>⠢<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> 0 <EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>뫠<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ࠢ<EFBFBD>
|
||||
.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
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
mov edi,[beg_tiles]
|
||||
mov ecx,[count]
|
||||
mov edx,[rows]
|
||||
@@:
|
||||
cmp tile_delta_y,0
|
||||
jne .no_jump
|
||||
add tile_delta_y,dl ;<EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD> = 0, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 'rows' <EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>뫠<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.no_jump:
|
||||
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
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
mov edi,[beg_tiles]
|
||||
mov ecx,[count]
|
||||
mov edx,[rows]
|
||||
@@:
|
||||
inc tile_delta_y
|
||||
cmp tile_delta_y,dl
|
||||
jl .no_jump
|
||||
mov tile_delta_y,0 ;<EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD> = 'rows', <EFBFBD><EFBFBD> <EFBFBD>⠢<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 0 <EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>뫠<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.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
|
||||
mov edi,[beg_tiles]
|
||||
mov ecx,[count]
|
||||
@@:
|
||||
stdcall [funct],edi
|
||||
add edi,size_tile_struc
|
||||
loop @b
|
||||
pop edi ecx
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
draw_tiles:
|
||||
pushad
|
||||
mov eax,47
|
||||
mov ebx,0x20000
|
||||
xor ecx,ecx
|
||||
mov cl,byte[map.zoom]
|
||||
mov edx,128*65536+13
|
||||
mov esi,[sc.work_text]
|
||||
or esi,0x40000000
|
||||
mov edi,[sc.work]
|
||||
int 0x40
|
||||
|
||||
stdcall array_tile_function, tile_00,max_tiles_count,draw_tile
|
||||
popad
|
||||
ret
|
||||
|
||||
; edi - pointer tile struct
|
||||
;output:
|
||||
; eax - 7
|
||||
; edx - coordinates to tile draw
|
||||
|
||||
align 4
|
||||
proc tile_clear_area, height:dword
|
||||
pushad
|
||||
mov eax,13 ;draw rect
|
||||
|
||||
mov cx,dx
|
||||
shl ecx,16
|
||||
mov cx,word[height]
|
||||
|
||||
shr edx,16
|
||||
mov bx,dx
|
||||
shl ebx,16
|
||||
mov bx,TILE_LEN_W
|
||||
|
||||
mov edx,0xffffd0
|
||||
int 0x40
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
;???
|
||||
align 4
|
||||
proc draw_tile, tile:dword
|
||||
pushad
|
||||
mov edi,[tile]
|
||||
|
||||
;*** set base point ***
|
||||
mov edx,5*65536+35
|
||||
xor eax,eax
|
||||
mov al,tile_delta_y
|
||||
shl ax,8 ;*256
|
||||
add edx,eax
|
||||
xor eax,eax
|
||||
mov al,tile_delta_x
|
||||
shl eax,8+16
|
||||
add edx,eax
|
||||
;*** set base point ***
|
||||
|
||||
mov ebx,dword[procinfo.box.width] ;<EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> x
|
||||
sub ebx,min_window_w-5 ;5 - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> 1-<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
shl ebx,16
|
||||
mov bx,dx ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>⮬<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ࠢ<EFBFBD>묨
|
||||
cmp edx,ebx
|
||||
jg .end_f
|
||||
|
||||
;<EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> y
|
||||
mcall 48,4 ;eax = <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪨<EFBFBD><EFBFBD>
|
||||
mov ecx,dword[procinfo.box.height]
|
||||
mov ebx,edx
|
||||
and ebx,0xffff ;ebx = <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'y' <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>뢮<EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD>
|
||||
add eax,ebx
|
||||
add eax,5+5 ;5-ࠬ<EFBFBD><EFBFBD>
|
||||
|
||||
cmp ecx,eax
|
||||
jle .end_f
|
||||
|
||||
sub ecx,eax
|
||||
cmp ecx,TILE_LEN_H
|
||||
jle @f
|
||||
mov ecx,TILE_LEN_H
|
||||
@@:
|
||||
|
||||
mov eax,7
|
||||
bt tile_drobn,SCALE_0BIT_USE
|
||||
jc .draw
|
||||
bt tile_drobn,SCALE_1BIT_USE
|
||||
jc .draw
|
||||
jmp @f
|
||||
.draw:
|
||||
mov ebx,tile_rgb_icon
|
||||
or ecx,TILE_LEN_W*65536 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ਭ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD> 楫<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
int 0x40 ;<EFBFBD>뢮<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>࠭ 楫<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> 㢥<EFBFBD><EFBFBD>稭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
jmp .end_clear_tile
|
||||
@@:
|
||||
cmp tile_drobn,FRACT_TILE_ALL
|
||||
je .end_clear_tile
|
||||
stdcall tile_clear_area, ecx ;<EFBFBD><EFBFBD><EFBFBD>⪠ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD>
|
||||
.end_clear_tile:
|
||||
|
||||
cmp tile_drobn,0
|
||||
je .info ;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
|
||||
mov si,cx ;si - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
sub si,TILE_LEN_H/2 ;si - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
cmp cx,TILE_LEN_H/2
|
||||
jl @f
|
||||
mov cx,TILE_LEN_H/2 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>孥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
@@:
|
||||
|
||||
and ecx,0xffff ;<EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ன <EFBFBD><EFBFBD>ਭ<EFBFBD>
|
||||
or ecx,(TILE_LEN_W/2)*65536 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ਭ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
mov ebx,tile_drobn_icon
|
||||
bt tile_drobn,FRACT_TILE_BIT00
|
||||
jae @f
|
||||
int 0x40
|
||||
@@:
|
||||
add dx,TILE_LEN_H/2
|
||||
add ebx,RGB_TILE_SIZE_1N4
|
||||
bt tile_drobn,FRACT_TILE_BIT01
|
||||
jae @f
|
||||
xchg cx,si
|
||||
int 0x40
|
||||
xchg cx,si
|
||||
@@:
|
||||
|
||||
sub dx,TILE_LEN_H/2
|
||||
ror edx,16
|
||||
add dx,TILE_LEN_W/2
|
||||
ror edx,16
|
||||
add ebx,RGB_TILE_SIZE_1N4
|
||||
bt tile_drobn,FRACT_TILE_BIT10
|
||||
jae @f
|
||||
int 0x40
|
||||
@@:
|
||||
|
||||
add dx,TILE_LEN_H/2
|
||||
add ebx,RGB_TILE_SIZE_1N4
|
||||
bt tile_drobn,FRACT_TILE_BIT11
|
||||
jae @f
|
||||
xchg cx,si
|
||||
int 0x40
|
||||
@@:
|
||||
|
||||
jmp .end_f
|
||||
.info: ;<EFBFBD>뢮<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ଠ樨, <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 㤠筮<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨨ <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
|
||||
bt tile_drobn,SCALE_0BIT_USE
|
||||
jc .end_f
|
||||
bt tile_drobn,SCALE_1BIT_USE
|
||||
jc .end_f
|
||||
|
||||
mov ebx,edx
|
||||
add ebx,0x30003
|
||||
mov edx,tile_rgb_icon ;<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>㤠筮<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨨ <EFBFBD> tile_rgb_icon <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> 䠩<EFBFBD><EFBFBD>
|
||||
stdcall [str_len],tile_rgb_icon,RGB_TILE_SIZE_1N4
|
||||
mov edi,eax
|
||||
|
||||
mov eax,4 ;draw text
|
||||
mov ecx,0xff
|
||||
;or ecx,0x80000000
|
||||
mov esi,TILE_TEXT_MAX_LEN
|
||||
|
||||
@@:
|
||||
cmp edi,TILE_TEXT_MAX_LEN
|
||||
jg .no_line_last
|
||||
mov esi,edi
|
||||
int 0x40
|
||||
jmp .end_f
|
||||
.no_line_last:
|
||||
int 0x40
|
||||
add edx,esi
|
||||
sub edi,esi
|
||||
add ebx,10 ;<EFBFBD><EFBFBD><EFBFBD>᪠<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ப<EFBFBD>
|
||||
jmp @b
|
||||
.end_f:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
;㢥<EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠡<EFBFBD>
|
||||
align 4
|
||||
but_ZoomP:
|
||||
cmp byte[map.zoom],24
|
||||
jge @f
|
||||
inc byte[map.zoom]
|
||||
shl dword[map.coord_x],1
|
||||
shl dword[map.coord_y],1
|
||||
call but_Refresh
|
||||
@@:
|
||||
ret
|
||||
|
||||
;㬥<EFBFBD><EFBFBD>襭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠡<EFBFBD>
|
||||
align 4
|
||||
but_ZoomM:
|
||||
cmp byte[map.zoom],1
|
||||
jle @f
|
||||
dec byte[map.zoom]
|
||||
shr dword[map.coord_x],1
|
||||
shr dword[map.coord_y],1
|
||||
call but_Refresh
|
||||
@@:
|
||||
ret
|
||||
|
||||
;???
|
||||
align 4
|
||||
but_MetSave: ;<EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD>⪠<EFBFBD><EFBFBD>
|
||||
stdcall dword[tl_save_mem], TREE_ICON_SYS16_BMP_SIZE,[bmp_icon],0,tree2
|
||||
|
||||
push eax ebx ecx edi
|
||||
copy_path fn_metki,sys_path,file_name,0x0
|
||||
|
||||
stdcall dword[tl_get_mem_size], [bmp_icon],tree2
|
||||
pop ecx
|
||||
inc ecx ;<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> 䠩<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饣<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
mov eax,70
|
||||
m2m [run_file_70.param4], [bmp_icon]
|
||||
mov [run_file_70.func_n], 2
|
||||
mov [run_file_70.param1], 0
|
||||
mov [run_file_70.param2], 0
|
||||
mov [run_file_70.param3], ecx
|
||||
mov [run_file_70.rezerv], 0
|
||||
mov [run_file_70.name], file_name
|
||||
mov ebx,run_file_70
|
||||
int 0x40
|
||||
pop edi ecx ebx eax
|
||||
jmp still
|
||||
|
||||
;???
|
||||
align 4
|
||||
but_MetLoad: ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD> 䠩<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD>⪠<EFBFBD><EFBFBD>
|
||||
cmp byte[met_fr_opn],0
|
||||
jne .end_f
|
||||
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.func_n], 0
|
||||
mov [run_file_70.param1], 0
|
||||
mov [run_file_70.param2], 0
|
||||
mov [run_file_70.param3], TREE_ICON_SYS16_BMP_SIZE
|
||||
mov [run_file_70.rezerv], 0
|
||||
mov [run_file_70.name], file_name
|
||||
m2m [run_file_70.param4], [bmp_icon]
|
||||
mov eax,70
|
||||
mov ebx,run_file_70
|
||||
int 0x40
|
||||
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
|
||||
@@:
|
||||
mov byte[file_name],0 ;clear file name
|
||||
popad
|
||||
.end_f:
|
||||
ret
|
||||
|
||||
;???
|
||||
align 4
|
||||
but_MetAdd: ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⪨
|
||||
push eax
|
||||
mov eax,dword[bmp_icon]
|
||||
m2m dword[eax], dword[map.coord_x]
|
||||
m2m dword[eax+4],dword[map.coord_y]
|
||||
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_draw], tree2
|
||||
pop eax
|
||||
jmp still
|
||||
|
||||
;???
|
||||
align 4
|
||||
fun_goto_met: ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>室 <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⪥
|
||||
push eax
|
||||
stdcall dword[tl_node_get_data], tree2
|
||||
pop eax
|
||||
cmp eax,0
|
||||
je @f ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>⮨<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⪥
|
||||
m2m dword[map.coord_x],dword[eax]
|
||||
m2m dword[map.coord_y],dword[eax+4]
|
||||
m2m word[map.zoom],word[eax+8]
|
||||
call but_Refresh
|
||||
@@:
|
||||
pop eax
|
||||
ret
|
||||
|
||||
;???
|
||||
align 4
|
||||
but_Refresh:
|
||||
call fun_new_map_type ;<EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ⨯ <EFBFBD><EFBFBD><EFBFBD>ᬠ<EFBFBD>ਢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
stdcall array_tile_function, tile_00,max_tiles_count,load_tile
|
||||
stdcall draw_tiles
|
||||
ret
|
||||
|
||||
align 4
|
||||
proc tile_init, tile:dword
|
||||
push eax edi
|
||||
mov edi,[tile]
|
||||
|
||||
push dword RGB_TILE_SIZE+300
|
||||
call mem.Alloc
|
||||
mov tile_rgb_icon,eax
|
||||
|
||||
push dword RGB_TILE_SIZE
|
||||
call mem.Alloc
|
||||
mov tile_drobn_icon,eax
|
||||
pop edi eax
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc tile_destroy, tile:dword
|
||||
push edi
|
||||
mov edi,[tile]
|
||||
push tile_rgb_icon
|
||||
call mem.Free
|
||||
push tile_drobn_icon
|
||||
call mem.Free
|
||||
pop edi
|
||||
ret
|
||||
endp
|
||||
|
||||
|
||||
;???
|
||||
align 4 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㦠<EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD>, <EFBFBD> <EFBFBD><EFBFBD>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
proc load_tile, tile:dword
|
||||
push eax ebx ecx edi
|
||||
mov edi,dword[tile] ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㥬 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD> ࠡ<EFBFBD>⠫<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD>
|
||||
|
||||
stdcall mem_copy, map,edi, 9 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD>
|
||||
xor eax,eax
|
||||
mov al,tile_delta_x
|
||||
add tile_coord_x,eax ;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD>, <EFBFBD>⭮<EFBFBD><EFBFBD>⥫쭮 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov al,tile_delta_y
|
||||
add tile_coord_y,eax
|
||||
stdcall get_tile_path,edi ;<EFBFBD><EFBFBD>६ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ⠩<EFBFBD><EFBFBD>
|
||||
|
||||
;***
|
||||
; <EFBFBD><EFBFBD>ઠ <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>㦥<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
mov eax,edi
|
||||
mov ecx,9
|
||||
@@:
|
||||
mov bl,byte[eax+tile_offs_l_load]
|
||||
cmp byte[eax],bl
|
||||
jne .st_load
|
||||
inc eax
|
||||
loop @b
|
||||
mov ebx,dword[edit1.size];<EFBFBD><EFBFBD><EFBFBD>塞 ⠪<EFBFBD><EFBFBD> ⨯ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> ࠭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>㦥<EFBFBD>
|
||||
cmp tile_key_path_len,bl ;<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⨯<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>㦭<EFBFBD> ⠪<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
||||
jne .st_load
|
||||
|
||||
jmp @f ;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 㦥 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>㦠<EFBFBD><EFBFBD>
|
||||
.st_load: ;start load tile
|
||||
|
||||
; <EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>㦥<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
mov eax,edi
|
||||
add eax,tile_offs_l_load
|
||||
stdcall mem_copy, edi,eax,9
|
||||
mov ebx,dword[edit1.size]
|
||||
mov tile_key_path_len,bl
|
||||
;***
|
||||
|
||||
;mov tile_drobn,0
|
||||
mov tile_drobn,SCALE_0_USE ;<EFBFBD>⠢<EFBFBD><EFBFBD> 䫠<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> ⥪<EFBFBD>饣<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
|
||||
stdcall load_new_tile,edi
|
||||
cmp tile_err_f,5
|
||||
jne @f
|
||||
mov tile_drobn,0
|
||||
mov eax,ch2 ;<EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD> ᭨<><E1ADA8>'
|
||||
bt dword[eax+32],1 ;ch_flags equ [edi+32] ;䫠<EFBFBD><EFBFBD>
|
||||
jae .opt_drobn_false
|
||||
|
||||
;<EFBFBD> 䠩<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>
|
||||
inc tile_zoom
|
||||
shl tile_coord_y,1
|
||||
shl tile_coord_x,1
|
||||
stdcall get_tile_path,edi
|
||||
stdcall load_new_tile,edi
|
||||
|
||||
cmp tile_err_f,5
|
||||
je .no_tile_00
|
||||
or tile_drobn,FRACT_TILE_00
|
||||
; 1 ᦠ⨥ <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
stdcall img_rgb_hdiv2, tile_rgb_icon, TILE_LEN*TILE_LEN, TILE_LEN
|
||||
; 2 ᦠ⨥ <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ਭ<EFBFBD>
|
||||
stdcall img_rgb_wdiv2, tile_rgb_icon, TILE_LEN*TILE_LEN/2
|
||||
; 3 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD> १<EFBFBD>ࢭ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
stdcall mem_copy, tile_rgb_icon, tile_drobn_icon, RGB_TILE_SIZE_1N4
|
||||
.no_tile_00:
|
||||
|
||||
;<EFBFBD> 䠩<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>
|
||||
inc tile_coord_y
|
||||
stdcall get_tile_path,edi
|
||||
stdcall load_new_tile,edi
|
||||
|
||||
cmp tile_err_f,5
|
||||
je .no_tile_01
|
||||
; mov byte[map.drobn],0
|
||||
or tile_drobn,FRACT_TILE_01
|
||||
; 1 ᦠ⨥ <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
stdcall img_rgb_hdiv2, tile_rgb_icon, TILE_LEN*TILE_LEN, TILE_LEN
|
||||
; 2 ᦠ⨥ <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ਭ<EFBFBD>
|
||||
stdcall img_rgb_wdiv2, tile_rgb_icon, TILE_LEN*TILE_LEN/2
|
||||
; 3 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2-<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD> १<EFBFBD>ࢭ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov eax,tile_drobn_icon
|
||||
add eax,RGB_TILE_SIZE_1N4 ; ᤢ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD>. <EFBFBD>. <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
stdcall mem_copy, tile_rgb_icon, eax, RGB_TILE_SIZE_1N4
|
||||
.no_tile_01:
|
||||
|
||||
;<EFBFBD> 䠩<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>
|
||||
dec tile_coord_y
|
||||
inc tile_coord_x
|
||||
stdcall get_tile_path,edi
|
||||
stdcall load_new_tile,edi
|
||||
|
||||
cmp tile_err_f,5
|
||||
je .no_tile_10
|
||||
; mov byte[map.drobn],0
|
||||
or tile_drobn,FRACT_TILE_10
|
||||
; 1 ᦠ⨥ <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
stdcall img_rgb_hdiv2, tile_rgb_icon, TILE_LEN*TILE_LEN, TILE_LEN
|
||||
; 2 ᦠ⨥ <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ਭ<EFBFBD>
|
||||
stdcall img_rgb_wdiv2, tile_rgb_icon, TILE_LEN*TILE_LEN/2
|
||||
; 3 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3-<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD> १<EFBFBD>ࢭ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov eax,tile_drobn_icon
|
||||
add eax,RGB_TILE_SIZE_1N2 ; ᤢ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD>. <EFBFBD>. <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
stdcall mem_copy, tile_rgb_icon, eax, RGB_TILE_SIZE_1N4
|
||||
.no_tile_10:
|
||||
|
||||
;<EFBFBD> 䠩<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>
|
||||
inc tile_coord_y
|
||||
stdcall get_tile_path,edi
|
||||
stdcall load_new_tile,edi
|
||||
|
||||
cmp tile_err_f,5
|
||||
je .no_tile_11
|
||||
; mov byte[map.drobn],0
|
||||
or tile_drobn,FRACT_TILE_11
|
||||
; 1 ᦠ⨥ <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
stdcall img_rgb_hdiv2, tile_rgb_icon, TILE_LEN*TILE_LEN, TILE_LEN
|
||||
; 2 ᦠ⨥ <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ਭ<EFBFBD>
|
||||
stdcall img_rgb_wdiv2, tile_rgb_icon, TILE_LEN*TILE_LEN/2
|
||||
; 3 ᤢ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD>. <EFBFBD>. <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
stdcall img_rgb_hoffs, tile_rgb_icon, TILE_LEN*TILE_LEN/4, TILE_LEN/2, TILE_LEN*3/2
|
||||
|
||||
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> drobn_icon
|
||||
;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㦥 <EFBFBD>뫨 <EFBFBD><EFBFBD><EFBFBD>ନ<EFBFBD><EFBFBD><EFBFBD> 3 <EFBFBD><EFBFBD>㣨<EFBFBD>
|
||||
mov eax,tile_drobn_icon
|
||||
add eax,RGB_TILE_SIZE_1N4*3
|
||||
stdcall mem_copy, tile_rgb_icon, eax, RGB_TILE_SIZE_1N4
|
||||
.no_tile_11:
|
||||
.opt_drobn_false:
|
||||
|
||||
|
||||
mov eax,ch1 ;<EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD> ᢥ<><E1A2A5><EFBFBD>'
|
||||
bt dword[eax+32],1 ;ch_flags equ [edi+32] ;䫠<EFBFBD><EFBFBD>
|
||||
jae @f
|
||||
cmp tile_drobn,FRACT_TILE_ALL ;<EFBFBD> ᮡ࠭<EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD> ᢥ<EFBFBD><EFBFBD><EFBFBD> 㦥 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>६
|
||||
je @f
|
||||
;<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>뫠-<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD> ᭨<><E1ADA8>', <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ன <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;<EFBFBD><EFBFBD>⮬<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD>
|
||||
stdcall mem_copy, map,edi, 9
|
||||
xor eax,eax
|
||||
mov al,tile_delta_x
|
||||
add tile_coord_x,eax ;ᤢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD>, <EFBFBD>⭮<EFBFBD><EFBFBD>⥫쭮 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov al,tile_delta_y
|
||||
add tile_coord_y,eax
|
||||
|
||||
xor ecx,ecx
|
||||
.zoom:
|
||||
cmp tile_zoom,0
|
||||
je @f ;<EFBFBD><EFBFBD><EFBFBD>ᬠ<EFBFBD>ਢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᠬ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>室<EFBFBD><EFBFBD>
|
||||
call get_parent_tiles ;横<EFBFBD><EFBFBD><EFBFBD><EFBFBD>᪨<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᬮ<EFBFBD><EFBFBD> த<EFBFBD>⥫<EFBFBD>᪨<EFBFBD> ⠩<EFBFBD><EFBFBD><EFBFBD>
|
||||
bt tile_drobn,SCALE_1BIT_USE
|
||||
jc @f
|
||||
cmp ecx,5 ;5 - <EFBFBD><EFBFBD>࠭<EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>⥯<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
je @f
|
||||
jmp .zoom
|
||||
@@:
|
||||
|
||||
pop edi ecx ebx eax
|
||||
ret
|
||||
endp
|
||||
|
||||
;output:
|
||||
;ecx - if not file = count parent levels else = 0
|
||||
align 4
|
||||
proc get_parent_tiles
|
||||
dec tile_zoom
|
||||
shr tile_coord_y,1
|
||||
shr tile_coord_x,1
|
||||
inc ecx
|
||||
|
||||
stdcall get_tile_path,edi ;<EFBFBD><EFBFBD>६ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ⠩<EFBFBD><EFBFBD>
|
||||
stdcall load_new_tile,edi
|
||||
cmp tile_err_f,5
|
||||
je @f
|
||||
or tile_drobn,SCALE_1_USE
|
||||
mov ebx,ecx
|
||||
.zoom_cycle:
|
||||
xor eax,eax
|
||||
dec ebx
|
||||
bt tile_key_coord_y,ebx
|
||||
jae .scale_bot_l
|
||||
add eax,RGB_TILE_SIZE_1N2
|
||||
.scale_bot_l:
|
||||
bt tile_key_coord_x,ebx
|
||||
jae .scale_rig_l
|
||||
add eax,TILE_LEN_W*3/2
|
||||
.scale_rig_l:
|
||||
cmp eax,0
|
||||
je .scale_top_left
|
||||
add eax,tile_rgb_icon
|
||||
stdcall mem_copy, eax, tile_rgb_icon, RGB_TILE_SIZE_1N2
|
||||
.scale_top_left:
|
||||
|
||||
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>孥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⨭<EFBFBD><EFBFBD>
|
||||
stdcall img_rgb_wcrop, tile_rgb_icon,TILE_LEN_W,TILE_LEN_W/2,TILE_LEN_H ;<EFBFBD><EFBFBD>१<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>譥<EFBFBD>
|
||||
stdcall img_rgb_wmul2, tile_rgb_icon,RGB_TILE_SIZE_1N4/3 ;<EFBFBD><EFBFBD><EFBFBD>⨣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ਭ<EFBFBD>
|
||||
stdcall img_rgb_hmul2, tile_rgb_icon,RGB_TILE_SIZE_1N2/3,TILE_LEN_W ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
loop .zoom_cycle
|
||||
@@:
|
||||
ret
|
||||
endp
|
||||
|
||||
;tile - 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD><EFBFBD>
|
||||
align 4 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㦠<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠩<EFBFBD>
|
||||
proc load_new_tile, tile:dword
|
||||
pushad
|
||||
|
||||
mov eax,70 ;load icon file
|
||||
mov [run_file_70.func_n], 0
|
||||
mov [run_file_70.param1], 0
|
||||
mov [run_file_70.param2], 0
|
||||
mov [run_file_70.param3], RGB_TILE_SIZE+300 ;+54
|
||||
m2m [run_file_70.param4], [bmp_icon]
|
||||
mov [run_file_70.rezerv], 0
|
||||
mov [run_file_70.name], file_name
|
||||
mov ebx,run_file_70
|
||||
int 0x40
|
||||
mov edi,[tile]
|
||||
mov tile_err_f,al
|
||||
cmp ebx,0xffffffff
|
||||
je .no_load
|
||||
|
||||
stdcall dword[img_decode], dword[bmp_icon],ebx,0
|
||||
mov dword[data_icon],eax
|
||||
stdcall dword[img_to_rgb2], dword[data_icon],tile_rgb_icon
|
||||
stdcall dword[img_destroy], dword[data_icon]
|
||||
jmp @f
|
||||
.no_load:
|
||||
|
||||
; mov edi,[tile]
|
||||
mov al,byte[map.zoom]
|
||||
cmp tile_zoom,al
|
||||
jne @f
|
||||
stdcall mem_copy, file_name,tile_rgb_icon,150
|
||||
@@:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
;<EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> 䠩<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: \z?\?\x?\?\y?
|
||||
align 4
|
||||
proc get_tile_path, tile:dword
|
||||
push eax ecx edi esi
|
||||
mov ecx,300
|
||||
mov edi,txt_tile_path
|
||||
@@:
|
||||
mov byte[edi],0 ;<EFBFBD><EFBFBD><EFBFBD>⨬ <EFBFBD><EFBFBD>ப<EFBFBD>
|
||||
inc edi
|
||||
loop @b
|
||||
|
||||
mov esi,dword[tile] ;<EFBFBD><EFBFBD>६ 㪠<EFBFBD><EFBFBD>⥫<EFBFBD>
|
||||
|
||||
mov ecx,0x80000000 ;rol 0x80000000,1 = 1
|
||||
xor eax,eax
|
||||
mov al,byte[esi+8] ;+8 = zoom
|
||||
.calc_coord:
|
||||
rol ecx,1 ;ecx = maximum coord
|
||||
dec ax
|
||||
cmp ax,0
|
||||
jg .calc_coord
|
||||
|
||||
mov byte[txt_tile_path],'z'
|
||||
mov edi,txt_tile_path
|
||||
inc edi
|
||||
xor eax,eax
|
||||
mov al,byte[esi+8] ;+8 = zoom
|
||||
call tl_convert_to_str
|
||||
|
||||
inc edi
|
||||
cmp byte[esi+8],9 ;+8 = zoom
|
||||
jle @f
|
||||
inc edi
|
||||
@@:
|
||||
mov byte[edi],'/'
|
||||
inc edi
|
||||
|
||||
mov eax,[esi] ;coord_x
|
||||
cmp eax,ecx
|
||||
jge .out_of_rang ;coord_x <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨬<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠡<EFBFBD>
|
||||
shr eax,10
|
||||
call tl_convert_to_str
|
||||
|
||||
@@:
|
||||
inc edi
|
||||
cmp byte[edi],'0'
|
||||
jge @b
|
||||
mov byte[edi],'/'
|
||||
inc edi
|
||||
mov byte[edi],'x'
|
||||
inc edi
|
||||
|
||||
mov eax,[esi] ;coord_x
|
||||
call tl_convert_to_str
|
||||
|
||||
@@:
|
||||
inc edi
|
||||
cmp byte[edi],'0'
|
||||
jl @f
|
||||
cmp byte[edi],'9'
|
||||
jg @f
|
||||
jmp @b
|
||||
@@:
|
||||
|
||||
;coord y
|
||||
mov byte[edi],'/'
|
||||
inc edi
|
||||
|
||||
mov eax,[esi+4] ;coord_y
|
||||
cmp eax,ecx
|
||||
jge .out_of_rang ;coord_y <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨬<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠡<EFBFBD>
|
||||
shr eax,10
|
||||
call tl_convert_to_str
|
||||
|
||||
@@:
|
||||
inc edi
|
||||
cmp byte[edi],'0'
|
||||
jge @b
|
||||
mov byte[edi],'/'
|
||||
inc edi
|
||||
mov byte[edi],'y'
|
||||
inc edi
|
||||
|
||||
mov eax,[esi+4] ;coord_y]
|
||||
call tl_convert_to_str
|
||||
|
||||
.out_of_rang:
|
||||
call get_all_path
|
||||
pop esi edi ecx eax
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
get_all_path: ;<EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> ᮡ<EFBFBD>࠭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ecx,dword[edit1.text]
|
||||
add ecx,dword[edit1.size]
|
||||
dec ecx
|
||||
|
||||
stdcall [str_copy], file_name,4096-1, dword[edit1.text],dword[edit1.max]
|
||||
|
||||
cmp byte[ecx],'/'
|
||||
je @f
|
||||
stdcall [str_catchar],file_name,4096-1, dword '/'
|
||||
@@:
|
||||
|
||||
stdcall [str_cat], file_name,4096-1, txt_tile_path,300
|
||||
stdcall [str_cat], file_name,4096-1, dword [txt_tile_type],10
|
||||
ret
|
BIN
programs/other/planet_v/tl_nod_16.bmp
Normal file
BIN
programs/other/planet_v/tl_nod_16.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 822 B |
BIN
programs/other/planet_v/tl_sys_16.png
Normal file
BIN
programs/other/planet_v/tl_sys_16.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
Reference in New Issue
Block a user