Invert the effect of Ctrl press when dragging signals #9637
Psst, I heard you like controversial changes ;)
Motivation / Problem
Signal autofill while being one of the most essential feature for playing and enjoying OpenTTD is currently hidden behind Ctrl magic. That makes it very hard to find for new players. And those who know about it still have to do that extra ctrl press every time which also makes it easier to accidentally build a semaphore when dragging too little. On the other hand, filling only selected stretch is one of the most useless feature in the game imo. I honestly struggle to think of any use case where it would be preferable to autofill. Dragging presignals when building priorities maybe?
This PR inverts the effect of Ctrl press when dragging signals. Now, with ctrl it will only fill the selected stretch while without it will do autofill to next junction/signal.
Checklist for review
Some things are not automated, and forgotten often. This list is a reminder for the reviewers.
The text was updated successfully, but these errors were encountered:
You know I like controversial changes. :D
I had no idea dragging signals without holding Ctrl extended them in the selected area only. I also can't think of a common use case for this.
I am +1 to this change. And not just to distract people from complaining about my signal change. ;)
When currently dragging signals without Ctrl, it builds signals only along the part you dragged over, that part is all visible on screen.
With this change, dragging signals without Ctrl can affect a very long stretch of rail, potentially make changes across the entire map, and the player might not realize what has happened, or how to reverse it.
I don't see the point in a new setting - like others above I've never intentionally used the non-Ctrl version and can't think of any case where it's preferable.
A different usability concern related to that: many users won't read the changelog, so will continue pressing Ctrl. This will now result in "covered area" dragging, which looks similar (some signals built) but isn't what they expect. There will definitely be bug reports.
I wonder if the "covered area" version should be simply removed rather than hidden behind Ctrl, unless someone emerges with a real use for it. This would cause Ctrl-drag to continue to function as now, because for inputs with no special function the Ctrl is just ignored. It would also allow reusing Ctrl for some future enhancement when people have got used to not needing it.
+1 to this patch in general, with or without any of the suggestions so far.