News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

Dat file reference for: Signals and Signalboxes

Started by Ves, October 23, 2015, 12:10:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ves

This guide applies to Simutrans-Extended version 12.x and above only.

Short comments about the new signals in Simutrans-Extended:

Unidirectional
Signals are now unidirectional signals that no longer prevent trains passing in the opposite direction, but are ignored by trains passing in the opposite direction.
However its possible to build bidirectional signals if they are using the working method of cab_signalling, moving_block as well as track_circuit_block

Signalboxes
A signal can't just be built anymore as in previous versions: They need signalboxes in order to be built. A signalbox is in the real world the shelf or the building from which the signals are controlled, and newer techniques allows for more efficient signal systems with greater numbers and more remote controlled signals. In Simutrans, the signalbox is coded as a player building to be put next to the track: Dat file reference for: Buildings and Stops
Video of Signals and signalboxes

Aspects
The signals may now be coded to have up to 5 aspects, in addition to aspects for permissive signals and choose signals showing alternative routes.
The ordinary five aspects are:
# DANGER
# CLEAR
# CAUTION
# PRELIMINARY CAUTION
# ADVANCED CAUTION


Aditional aspects that can be added:
# CALL ON
# CLEAR (subsidiary route)
# CLEAR (main route)
# CAUTION (subsidiary route)
# etc........

More details how to combine the aspects are described underneath in the dat-file reference.

Permissive signals
It is now possible to make a signal work in the permissive block mode. This is a variation of either track circuit block or absolute block or cab_signalling. It is a real life signalling system that is used to increase line capacity. I think that it is still used on the London Underground, or, in any event, was in use there until very recently. In a permissive block system, a train that is brought to a stand at a signal at danger may proceed even though the signal is at danger provided that it travels slowly enough to stop on seeing the train ahead. This is only possible where the signal controls a section of straight, unidirectional track. In real life, there sometimes are and sometimes are not subsidiary signal arms showing a "call on" aspect allowing the train to proceed in this way. has_call_on=1 indicates the presence of graphics for such an aspect. It is possible to have permissive signals without a visible call on aspect: in this case, they will continue to show a danger aspect when the train passes. There are underground permissive signals that work in this way in Pak128.Britian-Ex. In Simutrans-Extended, permissive signals will work as such only if the route to the next signal has no junctions. If there are junctions, the permissive functionality is disabled and the signal works as an ordinary stop signal. In Pak128.Britain-Ex, the signal's sighting speed is lower for these call on signals, so there is a real disadvantage in placing them where they do not work as such. Provided that the line to the next signal has no junction, the train, once it has come to a stand at the signal, will be given a call on aspect, and will be able to proceed in drive by sight mode. This allows multiple trains to enter a section, which might be useful in busy goods loops, for instance, or low speed high density urban passenger lines. Choose signals cannot be permissive signals, as it is assumed that there will be junctions ahead. Note, however, that it is planned in future for signals that are not defined as permissive to have call on aspects to deal with light engine movements and splitting and combining trains; this is a significant new set of features, however, and has not been implemented yet.

Choose signals
The choose signals have now become even smarter! Beside their function to send trains to different platforms on a station, it can now also find a free path through occupied tracks on a station to the other end for bypassing trains. This feature is used together with an "end of choose"-sign which has to be placed on the exits of the station. When a train aproach the choose signal, it will be given a route all the way till its destination or the "end of choose" sign, whichever is encountered first.
Also the signal can now have different graphics whether it operate as a choose signal or as a normal signal.

"Station signals"
Signals with working_method=time_interval or working_method=time_interval_with_telegraph as well as is_longblocksignal=1, will behave as station signals when placed on a station tile. Station signals will clear only if another train has not departed in the same direction from any platform within 5 minutes (or such other time as may have been specified in simuconf.tab for time interval signals). Only one station signal is needed for all platforms, since the station signal is per definition bidirectional and will work in either direction. The station signal in time interval with telegraph mode will additionally not clear unless it can make a directional reservation (as before). In principle, station signals in plain time interval mode should also not clear unless the sighting distance number of tiles beyond the station are clear.
The station signals are most suited to small stations or stations on single track lines. Larger stations would better suit more plain signals on each platform.
Also note that the station signal do not signal towards the station: You will still need a choose signal.

