# Segnale di avanzamento (avviso ininfluente) da inserire adiacente al segnale
# successivo (normale o comune); si accende con 2 luci bianche solo se il se-
# gnale a cui è accoppiato è in "shunt" (rosso ma aperto, appunto, per le ma-
# novre). È un'alternativa a rfi_marm_m.tds e l'aspetto è lampeggiante se il
# segnale a valle del suo è spento.
#
# Aspetti: spento (stop), acceso (on), lampeggiante (flashing)

# "Move in" signal, a distant (irrelevant signal) to be placed adjoined to the
# next signal (normal or shared). It shows two white lights when the home signal
# is at "Shunt" (red, but passable), and it's an alternative to a shunting dwarf.
# The aspect is flashing if the signal next to its own is unlit.
#
# Aspects: stop (off), on, flashing

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

Aspect: stop
	IconE: AV_b_E.xpm
	IconW: AV_b_W.xpm
	IconN: AV_b_N.xpm
	IconS: AV_b_S.xpm
	Action: none

Aspect: on
	IconE: AV_w_E.xpm
	IconW: AV_w_W.xpm
	IconN: AV_w_N.xpm
	IconS: AV_w_S.xpm
	Action: none

Aspect: flashing
	IconE: AV_w_E.xpm AV_b_E.xpm
	IconW: AV_w_W.xpm AV_b_W.xpm
	IconN: AV_w_N.xpm AV_b_N.xpm
	IconS: AV_w_S.xpm AV_b_S.xpm
	Action: none

# initial aspect

OnInit:
	.aspect = stop
end

# the player or a script cleared the signal

OnCleared:
	return
end

# this or another signal changed its aspect

OnUpdate:
	.aspect = stop
	if .nextApproach.script > "rfi_com" and .nextApproach.script < "rfi_con"
		# Si accende solo se il suo (comune) è S - Lit only if its (shared) signal shows S
		if nextApproach.aspect = shunt
			.aspect = on
			if nextApproach.next.script > "rfi_LL" and nextApproach.next.script < "rfi_LN"
				return
			end
			# Se il segnale oltre il suo è spento, lampeggia
			# If signal beyond its own is unlit, flashes
			if nextApproach.next.aspect = disabled or nextApproach.next.aspect = off
				.aspect = flashing
			end
		end
	else
		# Si accende solo se il suo (normale) è S - Lit only if its (normal) signal shows S
		if next.aspect = shunt
			.aspect = on
			if next.next.script > "rfi_LL" and next.next.script < "rfi_LN"
				return
			end
			# Se il segnale oltre il suo è spento, lampeggia
			# If signal beyond its own is unlit, flashes
			if next.next.aspect = disabled or next.next.aspect = off
				.aspect = flashing
			end
		end
	end
end

# a train passed the signal

OnCross:
	return
end
