|
|
|
@ -303,7 +303,7 @@ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile)
|
|
|
|
|
case MP_RAILWAY:
|
|
|
|
|
if (v->type == VEH_TRAIN && IsTileOwner(tile, _local_company)) {
|
|
|
|
|
if (IsRailDepot(tile)) {
|
|
|
|
|
order.MakeGoToDepot(Depot::GetByTile(tile)->index, ODTFB_PART_OF_ORDERS,
|
|
|
|
|
order.MakeGoToDepot(GetDepotIndex(tile), ODTFB_PART_OF_ORDERS,
|
|
|
|
|
_settings_client.gui.new_nonstop ? ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS : ONSF_STOP_EVERYWHERE);
|
|
|
|
|
if (_ctrl_pressed) order.SetDepotOrderType((OrderDepotTypeFlags)(order.GetDepotOrderType() ^ ODTFB_SERVICE));
|
|
|
|
|
return order;
|
|
|
|
@ -313,7 +313,7 @@ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile)
|
|
|
|
|
|
|
|
|
|
case MP_ROAD:
|
|
|
|
|
if (IsRoadDepot(tile) && v->type == VEH_ROAD && IsTileOwner(tile, _local_company)) {
|
|
|
|
|
order.MakeGoToDepot(Depot::GetByTile(tile)->index, ODTFB_PART_OF_ORDERS,
|
|
|
|
|
order.MakeGoToDepot(GetDepotIndex(tile), ODTFB_PART_OF_ORDERS,
|
|
|
|
|
_settings_client.gui.new_nonstop ? ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS : ONSF_STOP_EVERYWHERE);
|
|
|
|
|
if (_ctrl_pressed) order.SetDepotOrderType((OrderDepotTypeFlags)(order.GetDepotOrderType() ^ ODTFB_SERVICE));
|
|
|
|
|
return order;
|
|
|
|
@ -332,9 +332,7 @@ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile)
|
|
|
|
|
case MP_WATER:
|
|
|
|
|
if (v->type != VEH_SHIP) break;
|
|
|
|
|
if (IsShipDepot(tile) && IsTileOwner(tile, _local_company)) {
|
|
|
|
|
TileIndex tile2 = GetOtherShipDepotTile(tile);
|
|
|
|
|
|
|
|
|
|
order.MakeGoToDepot(Depot::GetByTile(tile < tile2 ? tile : tile2)->index, ODTFB_PART_OF_ORDERS, ONSF_STOP_EVERYWHERE);
|
|
|
|
|
order.MakeGoToDepot(GetDepotIndex(tile), ODTFB_PART_OF_ORDERS, ONSF_STOP_EVERYWHERE);
|
|
|
|
|
if (_ctrl_pressed) order.SetDepotOrderType((OrderDepotTypeFlags)(order.GetDepotOrderType() ^ ODTFB_SERVICE));
|
|
|
|
|
return order;
|
|
|
|
|
}
|
|
|
|
|