(svn r24384) -Fix [FS#5188-ish]: Make IsInDepot() functions behave consistent across vehicle types and add IsChainInDepot instead, if that is what shall be checked.

This commit is contained in:
frosch
2012-07-07 15:39:46 +00:00
parent 8d004f3c63
commit 08a8c3a773
14 changed files with 55 additions and 63 deletions

View File

@@ -601,13 +601,7 @@ CommandCost CmdMassStartStopVehicle(TileIndex tile, DoCommandFlag flags, uint32
if (!!(v->vehstatus & VS_STOPPED) != do_start) continue;
if (!vehicle_list_window) {
if (vli.vtype == VEH_TRAIN) {
if (!Train::From(v)->IsInDepot()) continue;
} else {
if (!(v->vehstatus & VS_HIDDEN)) continue;
}
}
if (!vehicle_list_window && !v->IsChainInDepot()) continue;
/* Just try and don't care if some vehicle's can't be stopped. */
DoCommand(tile, v->index, 0, flags, CMD_START_STOP_VEHICLE);
@@ -679,7 +673,7 @@ CommandCost CmdDepotMassAutoReplace(TileIndex tile, DoCommandFlag flags, uint32
const Vehicle *v = list[i];
/* Ensure that the vehicle completely in the depot */
if (!v->IsInDepot()) continue;
if (!v->IsChainInDepot()) continue;
CommandCost ret = DoCommand(0, v->index, 0, flags, CMD_AUTOREPLACE_VEHICLE);