diff --git a/programs/media/log_el/trunk/le_pole.inc b/programs/media/log_el/trunk/le_pole.inc
index 492ae2e6e4..6eb175ab3d 100644
--- a/programs/media/log_el/trunk/le_pole.inc
+++ b/programs/media/log_el/trunk/le_pole.inc
@@ -235,7 +235,7 @@ proc but_test_pole, pole:dword
 		mov eax,[esi]
 		add esi,4
 		stdcall convert_int_to_str
-		stdcall [buf2d_draw_text], buf_0, buf_font,edi,5,ebx,color_caption ;��㥬 㪠��⥫� �� ���ᨢ� �祪
+		stdcall [buf2d_draw_text], buf_0, buf_font,edi,5,ebx,[color_captions] ;��㥬 㪠��⥫� �� ���ᨢ� �祪
 		add ebx,9
 		loop @b
 	.end_dr:
@@ -565,7 +565,7 @@ endp
 align 4
 proc el_draw, h_elem:dword
 	pushad
-;el_offs_nam
+
 	mov edi,[h_elem]
 	mov eax,[edi] ;coord x
 	mov ebx,[edi+4] ;coord y
@@ -697,7 +697,7 @@ proc capt_draw uses eax ebx edi esi, h_capt:dword
 	cmp esi,3
 	jl @f
 		;�ᮢ���� ࠬ��, ����� ����⮩ �窨
-		stdcall draw_point_border, eax,ebx, color_caption
+		stdcall draw_point_border, eax,ebx, [color_captions]
 	@@:
 
 	add eax,[Cor_x]
@@ -719,7 +719,7 @@ proc capt_draw uses eax ebx edi esi, h_capt:dword
 	add edi,capt_offs ;edi - 㪠��⥫� �� ������ ������� (� ���न��⠬�)
 	call str_next_val
 	call str_next_val
-	stdcall [buf2d_draw_text], buf_0, buf_font,edi,eax,ebx,color_caption ;��㥬 ��ப� � ⥪�⮬
+	stdcall [buf2d_draw_text], buf_0, buf_font,edi,eax,ebx,[color_captions] ;��㥬 ��ப� � ⥪�⮬
 	ret
 endp
 
diff --git a/programs/media/log_el/trunk/le_signal.inc b/programs/media/log_el/trunk/le_signal.inc
index 9846c7a7e1..e3dc95e3dc 100644
--- a/programs/media/log_el/trunk/le_signal.inc
+++ b/programs/media/log_el/trunk/le_signal.inc
@@ -1 +1 @@
-;
; �㭪� ��� ᮧ����� ᨣ�����
;

;color_s0 - ᨣ��� 0
;color_s1 - ᨣ��� 1
;color_s2 - �窠 ��� ����祭��
;color_s3 - �६����� ���祭�� ��� ��࠭����

size_sign equ 10
sign_x equ 0
sign_y equ 4
sign_a equ 8
sign_z equ 9

sign_data dd 0 ;㪠��⥫� �� ���ᨢ � ������ࠬ� ᨣ�����
sign_count dd 0 ;⥪��. ���. ᨣ�����
sign_max dd 0 ;����. ���. ᨣ�����

align 4
proc sign_init uses eax ecx, m_count:dword
	mov ecx,[m_count]
	mov [sign_max],ecx
	imul ecx,size_sign
	stdcall mem.Alloc, ecx
	mov [sign_data],eax
	call sign_clear
	ret
endp

;���⪠ ��� ᨣ�����
align 4
proc sign_clear uses eax ecx edi
	xor eax,eax
	mov dword[time],eax
	mov dword[sign_count],eax
	mov ecx,[sign_max]
	imul ecx,size_sign
	mov edi,[sign_data]
	cld
	rep stosb
	ret
endp

;���⪠ ������ ᨣ����
align 4
proc sign_clear_one uses ecx edi esi, p_sign:dword
	mov ecx,size_sign
	mov esi,[sign_count]
	dec esi
	imul esi,ecx
	add esi,[sign_data]
	mov edi,[p_sign]
	cld
	rep movsb
	dec dword[sign_count]
	ret
endp

;�᢮�������� ����� ����⮩ ���ᨢ��� ��� ᨣ�����
align 4
proc sign_delete
	stdcall mem.Free, dword[sign_data]
	ret
endp