Additionally, these parameters needs to be set in order to achieve a station signal:
is_longblocksignal=1
has_selective_choose=1
aspects=3

As well as these graphics:
# DANGER
# CLEAR (inverse)
# CAUTION (inverse)
# CLEAR (obverse)
# CAUTION (obverse)



Short about signals working methods:

drive by sight
When the train leaves the depot, this will automatically be its initial working method. The train driver uses his eyes to look ahead and secure that the track is free. This working method is ideal for eg trams inside cities, so they can drive closer to each other.
- Trains will never go faster than to stop inside its sighting distance.
- No signals at all are needed for trains to operate in this working method.
- Creates very easy deadlocks
- Trains automatically go into drive by sight when they leave the depot, or leave a platform with no signal on it, or passes a sign with working_method=drive_by_sight
Video of drive by sight signalling

Time interval signalling
- Signals are at clear by default
- Signals will turn to danger on the passage of a train
- Signals will revert to caution 5 (in-game) minutes after a train passes
- Signals will revert to clear 10 (in-game) minutes after a train passes
- Trains must pass signals at caution at no more than half line speed or half the signal's sighting speed, whichever is the lower
- Pre-signals are effective as repeaters and serve to enhance the sighting distance of a stop signal
- If trains collide in this method, both trains will come to a stand for a long time before continuing in the drive by sight working method
- Choose signals have some choose functionality, but be careful to avoid deadlocks at terminus stations with this working method

Time interval with telegraph
*to be added*

