equal
deleted
inserted
replaced
835 } |
835 } |
836 } |
836 } |
837 } |
837 } |
838 |
838 |
839 /* make sure there are orders available */ |
839 /* make sure there are orders available */ |
840 delta = IsOrderListShared(dst) ? src->num_orders + 1 : src->num_orders - dst->num_orders; |
840 delta = dst->IsOrderListShared() ? src->num_orders + 1 : src->num_orders - dst->num_orders; |
841 if (!HasOrderPoolFree(delta)) |
841 if (!HasOrderPoolFree(delta)) |
842 return_cmd_error(STR_8831_NO_MORE_SPACE_FOR_ORDERS); |
842 return_cmd_error(STR_8831_NO_MORE_SPACE_FOR_ORDERS); |
843 |
843 |
844 if (flags & DC_EXEC) { |
844 if (flags & DC_EXEC) { |
845 const Order *order; |
845 const Order *order; |
937 bak->orderindex = v->cur_order_index; |
937 bak->orderindex = v->cur_order_index; |
938 bak->service_interval = v->service_interval; |
938 bak->service_interval = v->service_interval; |
939 if (v->name != NULL) bak->name = strdup(v->name); |
939 if (v->name != NULL) bak->name = strdup(v->name); |
940 |
940 |
941 /* If we have shared orders, store it on a special way */ |
941 /* If we have shared orders, store it on a special way */ |
942 if (IsOrderListShared(v)) { |
942 if (v->IsOrderListShared()) { |
943 const Vehicle *u = (v->next_shared) ? v->next_shared : v->prev_shared; |
943 const Vehicle *u = (v->next_shared) ? v->next_shared : v->prev_shared; |
944 |
944 |
945 bak->clone = u->index; |
945 bak->clone = u->index; |
946 } else { |
946 } else { |
947 /* Else copy the orders */ |
947 /* Else copy the orders */ |
1207 { |
1207 { |
1208 DeleteOrderWarnings(v); |
1208 DeleteOrderWarnings(v); |
1209 |
1209 |
1210 /* If we have a shared order-list, don't delete the list, but just |
1210 /* If we have a shared order-list, don't delete the list, but just |
1211 remove our pointer */ |
1211 remove our pointer */ |
1212 if (IsOrderListShared(v)) { |
1212 if (v->IsOrderListShared()) { |
1213 Vehicle *u = v; |
1213 Vehicle *u = v; |
1214 |
1214 |
1215 v->orders = NULL; |
1215 v->orders = NULL; |
1216 v->num_orders = 0; |
1216 v->num_orders = 0; |
1217 |
1217 |
1255 Date GetServiceIntervalClamped(uint index) |
1255 Date GetServiceIntervalClamped(uint index) |
1256 { |
1256 { |
1257 return (_patches.servint_ispercent) ? Clamp(index, MIN_SERVINT_PERCENT, MAX_SERVINT_PERCENT) : Clamp(index, MIN_SERVINT_DAYS, MAX_SERVINT_DAYS); |
1257 return (_patches.servint_ispercent) ? Clamp(index, MIN_SERVINT_PERCENT, MAX_SERVINT_PERCENT) : Clamp(index, MIN_SERVINT_DAYS, MAX_SERVINT_DAYS); |
1258 } |
1258 } |
1259 |
1259 |
1260 /** |
|
1261 * |
|
1262 * Check if we share our orders with an other vehicle |
|
1263 * |
|
1264 * @return Returns the vehicle who has the same order |
|
1265 * |
|
1266 */ |
|
1267 bool IsOrderListShared(const Vehicle *v) |
|
1268 { |
|
1269 return v->next_shared != NULL || v->prev_shared != NULL; |
|
1270 } |
|
1271 |
1260 |
1272 /** |
1261 /** |
1273 * |
1262 * |
1274 * Check if a vehicle has any valid orders |
1263 * Check if a vehicle has any valid orders |
1275 * |
1264 * |