Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 2631 → Rev 2632

/programs/media/log_el/trunk/le_signal.inc
/programs/media/log_el/trunk/log_el.asm
17,6 → 17,8
color_s3 equ 0xff0000 ;¢à¥¬¥­­®¥ §­ ç¥­¨¥ ¤«ï á®åà ­¥­¨ï
 
color_border dd ini_def_c_border
opt_sign_moves dd 4
opt_fast_mode dd 0 ;¡ëáâàë© à¥¦¨¬
 
debug equ 0
 
52,7 → 54,7
include 'le_signal.inc'
 
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
caption db '‹®£¨ç¥áª¨¥ í«¥¬¥­âë 05.04.12',0 ;¯®¤¯¨áì ®ª­ 
caption db '‹®£¨ç¥áª¨¥ í«¥¬¥­âë 19.04.12',0 ;¯®¤¯¨áì ®ª­ 
 
panel_0_coord_top equ 5 ;¢¥àå­ïï ª®®à¤¨­ â  0-£® à鸞 ¯ ­¥«¨ ¨­áâà㬥­â®¢
panel_1_coord_top equ 35
89,8 → 91,8
 
macro elOpt nam,col,box_x,box_y,table, tbl_i_legs, ol0, ol1, ol2
{
@@: db nam
rb @b+16-$
@@: db nam,0
rb @b+el_offs_col-$
dd col
db box_x
db box_y
112,6 → 114,8
elOpt 'not', 0xffff, 3,3,tbl_not, tbl_il_1, 1
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 'ms[2]', 0x8080ff,7,14,tbl_ms_2, tbl_il_m2,6
elOpt 'ms[2]e',0x8080ff,7,17,tbl_ms_2_e,tbl_il_m2e,8
;elOpt 'cd[8]', 0x8000, 7,17,tbl_cd_8,tbl_il_8, 6,2,2 ;è¨äà â®à ­  8 ¢å®¤®¢
.end:
elOpt '???', 0x808080,3,3,tbl_and.3, tbl_il_1, 1 ;­¥ ®¯®§­ ­­ë© í«¥¬¥­â
128,6 → 132,20
tbl_xor db 0,1,1,0
tbl_sm db 0,2,2,1, 2,1,1,3
tbl_not db 1,0 ;not
 
;¬ã«ì⨯«¥ªá®à ¤«ï 2-å à §à來®£® ᨣ­ « 
align 4
tbl_ms_2_e: ;á® ¢å®¤®¬ 'e'
dq 0,0,0,0,0,0,0,0
tbl_ms_2:
db 0,1,0,1,0,1,0,1
db 0,1,0,1,0,1,0,1
db 0,0,1,1,0,0,1,1
db 0,0,1,1,0,0,1,1
db 0,0,0,0,1,1,1,1
db 0,0,0,0,1,1,1,1
dq 0
db 1,1,1,1,1,1,1,1
;tbl_cd_8 db ;256=2^8
 
;â ¡«¨æë ¤«ï ¢å®¤­ëå ­®£
136,6 → 154,8
tbl_il_3 db 1,2,2,0
tbl_il_4 db 1,2,2,2,0
tbl_il_5 db 1,2,2,2,2,0
tbl_il_m2 db 1,2,2,2,3,2,0
tbl_il_m2e db 1,2,2,2,3,2,3,0
;tbl_il_8 db 1,2,2,2,2,2,2,2,0
 
time dd 0
227,6 → 247,9
key_color_s1 db 's1',0
key_color_s2 db 's2',0
key_color_captions db 'captions',0
ini_sec_options db 'Options',0
key_opt_sign_moves db 'signal_moves',0
key_opt_fast_mode db 'fast_mode',0
 
align 4
start:
267,6 → 290,11
add ebx,size_el_opt
loop @b
 
stdcall dword[ini_get_int],file_name,ini_sec_options,key_opt_sign_moves,[opt_sign_moves]
mov dword[opt_sign_moves],eax
stdcall dword[ini_get_int],file_name,ini_sec_options,key_opt_fast_mode,[opt_fast_mode]
mov dword[opt_fast_mode],eax
 
;*** ¯®¤£®â®¢ª  ¤¨ «®£ 
stdcall [OpenDialog_Init],OpenDialog_data
stdcall [buf2d_create], buf_0 ;ᮧ¤ ­¨¥ ¡ãä¥à 
367,12 → 395,27
cmp byte[tim_ch],0
je @f
inc dword[time]
cmp dword[opt_fast_mode],0
jne .fast_m
call sign_move
stdcall [buf2d_draw], buf_0
mov eax,[time]
and eax,11b ;ªà â­®áâì 4-¬
xor edx,edx
div dword[opt_sign_moves]
cmp edx,0 ;¯à®¢¥à塞 ªà â­®áâì opt_sign_moves
jnz @f
call sign_from_elems
call sign_from_captions
jmp @f
.fast_m:
mov ecx,[opt_sign_moves]
cld
.cycle:
call sign_move
loop .cycle
call sign_from_elems
call sign_from_captions
stdcall [buf2d_draw], buf_0
@@:
 
popad
1088,8 → 1131,8
copy_path open_dialog_name,communication_area_default_path,file_name,0
mov [OpenDialog_data.type],0
stdcall [OpenDialog_Start],OpenDialog_data
cmp [OpenDialog_data.status],2
je .end_open_file
cmp [OpenDialog_data.status],1 ;0 - Cancel 1 - Open 2 - Error open dialog
jne .end_open_file
;ª®¤ ¯à¨ 㤠筮¬ ®âªàë⨨ ¤¨ «®£ 
 
mov eax,70 ;70-ï äã­ªæ¨ï à ¡®â  á ä ©« ¬¨
1162,7 → 1205,7
mov byte[txt_buf+sp_offs_el_angle],al ;­ ¯à ¢«¥­¨¥
call str_next_val
;¯®  ¤à¥áã edi ­ §¢ ­¨¥ í«¥¬¥­â 
stdcall el_get_name, edi
stdcall el_get_name, edi,13 ;13 - ascii code
mov byte[txt_buf+sp_offs_el_type],al ;⨯ í«¥¬¥­â 
 
stdcall make_list_capts,txt_buf,edi
1877,7 → 1920,7
jnz @f
mov ebx,el_opt_beg+el_offs_nam ;¥á«¨ ­¥ ¢§ï«®áì ¨¬ï í«¥¬¥­â , â® ¯® 㬮«ç ­¨î ¡¥à¥¬ 1-© ¨§ ᯨ᪠
@@:
stdcall el_get_name, ebx
stdcall el_get_name, ebx,0
mov byte[txt_buf+sp_offs_el_type],al ;⨯ í«¥¬¥­â 
 
stdcall make_list_capts,txt_buf,ebx
1888,15 → 1931,32
ret
endp
 
;description:
;  ­ «¨§¨àã¥â áâபã á ¨¬¥­¥¬ «®£. í«¥¬¥­â  ¨ ¢®§¢à é ¥â ­®¬¥à «®£. í«¥¬¥­â 
;input:
; str - 㪠§ â¥«ì ­  áâபã ᮤ¥à¦ éãî ¨¬ï «®£. í«¥¬¥­â 
; asciiz - ᨬ¢®« ª®â®àë© ¤®«¦¥­ ¡ëâì § ¬¥­¥­ ­  ascii 0
;output:
; eax - ⨯ í«¥¬¥­â 
align 4
proc el_get_name uses ecx edi esi, str:dword
proc el_get_name uses ebx ecx edi esi, str:dword, asciiz:dword
mov edi,[str]
cmp dword[asciiz],0
je @f
mov eax,dword[asciiz]
mov ecx,el_offs_col ;à §¬¥à ⥪áâ  ¢ str ­¥ ¡®«ìè¥ el_offs_col
cld
repne scasb
mov ebx,edi
dec ebx
mov byte[ebx],0 ;0 - ᨬ¢®« ª®­æ  áâப¨ ¤«ï ¯à ¢¨«ì­®© à ¡®âë str_cmp
@@:
 
mov edi,[str]
mov esi,el_opt_beg+el_offs_nam
xor ecx,ecx
@@:
stdcall str_instr, edi,esi
stdcall str_cmp, edi,esi
cmp eax,0
je @f
add esi,size_el_opt
1906,6 → 1966,12
jmp @b
@@:
mov eax,ecx
 
cmp dword[asciiz],0
je @f
mov ecx,dword[asciiz]
mov byte[ebx],cl
@@:
ret
endp
 
2124,7 → 2190,32
ret
endp
 
;description:
; ¯à®¢¥àï¥â ᮢ¯ ¤¥­¨¥ áâப str0 ¨ str1
;output:
; eax = 0 ¥á«¨ str0 = str1
; eax = 1 ¥á«¨ str0 != str1
align 4
proc str_cmp uses ecx edi esi, str0:dword, str1:dword
xor eax,eax
mov edi,[str0]
mov esi,[str1]
mov ecx,0x8fffffff ;ecx - ®ç¥­ì ¡®«ì讥 ç¨á«®
cld
repne scasb
;dec edi
sub edi,[str0]
mov ecx,edi ;ecx = strlen(str0)+1
 
mov edi,[str0]
repe cmpsb
je @f
inc eax
@@:
ret
endp
 
align 4
proc but_run_stop
xor byte[tim_ch],1
cmp byte[tim_ch],0
/programs/media/log_el/trunk/log_el.ini
15,3 → 15,6
and[3]=192,0,192
and[4]=192,0,192
and[5]=192,0,192
[Options]
signal_moves=4
fast_mode=0
/programs/media/log_el/trunk/multipl_2b.txt
0,0 → 1,18
size 90 80
elements 1
44 33 0 ms[2]e
captions 7
15 10 z d0
15 20 z d1
15 30 z d2
15 40 z d3
15 50 z s0
15 60 z s1
15 70 o e
points 28
15 10 1 15 20 1 15 30 1 15 40 1 15 50 1 15 60 1 15 70 1 29 30 6
31 20 6 31 43 3 31 50 12 33 10 6 33 45 3 33 60 12 35 48 3 35 70 12
42 40 4 42 48 4 42 45 4 42 43 4 42 38 4 29 38 9 31 36 9 42 36 4
42 34 4 33 34 9 53 41 1 74 41 4
subpoints 0