From b84b16cfcd06f66f44aa2ff8ad8382776662773d Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 30 Mar 2008 23:24:18 +0000 Subject: (svn r12488) -Codechange: split order.h into order_base.h and order_func.h. --- src/order_func.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/order_func.h (limited to 'src/order_func.h') diff --git a/src/order_func.h b/src/order_func.h new file mode 100644 index 000000000..3351ea23b --- /dev/null +++ b/src/order_func.h @@ -0,0 +1,54 @@ +/* $Id$ */ + +/** @file order_func.h Functions related to orders. */ + +#ifndef ORDER_FUNC_H +#define ORDER_FUNC_H + +#include "order_type.h" +#include "vehicle_type.h" +#include "tile_type.h" +#include "group_type.h" +#include "date_type.h" + +struct BackuppedOrders { + BackuppedOrders() : order(NULL), name(NULL) { } + ~BackuppedOrders() { free(order); free(name); } + + VehicleID clone; + VehicleOrderID orderindex; + GroupID group; + Order *order; + uint16 service_interval; + char *name; +}; + +extern TileIndex _backup_orders_tile; +extern BackuppedOrders _backup_orders_data; + +void BackupVehicleOrders(const Vehicle *v, BackuppedOrders *order = &_backup_orders_data); +void RestoreVehicleOrders(const Vehicle *v, const BackuppedOrders *order = &_backup_orders_data); + +/* Functions */ +void RemoveOrderFromAllVehicles(OrderType type, DestinationID destination); +void InvalidateVehicleOrder(const Vehicle *v); +bool VehicleHasDepotOrders(const Vehicle *v); +void CheckOrders(const Vehicle*); +void DeleteVehicleOrders(Vehicle *v); +bool CheckForValidOrders(const Vehicle* v); + +#define MIN_SERVINT_PERCENT 5 +#define MAX_SERVINT_PERCENT 90 +#define MIN_SERVINT_DAYS 30 +#define MAX_SERVINT_DAYS 800 + +/** + * Get the service interval domain. + * Get the new proposed service interval for the vehicle is indeed, clamped + * within the given bounds. @see MIN_SERVINT_PERCENT ,etc. + * @param index proposed service interval + * @return service interval + */ +Date GetServiceIntervalClamped(uint index); + +#endif /* ORDER_FUNC_H */ -- cgit v1.2.3-54-g00ecf