One train staff
One train staff (and "staff" as in stick rather than employee) is a system in which only one train is permitted on a whole stretch of line. It is very simple in operation: only a train whose driver is in physical possession of the staff may enter the section. This system must therefore have only one entry and exit point for all trains, or else the staff will be left in the wrong place. It is only really useful for either entire lines where only one train is running (very basic railways, where this would be placed on the exit from the depot and not on the train's normal route), or single track dead-end sections that have no internal signalling. In Simutrans-Extended, the staff cabinets (there can be more than one for a section, but they must be placed in an immediately adjacent tile to one another to work as one) work by reserving the train's entire route until it comes back and reaches that cabinet again (or until it reaches the same point in its schedule as it is now, whichever is sooner).

Token block
Token block is a much more sophisticated system than "One train staff" -system and can be used to control singletracked lines. In real railways, it requires a train's driver to hold a physical token before entering the section. However, there is more than one such token, meaning that many trains can go through the section in one direction one after another. Only one token can be released at any one time. This is ensured by telegraph equipment at either end of the section. The rest of the tokens are locked in the token machine. This allows signalling of a single track line with multiple sections and multiple entry and exit points. In Simutrans-Extended, trains will reserve the route only as far as the next signal, but will not unreserve the route until they pass the next signal.

Absolute block
The absolute block system prevents that no more than one train is inside the same block at the same time. This is especially used on lines with two or more tracks.
Usually, everything is checked by the humans in the signalboxes, which use telephone or telegraph to communicate between signalboxes. In some cases there where some level of protection like electromechanic or electric relay systems to prevent a signal or a point to be shifted at wrong times.
It has the particular feature of generally having only two aspect signals, but three aspect signals did exist, and the distant aspect where then controlled from the next signalbox on the line, why its called a "combined signal" (code: is_presignal=1 and aspects=3).This means that the next signalbox must be in range of the three aspect signal, otherwise no presignal aspects are shown.
Normal distant signals indicate the aspects of all the signals controlled by the same signalbox. This means that the distant signal should be placed BEFORE the "first" signal that the signalbox control. If any signal that the signalbox control show danger, the distant signal will also show caution. Only if all signals are clear, the distant signal will show clear.
The intermediate blocksignal makes it possible to split a section between two signal boxes in two without having to build an additional signalbox.

Track circuit block
The main feature of track circuit block in reality is that its an automatic signal and works for single tracked lines. The tracks can now automatically detect wether there is a train on the track, and this is used to work the signals. On a straight piece of track with no junctions between signals, the signal will automatically revert to danger on sensing a train in the block behind the signal. When no train is in the next block, the signal will show "clear". However, in some paksets (countries), the signal will show "danger" instead of "clear" until approached by a train (used with normal_danger=1). Signals at junctions in track circuit block are semi-automatic and will remain at danger until a route is booked to another signal.
The distant signals now always represent the state of the very next signal, not all the stop signals controlled by the same signalbox as had hitherto been the case with absolute block signalling. This means that multiple aspect signal are available: a single signal which contains indications not just as to whether the block ahead is free, but also as to whether the block after that (or the third or fourth block) is clear.
- Trains will make a directional reservation (shown in blue in the block reservation display) when they reserve through a section containing bidirectional signals
- The directional reservation ends at the next one way sign
- A tile with a directional reservation can be reserved (as a normal (red) block reservation) by any train proposing to go in the same direction
- Bidirectional lines in track circuit block mode should be signalled using bidirectional signals.
If is_presignal=1 is defined, then it can only have aspects=2.

Cab signalling
Cab signals are treated in exactly the same way as track circuit block multiple aspect signals, save that there is an unlimited sighting distance. For ETRMS style signals with no visible aspects, it is recommended to leave the number of aspects at 2 to prevent reserving further ahead than necessary.

Moving block signalling
- The "max_distance_to_signalbox" parameter in the .dat files is used as the maximum distance between  the signals themself (the signalbox range works as normal)
- If there is more than this maximum space between signals, trains will revert to drive by sight mode after the point at the end of that space.
- Choose signals will not let a train past them unless the whole block is free, in a similar fashion to absolute/track circuit block signals.
- The above behaviour of choose signals is necessary to prevent deadlocks at terminus stations. Always use a choose signal before terminus stations when using moving block signals.



.dat parameters for signals:

obj=roadsign
name=
copyright=
waytype=track
intro_year=
intro_month=
retire_year=
retire_month=
cost=

maintenance: The amount of Simucents(??) this signal costs per month
maintenance=

signal_upgrade_cost: The amount of Simucents it costs to upgrade TO this signal. Default if not specified: Full purchase price.
signal_upgrade_cost=

upgrade_group: Another signal in the same upgrade group as this signal will automatically upgrade to this signal in the following conditions:
(1) The other signal is obsolete;
(2) This signal can be built and is not obsolete; and
(3) the underlying track is being renewed or replaced.
Be very careful to make sure that signals in the same signal group are functionally identical to avoid unpredictable results, and likewise, make sure that only one signal in every upgrade group is current at the same time so as to avoid unpredictable results.
upgrade_group= (Example upgrade_group=4)

working_method: The working method used by this signal. Default if not specified: track_circuit_block. Using drive_by_sight makes this signal an "end of signalling" sign (beyond which trains will operate in drive by sight mode) rather than a signal in the conventional sense. Possible methods:

working_method=drive_by_sight
working_method=time_interval
working_method=time_interval_with_telegraph
working_method=one_train_staff
working_method=token_block
working_method=absolute_block
working_method=track_circuit_block
(default, if nothing specified)
working_method=cab_signalling
working_method=moving_block


is_signal: Wheter this is a normal signal. As in Standard, is_signal=1 should not be defined at the same time as is_presignal=1 is defined. Exception is for a combined signal (see below).
is_signal=1

is_presignal: This signal is a distant- or repeater signal (dependent on the working method). If this signal has more than 2 aspects and use "working_method=absolute_block"  it is treated as a combined signal (that is, a signal that is both a distant and a stop signal at once). The stop signal part will always work, but the distant signal part will only work if the next signalbox on the train's route is in range. If signal is  "working_method=track_circuit_block", is_presignal=1 is only supported when "aspects=2"
is_presignal=1

is_longblocksignal: A signal with this parameter will attempt to create a directional reservation like if it had been a double faced track circuit block signal, despite it is being a single faced signal. Currently, the parameter can only be used on time interval w/o telegraph signals and the other working methods that serve directional reservations.
If this parameter is used together with the time interval w/o telegraph working methods, this signal will become a "station signal" (read the top most section).
is_longblocksignal=1

aspects: the number of aspects that a signal has (default: 2 for all signals but pre-signals; max numbers of aspects is 5)
aspects= (Example: aspects=4)

max_speed: The maximum speed at which a train can safely approach this signal in km/h. Used to simulate that some signals might be difficult to read above certain speeds (default if not specified: 160)
max_speed=

free_route: This signal is a choose signal.
free_route=1

has_selective_choose: Whether special graphics are provided for this signal when it is operating as a choose signal or as a normal signal.
has_selective_choose=1

permissive: If this signal shows "stop", trains may proceed beyond this signal in "drive by sight" working method. Can be used together with has_call_on=1 to show a specific graphic when the train proceed beyond the signal.
permissive=1

has_call_on: Whether the signal has specific "call-on" graphics defined.
has_call_on=1

max_distance_to_signalbox: The maximum distance in meters from any signalbox that this signal can be placed EXCEPT for signals with working_method=moving_block, in which this entry specify the maximum distance between moving block signals/beacons (any greater space than these and the train reverts to drive by sight after that distance has passed). A value of zero equals to an infinite distance to signalbox.
max_distance_to_signalbox=

signal_groups: A comma separated list of numbers (1 to 31); if any of these numbers match any numbers specified in a signalbox's "signal_groups" comma separated list, this signal can be built from that signalbox. An entry of 0 (default) or 1 (a known bug) means that this signal can be built without a signalbox. Therefore, the lowest usable value is 2.
signal_groups= (Example: signal_groups=2,5,17,24)

allow_underground: whether this signal may be built underground, overground or both. 0 means that it can be built only overground. 1 means that it can be built only underground. 2 means that it can be built either underground or overground. Default: 2
allow_underground=

intermediate_block: Together with working_method=absolute_block, this signal is an "intermediate block"-signal, which allows an extra section to be inserted into an absolute block section between two signal boxes using semi-automatic signals without replacing the signalbox or existing mechanical signals
intermediate_block=1

normal_danger: This signal wil not reset to clear after a train has passed it. Used together with working_method=track_circuit_block or working_method=cab_signalling to simulate countries where signals must be at danger by default.
normal_danger=1

double_block: Only allowed with working_method=absolute_block, working_method=track_circuit_block and working_method=cab_signal, this signal resembles the functionallity of the Simutrans Standard "Two block signal". It will not clear unless the next signal can also be set to clear. This is especially usefull when you change working methods and want a train to hold at another position than where the signal with the new working method is located.
double_block=1

single_way: Makes this a oneway sign
single_way=1

is_private: Makes the tracks behind this sign private for you
is_private=1

end_of_choose: Makes this an end of choose sign. Choose signals may find paths to go through a station up to this sign.
end_of_choose=1


Graphics representation:
Dependent on which parameters is included above, the order of the graphics parameters are different.
Starting from Image[0], every state has 4 pictures defined in this order:
2 Aspect: DANGER, CLEAR
3 Aspect: DANGER, CLEAR, CAUTION
4 Aspect: DANGER, CLEAR, CAUTION, PREL CAUTION
5 Aspect: DANGER, CLEAR, CAUTION, PREL CAUTION, ADV CAUTION
Signals with has_selective_choose=1 defined:
2 Aspect: DANGER, CLEAR (sub route), CLEAR (main route)
3 Aspect: DANGER, CLEAR (sub route), CAUTION (sub route), CLEAR (main route), Caution (main route)
4 Aspect: DANGER, CLEAR (sub route), CAUTION (sub route), PREL CAUTION (sub route), CLEAR (main route), CAUTION (main route), PREL CAUTION (main route)
5 Aspect: DANGER, CLEAR (sub route), CAUTION (sub route), PREL CAUTION (sub route), ADV CAUTION (sub route), CLEAR (main route), CAUTION (main route), PREL CAUTION (main route), ADV CAUTION (main route)
Signals with has_call_on=1 defined:
2 Aspect: DANGER, CLEAR, CALL ON
3 Aspect: DANGER, CLEAR, CAUTION, CALL ON
4 Aspect: DANGER, CLEAR, CAUTION, PREL CAUTION, CALL ON
5 Aspect: DANGER, CLEAR, CAUTION, PREL CAUTION, ADV CAUTION, CALL ON
A signal with is_presignal=1 and aspects=2:
2 Aspect: CAUTION, CLEAR

A "station signal" will need these graphics definitions:
3 Aspect: DANGER, CLEAR (inverse), CAUTION (inverse), CLEAR (obverse), CAUTION (obverse)

Example from Pak.Britain object: four-aspect-colour-light-led-square-choose

# DANGER
Image[0]=images/signal-1-aspect-led-square-route-indicator-danger.1.2,42,-2
Image[1]=images/signal-1-aspect-led-square-route-indicator-danger.1.0,-37,12
Image[2]=images/signal-1-aspect-led-square-route-indicator-danger.1.1,-7,-18
Image[3]=images/signal-1-aspect-led-square-route-indicator-danger.1.3,10,27
# CLEAR (subsidiary route)
Image[4]=images/signal-1-aspect-led-square-route-indicator-clear.1.2,42,-2
Image[5]=images/signal-1-aspect-led-square-route-indicator-clear.1.0,-37,12
Image[6]=images/signal-1-aspect-led-square-route-indicator-clear.1.1,-7,-18
Image[7]=images/signal-1-aspect-led-square-route-indicator-clear.1.3,10,27
# CAUTION (subsidiary route)
Image[8]=images/signal-1-aspect-led-square-route-indicator-caution.1.2,42,-2
Image[9]=images/signal-1-aspect-led-square-route-indicator-caution.1.0,-37,12
Image[10]=images/signal-1-aspect-led-square-route-indicator-caution.1.1,-7,-18
Image[11]=images/signal-1-aspect-led-square-route-indicator-caution.1.3,10,27
# PRELIMINARY CAUTION (subsidiary route)
Image[12]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution.1.2,42,-2
Image[13]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution.1.0,-37,12
Image[14]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution.1.1,-7,-18
Image[15]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution.1.3,10,27
# CLEAR (main route)
Image[16]=images/signal-1-aspect-led-square-route-indicator-clear-main.1.2,42,-2
Image[17]=images/signal-1-aspect-led-square-route-indicator-clear-main.1.0,-37,12
Image[18]=images/signal-1-aspect-led-square-route-indicator-clear-main.1.1,-7,-18
Image[19]=images/signal-1-aspect-led-square-route-indicator-clear-main.1.3,10,27
# CAUTION (main route)
Image[20]=images/signal-1-aspect-led-square-route-indicator-caution-main.1.2,42,-2
Image[21]=images/signal-1-aspect-led-square-route-indicator-caution-main.1.0,-37,12
Image[22]=images/signal-1-aspect-led-square-route-indicator-caution-main.1.1,-7,-18
Image[23]=images/signal-1-aspect-led-square-route-indicator-caution-main.1.3,10,27
# PRELIMINARY CAUTION (main route)
Image[24]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution-main.1.2,42,-2
Image[25]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution-main.1.0,-37,12
Image[26]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution-main.1.1,-7,-18
Image[27]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution-main.1.3,10,27
Icon=> images/signal-icons.6.8
Cursor=images/signal-icons.6.9


.dat parameters for signalboxes:
The signal boxes are treated as buildings with the normal building parameters: Dat file reference for: Buildings and Stops

Obj=building
type=signalbox
Name=
copyright=
intro_year=
intro_month=
retire_year=
retire_month=
level=
cost=
maintenance=
population_and_visitor_demand_capacity=
employment_capacity=
mail_demand=
allow_underground= 0=only overground, 1=only underground, 2=both over- and underground

signal_groups: As with signals: see above
signal_groups= (Example: signal_groups=16,24)

radius: The maximum distance in meters from this signalbox that any signal connected to it can be placed
radius=

capacity: The maximum number of signals that can be connected to this signalbox at any given time
capacity=


To be updated........


edit 24/10-15 - Ves: Updated with some general info and aspects
edit 28/10-15 - Ves: Corrected info about is_signal
edit 9/11-15 - Ves: Added Intermediate block signals
edit 11/11-15 - Ves: Added more info about track circuit block and absolute block
edit 17/11-15 - Ves: Added "normal_danger=1"
edit 3/2-16 - Ves: Added references to the dat file reference for Buildings and Stops
edit 22/5-16 - Ves: Added text to upgrade costs
edit 30/6-16 - Ves: Added initial about time interval with telegraph and is_longblocksignal
edit 13/9-16 - Ves: Added information about "Station signals"
edit 6/2-17 - Ves: info about signal_groups=1
edit 28/4-17 - Ves: Added information about double_block=1
edit 11/6-17 - Ves: Added the meaning of max_distance_to_signalbox=0 as well as correcting some typos

jamespetts

This is rather splendid! I do not have the time to edit the text this evening, but there are one or two small things: absolute block needs a little more detail (it is not the same as in Standard, for example), but this can wait until my absolute block video tutorial. The graphics section needs to show five aspect signals (as well as call on for permissive signals). You may want to mention that bidirectional signalling works in cab signalling and moving block as well as track circuit block, and also that unidirectional signals no longer prevent trains passing in the opposite direction, but are ignored by trains passing in the opposite direction.

I will sticky this as it is very useful - thank you.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

I have modified the post, adding some more info about general stuff. There are definitively room for improvements, but its a start! Are there more topics worth mention at the top?
I removed the part that absolute block is the same as in standard, but i must say I dont know very much about that system and had troubble finding. Will wait for the video!
I added the fifth aspect, and added information about CALL ON. I hope that i understood correctly about their possition in the picture definitions?

jamespetts

I notice the addition of a reference in respect of intermediate block signals - thank you for updating!
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

Yes, i hope that I wrote correct info! Can you confirm wether I've 'found' all the dat-parameters possible to set for signals (and boxes) so far? I guess there will probably be more parameters in the future, but il try to keep track of the github!

jamespetts

I think that you have all of them so far - thank you again for the work!
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

jamespetts

Incidentally, Frank has suggested that it might be a good idea to put this information also onto the Simutrans Wiki that he maintains (see here in relation to a competition to translate translate parts of it). I wonder whether this might be worth looking into?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

You mean a wiki for entire Simutrans Ex? Or just the signals part? I guess yes! However its worth considering when to do that. Now the game is very much in progress, many parameters are changing and alot are not even existing yet. The easiest way to maintain such information is to update it directly when changing, is that possible on the wiki? In the forum, its very easy to write and alter with bb-code, I dont know what code is used at the wiki?

Frank

#8
for syntax see https://doc.tiki.org/Wiki-Syntax+Text?structure=HomePage+UserGuide

the Quicktags simplify much
for many there are dialogues

and the color highlighting it also simplifies

for more see help pages in Wiki

Vladki

What is the default value for signal_upgrade_cost ?
I think a sensible default would be full price of the new signal.

jamespetts

Quote from: Vladki on April 27, 2016, 07:05:12 PM
What is the default value for signal_upgrade_cost ?
I think a sensible default would be full price of the new signal.

The full price of the signal is indeed the default.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

I realize that I am getting a bit confused with which aspect a choose signal is supposed to show in which situations.
Would it be possible if you could write exactly what state is shown in which situation for the following signals?
This would help for future reference as well and be added to the above guide.


(All signals with has_selective_choose=1)

2 state signal:
Stop at designated platform
Stop at alternated platform
Stop and reverse at designated platform
Stop and reverse at alternated platform
Drive through via main route - CLEAR(main)
Drive through via alternated route - CLEAR(alternate)

3 state signal:
Next signal on trains schedule is DANGER
Stop at designated platform
Stop at alternated platform
Stop and reverse at designated platform
Stop and reverse at alternated platform
Drive through via main route
Drive through via alternated route

Next signal on trains schedule is CLEAR
Stop at designated platform
Stop at alternated platform
Stop and reverse at designated platform
Stop and reverse at alternated platform
Drive through via main route
Drive through via alternated route

jamespetts

I am not entirely sure precisely what you are asking for here; there are the main and subsidiary clear/caution aspects for choose signals (see the Pak128.Britain-Ex files for reference). The main aspect is shown when the train takes the same route as it would take if there were no choose signal; the subsidiary aspect is shown when it takes a different route to that which it would take were there no choose signal. Each aspect other than danger and call on has a version for subsidiary and main routes. Does this assist?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

Well the theory is clear. But in practice it does not. I see a lot of weird behavior with 3-aspect choose signals - reported in other threads. Sometimes showing the alternative route aspect when train goes over the normal path and vice versa. Also the caution/clear is not consistent when the train is scheduled to stop or not. Therefore I understand why Ves is asking about that.

jamespetts

Can you point me to the .dat files of the affected signals on Github so that I can examine them and try to see what the problem might be? That might be the easiest way of addressing these issues, I think.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

Thank you, that it helped me a bit, but i am still unsure what exactly the states a signal will be with the three state signal. Vladki is right, it I am confuced and dont know if I have made misstakes while making the signals or if there is something in the code. Then I remember that I never really understood how a choose signal will react in these situations.
So if you could help me fill in the question marks? :)


2 state signal







Stop and continue at designated platformCLEAR(main)
Stop and continue at alternated platformCLEAR(alternate)
Stop and reverse at designated platformCLEAR(main)
Stop and reverse at alternated platformCLEAR(alternate)
Drive through via main routeCLEAR(main)
Drive through via alternated routeCLEAR(alternate)

3 state signal:
Next signal on trains schedule is DANGER







Stop and continue at designated platform?
Stop and continue at alternated platform?
Stop and reverse at designated platform?
Stop and reverse at alternated platform?
Drive through via main routeCAUTION(main)
Drive through via alternated routeCAUTION(alternate)

Next signal on trains schedule is CLEAR







Stop and continue at designated platform?
Stop and continue at alternated platform?
Stop and reverse at designated platform?
Stop and reverse at alternated platform?
Drive through via main routeCLEAR(main)
Drive through via alternated routeCLEAR(alternate)

jamespetts

There should be no distinction between stopping and thence continuing and stopping and reversing in terms of the signal aspect to be displayed: in each case, the aspect ought to be caution, as no further route is reserved beyond the station. A brief test suggests that, in at least some cases where there are no junctions at the station (so that all the signals at the station are treated as automatic signals), the signal in advance of the station will show a clear aspect; I have not tested extensively enough to know at this stage whether this is an error or whether this is the intended result, as it might be where there are entirely automatic signals.

