File diff r12108:f8d8164485bd → r12109:90df01928018
src/order_cmd.cpp
Show inline comments
 
@@ -21,6 +21,7 @@
 
#include "settings_type.h"
 
#include "core/pool_func.hpp"
 
#include "aircraft.h"
 
#include "roadveh.h"
 

	
 
#include "table/strings.h"
 

	
 
@@ -734,7 +735,7 @@ CommandCost CmdSkipToOrder(TileIndex til
 
	if (flags & DC_EXEC) {
 
		v->cur_order_index = sel_ord;
 

	
 
		if (v->type == VEH_ROAD) ClearSlot((RoadVehicle *)v);
 
		if (v->type == VEH_ROAD) ClearSlot(RoadVehicle::From(v));
 

	
 
		if (v->current_order.IsType(OT_LOADING)) v->LeaveStation();
 

	
 
@@ -1360,7 +1361,7 @@ static TileIndex GetStationTileForVehicl
 
		case VEH_TRAIN:     return st->train_tile;
 
		case VEH_AIRCRAFT:  return st->airport_tile;
 
		case VEH_SHIP:      return st->dock_tile;
 
		case VEH_ROAD:      return st->GetPrimaryRoadStop((RoadVehicle *)v)->xy;
 
		case VEH_ROAD:      return st->GetPrimaryRoadStop(RoadVehicle::From(v))->xy;
 
	}
 
}
 

	
 
@@ -1615,7 +1616,7 @@ bool UpdateOrderDest(Vehicle *v, const O
 
					if (v->type == VEH_TRAIN && reverse) DoCommand(v->tile, v->index, 0, DC_EXEC, CMD_REVERSE_TRAIN_DIRECTION);
 

	
 
					if (v->type == VEH_AIRCRAFT) {
 
						Aircraft *a = (Aircraft *)v;
 
						Aircraft *a = Aircraft::From(v);
 
						if (a->state == FLYING && a->targetairport != destination) {
 
							/* The aircraft is now heading for a different hangar than the next in the orders */
 
							extern void AircraftNextAirportPos_and_Order(Aircraft *a);
 
@@ -1734,13 +1735,13 @@ bool ProcessOrders(Vehicle *v)
 
		if (v->type == VEH_AIRCRAFT) {
 
			/* Aircraft do something vastly different here, so handle separately */
 
			extern void HandleMissingAircraftOrders(Aircraft *v);
 
			HandleMissingAircraftOrders((Aircraft *)v);
 
			HandleMissingAircraftOrders(Aircraft::From(v));
 
			return false;
 
		}
 

	
 
		v->current_order.Free();
 
		v->dest_tile = 0;
 
		if (v->type == VEH_ROAD) ClearSlot((RoadVehicle *)v);
 
		if (v->type == VEH_ROAD) ClearSlot(RoadVehicle::From(v));
 
		return false;
 
	}