Update February 28, 2021


  1. New line drawing code which is 100x faster and has a lot less clutter.
  2. The line drawing code is now using procedural shader-based stippling rather than textures. This enables much more seamless and regular stippling, overall better looking than in the previous version, and allows to render all lines in a single pass.
  3. Keep old line drawing just for the currently edited line in line editor.
  4. Store track drawing in a tile cache, like it is done for lines. This should help players with slower PCs and very locally dense, large builds.
  5. Switch train AI back to (cacheable) track length based pathfinding, since the train avoidance heuristics were not working very well. This also results in a general train AI speed up.
  6. The leg calculator has been reviewed to match as much as possible the actual train AI.
  7. Allow to set train pax occupation % in leg calculator.
  8. Expose train leg timer in train info. A new ETA and km counter is now displayed in the train editor info panel and in a tool tip for the speed counter in the train info window.
  9. Bump max trip time to 4 days.
  10. New map option: map labels.
  11. Show more train timer info in train info window.
  12. Add a texture # counter to the mod listing to make it visible to players there is a train texture limit.
  13. When cloning a train, the schedule is not cloned by default anymore. Add an extra checkbox in the bill to opt in to cloning the schedule.
  14. In multischedule editor, "select all trains" is now "select all listed trains", so it only selects trains which have their line or model group open.
  15. Sanitize save file names even more, handling all documented forbidden for Windows.
  16. Store per-line the last values of pax occupation and ideal avg. speed for the leg calculator.
  17. In train purchase bill, default the "clone schedule" checkbox to true when the initiator was the clone button, and to false when the initiator was the "purchase new trains" button.
  18. Lock/unlock all stops buttons in line editor (only while the calculator is open).
  19. Make next stop list the default for train info windows.
  20. Better wording for train ETA labels.
  21. Make train ETA info visible in line status panel.
  22. Avoid running train pathfinder AI if the current and next track offer no opportunities for a new path.
  23. Train path finder should not consider reversing direction as a free step.
  24. Detect if the GPU is AMD, and then automatically change the renderer to OpenGL to avoid bugs with the Direct3D renderer. This will happen only once and the user can switch back to Direct3D if they want to.
  25. A few users have broken permissions in their home folder and/or are trying to run the game in job-provided computers with restrictive enterprise policies enabled that prevent it from creating its saved games folder. As a last resort, create the saved games folder in the Roaming config folder.
  26. Fix: stop adding and min wait time to the leg timer in some conditions.
  27. Fix: some track editor actions didn’t properly invalidate the track render cache.
  28. Fix: depots were missing their roofs.
  29. Fix: cloning trains should try to restore the default code and name if it was not edited by the user.
  30. Fix: leg timer should correctly be stopped while a train is doing a scheduled stop, since leg times are meant to only include running time, not waiting time.
  31. Fix: changing the line color does not invalidate line render cache.
  32. Fix: always store train colors and consider the v2 recolor flags only at the moment of drawing the train.
  33. Fix: zooming while holding RMB should not reset map position.
  34. Fix: also support 720p users in new train purchase UI (temporary until the rest of v2 data is exposed).
  35. Fix crash: mod uploader file picker for icons was being picky.
  36. Fix crash: correctly handle malformed numbers in some input boxes.
  37. Fix: leg timer was sometimes counting an extra track length, adding a few extra seconds.
  38. Fix: reset all train stats when cloning trains to make sure they belong to the selected combination.