diff options
author | frosch <frosch@openttd.org> | 2013-02-24 16:41:51 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2013-02-24 16:41:51 +0000 |
commit | 22bb015f3d1f172227a74cb6d9d0bc96378f452a (patch) | |
tree | a4172aa3b01136ea21375fcb88b70b72555dbbff /src/order_cmd.cpp | |
parent | 205543f727b5a4e0084c1eceb433eac8fa0a327b (diff) | |
download | openttd-22bb015f3d1f172227a74cb6d9d0bc96378f452a.tar.xz |
(svn r25041) -Remove [FS#3764-ish]: ordered refit with subtypes, since the cases where it worked were corner cases rather than the general case.
Diffstat (limited to 'src/order_cmd.cpp')
-rw-r--r-- | src/order_cmd.cpp | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index e86e31900..e44447f7c 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -83,16 +83,15 @@ void Order::MakeGoToStation(StationID destination) * @param non_stop_type how to get to the depot? * @param action what to do in the depot? * @param cargo the cargo type to change to. - * @param subtype the subtype to change to. */ -void Order::MakeGoToDepot(DepotID destination, OrderDepotTypeFlags order, OrderNonStopFlags non_stop_type, OrderDepotActionFlags action, CargoID cargo, byte subtype) +void Order::MakeGoToDepot(DepotID destination, OrderDepotTypeFlags order, OrderNonStopFlags non_stop_type, OrderDepotActionFlags action, CargoID cargo) { this->type = OT_GOTO_DEPOT; this->SetDepotOrderType(order); this->SetDepotActionType(action); this->SetNonStopType(non_stop_type); this->dest = destination; - this->SetRefit(cargo, subtype); + this->SetRefit(cargo); } /** @@ -158,13 +157,11 @@ void Order::MakeImplicit(StationID destination) /** * Make this depot/station order also a refit order. * @param cargo the cargo type to change to. - * @param subtype the subtype to change to. * @pre IsType(OT_GOTO_DEPOT) || IsType(OT_GOTO_STATION). */ -void Order::SetRefit(CargoID cargo, byte subtype) +void Order::SetRefit(CargoID cargo) { this->refit_cargo = cargo; - this->refit_subtype = subtype; } /** @@ -238,7 +235,6 @@ Order::Order(uint32 packed) this->dest = GB(packed, 16, 16); this->next = NULL; this->refit_cargo = CT_NO_REFIT; - this->refit_subtype = 0; this->wait_time = 0; this->travel_time = 0; this->max_speed = UINT16_MAX; @@ -278,7 +274,6 @@ void Order::AssignOrder(const Order &other) this->dest = other.dest; this->refit_cargo = other.refit_cargo; - this->refit_subtype = other.refit_subtype; this->wait_time = other.wait_time; this->travel_time = other.travel_time; @@ -1587,7 +1582,6 @@ CommandCost CmdCloneOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 * @param p1 VehicleIndex of the vehicle having the order * @param p2 bitmask * - bit 0-7 CargoID - * - bit 8-15 Cargo subtype * - bit 16-23 number of order to modify * @param text unused * @return the cost of this operation or an error @@ -1597,7 +1591,6 @@ CommandCost CmdOrderRefit(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 VehicleID veh = GB(p1, 0, 20); VehicleOrderID order_number = GB(p2, 16, 8); CargoID cargo = GB(p2, 0, 8); - byte subtype = GB(p2, 8, 8); if (cargo >= NUM_CARGO && cargo != CT_NO_REFIT && cargo != CT_AUTO_REFIT) return CMD_ERROR; @@ -1616,7 +1609,7 @@ CommandCost CmdOrderRefit(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 if (order->GetLoadType() & OLFB_NO_LOAD) return CMD_ERROR; if (flags & DC_EXEC) { - order->SetRefit(cargo, subtype); + order->SetRefit(cargo); /* Make the depot order an 'always go' order. */ if (cargo != CT_NO_REFIT && order->IsType(OT_GOTO_DEPOT)) { @@ -1630,7 +1623,7 @@ CommandCost CmdOrderRefit(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 /* If the vehicle already got the current depot set as current order, then update current order as well */ if (u->cur_real_order_index == order_number && (u->current_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS)) { - u->current_order.SetRefit(cargo, subtype); + u->current_order.SetRefit(cargo); } } } @@ -1932,7 +1925,7 @@ bool UpdateOrderDest(Vehicle *v, const Order *order, int conditional_depth, bool if (pbs_look_ahead && reverse) return false; v->dest_tile = location; - v->current_order.MakeGoToDepot(destination, v->current_order.GetDepotOrderType(), v->current_order.GetNonStopType(), (OrderDepotActionFlags)(v->current_order.GetDepotActionType() & ~ODATFB_NEAREST_DEPOT), v->current_order.GetRefitCargo(), v->current_order.GetRefitSubtype()); + v->current_order.MakeGoToDepot(destination, v->current_order.GetDepotOrderType(), v->current_order.GetNonStopType(), (OrderDepotActionFlags)(v->current_order.GetDepotActionType() & ~ODATFB_NEAREST_DEPOT), v->current_order.GetRefitCargo()); /* 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); |