Can't you just draw the wayobj to paint over those and change them? That's why I thought about wayobjs in the first place, because they can overwrite graphics.
Kind of, but not really. For that to work, I'd need to use a barebone Autobahn with no railing, and create directional wayobj specifically for the Autobahn - which I would not want to be used with a dirt road, since a dirt road with an asphalt breakdown lane is kinda silly - I'd need something with a wooden fence or something similar. So I end up with incomplete, barebone roads and tons of wayobj, which I wouldn't want to be combined with the wrong road.
With this setup, it seems to me the best a pakset creator could do is completely break the system:
- get rid of all electrified road vehicles
- make all other road vehicles require electrification
- have only one "base road" that's pretty much a placeholder, with a speed limit of 999km/h
- use way-objects for the actual road graphics, complete with actual speed limit and electrification tag.
Vehicles can't use the placeholder road, they require the way object to work, because of electrification. So essentially, I'd break the system you propose with directional wayobjects instead of directional ways by using wayobjects as ways. Nice to have a system flexible enough to allow such atrocities. Though it makes one wonder if it really is such a good idea to use wayobjects.
And perhaps the most silly problem (unless there was a change I'm not aware of) - wayobj don't have seasons, not even snow graphics. Even something as simple as a solid middle line for "no_overtaking" becomes a pain, since you would need to make sure all roads are snow-free where the line would be in winter, since otherwise the snow is painted.
Here is another suggestion:
Scrap wayobjects and add those flags to the roads.
Add tools to change the flags in the roads once buildt.
Add support for multiple road graphics in one road for different occassions, but no requirement.
Add a "direction overlay", which visualizes the flags used in each tile (like the reserved route overlay for tracks)
IIRC, ways already store their max-speed on each tile in case you start the game without that way, so it would be replaced with something of similar speed, and to keep network games stable. But if the speed is stored in the tile, it would be possible to alter that value in the tile and have the same way, but with a different speed. The same should be true for overtaking flags, they would need to be stored just like the max speed anyway, in case you start the game without the wayobj/road that was used, so it could be replaced by something of similar properties instead of being lost.
Instead, just replace the road based on speed, but keep the flag-bits. And use the same flag-bits plus a "direction bit" for one-way to change the appearence of the road, if there are alternate graphics.
This pretty much allows for all the advantages using wayobj would give you, plus more - even if the wayobj/tool that would allow you to get a one-way road is removed, the behaviour of the roads already buildt would not change, and you would probably be more performant by scraping an extra object and all it's overhead. But that's said by someone who is too dumb to get Simutrans to even compile, so what do I know...