Changeset - r10350:e5de21f93a9e
[Not reviewed]
master
0 2 0
rubidium - 16 years ago 2008-11-21 18:16:19
rubidium@openttd.org
(svn r14601) -Fix: the nearest depot and stop in depot orders didn't work together (the vehicle didn't stop).
2 files changed with 5 insertions and 4 deletions:
0 comments (0 inline, 0 general)
src/order_base.h
Show inline comments
 
@@ -84,10 +84,11 @@ public:
 
	 * Makes this order a Go To Depot order.
 
	 * @param destination the depot to go to.
 
	 * @param order       is this order a 'default' order, or an overriden vehicle order?
 
	 * @param action      what to do in the depot?
 
	 * @param cargo       the cargo type to change to.
 
	 * @param subtype     the subtype to change to.
 
	 */
 
	void MakeGoToDepot(DepotID destination, OrderDepotTypeFlags order, CargoID cargo = CT_NO_REFIT, byte subtype = 0);
 
	void MakeGoToDepot(DepotID destination, OrderDepotTypeFlags order, OrderDepotActionFlags action = ODATF_SERVICE_ONLY, CargoID cargo = CT_NO_REFIT, byte subtype = 0);
 

	
 
	/**
 
	 * Makes this order a Go To Waypoint order.
src/order_cmd.cpp
Show inline comments
 
@@ -57,11 +57,11 @@ void Order::MakeGoToStation(StationID de
 
	this->dest = destination;
 
}
 

	
 
void Order::MakeGoToDepot(DepotID destination, OrderDepotTypeFlags order, CargoID cargo, byte subtype)
 
void Order::MakeGoToDepot(DepotID destination, OrderDepotTypeFlags order, OrderDepotActionFlags action, CargoID cargo, byte subtype)
 
{
 
	this->type = OT_GOTO_DEPOT;
 
	this->flags = 0;
 
	this->SetDepotOrderType(order);
 
	this->SetDepotActionType(action);
 
	if (!(order & ODTFB_PART_OF_ORDERS)) {
 
		this->SetNonStopType(ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS);
 
	}
 
@@ -1623,7 +1623,7 @@ bool UpdateOrderDest(Vehicle *v, const O
 

	
 
				if (v->FindClosestDepot(&location, &destination, &reverse)) {
 
					v->dest_tile = location;
 
					v->current_order.MakeGoToDepot(destination, v->current_order.GetDepotOrderType(), v->current_order.GetRefitCargo(), v->current_order.GetRefitSubtype());
 
					v->current_order.MakeGoToDepot(destination, v->current_order.GetDepotOrderType(), (OrderDepotActionFlags)(v->current_order.GetDepotActionType() & ~ODATFB_NEAREST_DEPOT), v->current_order.GetRefitCargo(), v->current_order.GetRefitSubtype());
 

	
 
					/* If there is no depot in front, reverse automatically (trains only) */
 
					if (v->type == VEH_TRAIN && reverse) DoCommand(v->tile, v->index, 0, DC_EXEC, CMD_REVERSE_TRAIN_DIRECTION);
0 comments (0 inline, 0 general)