Also show hours and minutes for schdispatch duration in minutes mode
This commit is contained in:
@@ -5611,9 +5611,13 @@ STR_TIMETABLE_AND_TRAVEL_FOR :and travel for
|
|||||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}day{P "" s}
|
STR_TIMETABLE_DAYS :{COMMA}{NBSP}day{P "" s}
|
||||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" s}
|
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" s}
|
||||||
STR_TIMETABLE_MINUTES :{COMMA}{NBSP}minute{P "" s}
|
STR_TIMETABLE_MINUTES :{COMMA}{NBSP}minute{P "" s}
|
||||||
|
STR_TIMETABLE_HOURS :{COMMA}{NBSP}hour{P "" s}
|
||||||
|
STR_TIMETABLE_HOURS_MINUTES :{COMMA}{NBSP}hour{P "" s} and {COMMA}{NBSP}minute{P "" s}
|
||||||
|
|
||||||
STR_TIMETABLE_LEFTOVER_TICKS :{STRING1} + {COMMA} tick{P "" s}
|
STR_TIMETABLE_LEFTOVER_TICKS :{STRING1} + {COMMA} tick{P "" s}
|
||||||
|
|
||||||
|
STR_TIMETABLE_MINUTES_LONG :{COMMA}{NBSP}minute{P "" s} ({STRING2}){STRING3}
|
||||||
|
|
||||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}This timetable will take {STRING3} to complete
|
STR_TIMETABLE_TOTAL_TIME :{BLACK}This timetable will take {STRING3} to complete
|
||||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}This timetable will take at least {STRING3} to complete (not all timetabled)
|
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}This timetable will take at least {STRING3} to complete (not all timetabled)
|
||||||
|
|
||||||
@@ -7066,8 +7070,9 @@ STR_SCHDISPATCH_RESET_LAST_DISPATCH_TOOLTIP :{BLACK}Reset wh
|
|||||||
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}Last departure at {DATE_WALLCLOCK_TINY}.
|
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}Last departure at {DATE_WALLCLOCK_TINY}.
|
||||||
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}Last departure has not left yet, it will depart at {DATE_WALLCLOCK_TINY}.
|
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}Last departure has not left yet, it will depart at {DATE_WALLCLOCK_TINY}.
|
||||||
STR_SCHDISPATCH_SUMMARY_L1 :{BLACK}This schedule requires {COMMA} vehicle{P "" s}.
|
STR_SCHDISPATCH_SUMMARY_L1 :{BLACK}This schedule requires {COMMA} vehicle{P "" s}.
|
||||||
STR_SCHDISPATCH_SUMMARY_L2 :{BLACK}This schedule repeats every {STRING3}, began at {DATE_WALLCLOCK_TINY}, and ends at {DATE_WALLCLOCK_TINY}.
|
STR_SCHDISPATCH_SUMMARY_L2 :{BLACK}This schedule repeats every {STRING8}.
|
||||||
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}Maximum delay of {STRING3} is allowed before the slot is skipped.
|
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}This schedule began at {DATE_WALLCLOCK_TINY}, and ends at {DATE_WALLCLOCK_TINY}.
|
||||||
|
STR_SCHDISPATCH_SUMMARY_L4 :{BLACK}Maximum delay of {STRING3} is allowed before the slot is skipped.
|
||||||
STR_SCHDISPATCH_SUMMARY_NOT_ENABLED :{BLACK}This schedule is not active.
|
STR_SCHDISPATCH_SUMMARY_NOT_ENABLED :{BLACK}This schedule is not active.
|
||||||
|
|
||||||
STR_SCHDISPATCH_SLOT_OUTSIDE_SCHEDULE :{BLACK}One or more departure slots are outside the schedule duration.
|
STR_SCHDISPATCH_SLOT_OUTSIDE_SCHEDULE :{BLACK}One or more departure slots are outside the schedule duration.
|
||||||
|
@@ -6819,8 +6819,9 @@ STR_SCHDISPATCH_RESET_LAST_DISPATCH_TOOLTIP :{BLACK}Setzt di
|
|||||||
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}Letzte Abfahrt am {DATE_WALLCLOCK_TINY}.
|
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}Letzte Abfahrt am {DATE_WALLCLOCK_TINY}.
|
||||||
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}Letzte Abfahrt hat den Bahnhof noch nicht verlassen; Abfahrt am {DATE_WALLCLOCK_TINY}.
|
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}Letzte Abfahrt hat den Bahnhof noch nicht verlassen; Abfahrt am {DATE_WALLCLOCK_TINY}.
|
||||||
STR_SCHDISPATCH_SUMMARY_L1 :{BLACK}Dieser Fahrplan erfordert {COMMA} Fahrzeug{P "" e}.
|
STR_SCHDISPATCH_SUMMARY_L1 :{BLACK}Dieser Fahrplan erfordert {COMMA} Fahrzeug{P "" e}.
|
||||||
STR_SCHDISPATCH_SUMMARY_L2 :{BLACK}Dieser Fahrplan wiederholt sich alle {STRING} und begann am {DATE_WALLCLOCK_TINY} und endet am {DATE_WALLCLOCK_TINY}.
|
STR_SCHDISPATCH_SUMMARY_L2 :{BLACK}Dieser Fahrplan wiederholt sich alle {STRING}.
|
||||||
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}Es ist eine maximale Verspätung von {STRING} erlaubt, ehe der Slot übersprungen wird.
|
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}Dieser Fahrplan begann am {DATE_WALLCLOCK_TINY} und endet am {DATE_WALLCLOCK_TINY}.
|
||||||
|
STR_SCHDISPATCH_SUMMARY_L4 :{BLACK}Es ist eine maximale Verspätung von {STRING} erlaubt, ehe der Slot übersprungen wird.
|
||||||
STR_SCHDISPATCH_SUMMARY_NOT_ENABLED :{BLACK}Dieser Fahrplan ist nicht aktiv.
|
STR_SCHDISPATCH_SUMMARY_NOT_ENABLED :{BLACK}Dieser Fahrplan ist nicht aktiv.
|
||||||
|
|
||||||
STR_SCHDISPATCH_SLOT_OUTSIDE_SCHEDULE :{BLACK}Ein oder mehrere Abfahrtslots befinden sich außerhalb der geplanten Dauer.
|
STR_SCHDISPATCH_SLOT_OUTSIDE_SCHEDULE :{BLACK}Ein oder mehrere Abfahrtslots befinden sich außerhalb der geplanten Dauer.
|
||||||
|
@@ -7087,8 +7087,9 @@ STR_SCHDISPATCH_RESET_LAST_DISPATCH_TOOLTIP :{BLACK}최근
|
|||||||
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}최근 출발: {DATE_WALLCLOCK_TINY}
|
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}최근 출발: {DATE_WALLCLOCK_TINY}
|
||||||
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}최근 배차된 열차가 아직 출발하지 않았습니다. {DATE_WALLCLOCK_TINY}에 출발할 예정입니다.
|
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}최근 배차된 열차가 아직 출발하지 않았습니다. {DATE_WALLCLOCK_TINY}에 출발할 예정입니다.
|
||||||
STR_SCHDISPATCH_SUMMARY_L1 :{BLACK}이 스케줄에는 {COMMA}대의 열차가 필요합니다.
|
STR_SCHDISPATCH_SUMMARY_L1 :{BLACK}이 스케줄에는 {COMMA}대의 열차가 필요합니다.
|
||||||
STR_SCHDISPATCH_SUMMARY_L2 :{BLACK}이 스케줄은 {STRING}마다 반복되고 {DATE_WALLCLOCK_TINY}에 시작되어서 {DATE_WALLCLOCK_TINY}에 끝납니다.
|
STR_SCHDISPATCH_SUMMARY_L2 :{BLACK}이 스케줄은 {STRING}마다 반복되고.
|
||||||
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}{STRING} 이상 지연되면 다음 슬롯으로 넘어갑니다.
|
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}이 스케줄은 {DATE_WALLCLOCK_TINY}에 시작되어서 {DATE_WALLCLOCK_TINY}에 끝납니다.
|
||||||
|
STR_SCHDISPATCH_SUMMARY_L4 :{BLACK}{STRING} 이상 지연되면 다음 슬롯으로 넘어갑니다.
|
||||||
STR_SCHDISPATCH_SUMMARY_NOT_ENABLED :{BLACK}이 스케줄은 비활성화되어 있습니다.
|
STR_SCHDISPATCH_SUMMARY_NOT_ENABLED :{BLACK}이 스케줄은 비활성화되어 있습니다.
|
||||||
|
|
||||||
STR_SCHDISPATCH_SLOT_OUTSIDE_SCHEDULE :{BLACK}하나 이상의 출발 슬롯이 배차 간격 범위 바깥에 있습니다.
|
STR_SCHDISPATCH_SLOT_OUTSIDE_SCHEDULE :{BLACK}하나 이상의 출발 슬롯이 배차 간격 범위 바깥에 있습니다.
|
||||||
|
@@ -203,7 +203,7 @@ struct SchdispatchWindow : Window {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case WID_SCHDISPATCH_SUMMARY_PANEL:
|
case WID_SCHDISPATCH_SUMMARY_PANEL:
|
||||||
size->height = WD_FRAMERECT_TOP + 4 * FONT_HEIGHT_NORMAL + WD_FRAMERECT_BOTTOM;
|
size->height = WD_FRAMERECT_TOP + 5 * FONT_HEIGHT_NORMAL + WD_FRAMERECT_BOTTOM;
|
||||||
if (warning_count > 0) {
|
if (warning_count > 0) {
|
||||||
const Dimension warning_dimensions = GetSpriteSize(SPR_WARNING_SIGN);
|
const Dimension warning_dimensions = GetSpriteSize(SPR_WARNING_SIGN);
|
||||||
size->height += warning_count * std::max<int>(warning_dimensions.height, FONT_HEIGHT_NORMAL);
|
size->height += warning_count * std::max<int>(warning_dimensions.height, FONT_HEIGHT_NORMAL);
|
||||||
@@ -370,16 +370,19 @@ struct SchdispatchWindow : Window {
|
|||||||
}
|
}
|
||||||
y += FONT_HEIGHT_NORMAL;
|
y += FONT_HEIGHT_NORMAL;
|
||||||
|
|
||||||
SetTimetableParams(0, v->orders.list->GetScheduledDispatchDuration());
|
SetTimetableParams(0, v->orders.list->GetScheduledDispatchDuration(), true);
|
||||||
SetDParam(4, v->orders.list->GetScheduledDispatchStartTick());
|
|
||||||
SetDParam(5, v->orders.list->GetScheduledDispatchStartTick() + v->orders.list->GetScheduledDispatchDuration());
|
|
||||||
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_SCHDISPATCH_SUMMARY_L2);
|
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_SCHDISPATCH_SUMMARY_L2);
|
||||||
y += FONT_HEIGHT_NORMAL;
|
y += FONT_HEIGHT_NORMAL;
|
||||||
|
|
||||||
SetTimetableParams(0, v->orders.list->GetScheduledDispatchDelay());
|
SetDParam(0, v->orders.list->GetScheduledDispatchStartTick());
|
||||||
|
SetDParam(1, v->orders.list->GetScheduledDispatchStartTick() + v->orders.list->GetScheduledDispatchDuration());
|
||||||
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_SCHDISPATCH_SUMMARY_L3);
|
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_SCHDISPATCH_SUMMARY_L3);
|
||||||
y += FONT_HEIGHT_NORMAL;
|
y += FONT_HEIGHT_NORMAL;
|
||||||
|
|
||||||
|
SetTimetableParams(0, v->orders.list->GetScheduledDispatchDelay());
|
||||||
|
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_SCHDISPATCH_SUMMARY_L4);
|
||||||
|
y += FONT_HEIGHT_NORMAL;
|
||||||
|
|
||||||
uint warnings = 0;
|
uint warnings = 0;
|
||||||
auto draw_warning = [&](StringID text) {
|
auto draw_warning = [&](StringID text) {
|
||||||
const Dimension warning_dimensions = GetSpriteSize(SPR_WARNING_SIGN);
|
const Dimension warning_dimensions = GetSpriteSize(SPR_WARNING_SIGN);
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
void ShowTimetableWindow(const Vehicle *v);
|
void ShowTimetableWindow(const Vehicle *v);
|
||||||
void UpdateVehicleTimetable(Vehicle *v, bool travelling);
|
void UpdateVehicleTimetable(Vehicle *v, bool travelling);
|
||||||
void SetTimetableParams(int first_param, Ticks ticks);
|
void SetTimetableParams(int first_param, Ticks ticks, bool long_mode = false);
|
||||||
|
|
||||||
struct TimetableProgress {
|
struct TimetableProgress {
|
||||||
VehicleID id;
|
VehicleID id;
|
||||||
|
@@ -43,8 +43,9 @@ struct TimetableArrivalDeparture {
|
|||||||
* Set the timetable parameters in the format as described by the setting.
|
* Set the timetable parameters in the format as described by the setting.
|
||||||
* @param param the first DParam to fill
|
* @param param the first DParam to fill
|
||||||
* @param ticks the number of ticks to 'draw'
|
* @param ticks the number of ticks to 'draw'
|
||||||
|
* @param long_mode long output format
|
||||||
*/
|
*/
|
||||||
void SetTimetableParams(int first_param, Ticks ticks)
|
void SetTimetableParams(int first_param, Ticks ticks, bool long_mode)
|
||||||
{
|
{
|
||||||
if (_settings_client.gui.timetable_in_ticks) {
|
if (_settings_client.gui.timetable_in_ticks) {
|
||||||
SetDParam(first_param, STR_TIMETABLE_TICKS);
|
SetDParam(first_param, STR_TIMETABLE_TICKS);
|
||||||
@@ -54,6 +55,17 @@ void SetTimetableParams(int first_param, Ticks ticks)
|
|||||||
size_t ratio = DATE_UNIT_SIZE;
|
size_t ratio = DATE_UNIT_SIZE;
|
||||||
size_t units = ticks / ratio;
|
size_t units = ticks / ratio;
|
||||||
size_t leftover = ticks % ratio;
|
size_t leftover = ticks % ratio;
|
||||||
|
if (long_mode && _settings_time.time_in_minutes && units > 59) {
|
||||||
|
SetDParam(first_param, STR_TIMETABLE_MINUTES_LONG);
|
||||||
|
SetDParam(first_param + 1, units);
|
||||||
|
size_t hours = units / 60;
|
||||||
|
size_t minutes = units % 60;
|
||||||
|
SetDParam(first_param + 2, (minutes != 0) ? STR_TIMETABLE_HOURS_MINUTES : STR_TIMETABLE_HOURS);
|
||||||
|
SetDParam(first_param + 3, hours);
|
||||||
|
SetDParam(first_param + 4, minutes);
|
||||||
|
str = STR_EMPTY;
|
||||||
|
first_param += 5;
|
||||||
|
}
|
||||||
if (leftover && _settings_client.gui.timetable_leftover_ticks) {
|
if (leftover && _settings_client.gui.timetable_leftover_ticks) {
|
||||||
SetDParam(first_param, STR_TIMETABLE_LEFTOVER_TICKS);
|
SetDParam(first_param, STR_TIMETABLE_LEFTOVER_TICKS);
|
||||||
SetDParam(first_param + 1, str);
|
SetDParam(first_param + 1, str);
|
||||||
|
Reference in New Issue
Block a user