Add game setting to limit train lookahead to signal aspect
In realistic braking mode when multi-aspect signalling enabled by GRF
This commit is contained in:
@@ -4082,6 +4082,14 @@ bool AfterLoadGame()
|
||||
_aspect_cfg_hash = 0;
|
||||
}
|
||||
|
||||
if (!SlXvIsFeaturePresent(XSLFI_REALISTIC_TRAIN_BRAKING, 9) && _settings_game.vehicle.train_braking_model == TBM_REALISTIC) {
|
||||
for (Train *t : Train::Iterate()) {
|
||||
if (t->lookahead != nullptr) {
|
||||
t->lookahead->lookahead_end_position = t->lookahead->reservation_end_position + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
InitializeRoadGUI();
|
||||
|
||||
/* This needs to be done after conversion. */
|
||||
|
||||
@@ -151,7 +151,7 @@ const SlxiSubChunkInfo _sl_xv_sub_chunk_infos[] = {
|
||||
{ XSLFI_ANIMATED_TILE_EXTRA, XSCF_NULL, 1, 1, "animated_tile_extra", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_NEWGRF_INFO_EXTRA, XSCF_NULL, 1, 1, "newgrf_info_extra", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_INDUSTRY_CARGO_ADJ, XSCF_IGNORABLE_UNKNOWN, 1, 1, "industry_cargo_adj", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_REALISTIC_TRAIN_BRAKING,XSCF_NULL, 8, 8, "realistic_train_braking", nullptr, nullptr, "VLKA" },
|
||||
{ XSLFI_REALISTIC_TRAIN_BRAKING,XSCF_NULL, 9, 9, "realistic_train_braking", nullptr, nullptr, "VLKA" },
|
||||
{ XSLFI_INFLATION_FIXED_DATES, XSCF_IGNORABLE_ALL, 1, 1, "inflation_fixed_dates", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_WATER_FLOODING, XSCF_NULL, 2, 2, "water_flooding", nullptr, nullptr, nullptr },
|
||||
{ XSLFI_MORE_HOUSES, XSCF_NULL, 2, 2, "more_houses", nullptr, nullptr, nullptr },
|
||||
|
||||
@@ -1387,6 +1387,7 @@ const SaveLoadTable GetVehicleLookAheadDescription()
|
||||
SLE_VAR(TrainReservationLookAhead, reservation_end_trackdir, SLE_UINT8),
|
||||
SLE_VAR(TrainReservationLookAhead, current_position, SLE_INT32),
|
||||
SLE_VAR(TrainReservationLookAhead, reservation_end_position, SLE_INT32),
|
||||
SLE_CONDVAR_X(TrainReservationLookAhead, lookahead_end_position, SLE_INT32, SL_MIN_VERSION, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_REALISTIC_TRAIN_BRAKING, 9)),
|
||||
SLE_VAR(TrainReservationLookAhead, reservation_end_z, SLE_INT16),
|
||||
SLE_VAR(TrainReservationLookAhead, tunnel_bridge_reserved_tiles, SLE_INT16),
|
||||
SLE_VAR(TrainReservationLookAhead, flags, SLE_UINT16),
|
||||
@@ -1406,6 +1407,7 @@ const SaveLoadTable GetVehicleLookAheadItemDescription()
|
||||
SLE_VAR(TrainReservationLookAheadItem, end, SLE_INT32),
|
||||
SLE_VAR(TrainReservationLookAheadItem, z_pos, SLE_INT16),
|
||||
SLE_VAR(TrainReservationLookAheadItem, data_id, SLE_UINT16),
|
||||
SLE_CONDVAR_X(TrainReservationLookAheadItem, data_aux, SLE_UINT16, SL_MIN_VERSION, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_REALISTIC_TRAIN_BRAKING, 9)),
|
||||
SLE_VAR(TrainReservationLookAheadItem, type, SLE_UINT8),
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user