So, each of the various aspects in question will be either caution or clear main or alternate (main or alternate depending on whether it is using the designated route or not, and caution and clear as discussed above).

I am going to need to be pointed to the specific .dat files of signals with which you are having trouble and see that in connexion with in-game behaviour in order to understand the issues fully.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

So this is correct?

2 state signal

Stop and continue at designated platformCLEAR(main)
Stop and continue at alternated platformCLEAR(alternate)
Drive through via main routeCLEAR(main)
Drive through via alternated routeCLEAR(alternate)

3 state signal:
Next signal on trains schedule is DANGER

Stop and continue at designated platformCAUTION(main)
Stop and continue at alternated platformCAUTION(alternate)
Drive through via main routeCAUTION(main)
Drive through via alternated routeCAUTION(alternate)

Next signal on trains schedule is CLEAR

Stop and continue at designated platformCLEAR(main)
Stop and continue at alternated platformCLEAR(alternate)
Drive through via main routeCLEAR(main)
Drive through via alternated routeCLEAR(alternate)

The dat-file with a 3 aspect choose signal here: https://github.com/VictorErik/Pak128.Sweden-Ex/blob/half-height/Way/WayObjects/Rail%20Signals/Track%20Circuit%20Block.dat#L208
I think I got the parameters right?

I am anyway thinking of rearanging some of the aspects.