;�㭪�� ��� ��६�饭�� ᨣ�����
align 4
proc sign_move
	pushad
	mov ecx,[sign_count]
	cmp ecx,1
	jl .end_f
	mov esi,ecx
	dec esi
	imul esi,size_sign
	add esi,[sign_data]
	;cld
	.cycle_beg:
		mov eax,[esi+sign_x]
		mov ebx,[esi+sign_y]
		movzx edi,byte[esi+sign_a]
		movzx edx,byte[esi+sign_z]
		cmp edx,0
		je @f
			or edi,0x100
		@@:

		;��⠥��� ᮧ���� ࠧ��⢫���� ᨣ����
		stdcall move_rotate_n90, 0,-1,edi
		inc edi
		stdcall sign_creat,eax,ebx,edi

		stdcall move_rotate_n90, -2,0,edi
		add edi,2
		stdcall sign_creat,eax,ebx,edi

		mov eax,[esi+sign_x]
		mov ebx,[esi+sign_y]
		inc edi

		mov eax,[esi+sign_x]
		mov ebx,[esi+sign_y]
		shl edx,2
		add edx,shem_colors
		stdcall draw_signal_rect, eax,ebx, dword[edx] ;��㥬 ᨣ��� �� ����

		.move_1:
		stdcall move_rotate_x_n90, 1,edi

		mov edi,eax
		stdcall pole_cell_find, pole, edi,ebx
		cmp eax,0
		jne @f
			stdcall sign_clear_one,esi ;㤠����� ᨣ����, �᫨ �� ��襫 � �㯨�
			jmp .cycle_next
		@@:
		imul eax,sizeof.Cell
		add eax,dword[cell]
		movzx edx,byte[esi+sign_z]

		cmp byte[eax+offs_cell_liv],2
		jne @f
			;�᫨ �⮨� ����祭�� �஢����
			mov eax,edi
			movzx edi,byte[esi+sign_a]
			jmp .move_1
		@@:
		cmp byte[eax+offs_cell_liv],dl
		jne @f
			stdcall sign_clear_one,esi ;㤠����� ᨣ����, �᫨ �� ����� �� ������� ����襭�� ����� 梥⮬
			jmp .cycle_next
		@@:
		mov byte[eax+offs_cell_liv],dl ;�⠢�� �� ���� ���� ᨣ����

		mov [esi+sign_x],edi
		mov [esi+sign_y],ebx

		.cycle_next:

		sub esi,size_sign
		;loop .cycle_beg
		dec ecx
		jnz .cycle_beg
	stdcall [buf2d_draw], buf_0
	.end_f:
	popad
	ret
endp

align 4
proc sign_creat uses eax ebx ecx edx edi esi, coord_x:dword, coord_y:dword, opt:dword
	mov edi,[sign_count]
	cmp edi,[sign_max]
	jge .end_f
	mov esi,[coord_x]
	mov ebx,[coord_y]
	.found:
	stdcall pole_cell_find, pole, esi,ebx
	cmp eax,0
	je .end_f
		mov ecx,[opt]
		get_cell_offset edx,eax
		cmp byte[edx+offs_cell_liv],2
		jne @f
			mov eax,esi
			stdcall move_rotate_x_n90,1,ecx
			mov esi,eax
			jmp .found
		@@:
		cmp ch,byte[edx+offs_cell_liv] ;�஢��塞 �� ���� ���� ᨣ����
		je .end_f
		;�������� ��⠭���� ��⪨ � �஢��, ��-�� �������� �㡫�஢���� ᨣ����� �� �ப�� �஢����
		imul edi,size_sign
		add edi,[sign_data]
		mov [edi+sign_x],esi
		mov [edi+sign_y],ebx
		mov [edi+sign_a],cl
		mov [edi+sign_z],ch
		inc dword[sign_count]
		mov [edx+offs_cell_liv],ch ;�⠢�� �� ���� ���� ᨣ����
		;stdcall draw_signal_rect, [coord_x],[coord_y], 0x800080
	.end_f:
	ret
endp

;description:
; ����㭪�� ��� �ᮢ���� ᨣ����� �� �奬�
align 4
proc draw_signal_rect uses eax ebx edi, x0:dword,y0:dword, color:dword
	movzx edi,byte[zoom]
	mov ebx,[y0]
	mov eax,[x0]

	add ebx,[Cor_y]
	imul ebx,edi
	add eax,[Cor_x]
	imul eax,edi

	stdcall [buf2d_filled_rect_by_size], buf_0, eax,ebx,edi,edi, dword[color]
	ret
