(svn r12633) -Fix: could not make a (go-to) depot order.

This commit is contained in:
rubidium 2008-04-08 22:41:14 +00:00
parent 627322b9f7
commit d8f88f06d4
2 changed files with 5 additions and 5 deletions

View File

@ -169,7 +169,7 @@ public:
/** What caused us going to the depot? */ /** What caused us going to the depot? */
inline OrderDepotTypeFlags GetDepotOrderType() const { return (OrderDepotTypeFlags)this->flags; } inline OrderDepotTypeFlags GetDepotOrderType() const { return (OrderDepotTypeFlags)this->flags; }
/** What are we going to do when in the depot. */ /** What are we going to do when in the depot. */
inline OrderDepotActionFlags GetDepotActionType() const { return (OrderDepotActionFlags)this->flags; } inline OrderDepotActionFlags GetDepotActionType() const { return (OrderDepotActionFlags)(this->flags & ODATFB_HALT); }
/** Set how the consist must be loaded. */ /** Set how the consist must be loaded. */
inline void SetLoadType(OrderLoadFlags load_type) { SB(this->flags, 2, 1, !!load_type); } inline void SetLoadType(OrderLoadFlags load_type) { SB(this->flags, 2, 1, !!load_type); }

View File

@ -43,7 +43,7 @@ DEFINE_OLD_POOL_GENERIC(Order, Order);
OrderNonStopFlags Order::GetNonStopType() const OrderNonStopFlags Order::GetNonStopType() const
{ {
if (_patches.new_nonstop || this->IsType(OT_GOTO_DEPOT)) { if (_patches.new_nonstop) {
return (this->flags & 0x08) ? ONSF_NO_STOP_AT_ANY_STATION : ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS; return (this->flags & 0x08) ? ONSF_NO_STOP_AT_ANY_STATION : ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS;
} }
@ -316,7 +316,7 @@ CommandCost CmdInsertOrder(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
} }
/* Non stop not allowed for non-trains. */ /* Non stop not allowed for non-trains. */
if (new_order.GetNonStopType() != ONSF_STOP_EVERYWHERE && v->type != VEH_TRAIN) return CMD_ERROR; // TODO: implement properly once savegame bump is done. if ((new_order.GetNonStopType() & ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS) != 0 && v->type != VEH_TRAIN) return CMD_ERROR;
/* Full load and unload are mutual exclusive. */ /* Full load and unload are mutual exclusive. */
if ((new_order.GetLoadType() & OLFB_FULL_LOAD) && (new_order.GetUnloadType() & OUFB_UNLOAD)) return CMD_ERROR; if ((new_order.GetLoadType() & OLFB_FULL_LOAD) && (new_order.GetUnloadType() & OUFB_UNLOAD)) return CMD_ERROR;
@ -363,7 +363,7 @@ CommandCost CmdInsertOrder(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
} }
} }
if (new_order.GetNonStopType() != ONSF_STOP_EVERYWHERE && v->type != VEH_TRAIN) return CMD_ERROR; // TODO: implement properly once savegame bump is done. if (new_order.GetNonStopType() != ONSF_STOP_EVERYWHERE && v->type != VEH_TRAIN) return CMD_ERROR;
if (new_order.GetDepotOrderType() & ~ODTFB_PART_OF_ORDERS) return CMD_ERROR; if (new_order.GetDepotOrderType() & ~ODTFB_PART_OF_ORDERS) return CMD_ERROR;
if (new_order.GetDepotActionType() & ~ODATFB_HALT) return CMD_ERROR; if (new_order.GetDepotActionType() & ~ODATFB_HALT) return CMD_ERROR;
break; break;
@ -381,7 +381,7 @@ CommandCost CmdInsertOrder(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
/* Order flags can be any of the following for waypoints: /* Order flags can be any of the following for waypoints:
* [non-stop] * [non-stop]
* non-stop orders (if any) are only valid for trains */ * non-stop orders (if any) are only valid for trains */
if (new_order.GetNonStopType() != ONSF_STOP_EVERYWHERE && v->type != VEH_TRAIN) return CMD_ERROR; // TODO: implement properly once savegame bump is done. if (new_order.GetNonStopType() != ONSF_STOP_EVERYWHERE && v->type != VEH_TRAIN) return CMD_ERROR;
break; break;
} }