In this page we present the various scripts associated with the most common signals used by RFI (the Italian state-wide maintainer of railroad infrastructure), with the hope that they will serve as an example in the description of other, more complex combinations.

The various scripts refer to icons that represent the various aspects of the signals. Before using the .tds file it is therefore necessary to download the following file:

  • File signals.zip: contains the icons of 1- and 2-lights signals, including approach and permissive signals..

A sample layout, created by Paolo Scarazzato, uses all the .tds files described in these pages, and all the icons used to show the various aspects.

The layout is available at this link.

Single Light Signal

File: rfi_prot1.tds

As described in the previous page, the single light signal has the following characteristics:

Light Meaning Aspect Condition
red stop red  
yellow proceed, and get ready
to stop at the next signal
yellow next.aspect = red
green proceed green next.aspect ! red

Two Lights Signal with Associated Approach Signal

File: rfi_prot2.tds

Light Meaning Aspect Condition
red stop red  
yellow proceed, and get ready
to stop at the next signal on straight track
yellow next.aspect = red
green proceed on straight track green next.aspect ! red and
.switchThrown = 0
red-yellow proceed, and get ready to stop
at the next signal on a side track
red_yellow30
red_yellow60
red_yellow100
next.aspect = red and
.switchThrown and
.nextLimit = 30/60/100
red-green proceed; you can proceed after
the next signal on a side track.
red_green next.aspect ! red and
.switchThrown

One Light Approach Signal

File: rfi_avv1.tds

Approach signals are identified by the presence of the "none" action. That is:

Aspect: green
        IconE: gE.xpm
        Action: none

Aspect: yellow
        IconE: yE.xpm
        Action: none

The presence of this action makes the signal "passive" That is, even if the player clicks on the signal, its aspect will not change, since the aspect completely depends on the aspect of the next signal.

Light Meaning Aspect Condition
yellow proceed, but stop before next signal yellow next.aspect = red
green you can proceed after next signal green next.aspect ! red

Two Lights Approach Signal

File: rfi_avv2.tds

Light Meaning Aspect Condition
yellow proceed, but stop
before next signal
yellow next.aspect = red
green you can proceed after next signal green next.aspect = green
yellow-green proceed; slow down to 30 km/h
before reaching the next signal
yellow_green next.aspect = red_yellow30
flashing yellow-green proceed; slow down to 60 km/h
before reaching the next signal
yellow_green_flashing next.aspect = red_yellow60
alternating flashing
yellow-green
proceed; slow down to 100 km/h
before reaching the next signal
yellow_green_switching next.aspect = red_yellow100

Automatic Block Signals

File: rfi_autom1.tds

It is also possible to specify that a signal is an automatic block signal. In this case, use the following syntax in the "OnInit:" of the corresponding file:

OnInit:
        .aspect = red
        .fleeted = 1
end

Assigning the value "1" to the ".fleeted" property we make the signal an automatic block signal.

The other actions associated with the signal must be the following:

OnCleared:
    if .aspect = red
        if next.aspect = red
            .aspect = yellow
        else
            .aspect = green
        end
    end
end

OnUpdate:
    if .aspect = red
        return
    end
    if next.aspect = red
        .aspect = yellow
    else
        .aspect = green
    end
end

A sample layout created by Paolo Scarazzato is available. This layout contains all the .tds files described in these pages and all the icons used to display the various aspects.

The layout can be downloaded here.

The next page summarizes all possible events and properties associated with all layout elements (thus, not only signals but also tracks, trains, triggers etc.).