mirror of https://github.com/OpenTTD/OpenTTD
Add: Check length of platforms for servicing trains.
parent
b6946fb17f
commit
fc5445d208
|
@ -911,6 +911,7 @@ STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE
|
|||
STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}{VEHICLE}'s profit last year was {CURRENCY_LONG}
|
||||
STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}{VEHICLE}'s profit last period was {CURRENCY_LONG}
|
||||
STR_NEWS_VEHICLE_CAN_T_FIND_FREE_DEPOT :{WHITE}{VEHICLE} can't find a free depot
|
||||
STR_NEWS_VEHICLE_TOO_LONG_FOR_SERVICING :{WHITE}{VEHICLE} couldn't service in short platform
|
||||
STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} can't get to the next destination because it is out of range
|
||||
|
||||
STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} stopped because an ordered refit failed
|
||||
|
|
|
@ -2418,6 +2418,14 @@ bool HandleTrainEnterDepot(Train *v)
|
|||
if (IsExtendedRailDepot(v->tile)) {
|
||||
v->cur_speed = 0;
|
||||
Train *t = Train::From(v);
|
||||
for (Train *u = t; u != nullptr; u = u->Next()) {
|
||||
if (!IsCompatibleTrainDepotTile(u->tile, t->tile)) {
|
||||
SetDParam(0, v->index);
|
||||
AddVehicleAdviceNewsItem(STR_NEWS_VEHICLE_TOO_LONG_FOR_SERVICING, v->index);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
for (Train *u = t; u != nullptr; u = u->Next()) u->track |= TRACK_BIT_DEPOT;
|
||||
t->force_proceed = TFP_NONE;
|
||||
ClrBit(t->flags, VRF_TOGGLE_REVERSE);
|
||||
|
|
Loading…
Reference in New Issue