Would it be able to make system_types for wayobject?
The usage: You can build a wayobject for every system_type on one way-tile.
Like:
system_type = 0 means train electrification
system_type = 1 means third rail
system_type = 128 means stuff, like noise wall or telegraph poles
Then some internal stuff has to been reworked (some parts in the code assume, that there is only one wayobj per waytype). But this wouldn't be a great effort, I guess.
this would be good at least in two cases: third rail & overhead wires (for trains with those power supply sharing a track) and electification and noise reduction (and maybe also streetlights).
This will give a graphical mess as the order of those objects is arbitary (i.e. first built would be first draw).
the number
e.g.
system_type = 0 means train electrification
system_type = 1 means third rail
system_type = 128 means stuff, like noise wall or telegraph poles
could be the priority itself: lowest number first drawn (or the other way).
Adding stuff and removing stuff to a tile is also one of the most frequent operation in simutrans in well developed games. Of course it can be sorted, but this comes always as a price. Also the code for looking up, building and wayobjects needs some further change. YOur best bet is if gerw works on it ...
On a related note: The "system_types" should be called different, sicne they have no connection to the actual system type of ways and vehicles.
In Simutrans-Experimental, there are way constraints, but there is no automatic way of combining types. Instead, it is possible to produce a single way object type that builds in two different forms of electrification, for example.