mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-11 13:10:45 +00:00
Departures: Show station via departures using yellow text for the time
This commit is contained in:
parent
1fd1c77586
commit
c9ad1aec51
@ -86,14 +86,19 @@ struct OrderDateQueueItem {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
inline bool IsStationOrderWithWait(const Order *order)
|
||||||
|
{
|
||||||
|
return ((order->GetWaitTime() != 0 || order->IsWaitTimetabled()) && !(order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION));
|
||||||
|
}
|
||||||
|
|
||||||
template <typename LOAD_FILTER>
|
template <typename LOAD_FILTER>
|
||||||
bool IsArrivalDepartureTest(const DepartureCallingSettings &settings, const Order *order, LOAD_FILTER load_filter)
|
bool IsArrivalDepartureTest(DepartureCallingSettings settings, const Order *order, LOAD_FILTER load_filter)
|
||||||
{
|
{
|
||||||
if (order->GetType() == OT_GOTO_STATION) {
|
if (order->GetType() == OT_GOTO_STATION) {
|
||||||
if (!settings.departure_no_load_test && !load_filter(order)) return false;
|
if (!settings.DepartureNoLoadTest() && !load_filter(order)) return false;
|
||||||
return settings.allow_via || ((order->GetWaitTime() != 0 || order->IsWaitTimetabled()) && !(order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION));
|
return settings.AllowVia() || IsStationOrderWithWait(order);
|
||||||
} else if (order->GetType() == OT_GOTO_WAYPOINT) {
|
} else if (order->GetType() == OT_GOTO_WAYPOINT) {
|
||||||
if (settings.allow_via) return true;
|
if (settings.AllowVia()) return true;
|
||||||
return (order->GetWaitTime() != 0 || order->IsWaitTimetabled());
|
return (order->GetWaitTime() != 0 || order->IsWaitTimetabled());
|
||||||
} else {
|
} else {
|
||||||
return true;
|
return true;
|
||||||
@ -116,6 +121,11 @@ bool DepartureCallingSettings::IsArrival(const Order *order, const DepartureOrde
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DepartureCallingSettings::ShouldShowAsVia(const Order *order) const
|
||||||
|
{
|
||||||
|
return this->CheckShowAsViaType() && (order->GetType() == OT_GOTO_STATION) && !IsStationOrderWithWait(order);
|
||||||
|
}
|
||||||
|
|
||||||
static uint8_t GetNonScheduleDepartureConditionalOrderMode(const Order *order, const Vehicle *v, StateTicks eval_tick)
|
static uint8_t GetNonScheduleDepartureConditionalOrderMode(const Order *order, const Vehicle *v, StateTicks eval_tick)
|
||||||
{
|
{
|
||||||
if (order->GetConditionVariable() == OCV_UNCONDITIONALLY) return 1;
|
if (order->GetConditionVariable() == OCV_UNCONDITIONALLY) return 1;
|
||||||
@ -291,10 +301,10 @@ static void ScheduledDispatchDepartureLocalFix(DepartureList &departure_list)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool IsVehicleUsableForDepartures(const Vehicle *v, const DepartureCallingSettings &calling_settings)
|
static bool IsVehicleUsableForDepartures(const Vehicle *v, DepartureCallingSettings calling_settings)
|
||||||
{
|
{
|
||||||
if (v->GetNumOrders() == 0) return false;
|
if (v->GetNumOrders() == 0) return false;
|
||||||
if (calling_settings.show_pax != calling_settings.show_freight) {
|
if (calling_settings.ShowPax() != calling_settings.ShowFreight()) {
|
||||||
bool carries_passengers = false;
|
bool carries_passengers = false;
|
||||||
|
|
||||||
const Vehicle *u = v;
|
const Vehicle *u = v;
|
||||||
@ -306,7 +316,7 @@ static bool IsVehicleUsableForDepartures(const Vehicle *v, const DepartureCallin
|
|||||||
u = u->Next();
|
u = u->Next();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (carries_passengers != calling_settings.show_pax) {
|
if (carries_passengers != calling_settings.ShowPax()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -320,7 +330,7 @@ static bool IsVehicleUsableForDepartures(const Vehicle *v, const DepartureCallin
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void GetDepartureCandidateOrderDatesFromVehicle(std::vector<OrderDate> &next_orders, const Vehicle *v, const DepartureOrderDestinationDetector &source, const DepartureType type,
|
static void GetDepartureCandidateOrderDatesFromVehicle(std::vector<OrderDate> &next_orders, const Vehicle *v, const DepartureOrderDestinationDetector &source, const DepartureType type,
|
||||||
const DepartureCallingSettings &calling_settings, const Ticks max_ticks, ScheduledDispatchCache &schdispatch_last_planned_dispatch)
|
DepartureCallingSettings calling_settings, const Ticks max_ticks, ScheduledDispatchCache &schdispatch_last_planned_dispatch)
|
||||||
{
|
{
|
||||||
if (!IsVehicleUsableForDepartures(v, calling_settings)) return;
|
if (!IsVehicleUsableForDepartures(v, calling_settings)) return;
|
||||||
|
|
||||||
@ -492,7 +502,7 @@ bool DepartureViaTerminusState::CheckOrder(const Vehicle *v, Departure *d, const
|
|||||||
if (order->GetType() == OT_GOTO_STATION &&
|
if (order->GetType() == OT_GOTO_STATION &&
|
||||||
source.OrderMatches(order) &&
|
source.OrderMatches(order) &&
|
||||||
(order->GetUnloadType() != OUFB_NO_UNLOAD ||
|
(order->GetUnloadType() != OUFB_NO_UNLOAD ||
|
||||||
calling_settings.show_all_stops) &&
|
calling_settings.ShowAllStops()) &&
|
||||||
(((order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) == 0) || ((d->order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) != 0))) {
|
(((order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) == 0) || ((d->order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) != 0))) {
|
||||||
/* If we're not calling anywhere, then skip this departure. */
|
/* If we're not calling anywhere, then skip this departure. */
|
||||||
this->found_terminus = (d->calling_at.size() > 0);
|
this->found_terminus = (d->calling_at.size() > 0);
|
||||||
@ -568,7 +578,7 @@ bool DepartureViaTerminusState::HandleCallingPoint(Departure *d, const Order *or
|
|||||||
static bool IsIgnorableCallingAtOrder(const Order *order, DepartureCallingSettings calling_settings)
|
static bool IsIgnorableCallingAtOrder(const Order *order, DepartureCallingSettings calling_settings)
|
||||||
{
|
{
|
||||||
if ((order->GetUnloadType() == OUFB_NO_UNLOAD &&
|
if ((order->GetUnloadType() == OUFB_NO_UNLOAD &&
|
||||||
!calling_settings.show_all_stops) ||
|
!calling_settings.ShowAllStops()) ||
|
||||||
(order->GetType() != OT_GOTO_STATION &&
|
(order->GetType() != OT_GOTO_STATION &&
|
||||||
order->GetType() != OT_IMPLICIT) ||
|
order->GetType() != OT_IMPLICIT) ||
|
||||||
order->GetNonStopType() == ONSF_NO_STOP_AT_ANY_STATION ||
|
order->GetNonStopType() == ONSF_NO_STOP_AT_ANY_STATION ||
|
||||||
@ -605,7 +615,7 @@ static bool ProcessArrivalHistory(Departure *d, std::span<const Order *> arrival
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((o->GetLoadType() != OLFB_NO_LOAD ||
|
if ((o->GetLoadType() != OLFB_NO_LOAD ||
|
||||||
calling_settings.show_all_stops) &&
|
calling_settings.ShowAllStops()) &&
|
||||||
(o->GetType() == OT_GOTO_STATION ||
|
(o->GetType() == OT_GOTO_STATION ||
|
||||||
o->GetType() == OT_IMPLICIT) &&
|
o->GetType() == OT_IMPLICIT) &&
|
||||||
!source.StationMatches(o->GetDestination()) &&
|
!source.StationMatches(o->GetDestination()) &&
|
||||||
@ -629,7 +639,7 @@ static bool ProcessArrivalHistory(Departure *d, std::span<const Order *> arrival
|
|||||||
const Order *o = arrival_history[i];
|
const Order *o = arrival_history[i];
|
||||||
if (o->GetType() == OT_GOTO_STATION &&
|
if (o->GetType() == OT_GOTO_STATION &&
|
||||||
(o->GetLoadType() != OLFB_NO_LOAD ||
|
(o->GetLoadType() != OLFB_NO_LOAD ||
|
||||||
calling_settings.show_all_stops) &&
|
calling_settings.ShowAllStops()) &&
|
||||||
(o->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) == 0) {
|
(o->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) == 0) {
|
||||||
d->calling_at.push_back(CallAt((StationID)o->GetDestination()));
|
d->calling_at.push_back(CallAt((StationID)o->GetDestination()));
|
||||||
}
|
}
|
||||||
@ -660,7 +670,7 @@ static DepartureList MakeDepartureListLiveMode(DepartureOrderDestinationDetector
|
|||||||
/* This code can probably be made more efficient. I haven't done so in order to keep both its (relative) simplicity and my (relative) sanity. */
|
/* This code can probably be made more efficient. I haven't done so in order to keep both its (relative) simplicity and my (relative) sanity. */
|
||||||
/* Having written that, it's not exactly slow at the moment. */
|
/* Having written that, it's not exactly slow at the moment. */
|
||||||
|
|
||||||
if (!calling_settings.show_pax && !calling_settings.show_freight) return {};
|
if (!calling_settings.ShowPax() && !calling_settings.ShowFreight()) return {};
|
||||||
|
|
||||||
/* The list of departures which will be returned as a result. */
|
/* The list of departures which will be returned as a result. */
|
||||||
std::vector<std::unique_ptr<Departure>> result;
|
std::vector<std::unique_ptr<Departure>> result;
|
||||||
@ -725,6 +735,7 @@ static DepartureList MakeDepartureListLiveMode(DepartureOrderDestinationDetector
|
|||||||
d->status = lod.status;
|
d->status = lod.status;
|
||||||
d->vehicle = lod.v;
|
d->vehicle = lod.v;
|
||||||
d->type = type;
|
d->type = type;
|
||||||
|
d->show_as_via = calling_settings.ShouldShowAsVia(lod.order);
|
||||||
d->order = lod.order;
|
d->order = lod.order;
|
||||||
d->scheduled_waiting_time = lod.scheduled_waiting_time;
|
d->scheduled_waiting_time = lod.scheduled_waiting_time;
|
||||||
|
|
||||||
@ -1119,6 +1130,7 @@ void DepartureListScheduleModeSlotEvaluator::EvaluateFromSourceOrder(const Order
|
|||||||
d.status = D_SCHEDULED;
|
d.status = D_SCHEDULED;
|
||||||
d.vehicle = this->v;
|
d.vehicle = this->v;
|
||||||
d.type = this->type;
|
d.type = this->type;
|
||||||
|
d.show_as_via = this->calling_settings.ShouldShowAsVia(source_order);
|
||||||
d.order = source_order;
|
d.order = source_order;
|
||||||
d.scheduled_waiting_time = 0;
|
d.scheduled_waiting_time = 0;
|
||||||
|
|
||||||
|
@ -596,11 +596,10 @@ public:
|
|||||||
ClrBit(list_source.order_type_mask, OT_IMPLICIT); // Not interested in implicit orders in this phase
|
ClrBit(list_source.order_type_mask, OT_IMPLICIT); // Not interested in implicit orders in this phase
|
||||||
|
|
||||||
DepartureCallingSettings settings;
|
DepartureCallingSettings settings;
|
||||||
settings.allow_via = (this->source_type != DST_STATION) || this->show_via;
|
settings.SetViaMode((this->source_type != DST_STATION) || this->show_via, (this->source_type == DST_STATION) && this->show_via);
|
||||||
settings.departure_no_load_test = (this->source_type == DST_WAYPOINT) || _settings_client.gui.departure_show_all_stops;
|
settings.SetDepartureNoLoadTest((this->source_type == DST_WAYPOINT) || _settings_client.gui.departure_show_all_stops);
|
||||||
settings.show_all_stops = _settings_client.gui.departure_show_all_stops;
|
settings.SetShowAllStops(_settings_client.gui.departure_show_all_stops);
|
||||||
settings.show_pax = show_pax;
|
settings.SetCargoFilter(show_pax, show_freight);
|
||||||
settings.show_freight = show_freight;
|
|
||||||
|
|
||||||
if (this->mode != DM_ARRIVALS) {
|
if (this->mode != DM_ARRIVALS) {
|
||||||
this->departures = MakeDepartureList(this->source_mode, list_source, this->vehicles, D_DEPARTURE, settings);
|
this->departures = MakeDepartureList(this->source_mode, list_source, this->vehicles, D_DEPARTURE, settings);
|
||||||
@ -869,20 +868,24 @@ void DeparturesWindow::DrawDeparturesListItems(const Rect &r) const
|
|||||||
if (d->terminus == INVALID_STATION) continue;
|
if (d->terminus == INVALID_STATION) continue;
|
||||||
|
|
||||||
StringID time_str;
|
StringID time_str;
|
||||||
|
TextColour time_colour = d->show_as_via ? TC_YELLOW : TC_ORANGE;
|
||||||
if (this->mode == DM_COMBINED) {
|
if (this->mode == DM_COMBINED) {
|
||||||
time_str = STR_DEPARTURES_TIME_BOTH;
|
time_str = STR_DEPARTURES_TIME_BOTH;
|
||||||
SetDParam(0, STR_JUST_TT_TIME_ABS);
|
SetDParam(0, time_colour);
|
||||||
SetDParam(1, d->scheduled_tick - d->EffectiveWaitingTime());
|
SetDParam(1, STR_JUST_TT_TIME_ABS);
|
||||||
SetDParam(2, STR_JUST_TT_TIME_ABS);
|
SetDParam(2, d->scheduled_tick - d->EffectiveWaitingTime());
|
||||||
SetDParam(3, d->scheduled_tick);
|
SetDParam(3, time_colour);
|
||||||
|
SetDParam(4, STR_JUST_TT_TIME_ABS);
|
||||||
|
SetDParam(5, d->scheduled_tick);
|
||||||
} else {
|
} else {
|
||||||
if (this->mode == DM_SEPARATE) {
|
if (this->mode == DM_SEPARATE) {
|
||||||
time_str = (d->type == D_DEPARTURE) ? STR_DEPARTURES_TIME_DEP : STR_DEPARTURES_TIME_ARR;
|
time_str = (d->type == D_DEPARTURE) ? STR_DEPARTURES_TIME_DEP : STR_DEPARTURES_TIME_ARR;
|
||||||
} else {
|
} else {
|
||||||
time_str = STR_DEPARTURES_TIME;
|
time_str = STR_DEPARTURES_TIME;
|
||||||
}
|
}
|
||||||
SetDParam(0, STR_JUST_TT_TIME_ABS);
|
SetDParam(0, time_colour);
|
||||||
SetDParam(1, d->scheduled_tick);
|
SetDParam(1, STR_JUST_TT_TIME_ABS);
|
||||||
|
SetDParam(2, d->scheduled_tick);
|
||||||
}
|
}
|
||||||
ltr ? DrawString( text_left, text_left + time_width, y + 1, time_str)
|
ltr ? DrawString( text_left, text_left + time_width, y + 1, time_str)
|
||||||
: DrawString(text_right - time_width, text_right, y + 1, time_str);
|
: DrawString(text_right - time_width, text_right, y + 1, time_str);
|
||||||
|
@ -89,6 +89,7 @@ struct Departure {
|
|||||||
std::vector<RemoveVia> remove_vias; ///< Vias to remove when using smart terminus.
|
std::vector<RemoveVia> remove_vias; ///< Vias to remove when using smart terminus.
|
||||||
DepartureStatus status; ///< Whether the vehicle has arrived yet for this departure
|
DepartureStatus status; ///< Whether the vehicle has arrived yet for this departure
|
||||||
DepartureType type; ///< The type of the departure (departure or arrival)
|
DepartureType type; ///< The type of the departure (departure or arrival)
|
||||||
|
bool show_as_via; ///< Show as via departure
|
||||||
const Vehicle *vehicle; ///< The vehicle performing this departure
|
const Vehicle *vehicle; ///< The vehicle performing this departure
|
||||||
const Order *order; ///< The order corresponding to this departure
|
const Order *order; ///< The order corresponding to this departure
|
||||||
Ticks scheduled_waiting_time; ///< Scheduled waiting time if scheduled dispatch is used
|
Ticks scheduled_waiting_time; ///< Scheduled waiting time if scheduled dispatch is used
|
||||||
@ -108,8 +109,8 @@ struct Departure {
|
|||||||
this->vehicle->type == d.vehicle->type &&
|
this->vehicle->type == d.vehicle->type &&
|
||||||
this->via == d.via &&
|
this->via == d.via &&
|
||||||
this->via2 == d.via2 &&
|
this->via2 == d.via2 &&
|
||||||
this->type == d.type
|
this->type == d.type &&
|
||||||
;
|
this->show_as_via == d.show_as_via;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline Ticks EffectiveWaitingTime() const
|
inline Ticks EffectiveWaitingTime() const
|
||||||
@ -142,14 +143,50 @@ struct DepartureOrderDestinationDetector {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct DepartureCallingSettings {
|
struct DepartureCallingSettings {
|
||||||
bool allow_via = false;
|
private:
|
||||||
bool departure_no_load_test = false;
|
uint8_t flags = 0;
|
||||||
bool show_all_stops = false;
|
|
||||||
bool show_pax = false;
|
struct FlagBits {
|
||||||
bool show_freight = false;
|
enum {
|
||||||
|
AllowVia = 0,
|
||||||
|
CheckShowAsViaType,
|
||||||
|
DepartureNoLoadTest,
|
||||||
|
ShowAllStops,
|
||||||
|
ShowPax,
|
||||||
|
ShowFreight,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
public:
|
||||||
|
inline bool AllowVia() const { return HasBit(this->flags, FlagBits::AllowVia); }
|
||||||
|
inline bool CheckShowAsViaType() const { return HasBit(this->flags, FlagBits::CheckShowAsViaType); }
|
||||||
|
inline bool DepartureNoLoadTest() const { return HasBit(this->flags, FlagBits::DepartureNoLoadTest); }
|
||||||
|
inline bool ShowAllStops() const { return HasBit(this->flags, FlagBits::ShowAllStops); }
|
||||||
|
inline bool ShowPax() const { return HasBit(this->flags, FlagBits::ShowPax); }
|
||||||
|
inline bool ShowFreight() const { return HasBit(this->flags, FlagBits::ShowFreight); }
|
||||||
|
|
||||||
|
inline void SetViaMode(bool allow_via, bool check_show_as_via_type)
|
||||||
|
{
|
||||||
|
AssignBit(this->flags, FlagBits::AllowVia, allow_via);
|
||||||
|
AssignBit(this->flags, FlagBits::CheckShowAsViaType, check_show_as_via_type);
|
||||||
|
}
|
||||||
|
inline void SetDepartureNoLoadTest(bool no_test)
|
||||||
|
{
|
||||||
|
AssignBit(this->flags, FlagBits::DepartureNoLoadTest, no_test);
|
||||||
|
}
|
||||||
|
inline void SetShowAllStops(bool all_stops)
|
||||||
|
{
|
||||||
|
AssignBit(this->flags, FlagBits::ShowAllStops, all_stops);
|
||||||
|
}
|
||||||
|
inline void SetCargoFilter(bool pax, bool freight)
|
||||||
|
{
|
||||||
|
AssignBit(this->flags, FlagBits::ShowPax, pax);
|
||||||
|
AssignBit(this->flags, FlagBits::ShowFreight, freight);
|
||||||
|
}
|
||||||
|
|
||||||
bool IsDeparture(const Order *order, const DepartureOrderDestinationDetector &source) const;
|
bool IsDeparture(const Order *order, const DepartureOrderDestinationDetector &source) const;
|
||||||
bool IsArrival(const Order *order, const DepartureOrderDestinationDetector &source) const;
|
bool IsArrival(const Order *order, const DepartureOrderDestinationDetector &source) const;
|
||||||
|
bool ShouldShowAsVia(const Order *order) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef std::vector<std::unique_ptr<Departure>> DepartureList;
|
typedef std::vector<std::unique_ptr<Departure>> DepartureList;
|
||||||
|
@ -1180,10 +1180,10 @@ STR_DEPARTURES_SHOW_AIRCRAFT_TOOLTIP :{BLACK}Zobrazit
|
|||||||
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Ctrl+kliknutí je zobrazí samostatně.
|
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Ctrl+kliknutí je zobrazí samostatně.
|
||||||
STR_DEPARTURES_EMPTY :{ORANGE}Tuto stanici aktuálně nemá v jízdním řádu žádné vozidlo.
|
STR_DEPARTURES_EMPTY :{ORANGE}Tuto stanici aktuálně nemá v jízdním řádu žádné vozidlo.
|
||||||
STR_DEPARTURES_NONE_SELECTED :{ORANGE}Nejsou požadovány žádné informace z jízdního řádu.
|
STR_DEPARTURES_NONE_SELECTED :{ORANGE}Nejsou požadovány žádné informace z jízdního řádu.
|
||||||
STR_DEPARTURES_TIME :{ORANGE}{STRING}
|
STR_DEPARTURES_TIME :{COLOUR}{STRING}
|
||||||
STR_DEPARTURES_TIME_DEP :{ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_DEP :{COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TIME_ARR :{ORANGE}{STRING} {RED}{DOWN_ARROW}
|
STR_DEPARTURES_TIME_ARR :{COLOUR}{STRING} {RED}{DOWN_ARROW}
|
||||||
STR_DEPARTURES_TIME_BOTH :{ORANGE}{STRING} {RED}{DOWN_ARROW} {ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_BOTH :{COLOUR}{STRING} {RED}{DOWN_ARROW} {COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} přes {STRING}
|
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} přes {STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} přes
|
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} přes
|
||||||
|
@ -1360,10 +1360,10 @@ STR_DEPARTURES_SHOW_AIRCRAFT_TOOLTIP :{BLACK}Show tim
|
|||||||
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Ctrl+Click to show exclusively.
|
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Ctrl+Click to show exclusively.
|
||||||
STR_DEPARTURES_EMPTY :{ORANGE}No vehicles are currently timetabled.
|
STR_DEPARTURES_EMPTY :{ORANGE}No vehicles are currently timetabled.
|
||||||
STR_DEPARTURES_NONE_SELECTED :{ORANGE}No timetable information has been requested.
|
STR_DEPARTURES_NONE_SELECTED :{ORANGE}No timetable information has been requested.
|
||||||
STR_DEPARTURES_TIME :{ORANGE}{STRING1}
|
STR_DEPARTURES_TIME :{COLOUR}{STRING1}
|
||||||
STR_DEPARTURES_TIME_DEP :{ORANGE}{STRING1} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_DEP :{COLOUR}{STRING1} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TIME_ARR :{ORANGE}{STRING1} {RED}{DOWN_ARROW}
|
STR_DEPARTURES_TIME_ARR :{COLOUR}{STRING1} {RED}{DOWN_ARROW}
|
||||||
STR_DEPARTURES_TIME_BOTH :{ORANGE}{STRING1} {RED}{DOWN_ARROW} {ORANGE}{STRING1} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_BOTH :{COLOUR}{STRING1} {RED}{DOWN_ARROW} {COLOUR}{STRING1} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} via {STRING}
|
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} via {STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} via
|
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} via
|
||||||
|
@ -1302,10 +1302,10 @@ STR_DEPARTURES_SHOW_AIRCRAFT_TOOLTIP :{BLACK}Amosar p
|
|||||||
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Ctrl+Click para amosar exclusivamente
|
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Ctrl+Click para amosar exclusivamente
|
||||||
STR_DEPARTURES_EMPTY :{ORANGE}Non hai vehículos actualmente programados para esta estación
|
STR_DEPARTURES_EMPTY :{ORANGE}Non hai vehículos actualmente programados para esta estación
|
||||||
STR_DEPARTURES_NONE_SELECTED :{ORANGE}Non se solicitou información dos horarios
|
STR_DEPARTURES_NONE_SELECTED :{ORANGE}Non se solicitou información dos horarios
|
||||||
STR_DEPARTURES_TIME :{ORANGE}{STRING}
|
STR_DEPARTURES_TIME :{COLOUR}{STRING}
|
||||||
STR_DEPARTURES_TIME_DEP :{ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_DEP :{COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TIME_ARR :{ORANGE}{STRING} {RED}{DOWN_ARROW}
|
STR_DEPARTURES_TIME_ARR :{COLOUR}{STRING} {RED}{DOWN_ARROW}
|
||||||
STR_DEPARTURES_TIME_BOTH :{ORANGE}{STRING} {RED}{DOWN_ARROW} {ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_BOTH :{COLOUR}{STRING} {RED}{DOWN_ARROW} {COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} vía {STRING}
|
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} vía {STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} vía
|
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} vía
|
||||||
|
@ -1062,10 +1062,10 @@ STR_DEPARTURES_VIA_TOOLTIP :{BLACK}Zeige ge
|
|||||||
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Strg+Klick zur exklusiven Anzeige.
|
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Strg+Klick zur exklusiven Anzeige.
|
||||||
STR_DEPARTURES_EMPTY :{ORANGE}Aktuell sind für diese Station keine Fahrzeuge geplant.
|
STR_DEPARTURES_EMPTY :{ORANGE}Aktuell sind für diese Station keine Fahrzeuge geplant.
|
||||||
STR_DEPARTURES_NONE_SELECTED :{ORANGE}Es wurde keine Fahrplanauskunft angefordert.
|
STR_DEPARTURES_NONE_SELECTED :{ORANGE}Es wurde keine Fahrplanauskunft angefordert.
|
||||||
STR_DEPARTURES_TIME :{ORANGE}{STRING}
|
STR_DEPARTURES_TIME :{COLOUR}{STRING}
|
||||||
STR_DEPARTURES_TIME_DEP :{ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_DEP :{COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TIME_ARR :{ORANGE}{STRING} {RED}{DOWN_ARROW}
|
STR_DEPARTURES_TIME_ARR :{COLOUR}{STRING} {RED}{DOWN_ARROW}
|
||||||
STR_DEPARTURES_TIME_BOTH :{ORANGE}{STRING} {RED}{DOWN_ARROW} {ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_BOTH :{COLOUR}{STRING} {RED}{DOWN_ARROW} {COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} über {STRING}
|
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} über {STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} über
|
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} über
|
||||||
|
@ -43,10 +43,10 @@ STR_DEPARTURES_VIA_BUTTON :{BLACK}経由
|
|||||||
STR_DEPARTURES_VIA_TOOLTIP :{BLACK}通過車両を表示
|
STR_DEPARTURES_VIA_TOOLTIP :{BLACK}通過車両を表示
|
||||||
STR_DEPARTURES_EMPTY :{ORANGE}現在、ダイヤを設定している車両はありません。
|
STR_DEPARTURES_EMPTY :{ORANGE}現在、ダイヤを設定している車両はありません。
|
||||||
STR_DEPARTURES_NONE_SELECTED :{ORANGE}発車標が設定されていません。
|
STR_DEPARTURES_NONE_SELECTED :{ORANGE}発車標が設定されていません。
|
||||||
STR_DEPARTURES_TIME :{ORANGE}{STRING}
|
STR_DEPARTURES_TIME :{COLOUR}{STRING}
|
||||||
STR_DEPARTURES_TIME_DEP :{ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_DEP :{COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TIME_ARR :{ORANGE}{STRING} {RED}{DOWN_ARROW}
|
STR_DEPARTURES_TIME_ARR :{COLOUR}{STRING} {RED}{DOWN_ARROW}
|
||||||
STR_DEPARTURES_TIME_BOTH :{ORANGE}{STRING} {RED}{DOWN_ARROW} {ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_BOTH :{COLOUR}{STRING} {RED}{DOWN_ARROW} {COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} 経由 {STRING}経由
|
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} 経由 {STRING}経由
|
||||||
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} 経由
|
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} 経由
|
||||||
|
@ -1302,10 +1302,10 @@ STR_DEPARTURES_SHOW_AIRCRAFT_TOOLTIP :{BLACK}이 역
|
|||||||
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. CTRL + 클릭하면 이 차량 종류만 보여줍니다
|
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. CTRL + 클릭하면 이 차량 종류만 보여줍니다
|
||||||
STR_DEPARTURES_EMPTY :{ORANGE}시간표가 지정된 차량이 없습니다.
|
STR_DEPARTURES_EMPTY :{ORANGE}시간표가 지정된 차량이 없습니다.
|
||||||
STR_DEPARTURES_NONE_SELECTED :{ORANGE}표시할 정보를 선택하십시오.
|
STR_DEPARTURES_NONE_SELECTED :{ORANGE}표시할 정보를 선택하십시오.
|
||||||
STR_DEPARTURES_TIME :{ORANGE}{STRING}
|
STR_DEPARTURES_TIME :{COLOUR}{STRING}
|
||||||
STR_DEPARTURES_TIME_DEP :{ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_DEP :{COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TIME_ARR :{ORANGE}{STRING} {RED}{DOWN_ARROW}
|
STR_DEPARTURES_TIME_ARR :{COLOUR}{STRING} {RED}{DOWN_ARROW}
|
||||||
STR_DEPARTURES_TIME_BOTH :{ORANGE}{STRING} {RED}{DOWN_ARROW} {ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_BOTH :{COLOUR}{STRING} {RED}{DOWN_ARROW} {COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} 경유 {STRING}
|
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} 경유 {STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} 경유
|
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} 경유
|
||||||
|
@ -1309,10 +1309,10 @@ STR_DEPARTURES_SHOW_AIRCRAFT_TOOLTIP :{BLACK}Пока
|
|||||||
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Ctrl+клик - показывать эксклюзивно.
|
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Ctrl+клик - показывать эксклюзивно.
|
||||||
STR_DEPARTURES_EMPTY :{ORANGE}Расписание для транспорта не составлено.
|
STR_DEPARTURES_EMPTY :{ORANGE}Расписание для транспорта не составлено.
|
||||||
STR_DEPARTURES_NONE_SELECTED :{ORANGE}Информация о расписании не запрашивалась.
|
STR_DEPARTURES_NONE_SELECTED :{ORANGE}Информация о расписании не запрашивалась.
|
||||||
STR_DEPARTURES_TIME :{ORANGE}{STRING}
|
STR_DEPARTURES_TIME :{COLOUR}{STRING}
|
||||||
STR_DEPARTURES_TIME_DEP :{ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_DEP :{COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TIME_ARR :{ORANGE}{STRING} {RED}{DOWN_ARROW}
|
STR_DEPARTURES_TIME_ARR :{COLOUR}{STRING} {RED}{DOWN_ARROW}
|
||||||
STR_DEPARTURES_TIME_BOTH :{ORANGE}{STRING} {RED}{DOWN_ARROW} {ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_BOTH :{COLOUR}{STRING} {RED}{DOWN_ARROW} {COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} через {STRING}
|
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} через {STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} через
|
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} через
|
||||||
|
@ -1304,10 +1304,10 @@ STR_DEPARTURES_SHOW_AIRCRAFT_TOOLTIP :{BLACK}仅显
|
|||||||
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}。按住 <Ctrl> 键点击设置仅显示此类型载具
|
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}。按住 <Ctrl> 键点击设置仅显示此类型载具
|
||||||
STR_DEPARTURES_EMPTY :{ORANGE}当前没有载具列入车站时刻表
|
STR_DEPARTURES_EMPTY :{ORANGE}当前没有载具列入车站时刻表
|
||||||
STR_DEPARTURES_NONE_SELECTED :{ORANGE}没有被请求的时刻表信息
|
STR_DEPARTURES_NONE_SELECTED :{ORANGE}没有被请求的时刻表信息
|
||||||
STR_DEPARTURES_TIME :{ORANGE}{STRING}
|
STR_DEPARTURES_TIME :{COLOUR}{STRING}
|
||||||
STR_DEPARTURES_TIME_DEP :{ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_DEP :{COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TIME_ARR :{ORANGE}{STRING} {RED}{DOWN_ARROW}
|
STR_DEPARTURES_TIME_ARR :{COLOUR}{STRING} {RED}{DOWN_ARROW}
|
||||||
STR_DEPARTURES_TIME_BOTH :{ORANGE}{STRING} {RED}{DOWN_ARROW} {ORANGE}{STRING} {GREEN}{UP_ARROW}
|
STR_DEPARTURES_TIME_BOTH :{COLOUR}{STRING} {RED}{DOWN_ARROW} {COLOUR}{STRING} {GREEN}{UP_ARROW}
|
||||||
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING}经由{STRING}
|
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING}经由{STRING}
|
||||||
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING}经由
|
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING}经由
|
||||||
|
Loading…
Reference in New Issue
Block a user