endp

align 4
proc sign_from_elems
locals
	s_inp dd ?
	n_leg dd ?
endl
	pushad
	mov edi,pole
	;*** ᮧ����� ᨣ����� �� �����᪨� ������⮢ ***
	stdcall dword[tl_node_poi_get_info],0,tree1
	pop esi
	@@:
		cmp esi,0
		je @f
		cmp word[esi],el_icon_elems ;����祭�� �१ esi ⨯ ������
		jne .end_add_p3
			stdcall [tl_node_poi_get_data], esi, tree1
			pop ecx

			;*** �஢�ઠ ᨣ����� �� �室��� �����
			mov dword[s_inp],0
			mov dword[n_leg],0 ;word[n_leg] - ����� �室��� ����
			mov edx,1
			.add_p1:
				stdcall el_get_leg_coords, ecx,dword[n_leg]
				test eax,eax
				jnz .get1
				test ebx,ebx
				jnz .get1
					jmp .end_add_p1 ;�᫨ ���न���� �� ��﫨�� (eax=0 && ebx=0), ��室 �� 横��
				.get1:
				stdcall pole_cell_find, pole, eax,ebx
				cmp eax,0
				je .get2
					imul eax,sizeof.Cell
					add eax,pole_data
					cmp byte[eax+offs_cell_liv],1
					jne .get2
					or dword[s_inp],edx
				.get2:
				inc dword[n_leg]
				shl edx,1
				jmp .add_p1
			.end_add_p1:

			;*** ��।��塞 ��室��� ��������� ��⮢ �� �᭮�� �������� ⠡���� ࠡ��� �������
			movzx eax,byte[ecx+sp_offs_el_type]
			imul eax,size_el_opt
			add eax,el_opt_beg+el_offs_table
			mov ebx,[eax]
			add ebx,dword[s_inp]
			mov ebx,[ebx]
			mov dword[s_inp],ebx

			;*** ��⠭���� ᨣ����� �� ��室��� �����
			mov dword[n_leg],(1 shl 16) ;word[n_leg] - ����� ��室��� ����
			.add_p2:
				stdcall el_get_leg_coords, ecx,dword[n_leg]
				test eax,eax
				jnz .get3
				test ebx,ebx
				jnz .get3
					jmp .end_add_p2 ;�᫨ ���न���� �� ��﫨�� (eax=0 && ebx=0), ��室 �� 横��
				.get3:
				movzx edx,byte[ecx+8] ;dl - ���ࠢ����� ᨣ����
				bt dword[s_inp],0
				jnc .set1
					or edx,0x100 ;dh - ���祭�� ᨣ���� 0 ��� 1
				.set1:
				stdcall sign_creat,eax,ebx,edx
				inc dword[n_leg]
				shr dword[s_inp],1
				jmp .add_p2
			.end_add_p2:

		.end_add_p3:
		stdcall dword[tl_node_poi_get_next_info],esi,tree1
		pop esi ;���室�� � ᫥��饬� 㧫�
		jmp @b
	@@:
	popad
	ret
endp

;ᮧ����� ᨣ����� �� �᭮�� �����ᥩ
align 4
proc sign_from_captions
	pushad
	mov edi,pole
	;*** ᮧ����� ᨣ����� �� �����ᥩ ***
	stdcall dword[tl_node_poi_get_info],0,tree1
	pop esi
	@@:
		cmp esi,0
		je @f
		cmp word[esi],el_icon_captions ;����祭�� �१ esi ⨯ ������
		jne .end_add_p3
			stdcall [tl_node_poi_get_data], esi, tree1
			pop ecx

			cmp byte[ecx+8],'n'
			je .end_add_p3 ;�᫨ ������� ���ଠ樮����, � �� ᮧ���� ᨣ����

			xor edx,edx
			;*** ��।��塞 ��室�� ���,
			;����� �� ��⠭����� � but_set_0 � but_set_1
			cmp byte[ecx+8],'o'
			jne .end_add_p1
				or edx,0x100
			.end_add_p1:
			stdcall sign_creat,dword[ecx],dword[ecx+4],edx

		.end_add_p3:
		stdcall dword[tl_node_poi_get_next_info],esi,tree1
		pop esi ;���室�� � ᫥��饬� 㧫�
		jmp @b
	@@:
	popad
	ret
endp

\ No newline at end of file
+;
; �㭪� ��� ᮧ����� ᨣ�����
;

;color_s0 - ᨣ��� 0
;color_s1 - ᨣ��� 1
;color_s2 - �窠 ��� ����祭��
;color_s3 - �६����� ���祭�� ��� ��࠭����

size_sign equ 10
sign_x equ 0
sign_y equ 4
sign_a equ 8
sign_z equ 9

sign_data dd 0 ;㪠��⥫� �� ���ᨢ � ������ࠬ� ᨣ�����
sign_count dd 0 ;⥪��. ���. ᨣ�����
sign_max dd 0 ;����. ���. ᨣ�����

align 4
proc sign_init uses eax ecx, m_count:dword
	mov ecx,[m_count]
	mov [sign_max],ecx
	imul ecx,size_sign
	stdcall mem.Alloc, ecx
	mov [sign_data],eax
	call sign_clear
	ret
endp

;���⪠ ��� ᨣ�����
align 4
proc sign_clear uses eax ecx edi
	xor eax,eax
	mov dword[time],eax
	mov dword[sign_count],eax
	mov ecx,[sign_max]
	imul ecx,size_sign
	mov edi,[sign_data]
	cld
	rep stosb
	ret
endp

;���⪠ ������ ᨣ����
align 4
proc sign_clear_one uses ecx edi esi, p_sign:dword
	mov ecx,size_sign
	mov esi,[sign_count]
	dec esi
	imul esi,ecx
	add esi,[sign_data]
	mov edi,[p_sign]
	cld
	rep movsb
	dec dword[sign_count]
	ret
endp

;�᢮�������� ����� ����⮩ ���ᨢ��� ��� ᨣ�����
align 4
proc sign_delete
	stdcall mem.Free, dword[sign_data]
	ret
endp

;�㭪�� ��� ��६�饭�� ᨣ�����
align 4
proc sign_move
	pushad
	mov ecx,[sign_count]
	cmp ecx,1
	jl .end_f
	mov esi,ecx
	dec esi
	imul esi,size_sign
	add esi,[sign_data]
	;cld
	.cycle_beg:
		mov eax,[esi+sign_x]
		mov ebx,[esi+sign_y]
		movzx edi,byte[esi+sign_a]
		movzx edx,byte[esi+sign_z]
		cmp edx,0
		je @f
			or edi,0x100
		@@:

		;��⠥��� ᮧ���� ࠧ��⢫���� ᨣ����
		stdcall move_rotate_n90, 0,-1,edi
		inc edi
		stdcall sign_creat,eax,ebx,edi

		stdcall move_rotate_n90, -2,0,edi
		add edi,2
		stdcall sign_creat,eax,ebx,edi

		mov eax,[esi+sign_x]
		mov ebx,[esi+sign_y]
		inc edi

		mov eax,[esi+sign_x]
		mov ebx,[esi+sign_y]
		shl edx,2
		add edx,shem_colors
		stdcall draw_signal_rect, eax,ebx, dword[edx] ;��㥬 ᨣ��� �� ����

		.move_1:
		stdcall move_rotate_x_n90, 1,edi

		mov edi,eax
		stdcall pole_cell_find, pole, edi,ebx
		cmp eax,0
		jne @f
			stdcall sign_clear_one,esi ;㤠����� ᨣ����, �᫨ �� ��襫 � �㯨�
			jmp .cycle_next
		@@:
		imul eax,sizeof.Cell
		add eax,dword[cell]
		movzx edx,byte[esi+sign_z]

		cmp byte[eax+offs_cell_liv],2
		jne @f
			;�᫨ �⮨� ����祭�� �஢����
			mov eax,edi
			movzx edi,byte[esi+sign_a]
			jmp .move_1
		@@:
		cmp byte[eax+offs_cell_liv],dl
		jne @f
			stdcall sign_clear_one,esi ;㤠����� ᨣ����, �᫨ �� ����� �� ������� ����襭�� ����� 梥⮬
			jmp .cycle_next
		@@:
		mov byte[eax+offs_cell_liv],dl ;�⠢�� �� ���� ���� ᨣ����

		mov [esi+sign_x],edi
		mov [esi+sign_y],ebx

		.cycle_next:

		sub esi,size_sign
		;loop .cycle_beg
		dec ecx
		jnz .cycle_beg
	stdcall [buf2d_draw], buf_0
	.end_f:
	popad
	ret
