CitiesSkylinesMods / TMPE

Cities: Skylines Traffic Manager: President Edition
https://steamcommunity.com/sharedfiles/filedetails/?id=1637663252
MIT License
571 stars 85 forks source link

Setup of TTL conforming to approach lane restrictions #1517

Open svnolte opened 2 years ago

svnolte commented 2 years ago

Describe your idea

When creating an empty TTL on a junction, it would be helpful if the TL "light box" configuration would be initialised conforming to the lane direction combinations given. As of now, we usually get three separate light boxes with dedicated arrow (left only, straight only, right only); regardless of any set direction restrictions or even when less than three lanes are even present on the approach.

Examples of how it should look like: a) A road approaches the junction, with 2 approach lanes. The junction allows approaching vehicles to travel in three directions: left, straight, right. I set up a dedicated left turn on one lane, and a combined straight/right turn on the other lane; no other restrictions --> this should result in 2 traffic light boxes for this approach: one box with left arrow lights, and one box with straight/right arrow lights (or no arrows in it).

b) A road approaches the junction with 3 approach lanes. The junction gives approaching vehicles three directions to travel. However, I restricted the lanes by arrows, so vehicles are only allowed to go straight or right. I set up a dedicated lane for right turns, and two straight forward lanes on the approach --> this should result in two traffic light boxes for this approach: one box with right arrow lights, and one box with straight arrow lights (or lights with no arrow in it).

Do you need screenshots or does this make sense even without?

originalfoo commented 2 years ago

Do you need screenshots or does this make sense even without?

It makes sense, but a couple of screenshots will still be helpful just to avoid any confusion - 1. what it currently does, 2. what it should do

svnolte commented 2 years ago

I've got two example junctions, with some pre-defined lane/direction configurations. I show the lane restriction situation pre-TTL creation, then the current configuration after creating a new TTL (as-is), and the proposed configuration after creating a new TTL (proposed).

In the example with the arterial, I didn't manage to exclude the left-turn arrow in the lights of the north approach, even though I tried several things (lane arrows, lane connectors, fresh junction...) TTL won't respect the restriction. The only thing I could do is using a single common light box on the north approach, but that's not ideal.

image image
svnolte commented 2 years ago

Is it a mini-bug in TTL Manager that it won't respect the restriction of not turn left? Or am i just too stupid?

svnolte commented 2 years ago

I looked up the source code: TTL ignores any mayor/player-given restrictions, it always configures itself according to intersection geometry. Which is the opposite of what me as player wants.

Is there any way I could help in bringing the TTL code forward? There seem to be loads of to-dos, requests and the like which haven't been addressed since quite some time.

svnolte commented 2 years ago

The TTL code isn'twasn't* the easiest ever, but eventually I figured out how this works. A TM:PE test build with minimal modifications was successful. The build instructions/solution definitions provided are almost correct :)

*) I used the master with the "false API" which is now removed.