The second phase of the EOT implementation is now available in ORNYMG 117. It includes what is described here
http://www.elvastowe...post__p__281773 , as well as what is described here
http://www.elvastowe...post__p__281515 .
EOTs can also be attached at the beginning of the game to trains (both player and AI) adding at the end of the .con file a block like this one
ORTSEot (
EOTData ( EOT_OR TrainSimulations_EOT )
UiD ( 203 )
)
File EOT_OR must have extension .eot. Directory TrainSimulations_EOT must be within directory Trains\ORTS_EOT .
When such a block is used, the EOT will be in the Armed two way state (if it is an EOT that accepts that level) in AI trains and in player trains starting game at speed > 0. If instead the player train starts at zero speed, the EOT will be in the Disarmed state and will need to be armed using the cab controls.
To define which level an EOT is able to manage, it is suggested to add an extension of the .eot file within an Openrails subfolder which is within the EOT's folder.
Using as example the above EOT, within the TrainSimulations_EOT there will be an Openrails folder, and within that folder there will be an EOT_OR.eot with following content:
include ( ../EOT_OR.eot )
Wagon (
)
ORTSEOT (
Level ( "TwoWay" )
)
If no Level is defined the EOT is assumed to be a "dumb" one (NoComm level).
Accepted levels are NoComm, OneWay and TwoWay.
Of course it is still possible to start the player train using a .con file without EOT and adding the latter with the Ctrl-F9 pop-up window; it is also possible to have AI trains without EOT, if the above block is not present in their .con file.
If an uncoupling or coupling operation occurs to the player train and the EOT wasn't previously detached with the Ctrl-F9 window, the EOT will remain physically there, but the connection of the locomotive with the EOT will be lost. At that point a new EOT may be added at the new end of the train with the Ctrl-F9 window.
AI train locomotives will also loose connection with their EOTs after an attach or detach operation.
It might be that the code does not yet cover all possible operating cases.