- swap RoadTypes enum to version given by Alberth, with StreetTypes and TramTypes, and methods to set / get / check those from the RoadTypes instance
- substitute RoadNotTypes whilst patching, then replace later (RoadNotTypes won’t cause search term conflict with RoadTypes)
- to patch RoadTypes, there are 78 places consuming RoadTypes enum
- move the storage to m4 as part of this, and deprecate the two existing road/tram bits
- most of the consumers of RoadTypes don’t look hard to patch
- replace some checking of bits with ‘HasStreetType()’, ‘HasTramType()’ calls
- do not at this stage try and handle multiple types of StreetType, TramType, assume only one of each
- this is unfortunately quite a large patch
- extend StreetType and TramType to support multiple types of each available (only one per tile)
- support constructing multiple types
- support incompatibility when routing
- extend features to StreetTypes and TramTypes
- catenary, with drawing support (bridges, tunnels etc)
- blah
- what is all the scripting support doing with RoadTypes?
- ??
- split types in global construction menu
- does this imply also splitting the construction toolbars? Or leave it unified and use a flag, as now?
- do this first, in a dedicated branch, to find out?