endp

align 4
proc sign_creat uses eax ebx ecx edx edi esi, coord_x:dword, coord_y:dword, opt:dword
	mov edi,[sign_count]
	cmp edi,[sign_max]
	jge .end_f
	mov esi,[coord_x]
	mov ebx,[coord_y]
	.found:
	stdcall pole_cell_find, pole, esi,ebx
	cmp eax,0
	je .end_f
		mov ecx,[opt]
		get_cell_offset edx,eax
		cmp byte[edx+offs_cell_liv],2
		jne @f
			mov eax,esi
			stdcall move_rotate_x_n90,1,ecx
			mov esi,eax
			jmp .found
		@@:
		cmp ch,byte[edx+offs_cell_liv] ;�஢��塞 �� ���� ���� ᨣ����
		je .end_f
		;�������� ��⠭���� ��⪨ � �஢��, ��-�� �������� �㡫�஢���� ᨣ����� �� �ப�� �஢����
		imul edi,size_sign
		add edi,[sign_data]
		mov [edi+sign_x],esi
		mov [edi+sign_y],ebx
		mov [edi+sign_a],cl
		mov [edi+sign_z],ch
		inc dword[sign_count]
		mov [edx+offs_cell_liv],ch ;�⠢�� �� ���� ���� ᨣ����
		;stdcall draw_signal_rect, [coord_x],[coord_y], 0x800080
	.end_f:
	ret
endp

;description:
; ����㭪�� ��� �ᮢ���� ᨣ����� �� �奬�
align 4
proc draw_signal_rect uses eax ebx edi, x0:dword,y0:dword, color:dword
	movzx edi,byte[zoom]
	mov ebx,[y0]
	mov eax,[x0]

	add ebx,[Cor_y]
	imul ebx,edi
	add eax,[Cor_x]
	imul eax,edi

	stdcall [buf2d_filled_rect_by_size], buf_0, eax,ebx,edi,edi, dword[color]
	ret
endp

align 4
proc sign_from_elems
locals
	s_inp dd ?
	n_leg dd ?
endl
	pushad
	mov edi,pole
	;*** ᮧ����� ᨣ����� �� �����᪨� ������⮢ ***
	stdcall dword[tl_node_poi_get_info],0,tree1
	pop esi
	@@:
		cmp esi,0
		je @f
		cmp word[esi],el_icon_elems ;����祭�� �१ esi ⨯ ������
		jne .end_add_p3
			stdcall [tl_node_poi_get_data], esi, tree1
			pop ecx

			;*** �஢�ઠ ᨣ����� �� �室��� �����
			mov dword[s_inp],0
			mov dword[n_leg],0 ;word[n_leg] - ����� �室��� ����
			mov edx,1
			.add_p1:
				stdcall el_get_leg_coords, ecx,dword[n_leg]
				test eax,eax
				jnz .get1
				test ebx,ebx
				jnz .get1
					jmp .end_add_p1 ;�᫨ ���न���� �� ��﫨�� (eax=0 && ebx=0), ��室 �� 横��
				.get1:
				stdcall pole_cell_find, pole, eax,ebx
				cmp eax,0
				je .get2
					imul eax,sizeof.Cell
					add eax,pole_data
					cmp byte[eax+offs_cell_liv],1
					jne .get2
					or dword[s_inp],edx
				.get2:
				inc dword[n_leg]
				shl edx,1
				jmp .add_p1
			.end_add_p1:

			;*** ��।��塞 ��室��� ��������� ��⮢ �� �᭮�� �������� ⠡���� ࠡ��� �������
			movzx eax,byte[ecx+sp_offs_el_type]
			imul eax,size_el_opt
			add eax,el_opt_beg+el_offs_table
			mov ebx,[eax]
			add ebx,dword[s_inp]
			mov ebx,[ebx]
			mov dword[s_inp],ebx

			;*** ��⠭���� ᨣ����� �� ��室��� �����
			mov dword[n_leg],(1 shl 16) ;word[n_leg] - ����� ��室��� ����
			.add_p2:
				stdcall el_get_leg_coords, ecx,dword[n_leg]
				test eax,eax
				jnz .get3
				test ebx,ebx
				jnz .get3
					jmp .end_add_p2 ;�᫨ ���न���� �� ��﫨�� (eax=0 && ebx=0), ��室 �� 横��
				.get3:
				movzx edx,byte[ecx+8] ;dl - ���ࠢ����� ᨣ����
				bt dword[s_inp],0
				jnc .set1
					or edx,0x100 ;dh - ���祭�� ᨣ���� 0 ��� 1
				.set1:
				stdcall sign_creat,eax,ebx,edx
				inc dword[n_leg]
				shr dword[s_inp],1
				jmp .add_p2
			.end_add_p2:

		.end_add_p3:
		stdcall dword[tl_node_poi_get_next_info],esi,tree1
		pop esi ;���室�� � ᫥��饬� 㧫�
		jmp @b
	@@:
	popad
	ret
