# Segnale di avviso da nascondere e piazzare in una sezione di blocco che
# si vuol far apparire cortissima (< 600 m) quando il segnale successivo è
# R | S | RGG. L'uso tipico è nelle stazioni di testa per avere l'aspetto
# RGG sui binari più corti, anche se sono più lunghi di 600 m. Purché sia
# posto a valle di essi, è compatibile con gli avvisi normali e con quelli
# nascosti che forzano la deviata (rfi_avv_dev.tds) o la presenza di un se-
# gnale di partenza (rfi_avv_part.tds).
#
# Aspetti: red_short (forza il binario corto), nothing (da ignorare)

# Special pure distant to be placed hidden, to force a block section to appear
# shorter than 600 m when the next signal shows R | S | RYY. Typical use is in
# head stations to force the RYY aspect towards the shortest tracks, even when
# they are longer than 600 m. When placed after them, it's compatible with the
# normal distants and with the special distants that force diverging aspects
# (rfi_avv_dev.tds) or the presence of a triangle exit signal (rfi_avv_part.tds).
#
# Aspects: red_short (forces a short track), nothing (to be ignored)

# P.Rosati  21/01/2021 (Versione 5.1)

Aspect: red_short
	IconE: NN_b_E.xpm
	IconW: NN_b_W.xpm
	IconN: NN_b_N.xpm
	IconS: NN_b_S.xpm
	Action: none

Aspect: nothing
	IconE: NN_b_E.xpm
	IconW: NN_b_W.xpm
	IconN: NN_b_N.xpm
	IconS: NN_b_S.xpm
	Action: none

# initial aspect

OnInit:
	if next.aspect = red or next.aspect = shunt or next.aspect = red_yellow_yellow
		.aspect = red_short
	else
		.aspect = nothing
	end
end

# the player or a script cleared the signal

OnCleared:
	return
end

# this or another signal changed its aspect

OnUpdate:
	if next.aspect = red or next.aspect = shunt or next.aspect = red_yellow_yellow
		.aspect = red_short
	else
		.aspect = nothing
	end
end

# a train passed the signal

OnCross:
	return
end
