The one-way roadsign lane fixing thingy also cannot work in multiplayer. The selection needs to be syncronized across clients. You'll need to add a tool_change_roadsign_t (see the traffic light tool for an example).
Actually I can't make this sign work in singleplayer either. Convois freely still enter the other lane after passing the sign despite turning at the next intersection. Can you provide an example save showing this working? Maybe I'm not setting things up right... lane_fix == 0 always on my convois.
Why the existing ribi_maske and added ribi_mask_oneway? Can't these be combined?
Since overtaking applies only to roads, wouldn't the variables make more sense in strasse_t instead of weg_t?
When a stopped convoi changes lanes immediately upon starting to move, it's graphic is left behind as a glitch in it's former lane. The marking dirty mechanisms for moving objects is quite a hack, but this patch is introducing some new behaviours that the hack isn't handling, so needs changes.
Also noticed with stopped convois changing lanes immediately upon starting is trailers in tiles behind aren't being accounted for. i.e. A two tile long road train will sideswipe a convoi alongside when it changes lanes.
Intersection object is needed to realize more sophisticated intersection control. For example, we cannot set right turn lane or left turn lane under the current intersection system. Also, traffic signal for multiple lanes should be discussed.
There was some discussion about this is one of the last big discussions about multilane roads:
http://forum.simutrans.com/index.php?topic=8906.0It is something required to make the logic work in town with avenues. Extending the current ist_weg_frei and no_cars_blocking for multilane intersections would be a nightmare.
Improvement of routing algorithm of citycars. Current citycar's routing algorithm that decides its course randomly when it reaches at intersections is too rough. Since we can know the position of only two tiles ahead, sensitive controls such as lane pinning cannot be applied to city cars. Also, current city cars behaves so stupid in intersections. City cars often turn more than 180 degrees and that corrupts traffic. Also acceleration of city cars seems so unnatural.
I think that city cars should have their destinations and route. Also, city cars should have power and weight parameter, which enables more accurate motion simulation of city cars. I've heard that these are realized in simutrans extended, but I don't know about that in detail.
I don't think they need destinations and a full route. But, the route does need to be determined for several tiles for them to properly navigate intersections, and lane_fixing as you mention.
After I finished the overhaul of convoi movements through intersections, I was burned out from dealing with that section of code, so the planned work to bring the citycars up to the same standard never happened. Putting the controls into an intersection_t with path reservations through the intersection would make the task much easier IMO.
The current citycar movement behaviour has the advantage of them atleast trying to get out of the way in a traffic jam rather than making it worse by sticking to a preplanned route. Any changes should try to preserve that as much as possible IMHO.