Rollmaterial

My experience is that signals will always show clear when a train is stopping, independently of the next signal, which normally shows danger.

jamespetts

These appear correct to me (without looking at the graphics themselves).
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

I found a bug in documentation (or in code) in respect to allow_underground for signals. Apparently the default in extended is 0 (only overground), while the default in standard is 2 (both). And documentation also says 2.
However for signalboxes the default is 2. I would recommend switching the default to 2 to be consistent with standard.

jamespetts

Thank you for that: now changed as suggested.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

AP

Quote from: Ves on October 23, 2015, 12:10:02 PM
Choose signals
The choose signals have now become even smarter! Beside their function to send trains to different platforms on a station, it can now also find a free path through occupied tracks on a station to the other end for bypassing trains. This feature is used together with an "end of choose"-sign which has to be placed on the exits of the station. When a train aproach the choose signal, it will be given a route all the way till its destination or the "end of choose" sign, whichever is encountered first.

Does this new "free overtaking path" feature of Choose Signals only work if one of the potential routes is a station platform?  Or will it also work on ordinary sections of track, if loops are introduced on a section of main line. I.e. freight train chooses left hand side of loop, so express train chooses right hand side of loop, and thus overtakes.

Vladki

In my tests, choosing the path works well without platforms. But there are some important things:

1. if the primary route is blocked, the alternative route is chosen only if it is clear all the way up to end-of-choose sign. This can easily deadlock a station on a single track line. If the primary tracks in the loop are occupied, and more trains are approaching from both directions, they will stop at the choose signal, blocking the exit, even if there are free tracks in the station.

2. Overtaking is possible only if you make one of the trains stop in the loop. Otherwise there is very little chance of the train in rear to make reservation all the way through the loop and get ahead. 3-aspect choose signal helps a lot.

AP

Quote from: Vladki on April 30, 2017, 04:55:08 PM
2. Overtaking is possible only if you make one of the trains stop in the loop. Otherwise there is very little chance of the train in rear to make reservation all the way through the loop and get ahead. 3-aspect choose signal helps a lot.
Presumably a long loop would also work,  if the slow and fast trains have an adequate difference in speed?

Vladki

#25
Well, probably yes, but the loop would have to be really very long (I would guess 4 blocks). Keep in mind that the faster train would have been already slowed down or even stopped behind the slow train, and kept one block behind. So it will have to accelerate from almost 0, catch up and overtake fast enough to get to the exit of the loop well ahead of the slow train. If the slow train stops, then the loop can be in the length of the train (or 1 block).

Checked in the game - if you have 3/4-aspect signals at the loop, there is quite a good chance for overtaking if the line ahead of loop is not clear when the first train approaches, and clears in time for the second to make the reservation through the loop. (and the loop is just one block)