endp

;ᮧ����� ᨣ����� �� �᭮�� �����ᥩ
align 4
proc sign_from_captions
	pushad
	;mov edi,pole
	;*** ᮧ����� ᨣ����� �� �����ᥩ ***
	stdcall dword[tl_node_poi_get_info],0,tree1
	pop esi
	@@:
		cmp esi,0
		je @f
		cmp word[esi],el_icon_captions ;����祭�� �१ esi ⨯ ������
		jne .end_add_p3
			stdcall [tl_node_poi_get_data], esi, tree1
			pop ecx

			cmp byte[ecx+8],'n'
			je .end_add_p3 ;�᫨ ������� ���ଠ樮����, � �� ᮧ���� ᨣ����

			;xor edx,edx
			movzx edx,byte[ecx+9] ;��ࢮ��砫쭮� ���ࢫ���� ��室���� ᨣ����
			;*** ��।��塞 ��室�� ���,
			;����� �� ��⠭����� � but_set_0 � but_set_1
			cmp byte[ecx+8],'o'
			jne .end_add_p1
				or edx,0x100
			.end_add_p1:
			stdcall sign_creat,dword[ecx],dword[ecx+4],edx

		.end_add_p3:
		stdcall dword[tl_node_poi_get_next_info],esi,tree1
		pop esi ;���室�� � ᫥��饬� 㧫�
		jmp @b
	@@:
	popad
	ret
endp

; �����塞 ��ࢮ��砫쭮� ���ࢫ���� ��室���� ᨣ����
; ���⠢������ 2 ���ࠢ�����: ᫥�� �� �ࠢ�, �ࠢ� �� ����
; ��⠫�� 2 ��������� ���ࠢ����� �� ���뢠����,
; �. �. ������� ᨣ����� �������� � ��� ���
align 4
proc sign_set_captions_angles
	pushad
	mov edi,pole
	stdcall dword[tl_node_poi_get_info],0,tree1
	pop esi
	.cycle0:
		cmp esi,0
		je .cycle0_end
		cmp word[esi],el_icon_captions ;����祭�� �१ esi ⨯ ������
		jne .end_p0
			stdcall [tl_node_poi_get_data], esi, tree1
			pop ecx

			mov ebx,[ecx] ;ebx = coord x
			xor edx,edx
			dec ebx
			stdcall pole_cell_find, edi, ebx,dword[ecx+4]
			cmp eax,0
			je @f
				mov edx,2
				;jmp .set_angle
			@@:

			;.set_angle:
			mov byte[ecx+9],dl ;��ࢮ��砫쭮� ���ࢫ���� ��室���� ᨣ����
		.end_p0:
		stdcall dword[tl_node_poi_get_next_info],esi,tree1
		pop esi ;���室�� � ᫥��饬� 㧫�
		jmp .cycle0
	.cycle0_end:
	popad
	ret
endp
\ No newline at end of file
diff --git a/programs/media/log_el/trunk/log_el.asm b/programs/media/log_el/trunk/log_el.asm
index ab3035c9b4..d192c1fefc 100644
--- a/programs/media/log_el/trunk/log_el.asm
+++ b/programs/media/log_el/trunk/log_el.asm
@@ -15,7 +15,6 @@ color_s0 equ 0xff ;ᨣ
 color_s1 equ 0xffffff ;ᨣ��� 1
 color_s2 equ 0xff00 ;�窠 ��� ����祭��
 color_s3 equ 0xff0000 ;�६����� ���祭�� ��� ��࠭����
