-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Andy edited this page Sep 3, 2016
·
4 revisions
NotRoadType Spec
Essential
- split RoadType to StreetType and TramType
- per tile, one StreetType and one TramType may be present
- they can coexist on the same tile in some cases, but do not influence each other
- construction tools for StreetType and TramType are independent
- adding/removing/converting StreetType on a tile does not affect TramType for tile and vice-versa
- subtypes
- up to 15 StreetType subtypes and 15 TramType subtypes (implementation detail: uses 4 bits each, uses 8 bits free in m4)
- drawing
- (lowest) Ground -> StreetType -> TramType -> Sidewalks + Decoration -> StreetTypeCatenary -> TramTypeCatenary (highest)
- drawing of rail crossings may or may not be fixed (road tile is enforced for tram crossings currently, this looked non-trivial to fix when I tried)
- methods may be provided to enable more control over appearance, e.g. snow above snowline etc
- catenary
- both StreetType and TramType can provide catenary on a tile (implementation detail: flag or cb returning sprites)
- vehicle power on a tile is determined by vehicle against subtype label, unrelated to drawing of catenary sprites
- there is sophisticated handling of rail catenary to preserve continuity where railtypes cross, something similar needs to be provided for NotRoadTypes
- converting between subtypes
- a convert tool is needed, similar to rail conversion
- this will need to consider ownership carefully
- too restrictive = can’t overbuild current subtype in towns
- too permissive = deliberate or accidental breaking of existing routes by overbuilding current subtype
- drive-in stops:
- behaviour of articulated vehicles and trams unchanged, can’t use drive-in stops
- catenary needs to be provided for StreetType drive-in stops
- vehicles
- vehicles are StreetType XOR TramType (bool flag)
- each subtype has a label
- vehicle compatibility with a subtype is determined by label
- vehicle may determine some properties by subtype (power, possibly others)
- overtaking: out of scope
- newgrf author considerations
- user should be able to see whether catenary exists for road, tram, or both
- authors will need to draw catenary carefully to avoid it looking bad when StreetType and RoadType catenary are combined on a tile
Optional (proposed by frosch)
- split global toolbar to ‘road’ (StreetType) and ‘light rail’ (TramType)
- this makes the distinction between the transport types obvious
- in this way it’s clear that a tile can have
- 1 type of rail
- 1 type of road
- 1 type of light rail
- unknown: would the various vehicle menus, station menus etc also be split for ‘road’ and ‘light rail’? !