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
Prevent players from setting invalid lane arrows #368
Comments
It would be nice if when user is changing lane arrows we also show the lane connector lines, so they can see precisely what lane connections are being made based on their arrow settings. IMO in all cases the lane arrows should really just be setting the lane connectors, and then lane routing at every node is purely based on lane connectors all the time = less branching. It would mean pathfinder, etc., only ever needs to consider the lane connections; all uncustomised nodes would be given default lane connections (and a flag stating that they are not user-defined) so 100% of lane routing is connection based. |
Lane arrows and lane connections have different semantics. Lane arrows are thought to be less restrictive. Lane connections on the other hand cannot be ignored by vehicles. Thus, as of now you cannot represent lane arrows as lane connections. Some use cases for "soft" lane arrows which cannot be covered by lane connections currently:
I also think that showing so many lane connections would clutter the UI. |
On complex junctions, where there are say 6 segments connected to a node, some at strange angles, it is often difficult to discern exactly where traffic will go based on lane arrows alone. For precisely this reason I no longer use lane arrows feature and instead always use lane connectors feature. In terms of cluttering UI, this would not be an issue if only the 'active lane' gets the connector line display. For example, user hovers the lane arrow panel for lane X, only the lane connectors for lane X are shown. Lane arrows then become just a quick alternate way of setting lane connectors. Instead of ignoring lane arrows, the relevant mod options would ignore lane routing (ie. lane connectors). And, with everything now using lane connections the pathfinder & vehicle AIs have a single source of truth for routing through nodes. |
Yes, lane connections are better suited for complex junctions. But setting lane arrows requires less clicks.
👍
Path-finder already has a singe source of truth! Let me explain: Both lane arrows and lane connections are already translated into another data structure called "lane transition". The transformation is done by
To sum it up, lane transitions could be drawn as they were lane connections in the lane arrow tool. And probably also in the lane connector tool. It would be great if the lines that represent lane transitions could have a distinct style, maybe as dashed arrows? |
The plan was to use thin white lines for arrow-based In image above (from #41):
When applying lane arrows, only the current lane transitions would be shown. When applying lane connectors, all transitions would be shown but with any arrow-based transitions in the thin white style.
|
On the existing routing manager stuff for lane transitions, are there flags denoting things like u-turns applied either via mod option or junction restriction? |
No, but we can add new transition types for these |
There's also the "lane change at junctions" thing too. I guess that would just alter the arrow-based transitions and thus be reflected in the lines drawn for those. |
This is going to be a hell of arrows. xD |
Currently the lane arrows can't be changed if lane connection lines were added. It might be nice if, when lane connectors are present, the arrows can be visually changed but have no effect on the lane routing? |
It might be a helpful workaround, yes. |
It would be nice if we had separate issues for your feature requests such that we can track and work on them separately. |
Pretty much the whole thread is about feature requests; might be easier to copy OP to new issue? |
I can have a look and maybe move some of mine in a bit... got to catch a train atm though. |
From #391: |
@aubergine10 the #391 will prevent players from setting invalid lane arrows |
No it doesn't - TM:PE should ideally detect any changes to the roads (eg, moving, adding, bulldozing, etc) and maybe flag up with an overlay to indicate if settings have become broken as a result? Quboid is in the Skylines.code discord so you can ask directly if you need any infos on Move It mod. |
Description
Players should not be able to set lane arrows that do not point to an outgoing segment.
For example, in issue #361 the player mistakenly used straight lane arrows where the angle between the 4-lane highway and 8-lane road with median requires a right pointing arrow.
Technical Info
Flags
class. We could use this opportunity to move the code toLaneArrowManager
.LaneArrowManager:
ToggleLaneArrows()
callSetLaneArrows()
SetLaneArrows()
: Check if the intended lane arrow is validHandleValidSegment()
: (gets called when a segment is updated) Make sure that old lane arrows are valid. If not, call correction code.LaneArrowTool
: Disable/Remove invalid lane arrow toggle buttonsThe text was updated successfully, but these errors were encountered: