Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Programmable Waypoints #7674

Closed
Nik-mmzd opened this issue Jul 31, 2019 · 8 comments
Closed

Feature Request: Programmable Waypoints #7674

Nik-mmzd opened this issue Jul 31, 2019 · 8 comments

Comments

@Nik-mmzd
Copy link

@Nik-mmzd Nik-mmzd commented Jul 31, 2019

Please add programmable waypoints like in this patch
It'll be useful for easy configuration for large networks and easy train separation by speed/"express or with all stops".
I think with this feature it'll be easier for player to manage his train net because he'll only set up a waypoint (e.g. "ALLOW only trains with max_speed > 100km/h" or "ALLOW only NON-STOP trains") instead of all trains' orders lists
Also, it'll be very useful with NewGRFs like xUSSR Set

PS Sorry, I never had to write C++ programs so I can't write this patch and PR it by myself =(

@nielsmh
Copy link
Contributor

@nielsmh nielsmh commented Jul 31, 2019

Isn't this handled by conditional orders already?

@Nik-mmzd
Copy link
Author

@Nik-mmzd Nik-mmzd commented Jul 31, 2019

I think it's is a bit more flexible and easy to set up at least with separating trains by speed

@Nik-mmzd
Copy link
Author

@Nik-mmzd Nik-mmzd commented Jul 31, 2019

Usage case:
I have a line A - B - C - D - E - F - G
If I want to separate 160km/h trains from 250km/h trains and from 120km/h trains (to make it not slowing other trains) I need (I need trains to visit all stations on line):
a) with conditional orders: Make order like "go A through waypoint A waypoint B ... waypoint G to G" (and need to check and change all (shared) orders if something changed)
b) with conditional waypoints: order "go to A; go to G" (because conditional waypoints will separate trains automatically to different ways; also player will get more flexible infrastructure)
c) with fully separate infrastructure for different speeds "go to A; go to G" (but it'll use A LOT more space and money)

@auge8472
Copy link
Contributor

@auge8472 auge8472 commented Jul 31, 2019

Look like the JGRPP-feature Routing Restriction, which implements the restrictions (min/max speed, cargo, etc.) for signals.

@Nik-mmzd
Copy link
Author

@Nik-mmzd Nik-mmzd commented Jul 31, 2019

...but it still not in the vanilla... Maybe anyone will merge it into vanilla OpenTTD? Looks useful (use case is in upper message)

Also, I'll add more to that use case: It'll work better with Timetables feature, I think, because timetable will smaller and clearer to set up and check/use/modify

@auge8472
Copy link
Contributor

@auge8472 auge8472 commented Aug 1, 2019

...but it still not in the vanilla...

No, it isn't.

Maybe anyone will merge it into vanilla OpenTTD?

I don't know. Soneone (probably this would be @JGRennison as the author of the patch) has to open a pull request and then the devs have to accept the request (or not). They are the only people who are able to merge the code into the OpenTTD codebase (if they accept the change).

Beside from that you can play with the patch pack JGRPP which includes the patch Routing Restrictions beside many other patches. You can download a Windows binary from the bottom of the opening posting of the support thread in tt-forums.net or from the releases page of the Github-repo (look in "Assets"). If you are playing on Linux or MacOS you have to compile the pack yourself.

@JGRennison
Copy link
Contributor

@JGRennison JGRennison commented Aug 1, 2019

Maybe anyone will merge it into vanilla OpenTTD?

I don't know. Soneone (probably this would be @JGRennison as the author of the patch) has to open a pull request and then the devs have to accept the request (or not). They are the only people who are able to merge the code into the OpenTTD codebase (if they accept the change).

I am not planning to submit it as a PR, conceptually it is out of scope and it would not be accepted.

If you are just looking to filter on train speed in master/trunk OpenTTD you can do a quite limited form of this by using rail type sets with different speed limits (e.g. NuTracks GRF). The pathfinder does take rail speed limits into account.

@andythenorth
Copy link
Contributor

@andythenorth andythenorth commented Oct 22, 2019

Thanks for this. It's unlikely that this would be added to vanilla OpenTTD. Patchpacks are a better home for this type of feature. We try to keep the issue count low for the project, so I'm closing this one. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants