If a vehicle uses curvature vars 0x45 or 0x62, cache the directions
of its 4 nearest neighbours, and check them in UpdateViewport along
with the vehicle's own direction.
VCF_REDRAW_ON_SPEED_CHANGE=4,///< Clear cur_image_valid_dir on changes to cur_speed (ground vehicles) or aircraft movement state (aircraft) (valid only for the first engine)
VCF_IMAGE_REFRESH=5,///< Image should be refreshed before drawing
VCF_IMAGE_REFRESH_NEXT=6,///< Set VCF_IMAGE_REFRESH in next UpdateViewport call, if the image is not updated there
VCF_IMAGE_CURVATURE=7,///< Image should be refreshed if cached curvature in cached_image_curvature no longer matches curvature of neighbours
};
/** Cached often queried values common to all vehicles. */
structVehicleCache{
uint16cached_max_speed;///< Maximum speed of the consist (minimum of the max speed of all vehicles in the consist).
uint16cached_cargo_age_period;///< Number of ticks before carried cargo is aged.