forked from KolibriOS/kolibrios
fix some functions
git-svn-id: svn://kolibrios.org@2501 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
6d3caf1b30
commit
1386fef88b
@ -16,7 +16,7 @@ include '../../nu_pogodi/trunk/mem.inc'
|
|||||||
include '../../nu_pogodi/trunk/dll.inc'
|
include '../../nu_pogodi/trunk/dll.inc'
|
||||||
|
|
||||||
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
hed db 'Life 20.02.12',0 ;¯®¤¯¨áì ®ª
|
hed db 'Life 23.03.12',0 ;¯®¤¯¨áì ®ª
|
||||||
|
|
||||||
struct FileInfoBlock
|
struct FileInfoBlock
|
||||||
Function dd ?
|
Function dd ?
|
||||||
@ -329,9 +329,11 @@ proc pole_cell_find, x:dword, y:dword
|
|||||||
mov edx,ebx
|
mov edx,ebx
|
||||||
shl edx,2
|
shl edx,2
|
||||||
add edx,ecx
|
add edx,ecx
|
||||||
inc ebx
|
|
||||||
mov ecx,dword[ecx]
|
mov ecx,dword[ecx]
|
||||||
.cycle_b: ;for(i=b_sort+1;i<=fristC;i++)
|
.cycle_b: ;for(i=b_sort+1;i<=fristC;i++)
|
||||||
|
inc ebx
|
||||||
|
cmp ebx,ecx
|
||||||
|
jg .cycle_e
|
||||||
add edx,4
|
add edx,4
|
||||||
get_cell_offset edi,dword[edx]
|
get_cell_offset edi,dword[edx]
|
||||||
mov esi,dword[x]
|
mov esi,dword[x]
|
||||||
@ -344,9 +346,7 @@ proc pole_cell_find, x:dword, y:dword
|
|||||||
mov eax,dword[edx] ;fnd=memCell[i];
|
mov eax,dword[edx] ;fnd=memCell[i];
|
||||||
jmp .cycle_e ;break;
|
jmp .cycle_e ;break;
|
||||||
.if_e:
|
.if_e:
|
||||||
inc ebx
|
jmp .cycle_b
|
||||||
cmp ebx,ecx
|
|
||||||
jle .cycle_b
|
|
||||||
.cycle_e:
|
.cycle_e:
|
||||||
pop esi edi edx ecx ebx
|
pop esi edi edx ecx ebx
|
||||||
@@:
|
@@:
|
||||||
@ -886,7 +886,8 @@ start:
|
|||||||
mov [CellColors],eax
|
mov [CellColors],eax
|
||||||
load_image_file fn_toolbar, image_data_toolbar,IMAGE_TOOLBAR_SIZE
|
load_image_file fn_toolbar, image_data_toolbar,IMAGE_TOOLBAR_SIZE
|
||||||
|
|
||||||
stdcall pole_init_colors, 0xffffff,0xff0000,0x0000ff
|
; áâனª 梥⮢ ï祥ª
|
||||||
|
stdcall pole_init_colors, 0xffffd0,0xff0000,0x0000ff
|
||||||
call pole_clear
|
call pole_clear
|
||||||
call pole_paint ;à¨á®¢ ¨¥ ¯®«ï ¢ ¡ãä¥à¥ (¥ íªà ¥)
|
call pole_paint ;à¨á®¢ ¨¥ ¯®«ï ¢ ¡ãä¥à¥ (¥ íªà ¥)
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@ pole_index equ dword[edi]
|
|||||||
pole_data equ dword[edi +4] ;㪠§ â¥«ì ¯ ¬ïâì á® áâàãªâãà ¬¨ ï祥ª
|
pole_data equ dword[edi +4] ;㪠§ â¥«ì ¯ ¬ïâì á® áâàãªâãà ¬¨ ï祥ª
|
||||||
pole_max_cell equ dword[edi +8]
|
pole_max_cell equ dword[edi +8]
|
||||||
pole_b_sort equ dword[edi+12] ;£à ¨æ ¤«ï á®àâ¨à®¢ ëå ï祥ª
|
pole_b_sort equ dword[edi+12] ;£à ¨æ ¤«ï á®àâ¨à®¢ ëå ï祥ª
|
||||||
|
offs_pole_b_sort equ 12
|
||||||
|
|
||||||
macro get_cell_offset reg,ind
|
macro get_cell_offset reg,ind
|
||||||
{
|
{
|
||||||
@ -151,6 +152,8 @@ align 4
|
|||||||
proc pole_cell_delete, pole:dword, x:dword, y:dword
|
proc pole_cell_delete, pole:dword, x:dword, y:dword
|
||||||
pushad
|
pushad
|
||||||
mov edi,dword[pole]
|
mov edi,dword[pole]
|
||||||
|
mov ebx,edi
|
||||||
|
add ebx,offs_pole_b_sort
|
||||||
mov esi,pole_index
|
mov esi,pole_index
|
||||||
|
|
||||||
mov ecx,[esi]
|
mov ecx,[esi]
|
||||||
@ -161,10 +164,6 @@ proc pole_cell_delete, pole:dword, x:dword, y:dword
|
|||||||
cmp eax,0
|
cmp eax,0
|
||||||
je .fun_e ;¥á«¨ ª«¥âª ¥ ¡ë« ᮧ¤
|
je .fun_e ;¥á«¨ ª«¥âª ¥ ¡ë« ᮧ¤
|
||||||
|
|
||||||
cmp pole_b_sort,0
|
|
||||||
je @f
|
|
||||||
dec pole_b_sort
|
|
||||||
@@:
|
|
||||||
dec dword[esi]
|
dec dword[esi]
|
||||||
|
|
||||||
mov edi,esi
|
mov edi,esi
|
||||||
@ -174,6 +173,17 @@ proc pole_cell_delete, pole:dword, x:dword, y:dword
|
|||||||
repnz scasd ;¯®¨áª
|
repnz scasd ;¯®¨áª
|
||||||
sub edi,4
|
sub edi,4
|
||||||
|
|
||||||
|
cmp dword[ebx],1 ;[ebx]=pole_b_sort
|
||||||
|
jl @f
|
||||||
|
mov eax,edi
|
||||||
|
sub eax,esi ;esi=pole_index
|
||||||
|
shr eax,2
|
||||||
|
dec eax
|
||||||
|
cmp [ebx],eax ;eax - ¯®§¨æ¨ï 㪠§ ⥫ï 㤠«ï¥¬®© ï祩ª¨
|
||||||
|
jle @f ;¡ë«® jl @f
|
||||||
|
dec dword[ebx]
|
||||||
|
@@:
|
||||||
|
|
||||||
shl edx,2
|
shl edx,2
|
||||||
add edx,esi ;ª®¥çë© í«¥¬¥â ¬ áᨢ
|
add edx,esi ;ª®¥çë© í«¥¬¥â ¬ áᨢ
|
||||||
sub edx,edi
|
sub edx,edi
|
||||||
@ -193,7 +203,7 @@ proc pole_cell_delete, pole:dword, x:dword, y:dword
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
if 0
|
if debug
|
||||||
align 4
|
align 4
|
||||||
proc but_test_pole, pole:dword
|
proc but_test_pole, pole:dword
|
||||||
pushad
|
pushad
|
||||||
@ -205,7 +215,12 @@ proc but_test_pole, pole:dword
|
|||||||
|
|
||||||
mov esi,pole_index
|
mov esi,pole_index
|
||||||
mov ecx,[esi]
|
mov ecx,[esi]
|
||||||
|
|
||||||
|
mov eax,pole_b_sort
|
||||||
mov edi,open_file_lif
|
mov edi,open_file_lif
|
||||||
|
stdcall convert_int_to_str
|
||||||
|
stdcall [buf2d_draw_text], buf_0, buf_font,edi,5,ebx,color_s0 ;à¨á㥬 b_sort
|
||||||
|
add ebx,18
|
||||||
|
|
||||||
mov eax,[esi]
|
mov eax,[esi]
|
||||||
add esi,4
|
add esi,4
|
||||||
@ -279,9 +294,11 @@ proc pole_cell_find uses edi, pole:dword, x:dword, y:dword
|
|||||||
mov edx,ebx
|
mov edx,ebx
|
||||||
shl edx,2
|
shl edx,2
|
||||||
add edx,ecx
|
add edx,ecx
|
||||||
inc ebx
|
|
||||||
mov ecx,dword[ecx]
|
mov ecx,dword[ecx]
|
||||||
.cycle_b: ;for(i=pole_b_sort+1;i<=fristC;i++)
|
.cycle_b: ;for(i=pole_b_sort+1;i<=fristC;i++)
|
||||||
|
inc ebx
|
||||||
|
cmp ebx,ecx
|
||||||
|
jg .not_found
|
||||||
add edx,4
|
add edx,4
|
||||||
get_cell_offset esi,dword[edx]
|
get_cell_offset esi,dword[edx]
|
||||||
mov eax,dword[x]
|
mov eax,dword[x]
|
||||||
@ -294,9 +311,8 @@ proc pole_cell_find uses edi, pole:dword, x:dword, y:dword
|
|||||||
mov eax,dword[edx] ;fnd=pole_index[i];
|
mov eax,dword[edx] ;fnd=pole_index[i];
|
||||||
jmp .cycle_e ;break;
|
jmp .cycle_e ;break;
|
||||||
.if_e:
|
.if_e:
|
||||||
inc ebx
|
jmp .cycle_b
|
||||||
cmp ebx,ecx
|
.not_found:
|
||||||
jle .cycle_b
|
|
||||||
xor eax,eax ;¢®ááâ ¢«¨¢ ¥¬ ã«¥¢®¥ § 票¥ ¥á«¨ ¥ 諨 ï祩ªã (¢ 横«¥ eax ¯®àâ¨âáï ¯à¨ ¯à®¢¥àª¥ ª®®à¤¨ â)
|
xor eax,eax ;¢®ááâ ¢«¨¢ ¥¬ ã«¥¢®¥ § 票¥ ¥á«¨ ¥ 諨 ï祩ªã (¢ 横«¥ eax ¯®àâ¨âáï ¯à¨ ¯à®¢¥àª¥ ª®®à¤¨ â)
|
||||||
.cycle_e:
|
.cycle_e:
|
||||||
pop esi edx ecx ebx
|
pop esi edx ecx ebx
|
||||||
@ -363,6 +379,58 @@ proc pole_bin_find uses ebx ecx edx edi, mas:dword, fx:dword, fy:dword, k:dword
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
;ᤢ¨£ ¢á¥å ï祥ª (¨ ®¡ê¥ªâ®¢)
|
||||||
|
align 4
|
||||||
|
proc pole_move_all, pole:dword, m_d_x:dword, m_d_y:dword
|
||||||
|
pushad
|
||||||
|
mov edi,dword[pole]
|
||||||
|
mov edx,[m_d_x]
|
||||||
|
mov esi,[m_d_y]
|
||||||
|
|
||||||
|
mov eax,pole_index
|
||||||
|
cmp dword[eax],0
|
||||||
|
je .end_0 ;¥á«¨ ¥â ï祥ª (¯à®¢®¤®¢) â® ¢ë室
|
||||||
|
|
||||||
|
mov ecx,dword[eax]
|
||||||
|
cld
|
||||||
|
@@: ;横« ¯® ¢á¥¬ ï祩ª ¬
|
||||||
|
add eax,4
|
||||||
|
mov ebx,[eax]
|
||||||
|
imul ebx,sizeof.Cell
|
||||||
|
add ebx,pole_data
|
||||||
|
|
||||||
|
add dword[ebx+offs_cell_x],edx
|
||||||
|
add dword[ebx+offs_cell_y],esi
|
||||||
|
loop @b
|
||||||
|
.end_0:
|
||||||
|
|
||||||
|
;横« ¯® «®£¨ç¥áª¨¬ í«¥¬¥â ¬ ¨ ¯®¤¯¨áï¬
|
||||||
|
stdcall dword[tl_node_poi_get_info],0,tree1
|
||||||
|
pop eax
|
||||||
|
@@:
|
||||||
|
cmp eax,0
|
||||||
|
je .end_1
|
||||||
|
cmp word[eax],el_icon_elems ;¯®«ã票¥ ç¥à¥§ eax ⨯ ¨ª®ª¨
|
||||||
|
je .mov_1
|
||||||
|
cmp word[eax],el_icon_captions
|
||||||
|
je .mov_1
|
||||||
|
jmp .end_mov_1
|
||||||
|
.mov_1:
|
||||||
|
stdcall [tl_node_poi_get_data], eax, tree1
|
||||||
|
pop ecx
|
||||||
|
|
||||||
|
add [ecx],edx ;coord x
|
||||||
|
add [ecx+4],esi ;coord y
|
||||||
|
.end_mov_1:
|
||||||
|
stdcall dword[tl_node_poi_get_next_info],eax,tree1
|
||||||
|
pop eax ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
|
||||||
|
jmp @b
|
||||||
|
.end_1:
|
||||||
|
|
||||||
|
popad
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
;output:
|
;output:
|
||||||
; dl
|
; dl
|
||||||
align 4
|
align 4
|
||||||
@ -910,7 +978,7 @@ proc pole_draw_pok uses eax ebx ecx edx edi esi, pole:dword
|
|||||||
;mov edi,dword[pole]
|
;mov edi,dword[pole]
|
||||||
|
|
||||||
mov eax,4 ;à¨á®¢ ¨¥ ⥪áâ
|
mov eax,4 ;à¨á®¢ ¨¥ ⥪áâ
|
||||||
mov ebx,325*65536+5
|
mov ebx,400*65536+5
|
||||||
mov ecx,[sc.work_text]
|
mov ecx,[sc.work_text]
|
||||||
or ecx,0x80000000 ;or (1 shl 30)
|
or ecx,0x80000000 ;or (1 shl 30)
|
||||||
mov edx,txt_zoom
|
mov edx,txt_zoom
|
||||||
@ -928,7 +996,7 @@ proc pole_draw_pok uses eax ebx ecx edx edi esi, pole:dword
|
|||||||
mov eax,47
|
mov eax,47
|
||||||
movzx ecx,byte[zoom]
|
movzx ecx,byte[zoom]
|
||||||
mov ebx,(2 shl 16)
|
mov ebx,(2 shl 16)
|
||||||
mov edx,(325+6*9)*65536+5
|
mov edx,(400+6*9)*65536+5
|
||||||
mov esi,[sc.work_button_text]
|
mov esi,[sc.work_button_text]
|
||||||
or esi,(1 shl 30)
|
or esi,(1 shl 30)
|
||||||
mov edi,[sc.work_button]
|
mov edi,[sc.work_button]
|
||||||
|
@ -16,6 +16,8 @@ color_s2 equ 0xff00 ;
|
|||||||
color_s3 equ 0xff0000 ;¢à¥¬¥®¥ § 票¥ ¤«ï á®åà ¥¨ï
|
color_s3 equ 0xff0000 ;¢à¥¬¥®¥ § 票¥ ¤«ï á®åà ¥¨ï
|
||||||
color_caption equ 0x808080
|
color_caption equ 0x808080
|
||||||
|
|
||||||
|
debug equ 0
|
||||||
|
|
||||||
;®¬ à ¨ª®®ª:
|
;®¬ à ¨ª®®ª:
|
||||||
el_icon_group equ 0 ;£à㯯®¢ ï
|
el_icon_group equ 0 ;£à㯯®¢ ï
|
||||||
el_icon_points equ 1 ;â®çª¨
|
el_icon_points equ 1 ;â®çª¨
|
||||||
@ -48,7 +50,7 @@ include 'le_pole.inc'
|
|||||||
include 'le_signal.inc'
|
include 'le_signal.inc'
|
||||||
|
|
||||||
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
caption db '‹®£¨ç¥áª¨¥ í«¥¬¥âë 21.03.12',0 ;¯®¤¯¨áì ®ª
|
caption db '‹®£¨ç¥áª¨¥ í«¥¬¥âë 23.03.12',0 ;¯®¤¯¨áì ®ª
|
||||||
|
|
||||||
panel_0_coord_top equ 5 ;¢¥àåïï ª®®à¤¨ â 0-£® àï¤ ¯ ¥«¨ ¨áâà㬥⮢
|
panel_0_coord_top equ 5 ;¢¥àåïï ª®®à¤¨ â 0-£® àï¤ ¯ ¥«¨ ¨áâà㬥⮢
|
||||||
panel_1_coord_top equ 35
|
panel_1_coord_top equ 35
|
||||||
@ -104,6 +106,7 @@ elOpt 'or[4]', 0xff00ff,5,9,tbl_or, tbl_il_4, 4
|
|||||||
elOpt 'and[2]',0xffff00,5,5,tbl_and.2, tbl_il_2, 2
|
elOpt 'and[2]',0xffff00,5,5,tbl_and.2, tbl_il_2, 2
|
||||||
elOpt 'and[3]',0xffff00,5,7,tbl_and.3, tbl_il_3, 3
|
elOpt 'and[3]',0xffff00,5,7,tbl_and.3, tbl_il_3, 3
|
||||||
elOpt 'and[4]',0xffff00,5,9,tbl_and.4, tbl_il_4, 4
|
elOpt 'and[4]',0xffff00,5,9,tbl_and.4, tbl_il_4, 4
|
||||||
|
elOpt 'and[5]',0xffff00,5,11,tbl_and.5, tbl_il_5, 5
|
||||||
elOpt 'not', 0xffff, 3,3,tbl_not, tbl_il_1, 1
|
elOpt 'not', 0xffff, 3,3,tbl_not, tbl_il_1, 1
|
||||||
elOpt 'xor', 0x8000ff,5,5,tbl_xor, tbl_il_2, 2
|
elOpt 'xor', 0x8000ff,5,5,tbl_xor, tbl_il_2, 2
|
||||||
elOpt 'sm[1]', 0x8080ff,7,7,tbl_sm, tbl_il_3, 1,4
|
elOpt 'sm[1]', 0x8080ff,7,7,tbl_sm, tbl_il_3, 1,4
|
||||||
@ -116,6 +119,7 @@ align 4
|
|||||||
tbl_or db 0,1,1,1, 1,1,1,1 ;or2, or3
|
tbl_or db 0,1,1,1, 1,1,1,1 ;or2, or3
|
||||||
db 1,1,1,1,1,1,1,1 ;or4
|
db 1,1,1,1,1,1,1,1 ;or4
|
||||||
tbl_and:
|
tbl_and:
|
||||||
|
.5: dq 0,0
|
||||||
.4: dq 0
|
.4: dq 0
|
||||||
.3: dd 0
|
.3: dd 0
|
||||||
.2: db 0,0,0,1
|
.2: db 0,0,0,1
|
||||||
@ -129,6 +133,7 @@ tbl_il_1 db 1,0 ;
|
|||||||
tbl_il_2 db 1,2,0 ;ª®à¯ãá 2 ®£¨
|
tbl_il_2 db 1,2,0 ;ª®à¯ãá 2 ®£¨
|
||||||
tbl_il_3 db 1,2,2,0
|
tbl_il_3 db 1,2,2,0
|
||||||
tbl_il_4 db 1,2,2,2,0
|
tbl_il_4 db 1,2,2,2,0
|
||||||
|
tbl_il_5 db 1,2,2,2,2,0
|
||||||
;tbl_il_8 db 1,2,2,2,2,2,2,2,0
|
;tbl_il_8 db 1,2,2,2,2,2,2,2,0
|
||||||
|
|
||||||
time dd 0
|
time dd 0
|
||||||
@ -339,15 +344,18 @@ mouse:
|
|||||||
stdcall [tl_mouse], tree1
|
stdcall [tl_mouse], tree1
|
||||||
stdcall [tl_mouse], tree2
|
stdcall [tl_mouse], tree2
|
||||||
|
|
||||||
push eax ebx ecx edx
|
pushad
|
||||||
mcall 37,2 ; ¦ âë¥ ª®¯ª¨ ¬ëè¨
|
mcall 37,2 ; ¦ âë¥ ª®¯ª¨ ¬ëè¨
|
||||||
bt eax,0 ;«¥¢ ï ª®¯ª ¦ â ?
|
bt eax,0 ;«¥¢ ï ª®¯ª ¦ â ?
|
||||||
|
jc @f
|
||||||
|
bt eax,1 ;¯à ¢ ï ª®¯ª ¦ â ?
|
||||||
jc @f
|
jc @f
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov [pen_coord_x],eax
|
mov [pen_coord_x],eax
|
||||||
mov [pen_coord_y],eax
|
mov [pen_coord_y],eax
|
||||||
jmp .end_buf_wnd
|
jmp .end_buf_wnd
|
||||||
@@:
|
@@:
|
||||||
|
mov esi,eax
|
||||||
|
|
||||||
mcall 37,1 ;eax = (x shl 16) + y
|
mcall 37,1 ;eax = (x shl 16) + y
|
||||||
cmp ax,word[buf_0.t]
|
cmp ax,word[buf_0.t]
|
||||||
@ -384,6 +392,8 @@ mouse:
|
|||||||
|
|
||||||
cmp byte[pen_mode],0
|
cmp byte[pen_mode],0
|
||||||
jne .end_mode_0
|
jne .end_mode_0
|
||||||
|
bt esi,1
|
||||||
|
jc .end_mode_0
|
||||||
;०¨¬ ªãàá®à (¢ë¡®à í«¥¬¥â ¯à¨ ¦ ⨨)
|
;०¨¬ ªãàá®à (¢ë¡®à í«¥¬¥â ¯à¨ ¦ ⨨)
|
||||||
stdcall element_is_click,eax,ebx
|
stdcall element_is_click,eax,ebx
|
||||||
test eax,eax
|
test eax,eax
|
||||||
@ -445,32 +455,50 @@ mouse:
|
|||||||
mov eax,[pen_coord_x] ;¯à¨¢ï§ª ª ª®®à¤¨ ⥠x
|
mov eax,[pen_coord_x] ;¯à¨¢ï§ª ª ª®®à¤¨ ⥠x
|
||||||
|
|
||||||
.beg_draw:
|
.beg_draw:
|
||||||
stdcall pole_cell_creat, pole,eax,ebx,0
|
bt esi,1
|
||||||
;¨ç¥£® ¥ ã¡à «®áì redraw_pole ¥ ¯®¤å®¤¨â, â. ª. ç¨áâ¨âì ¯®«¥ ¥ 㦮
|
jc @f
|
||||||
stdcall pole_paint, pole
|
stdcall pole_cell_creat, pole,eax,ebx,0
|
||||||
stdcall [buf2d_draw], buf_0
|
;¨ç¥£® ¥ ã¡à «®áì redraw_pole ¥ ¯®¤å®¤¨â, â. ª. ç¨áâ¨âì ¯®«¥ ¥ 㦮
|
||||||
;stdcall but_test_pole, pole
|
stdcall pole_paint, pole
|
||||||
jmp .end_buf_wnd
|
stdcall [buf2d_draw], buf_0
|
||||||
|
jmp .end_buf_wnd
|
||||||
|
@@:
|
||||||
|
stdcall pole_cell_delete, pole,eax,ebx
|
||||||
|
call redraw_pole
|
||||||
|
jmp .end_buf_wnd
|
||||||
.end_mode_1:
|
.end_mode_1:
|
||||||
cmp byte[pen_mode],2
|
cmp byte[pen_mode],2
|
||||||
jne @f
|
jne @f
|
||||||
;०¨¬ à¨á®¢ ¨ï ¨§®«ï樨 ¤«ï ¯à®¢®¤
|
;०¨¬ à¨á®¢ ¨ï ¨§®«ï樨 ¤«ï ¯à®¢®¤
|
||||||
stdcall pole_cell_creat, pole,eax,ebx,2
|
bt esi,1
|
||||||
|
jc .mode_2_del
|
||||||
|
stdcall pole_cell_creat, pole,eax,ebx,2
|
||||||
|
jmp .mode_2_draw
|
||||||
|
.mode_2_del:
|
||||||
|
;áâ¨à ¨¥ ¨§®«ï樨
|
||||||
|
mov ecx,eax
|
||||||
|
stdcall pole_cell_find, pole,ecx,ebx
|
||||||
|
test eax,eax
|
||||||
|
jz .end_buf_wnd
|
||||||
|
stdcall pole_cell_creat, pole,ecx,ebx,0
|
||||||
|
.mode_2_draw:
|
||||||
stdcall pole_paint, pole
|
stdcall pole_paint, pole
|
||||||
stdcall [buf2d_draw], buf_0
|
stdcall [buf2d_draw], buf_0
|
||||||
;stdcall but_test_pole, pole
|
|
||||||
jmp .end_buf_wnd
|
jmp .end_buf_wnd
|
||||||
@@:
|
@@:
|
||||||
cmp byte[pen_mode],3
|
cmp byte[pen_mode],3
|
||||||
jne @f
|
jne @f
|
||||||
|
bt esi,1
|
||||||
|
jc @f
|
||||||
;०¨¬ áâ¨à ¨ï ¯à®¢®¤
|
;०¨¬ áâ¨à ¨ï ¯à®¢®¤
|
||||||
stdcall pole_cell_delete, pole,eax,ebx
|
stdcall pole_cell_delete, pole,eax,ebx
|
||||||
call redraw_pole
|
call redraw_pole
|
||||||
;stdcall but_test_pole, pole
|
|
||||||
jmp .end_buf_wnd
|
jmp .end_buf_wnd
|
||||||
@@:
|
@@:
|
||||||
cmp byte[pen_mode],4
|
cmp byte[pen_mode],4
|
||||||
jne @f
|
jne @f
|
||||||
|
bt esi,1
|
||||||
|
jc @f
|
||||||
;०¨¬ ᮧ¤ ¨ï í«¥¬¥â®¢
|
;०¨¬ ᮧ¤ ¨ï í«¥¬¥â®¢
|
||||||
stdcall shem_element_creat, eax,ebx
|
stdcall shem_element_creat, eax,ebx
|
||||||
stdcall pole_paint, pole
|
stdcall pole_paint, pole
|
||||||
@ -479,7 +507,10 @@ mouse:
|
|||||||
@@:
|
@@:
|
||||||
|
|
||||||
.end_buf_wnd:
|
.end_buf_wnd:
|
||||||
pop edx ecx ebx eax
|
if debug
|
||||||
|
stdcall but_test_pole, pole
|
||||||
|
end if
|
||||||
|
popad
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;output:
|
;output:
|
||||||
@ -589,44 +620,60 @@ pushad
|
|||||||
mov esi,[sc.work_button]
|
mov esi,[sc.work_button]
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ebx,(30 shl 16)+20
|
add ebx,25 shl 16
|
||||||
mov edx,4
|
mov edx,4
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ebx,(55 shl 16)+20
|
add ebx,25 shl 16
|
||||||
mov edx,5
|
mov edx,5
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ebx,(85 shl 16)+20
|
add ebx,30 shl 16
|
||||||
mov edx,6
|
mov edx,6 ;¯ã᪠| ®áâ ®¢ª
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ebx,(110 shl 16)+20
|
add ebx,25 shl 16
|
||||||
mov edx,7
|
mov edx,7
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ebx,(135 shl 16)+20
|
add ebx,25 shl 16
|
||||||
mov edx,8
|
mov edx,8
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ebx,(160 shl 16)+20
|
add ebx,25 shl 16
|
||||||
mov edx,9
|
mov edx,9
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ebx,(185 shl 16)+20
|
add ebx,25 shl 16
|
||||||
mov edx,10
|
mov edx,10
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ebx,(210 shl 16)+20
|
add ebx,25 shl 16
|
||||||
mov edx,11
|
mov edx,11
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ebx,(235 shl 16)+20
|
add ebx,25 shl 16
|
||||||
mov edx,12
|
mov edx,12
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ebx,(265 shl 16)+20
|
add ebx,30 shl 16
|
||||||
mov edx,13
|
mov edx,13 ;æ¥â஢ª á奬ë
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
add ebx,25 shl 16
|
||||||
|
mov edx,14
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
add ebx,25 shl 16
|
||||||
|
mov edx,15
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
add ebx,25 shl 16
|
||||||
|
mov edx,16 ;ᤢ¨£ áå¥¬ë ¢¢¥àå
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
add ebx,25 shl 16
|
||||||
|
mov edx,17 ;ᤢ¨£ áå¥¬ë ¢¨§
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å ***
|
; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å ***
|
||||||
@ -846,6 +893,32 @@ button:
|
|||||||
jne @f
|
jne @f
|
||||||
call but_center
|
call but_center
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
|
;¯¥à¥¤¢¨¦¥¨¥ ¢á¥å ®¡ê¥ªâ®¢ á奬ë
|
||||||
|
cmp byte[tim_ch],0
|
||||||
|
jne .no_move
|
||||||
|
cmp ah,14
|
||||||
|
jne @f
|
||||||
|
stdcall pole_move_all, pole, -1, 0
|
||||||
|
call redraw_pole
|
||||||
|
@@:
|
||||||
|
cmp ah,15
|
||||||
|
jne @f
|
||||||
|
stdcall pole_move_all, pole, 1, 0
|
||||||
|
call redraw_pole
|
||||||
|
@@:
|
||||||
|
cmp ah,16 ;ᤢ¨£ áå¥¬ë ¢¢¥àå
|
||||||
|
jne @f
|
||||||
|
stdcall pole_move_all, pole, 0, -1
|
||||||
|
call redraw_pole
|
||||||
|
@@:
|
||||||
|
cmp ah,17 ;ᤢ¨£ áå¥¬ë ¢¨§
|
||||||
|
jne @f
|
||||||
|
stdcall pole_move_all, pole, 0, 1
|
||||||
|
call redraw_pole
|
||||||
|
@@:
|
||||||
|
.no_move:
|
||||||
|
|
||||||
cmp ah,20
|
cmp ah,20
|
||||||
jne @f
|
jne @f
|
||||||
call but_set_0
|
call but_set_0
|
||||||
@ -1275,6 +1348,7 @@ align 4
|
|||||||
proc but_save_file
|
proc but_save_file
|
||||||
locals
|
locals
|
||||||
napr dd ?
|
napr dd ?
|
||||||
|
s_param dd ? ;¯ à ¬¥âà ¤«ï ªà ᨢ®£® á®åà ¥¨ï
|
||||||
endl
|
endl
|
||||||
pushad
|
pushad
|
||||||
;*** ¢ë§®¢ ¤¨ «®£®¢®£® ®ª ¤«ï á®åà ¥¨ï ä ©«
|
;*** ¢ë§®¢ ¤¨ «®£®¢®£® ®ª ¤«ï á®åà ¥¨ï ä ©«
|
||||||
@ -1549,6 +1623,7 @@ pushad
|
|||||||
mov edi,eax
|
mov edi,eax
|
||||||
|
|
||||||
mov ecx,dword[esi]
|
mov ecx,dword[esi]
|
||||||
|
mov dword[s_param],0
|
||||||
.cycle4: ;横« ¯® ¢á¥¬ â®çª ¬
|
.cycle4: ;横« ¯® ¢á¥¬ â®çª ¬
|
||||||
add esi,4
|
add esi,4
|
||||||
mov ebx,[esi]
|
mov ebx,[esi]
|
||||||
@ -1574,12 +1649,22 @@ pushad
|
|||||||
add edi,eax
|
add edi,eax
|
||||||
movzx eax,dh
|
movzx eax,dh
|
||||||
stdcall convert_int_to_str
|
stdcall convert_int_to_str
|
||||||
stdcall str_cat,edi,txt_space
|
|
||||||
;stdcall str_cat,edi,txt_nl
|
cmp dword[s_param],7 ;¤«ï ä®à¬ â áâப¨
|
||||||
|
je .new_line
|
||||||
|
inc dword[s_param]
|
||||||
|
stdcall str_cat,edi,txt_space
|
||||||
|
jmp @f
|
||||||
|
.new_line:
|
||||||
|
mov dword[s_param],0
|
||||||
|
stdcall str_cat,edi,txt_nl
|
||||||
@@:
|
@@:
|
||||||
dec ecx
|
dec ecx
|
||||||
jnz .cycle4
|
jnz .cycle4
|
||||||
stdcall str_cat,edi,txt_nl
|
cmp dword[s_param],0
|
||||||
|
je @f
|
||||||
|
stdcall str_cat,edi,txt_nl
|
||||||
|
@@:
|
||||||
|
|
||||||
;*** á®åà ¥¨¥ ¨§®«ï樮ëå â®ç¥ª ***
|
;*** á®åà ¥¨¥ ¨§®«ï樮ëå â®ç¥ª ***
|
||||||
stdcall str_cat,edi,txt_sub_points
|
stdcall str_cat,edi,txt_sub_points
|
||||||
|
Loading…
Reference in New Issue
Block a user