Loading

Paste #popqnht0e

  1. Roadtypes + Tramtypes
  2.  
  3. I don’t want to spec the UI for this, but I’d envisage:
  4. splitting the buttons on main toolbar, so trams have their own button
  5. xor just put an explicit divider in the list of roadtypes / tramtypes (simpler)
  6.  
  7. One roadtype per tile.  
  8. roadtypes use the road vehicle movement code.  
  9. road vehicles can use drive-in stops (if not articulated)
  10. road vehicles can reverse on any tile
  11. roadtypes can optionally draw catenary
  12. roads can be one way
  13.  
  14. One tramtype per tile
  15. tramtypes use the tram movement code
  16. trams can only use drivethrought stops
  17. trams can only reverse where a loop is provided
  18. tramtypes can optionally draw catenary
  19. tram tracks cannot be one way
  20.  
  21. Vars on the tile (don’t check neighbouring tiles, there should be no need)
  22. roadtype (or none)
  23. tramtype (or none)
  24.  
  25. Callbacks and/or matching props:
  26. allow building [roadtype | tramtype] on this tile, returns [allow | disallow]
  27. draw catenary
  28. allow towns to extend along tiles of this type
  29.  
  30. Tramtype will always be drawn above the roadtype.  
  31. Where both types draw catenary, OpenTTD will draw all the catenary.  If authors don’t like this, they should detect other types by label and special case catenary accordingly.
  32.  
  33. Power is determined by the mapping of type label + vehicle (there is no special bit for ‘tile is powered’).

Comments