zook2

I've just started playing SimEx on a new map after a long hiatus and feel somewhat flummoxed by the new signaling system. And while the video tutorials are well made, I'd much prefer a written documentation. So far this thread is the best source of information I accidentally came across. Accidentally because a "file reference" wasn't exactly what I was looking for; may I suggest that you'd rename it? Or is there any other documentation available?

Rollmaterial

There are help files in the game. Simply press any key that isn't a hotkey to open help and you will find them at the bottom of the menu bar on the left.

zook2

Sweet Jesus! He updated the help files! That's the last place I would ever have looked. Thanks!

Ves

I hope they are of some use, although they are still not updated to feature the latest additions. Also, I need to couple them to the signal windows! :)

Vladki

Hello, is there any meaning for level=X on signalboxes? Are there any defaults for different levels?

jamespetts

Quote from: Vladki on April 05, 2020, 11:58:12 AM
Hello, is there any meaning for level=X on signalboxes? Are there any defaults for different levels?

I believe that the level settings will affect the number of jobs that a signalbox has if the jobs setting has not been specified. For signalboxes, I believe that this should be regarded as a legacy compatibility setting only.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Phystam

I think the level affects whether one can build elevated way over the signalbox or not.

Vladki

Quote from: Phystam on April 11, 2020, 12:13:34 PM
I think the level affects whether one can build elevated way over the signalbox or not.
And what is the threshold?

jamespetts

Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

KneeOn

A quick question on the images on the example in the main post for the 4 aspect choose signal: you have used offsets, is there any reason specific to the function of the signal, or is that simply how you've drawn your graphics? Thanks!

jamespetts

I do not believe that there is anything inherent in the signal logic itself that requires offsets; I think that this is just how these specific graphics have been produced.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.