(svn r5146) - NewGRF: Support selection of aircraft default cargo type by checking its refit mask. If aircraft can be refitted to passengers, no change happens, else the first refittable type is chosen. Also use refit capacity to determine the default capacity.
/* $Id$ */
#ifndef SLOPE_H
#define SLOPE_H
typedef enum Slope {
SLOPE_FLAT = 0x00,
SLOPE_W = 0x01,
SLOPE_S = 0x02,
SLOPE_E = 0x04,
SLOPE_N = 0x08,
SLOPE_STEEP = 0x10,
SLOPE_NW = SLOPE_N | SLOPE_W,
SLOPE_SW = SLOPE_S | SLOPE_W,
SLOPE_SE = SLOPE_S | SLOPE_E,
SLOPE_NE = SLOPE_N | SLOPE_E,
SLOPE_EW = SLOPE_E | SLOPE_W,
SLOPE_NS = SLOPE_N | SLOPE_S,
SLOPE_ELEVATED = SLOPE_N | SLOPE_E | SLOPE_S | SLOPE_W,
SLOPE_NWS = SLOPE_N | SLOPE_W | SLOPE_S,
SLOPE_WSE = SLOPE_W | SLOPE_S | SLOPE_E,
SLOPE_SEN = SLOPE_S | SLOPE_E | SLOPE_N,
SLOPE_ENW = SLOPE_E | SLOPE_N | SLOPE_W,
SLOPE_STEEP_W = SLOPE_STEEP | SLOPE_NWS,
SLOPE_STEEP_S = SLOPE_STEEP | SLOPE_WSE,
SLOPE_STEEP_E = SLOPE_STEEP | SLOPE_SEN,
SLOPE_STEEP_N = SLOPE_STEEP | SLOPE_ENW
} Slope;
static inline bool IsSteepSlope(Slope s)
{
return (s & SLOPE_STEEP) != 0;
}
static inline Slope ComplementSlope(Slope s)
{
assert(!IsSteepSlope(s));
return (Slope)(0xF ^ s);
}
#endif