#define MV_LEFT (1 << MV_BIT_LEFT)
#define MV_RIGHT (1 << MV_BIT_RIGHT)
#define MV_UP (1 << MV_BIT_UP)
#define MV_LEFT (1 << MV_BIT_LEFT)
#define MV_RIGHT (1 << MV_BIT_RIGHT)
#define MV_UP (1 << MV_BIT_UP)
#define MV_VERTICAL (MV_UP | MV_DOWN)
#define MV_ALL_DIRECTIONS (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN)
#define MV_ANY_DIRECTION (MV_ALL_DIRECTIONS)
#define MV_VERTICAL (MV_UP | MV_DOWN)
#define MV_ALL_DIRECTIONS (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN)
#define MV_ANY_DIRECTION (MV_ALL_DIRECTIONS)
#define MV_DIR_OPPOSITE(x) ((x) == MV_LEFT ? MV_RIGHT : \
(x) == MV_RIGHT ? MV_LEFT : \
(x) == MV_UP ? MV_DOWN : \
#define MV_DIR_OPPOSITE(x) ((x) == MV_LEFT ? MV_RIGHT : \
(x) == MV_RIGHT ? MV_LEFT : \
(x) == MV_UP ? MV_DOWN : \