Add departure board via order subtype to remove via for prior terminus

This commit is contained in:
Jonathan G Rennison
2023-05-05 17:21:44 +01:00
parent 284390cf6a
commit b089b561a5
10 changed files with 146 additions and 22 deletions

View File

@@ -63,6 +63,11 @@ struct CallAt {
}
};
struct RemoveVia {
StationID via;
uint calling_at_offset;
};
/** A scheduled departure. */
struct Departure {
DateTicksScaled scheduled_date; ///< The date this departure is scheduled to finish on (i.e. when the vehicle leaves the station)
@@ -71,6 +76,7 @@ struct Departure {
StationID via; ///< The station the departure should list as going via
StationID via2; ///< Secondary station the departure should list as going via
std::vector<CallAt> calling_at; ///< The stations both called at and unloaded at by the vehicle after this departure before it terminates
std::vector<RemoveVia> remove_vias; ///< Vias to remove when using smart terminus.
DepartureStatus status; ///< Whether the vehicle has arrived yet for this departure
DepartureType type; ///< The type of the departure (departure or arrival)
const Vehicle *vehicle; ///< The vehicle performing this departure