--------------------------- Open Rails X4230 --------------------------- System.InvalidOperationException: Collection was modified; enumeration operation may not execute. at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext() at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate) at Orts.Viewer3D.SharedMaterialManager.Mark(Material material) in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Materials.cs:line 407 at Orts.Viewer3D.Material.Mark() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Materials.cs:line 560 at Orts.Viewer3D.SceneryMaterial.Mark() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Materials.cs:line 979 at Orts.Viewer3D.ShapePrimitive.Mark() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Shapes.cs:line 1259 at Orts.Viewer3D.SharedShape.Mark() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Shapes.cs:line 2013 at Orts.Viewer3D.StaticShape.Mark() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Shapes.cs:line 159 at Orts.Viewer3D.RollingStock.MSTSWagonViewer.Mark() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\RollingStock\MSTSWagonViewer.cs:line 780 at Orts.Viewer3D.TrainDrawer.Mark() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Trains.cs:line 104 at Orts.Viewer3D.World.Load() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\World.cs:line 109 at Orts.Viewer3D.Viewer.Load() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Viewer.cs:line 685 at Orts.Viewer3D.Processes.GameStateViewer3D.Load() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\GameStateViewer3D.cs:line 126 at Orts.Viewer3D.Processes.LoaderProcess.Load() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:line 158 at Orts.Viewer3D.Processes.LoaderProcess.DoLoad() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:line 138 --------------------------- OK ---------------------------
Timetable concept Alternative way to define running of trains
#501
Posted 26 March 2019 - 06:44 AM
#502
Posted 08 April 2019 - 04:55 AM
#503
Posted 08 April 2019 - 05:38 AM
Howky, on 08 April 2019 - 04:55 AM, said:
No, it wouldn't.
The present set-up of multiplayer doesn't allow for the necessary distribution of all required data.
It would require a full redesign of multiplayer to make it possible to do something like that.
Regards,
Rob Roeterdink
#504
Posted 22 April 2019 - 02:10 PM
Most of this code update concerns small improvements and corrections. Most of these were problems relating to attach / detach /pickup / transfer moves, in particular if this involved the player train.
Some more visible changes are :
- The new activate/activated functions are now included.
- The dispatcher hud now shows the total number of active trains at the top.
- Trains which are delayed are now moved to the top of the list in the dispatcher hud.
This might help in checking and analysing the timetable as delayed trains are now always shown. - The program now always starts in 'paused' mode.
This is particularly useful for long and busy timetables for when starting a train late in such a timetable, the program can take quite some time before the prerun is ready and the train starts.
There is no longer any need to stay glued to the monitor waiting for the startup to finish.
Regards,
Rob Roeterdink
PS. A demonstration timetable which includes all new features is now available in this post
#505
Posted 23 April 2019 - 01:16 AM
I have a problem though. Some non player trains with pickup or transfer do not resume after couplling. The platform exit signal remains red, or if not in a station the train does not move.
The F5 Hud shows stp or sta N+295 Auth / stat signal /stop
This is in x1.3.1-52-gc441fa37 (this new naming is hard work!) I do not see any log errors
The same trains and timetable work ok before the update, and specifically ok in x4222 and x4075
thanks, rick
#506
Posted 23 April 2019 - 05:22 AM
If this is the case, then either move the attach/transfer command to a station location or split the train which is now stuck such that it starts at as new train in the location where the attach/transfer is to take place.
If you cannot find any such link, run the train which gets stuck as player train and see what the station information window (F10) is showing. It's likely that this window shows the information on what the train is waiting for.
Regards,
Rob Roeterdink
#507
Posted 24 April 2019 - 04:51 AM
To avoid spoiling this thread, I will continue in my own thread about my route timetable
http://www.elvastowe...142#entry247142
#508
Posted 08 August 2019 - 04:10 AM
This now also includes full definitions for pools and turntable pools.
Some notes on the use of turntable pools :
- At present, turntables can only be used for pool access, so for storing or extracting engines.
It is not yet possible to use turntables for just turning only. - It is not possible to perform shunt moves in or around turntables.
So it is not possible to place wagons on turntables and turn the wagon only, or use shunt engines to shunt wagons or 'dead' locos onto storage tracks. - When using turntable in timetable for player train, do NOT use manual controls as defined for explorer and activity mode.
In timetable mode, the turntable will act automatically for the player train just as it would for AI trains.
Updated manual :

Number of downloads: 1153
Example files for turntable.
This zip-file contains the .turntable-or definition file for the turntable at Durango on the Rio Grande Southern route, as well as all path files used in that definition.

Number of downloads: 559
Regards,
Rob Roeterdink
#509
Posted 02 October 2019 - 12:10 PM
The turntable function may or may not still be available in the monogame versions. I do not run the monogame versions myself so I cannot tell.
My apologies for anyone who was using or intending to use this function.
Regards,
Rob Roeterdink
#510
Posted 12 October 2019 - 10:23 AM
roeter, on 02 October 2019 - 12:10 PM, said:
The turntable function may or may not still be available in the monogame versions. I do not run the monogame versions myself so I cannot tell.
My apologies for anyone who was using or intending to use this function.
Problem has been solved (with thanks to James Ross).
This function has now been merged into the Testing version (master), and so is also automatically included in the Unstable version.
Regards,
Rob Roeterdink
#511
Posted 20 January 2020 - 03:34 PM
https://youtu.be/2_-0d2rRrhI
https://psk.trainsim.pl/
https://or.trainsim.pl/aktualnosci/
#512
Posted 25 January 2020 - 05:20 AM
I am playing quite a lot with timetable now. On the Route I play with there are several stations with multiple patform on one track. I know it is allowed only one stop per station and column. But how to deal with situation when I need to stop at the second platfom? Would be possible to use "platform name" as well as station name or siding name?
#513
Posted 25 January 2020 - 03:05 PM
There's two things that can be done, depending on the situation.
First is to use different station names, allocating the two platforms to different stations. Works fine, but does limit the possible use of 'connection' statements. But, if connections are not used, it is the easiest way out.
The other option is to force the train to proceed through the first platform using a "$keepclear /rear=nnn" statement. The value 'nnn' needs to be set such that the train stops at the further platform. If there is a signal between the two platforms, the qualifier "/force" must be used to make the train pass the signal.
I have used this option on 'split' platforms where the train required the full platform due to its length. I have not used it, though, to force a train to proceed fully beyond the first platform and stop in the second platform, ao I can't be quite sure if that will work.
Regards,
Rob Roeterdink
#514
Posted 26 January 2020 - 03:54 AM
First option works well for me. I am not using connection at this moment.
Second option works well for AI train, but not for player train. In this case, if the player train stops at the second platform, the station in not registered.
Thank you
Vasi
#515
Posted 20 February 2020 - 11:42 AM