Add current day/month to tracerestrict and conditional order conditionals
This commit is contained in:
@@ -3075,12 +3075,18 @@ STR_TRACE_RESTRICT_NO_PBS_BACK_PENALTY_CANCEL_SHORT :Cancel no PBS b
|
||||
STR_TRACE_RESTRICT_TIME_MINUTE :current minute (0 - 59)
|
||||
STR_TRACE_RESTRICT_TIME_HOUR :current hour (0 - 23)
|
||||
STR_TRACE_RESTRICT_TIME_HOUR_MINUTE :current hour and minute (0 - 2359)
|
||||
STR_TRACE_RESTRICT_TIME_DAY :current day (1 - 31)
|
||||
STR_TRACE_RESTRICT_TIME_MONTH :current month (1 - 12)
|
||||
STR_TRACE_RESTRICT_TIME_MINUTE_ITEM :current minute
|
||||
STR_TRACE_RESTRICT_TIME_HOUR_ITEM :current hour
|
||||
STR_TRACE_RESTRICT_TIME_HOUR_MINUTE_ITEM :current hour and minute
|
||||
STR_TRACE_RESTRICT_TIME_DAY_ITEM :current day
|
||||
STR_TRACE_RESTRICT_TIME_MONTH_ITEM :current month
|
||||
STR_TRACE_RESTRICT_TIME_MINUTE_SHORT :minute
|
||||
STR_TRACE_RESTRICT_TIME_HOUR_SHORT :hour
|
||||
STR_TRACE_RESTRICT_TIME_HOUR_MINUTE_SHORT :hour and minute
|
||||
STR_TRACE_RESTRICT_TIME_DAY_ITEM_SHORT :day
|
||||
STR_TRACE_RESTRICT_TIME_MONTH_ITEM_SHORT :month
|
||||
STR_TRACE_RESTRICT_TIMETABLE_LATENESS :lateness
|
||||
STR_TRACE_RESTRICT_TIMETABLE_EARLINESS :earliness
|
||||
STR_TRACE_RESTRICT_VALUE_CAPTION :{WHITE}Value
|
||||
|
@@ -757,6 +757,8 @@ static const StringID _order_time_date_dropdown[] = {
|
||||
STR_TRACE_RESTRICT_TIME_MINUTE,
|
||||
STR_TRACE_RESTRICT_TIME_HOUR,
|
||||
STR_TRACE_RESTRICT_TIME_HOUR_MINUTE,
|
||||
STR_TRACE_RESTRICT_TIME_DAY,
|
||||
STR_TRACE_RESTRICT_TIME_MONTH,
|
||||
INVALID_STRING_ID
|
||||
};
|
||||
|
||||
@@ -2421,7 +2423,7 @@ public:
|
||||
|
||||
case WID_O_COND_TIME_DATE: {
|
||||
ShowDropDownMenu(this, _order_time_date_dropdown, this->vehicle->GetOrder(this->OrderGetSel())->GetConditionValue(),
|
||||
WID_O_COND_TIME_DATE, 0, 0, UINT_MAX);
|
||||
WID_O_COND_TIME_DATE, _settings_game.game_time.time_in_minutes ? 0 : 7, 0, UINT_MAX);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2481,7 +2483,6 @@ public:
|
||||
_order_conditional_variable[i] == OCV_COUNTER_VALUE) && !_settings_client.gui.show_adv_tracerestrict_features) {
|
||||
continue;
|
||||
}
|
||||
if (_order_conditional_variable[i] == OCV_TIME_DATE && !_settings_game.game_time.time_in_minutes) continue;
|
||||
}
|
||||
list.emplace_back(new DropDownListStringItem(STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE + _order_conditional_variable[i], _order_conditional_variable[i], false));
|
||||
}
|
||||
|
@@ -75,7 +75,7 @@ const SlxiSubChunkInfo _sl_xv_sub_chunk_infos[] = {
|
||||
{ XSLFI_TRACE_RESTRICT_REVERSE, XSCF_NULL, 1, 1, "tracerestrict_reverse", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_TRACE_RESTRICT_NEWSCTRL,XSCF_NULL, 1, 1, "tracerestrict_newsctrl", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_TRACE_RESTRICT_COUNTER, XSCF_NULL, 1, 1, "tracerestrict_counter", nullptr, nullptr, "TRRC" },
|
||||
{ XSLFI_TRACE_RESTRICT_TIMEDATE,XSCF_NULL, 1, 1, "tracerestrict_timedate", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_TRACE_RESTRICT_TIMEDATE,XSCF_NULL, 2, 2, "tracerestrict_timedate", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_TRACE_RESTRICT_BRKCND, XSCF_NULL, 2, 2, "tracerestrict_braking_cond",nullptr, nullptr, nullptr },
|
||||
{ XSLFI_TRACE_RESTRICT_CTGRYCND,XSCF_NULL, 1, 1, "tracerestrict_ctgry_cond", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_TRACE_RESTRICT_PENCTRL, XSCF_NULL, 1, 1, "tracerestrict_pfpenctrl", nullptr, nullptr, nullptr },
|
||||
@@ -95,7 +95,7 @@ const SlxiSubChunkInfo _sl_xv_sub_chunk_infos[] = {
|
||||
{ XSLFI_INFRA_SHARING, XSCF_NULL, 2, 2, "infra_sharing", nullptr, nullptr, "CPDP" },
|
||||
{ XSLFI_VARIABLE_DAY_LENGTH, XSCF_NULL, 2, 2, "variable_day_length", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_ORDER_OCCUPANCY, XSCF_NULL, 2, 2, "order_occupancy", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_MORE_COND_ORDERS, XSCF_NULL, 10, 10, "more_cond_orders", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_MORE_COND_ORDERS, XSCF_NULL, 11, 11, "more_cond_orders", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_EXTRA_LARGE_MAP, XSCF_NULL, 0, 1, "extra_large_map", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_REVERSE_AT_WAYPOINT, XSCF_NULL, 1, 1, "reverse_at_waypoint", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_VEH_LIFETIME_PROFIT, XSCF_NULL, 1, 1, "veh_lifetime_profit", nullptr, nullptr, nullptr },
|
||||
|
@@ -1713,6 +1713,12 @@ int GetTraceRestrictTimeDateValue(TraceRestrictTimeDateValueField type)
|
||||
case TRTDVF_HOUR_MINUTE:
|
||||
return (MINUTES_HOUR(minutes) * 100) + MINUTES_MINUTE(minutes);
|
||||
|
||||
case TRTDVF_DAY:
|
||||
return _cur_date_ymd.day;
|
||||
|
||||
case TRTDVF_MONTH:
|
||||
return _cur_date_ymd.month + 1;
|
||||
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
@@ -313,7 +313,9 @@ enum TraceRestrictTimeDateValueField {
|
||||
TRTDVF_MINUTE = 0, ///< Minute
|
||||
TRTDVF_HOUR = 1, ///< Hour
|
||||
TRTDVF_HOUR_MINUTE = 2, ///< Hour and minute
|
||||
TRTDVF_END = 3, ///< End tag
|
||||
TRTDVF_DAY = 3, ///< Day
|
||||
TRTDVF_MONTH = 4, ///< Month
|
||||
TRTDVF_END = 5, ///< End tag
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -346,12 +346,16 @@ static const StringID _time_date_value_str[] = {
|
||||
STR_TRACE_RESTRICT_TIME_MINUTE,
|
||||
STR_TRACE_RESTRICT_TIME_HOUR,
|
||||
STR_TRACE_RESTRICT_TIME_HOUR_MINUTE,
|
||||
STR_TRACE_RESTRICT_TIME_DAY,
|
||||
STR_TRACE_RESTRICT_TIME_MONTH,
|
||||
INVALID_STRING_ID
|
||||
};
|
||||
static const uint _time_date_value_val[] = {
|
||||
TRTDVF_MINUTE,
|
||||
TRTDVF_HOUR,
|
||||
TRTDVF_HOUR_MINUTE,
|
||||
TRTDVF_DAY,
|
||||
TRTDVF_MONTH,
|
||||
};
|
||||
|
||||
/** value drop down list for time/date types strings and values */
|
||||
@@ -543,7 +547,6 @@ static const TraceRestrictDropDownListSet *GetTypeDropDownListSet(TraceRestrictG
|
||||
} else {
|
||||
*hide_mask = is_conditional ? 0x1FE0000 : 0x6F0;
|
||||
}
|
||||
if (is_conditional && !_settings_game.game_time.time_in_minutes) *hide_mask |= 0x800000;
|
||||
if (is_conditional && _settings_game.vehicle.train_braking_model != TBM_REALISTIC) *hide_mask |= 0x1040000;
|
||||
}
|
||||
return is_conditional ? &set_cond : &set_action;
|
||||
@@ -1858,7 +1861,7 @@ public:
|
||||
}
|
||||
|
||||
case TRVT_TIME_DATE_INT: {
|
||||
this->ShowDropDownListWithValue(&_time_date_value, GetTraceRestrictValue(item), false, TR_WIDGET_LEFT_AUX_DROPDOWN, 0, 0, UINT_MAX);
|
||||
this->ShowDropDownListWithValue(&_time_date_value, GetTraceRestrictValue(item), false, TR_WIDGET_LEFT_AUX_DROPDOWN, _settings_game.game_time.time_in_minutes ? 0 : 7, 0, UINT_MAX);
|
||||
break;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user