Additional signal types

Registered by r.roeterdink

This blueprint proposes the introduction of user-defined signal functions.
At present, the number of possible signal functions is restricted to the original MSTS signal functions:

* NORMAL
* DISTANCE
* REPEATER
* SHUNTING
* INFO

Added to these are preset OR-specific functions :

* SPEED
* ALERT (reserved but not yet implemented)

The proposal is, to allow the user to define and use any number of additional signal functions.
The additional signal functions must be defined in a special statement at the top of the sigcfg.dat file (statement : orsignalfunctions). This is not required for programming purposes, but is a saveguard such that a typing error does not inadvertently set a signal to a unintended signal function. Such an error can be hard to trace.

All signals defined to an additional signal function are processed similar as type INFO - that is, these signals can be used for information only and do not control trains directly.
Only NORMAL signals can control trains, and only SPEED signals can control speed settings. It is not possible to define additional signal functions which are processed as NORMAL or SPEED signals.

Otherwise, the user-defined signal functions can be used in exactly the same way as the original MSTS signal functions, e.g. by reference in the signal script file as SIGFN_<function> in all relevant signal script functions.

In order to be able to make a distinction between different types of NORMAL signals, it is also proposed to introduce a function subtype, specific to NORMAL signals only.

As with additional signal functions, it is required that all used subtypes must be defined at the top of the sigcfg.dat file (statement : ornormalsubtypes).

The actual subtype can be allocated to a specific signal type using the additional statement : or_normalsubtype.

A set of specific functions for use in the signal script to query the subtype or to find a signal with specific subtype will be made available, see blueprint on additional signal script functions for details.

Discussion: http://www.elvastower.com/forums/index.php?/topic/29992-proposal-to-introduce-user-defined-signal-function-types/
Roadmap: https://trello.com/c/L73wgYQz/294-additional-signal-types

Blueprint information

Status:
Complete
Approver:
James Ross
Priority:
Low
Drafter:
r.roeterdink
Direction:
Approved
Assignee:
r.roeterdink
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 1.3
Started by
r.roeterdink
Completed by
James Ross

Related branches

Sprints

Whiteboard

Implemented in X3863.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.