Changeset - r9934:91e1ab4a9402
[Not reviewed]
master
0 2 0
rubidium - 16 years ago 2008-08-17 11:04:37
rubidium@openttd.org
(svn r14089) -Fix [FS#2219]: trains not being able to find a route to a depot when the front is already in the depot.
2 files changed with 9 insertions and 6 deletions:
0 comments (0 inline, 0 general)
src/train_cmd.cpp
Show inline comments
 
@@ -2128,9 +2128,14 @@ static TrainFindDepotData FindClosestTra
 

	
 
	TrainFindDepotData tfdd;
 
	tfdd.owner = v->owner;
 
	tfdd.best_length = UINT_MAX;
 
	tfdd.reverse = false;
 

	
 
	if (IsRailDepotTile(v->tile)) {
 
		tfdd.tile = v->tile;
 
		tfdd.best_length = 0;
 
		return tfdd;
 
	}
 

	
 
	PBSTileInfo origin = FollowTrainReservation(v);
 
	if (IsRailDepotTile(origin.tile)) {
 
		tfdd.tile = origin.tile;
 
@@ -2138,6 +2143,8 @@ static TrainFindDepotData FindClosestTra
 
		return tfdd;
 
	}
 

	
 
	tfdd.best_length = UINT_MAX;
 

	
 
	uint8 pathfinder = _settings_game.pf.pathfinder_for_trains;
 
	if ((_settings_game.pf.reserve_paths || HasReservedTracks(v->tile, v->u.rail.track)) && pathfinder == VPF_NTP) pathfinder = VPF_NPF;
 

	
src/vehicle.cpp
Show inline comments
 
@@ -2496,7 +2496,7 @@ CommandCost Vehicle::SendToDepot(uint32 
 
{
 
	if (!CheckOwnership(this->owner)) return CMD_ERROR;
 
	if (this->vehstatus & VS_CRASHED) return CMD_ERROR;
 
	if (this->IsInDepot()) return CMD_ERROR;
 
	if (this->IsStoppedInDepot()) return CMD_ERROR;
 

	
 
	if (this->current_order.IsType(OT_GOTO_DEPOT)) {
 
		bool halt_in_depot = this->current_order.GetDepotActionType() & ODATFB_HALT;
 
@@ -2524,10 +2524,6 @@ CommandCost Vehicle::SendToDepot(uint32 
 
		return CommandCost();
 
	}
 

	
 
	/* check if at a standstill (not stopped only) in a depot
 
	 * the check is down here to make it possible to alter stop/service for trains entering the depot */
 
	if (this->type == VEH_TRAIN && IsRailDepotTile(this->tile) && this->cur_speed == 0) return CMD_ERROR;
 

	
 
	TileIndex location;
 
	DestinationID destination;
 
	bool reverse;
0 comments (0 inline, 0 general)