Files @ r10684:2065375f27ac
Branch filter:

Location: cpp/openttd-patchpack/source/src/order_func.h

translators
(svn r14996) -Update: WebTranslator2 update to 2009-01-11 18:44:49
afrikaans - 22 fixed by burgerd (22)
arabic_egypt - 18 fixed by khaloofah (18)
catalan - 16 fixed by arnaullv (16)
czech - 12 fixed by Hadez (12)
dutch - 13 fixed by Excel20 (13)
finnish - 1 fixed by UltimateSephiroth (1)
french - 1 fixed, 1 changed by glx (2)
greek - 8 fixed by paolitotas (8)
hungarian - 16 fixed by alyr (16)
italian - 16 fixed, 8 changed by lorenzodv (24)
lithuanian - 21 fixed by Enternald (21)
polish - 11 fixed by xaxa (11)
slovenian - 41 fixed by Necrolyte (41)
turkish - 22 fixed by Emin (22)
/* $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, int data);
bool VehicleHasDepotOrders(const Vehicle *v);
void CheckOrders(const Vehicle*);
void DeleteVehicleOrders(Vehicle *v, bool keep_orderlist = false);
bool ProcessOrders(Vehicle *v);
bool UpdateOrderDest(Vehicle *v, const Order *order, int conditional_depth = 0);
VehicleOrderID ProcessConditionalOrder(const Order *order, const Vehicle *v);

void DrawOrderString(const Vehicle *v, const Order *order, int order_index, int y, bool selected, bool timetable, int width);

#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 */