-color_caption equ 0x808080
 
 color_border dd ini_def_c_border
 
@@ -53,7 +52,7 @@ include 'le_pole.inc'
 include 'le_signal.inc'
 
 @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
-caption db '�����᪨� �������� 29.03.12',0 ;������� ����
+caption db '�����᪨� �������� 05.04.12',0 ;������� ����
 
 panel_0_coord_top equ 5 ;������ ���न��� 0-�� �鸞 ������ �����㬥�⮢
 panel_1_coord_top equ 35
@@ -110,7 +109,7 @@ 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[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 'sm[1]', 0x8080ff,7,7,tbl_sm,  tbl_il_3, 1,4
 ;elOpt 'cd[8]', 0x8000, 7,17,tbl_cd_8,tbl_il_8, 6,2,2 ;����� �� 8 �室��
@@ -227,6 +226,7 @@ key_color_border db 'border',0
 key_color_s0 db 's0',0
 key_color_s1 db 's1',0
 key_color_s2 db 's2',0
+key_color_captions db 'captions',0
 
 align 4
 start:
@@ -253,6 +253,19 @@ start:
 	mov	dword[shem_colors+4],eax
 	stdcall dword[ini_get_color],file_name,ini_sec_color,key_color_s2,color_s2
 	mov	dword[shem_colors+8],eax
+	stdcall dword[ini_get_color],file_name,ini_sec_color,key_color_captions,[color_captions]
+	mov	dword[color_captions],eax
+
+	mov ebx,el_opt_beg+el_offs_nam
+	mov ecx,(el_opt_beg.end-el_opt_beg)/size_el_opt ;�������⢮ ⨯�� ������⮢
+	cld
+	@@:
+		push ecx
+		stdcall dword[ini_get_color],file_name,ini_sec_color,ebx,[ebx+el_offs_col-el_offs_nam]
+		pop ecx
+		mov	dword[ebx+el_offs_col-el_offs_nam],eax
+		add ebx,size_el_opt
+		loop @b
 
 	;*** �����⮢�� �������
 	stdcall [OpenDialog_Init],OpenDialog_data
@@ -1062,6 +1075,7 @@ shem_elems dd 0 ;
 shem_captions dd 0
 shem_colors:
 	dd color_s0, color_s1, color_s2, color_s3
+color_captions dd 0x808080
 
 align 4
 open_file_lif:
@@ -1506,8 +1520,8 @@ pushad
 		je .cycle1_end
 		cmp word[esi],el_icon_elems ;����祭�� �१ esi ⨯ ������
 		jne .end_add_p1
-;			stdcall [tl_node_poi_get_data], esi, tree1
-;			pop ecx
+;                       stdcall [tl_node_poi_get_data], esi, tree1
+;                       pop ecx
 			inc dword[shem_elems]
 if 0
 			xor edx,edx ;edx - ����� �室��� ����
@@ -2122,6 +2136,7 @@ proc but_run_stop
 	@@:
 		;�����⮢�� �奬� � ������
 		call sign_clear
+		call sign_set_captions_angles
 	.end_f:
 	ret
 endp
diff --git a/programs/media/log_el/trunk/log_el.ini b/programs/media/log_el/trunk/log_el.ini
index 2a4147b2e6..a151af49a6 100644
--- a/programs/media/log_el/trunk/log_el.ini
+++ b/programs/media/log_el/trunk/log_el.ini
@@ -1,6 +1,17 @@
 [Colors]
-background=255,255,255 ;���� ����
-border=128,0,0 ;... �������
-s0 = 0,128,255 ;... �������
-s1 = 255,0,0 ;... �������
-s2 = 0,0,192 ;... �����������
\ No newline at end of file
+background=255,255,255 ;梥� 䮭�
+border=128,0,0 ;.. �࠭���
+s0 = 0,128,255 ;.. �஢���
+s1 = 255,0,0   ;.. ᨣ����
+s2 = 0,0,192   ;.. ����祭��
+captions=128,128,128 ;.. �����ᥩ
+not   =0,64,192
+xor   =0,192,0
+or[2] =192,0,0
+or[3] =192,0,0
+or[4] =192,0,0
+or[5] =192,0,0
+and[2]=192,0,192
+and[3]=192,0,192
+and[4]=192,0,192
+and[5]=192,0,192