Hacky solution would be like 15 (not including compilation time) minutes of work - just re-get the neighbors and check if the road is N-S or W-E and then alter the numbers if it’s N-S.
A more proper solution would be moving mapgendata construction from map::draw_map to map::generate and then passing it (the mapgendata) both to ::draw_map and to ::add_extras. Then doing the above check for N-S.
This would be like 30 minutes of work, but would also help with ::draw_map having like 12 parameters and make it possible to easily add more advanced (location-dependent) extras.[/quote]
I originally considered the hacky solution but rejected it as I wasn’t sure how much processing-time it’d take to call those functions for a map_special (which are randomly generated during play, not during mapgen). I have lagbursts when pileups spawn, FWIW, so that sort of thing tends to make me twitchy.