Files @ r5135:84eef833ae0c
Branch filter:

Location: cpp/openttd-patchpack/source/slope.h

miham
(svn r7216) WebTranslator2 update to 2006-11-19 22:30:04
american - 5 fixed by WhiteRabbit (5)
brazilian_portuguese - 10 fixed by tucalipe (10)
catalan - 9 fixed by arnaullv (9)
czech - 5 fixed by Hadez (5)
danish - 3 fixed, 2 changed by ThomasA (5)
dutch - 3 fixed by habell (3)
finnish - 7 fixed, 3 changed by kerba (10)
french - 5 fixed by glx (2), belugas (3)
galician - 7 fixed, 1 changed by Condex (8)
german - 4 fixed by Neonox (4)
italian - 3 fixed by sidew (3)
polish - 6 fixed, 20 changed by meush (26)
portuguese - 5 fixed by izhirahider (5)
romanian - 9 fixed, 2 changed by kneekoo (11)
spanish - 5 fixed, 1 changed by eusebio (6)
turkish - 2 fixed by jnmbk (2)
ukrainian - 6 fixed by znikoz (6)
/* $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 /* SLOPE_H */