diff -r be4a2259d2ff -r caa16c506a22 ship_cmd.c --- a/ship_cmd.c Sun Mar 20 00:32:26 2005 +0000 +++ b/ship_cmd.c Sun Mar 20 08:43:29 2005 +0000 @@ -108,7 +108,7 @@ return; if (v->current_order.type == OT_GOTO_DEPOT && - v->current_order.flags & OF_FULL_LOAD) + v->current_order.flags & OF_HALT_IN_DEPOT) return; if (_patches.gotodepot && VehicleHasDepotOrders(v)) @@ -430,9 +430,9 @@ v->current_order.type = OT_DUMMY; v->current_order.flags = 0; - if (t.flags & OF_UNLOAD) { + if (HASBIT(t.flags, OFB_PART_OF_ORDERS)) { v->cur_order_index++; - } else if (t.flags & OF_FULL_LOAD) { + } else if (HASBIT(t.flags, OFB_HALT_IN_DEPOT)) { v->vehstatus |= VS_STOPPED; if (v->owner == _local_player) { SetDParam(0, v->unitnumber); @@ -993,7 +993,10 @@ if (v->current_order.type == OT_GOTO_DEPOT) { if (flags & DC_EXEC) { - if (v->current_order.flags & OF_UNLOAD) v->cur_order_index++; + + if (HASBIT(v->current_order.flags, OFB_PART_OF_ORDERS)) + v->cur_order_index++; + v->current_order.type = OT_DUMMY; v->current_order.flags = 0; InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR); @@ -1006,7 +1009,7 @@ if (flags & DC_EXEC) { v->dest_tile = depot->xy; v->current_order.type = OT_GOTO_DEPOT; - v->current_order.flags = OF_NON_STOP | OF_FULL_LOAD; + v->current_order.flags = OF_NON_STOP | OF_HALT_IN_DEPOT; v->current_order.station = depot->index; InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR); }