Skip to content

Additional commands for running on other tracks#988

Merged
leezer3 merged 19 commits intomasterfrom
OtherTracks
Apr 3, 2024
Merged

Additional commands for running on other tracks#988
leezer3 merged 19 commits intomasterfrom
OtherTracks

Conversation

@leezer3
Copy link
Owner

@leezer3 leezer3 commented Feb 12, 2024

#329 implements the basic mechanics for running on other tracks.

This PR is a follow-up to add some of the commands / modifications needed to make this actually 'useful' rather than a tech demo.

Current additions:

Track.RailLimit railIndex; speedLimit; direction; cource

Allows a speed limit change event to be placed on a secondary track.
railIndex sets the index for the track. All other parameters are the same as Track.Limit

Track.RailBuffer railIndex; playerTrainOnly

Allows a buffer to be placed on a secondary track.
railIndex sets the index for the track.
playerTrainOnly sets whether this affects the player, or all trains (including TFO)- by default this affects the player train only

TODO / Useful Additions:

  • Add derailment speed for switches. This more than likely requires two additional parameters adding to the Track.Switch command (e.g. speedL & speedR_)
  • A speed limit change event should be raised at switches depending on direction. This may require some refactoring inside the parser (as no running record of limits is kept, just changes) n.b. Similar but different to the above.....
  • Speed limits should be shown on the switch map, so if we route into a different track with a lower limit the player knows about it
  • RunIndex needs sorting for secondary tracks, as currently this mirrors Track0.
  • The buffer command needs reworking to be usable on secondary tracks. Probably add Track.RailBuffer
  • Rain / snow events should be raised on secondary tracks. This might be more problematic with legacy beacons, but it ought to be possible to check the type and if appropriate add an event to all tracks.
  • Add a rail based brightness command. Track.RailBrightness

More Complex:

  • Signalling doesn't really work if we switch tracks around a section. This will be a problem.....
  • No really useable way to make a properly diverging track. I do wonder about joining another file to a switch to provide this.....
  • Beacons on secondary tracks. Simple ones are fine, but signalling related will be an issue (see above)

@leezer3 leezer3 merged commit 052247d into master Apr 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant