22 #ifndef ULTIMA4_MAP_DIRECTION_H 23 #define ULTIMA4_MAP_DIRECTION_H 38 #define MASK_DIR(dir) (1 << (dir)) 39 #define MASK_DIR_WEST (1 << DIR_WEST) 40 #define MASK_DIR_NORTH (1 << DIR_NORTH) 41 #define MASK_DIR_EAST (1 << DIR_EAST) 42 #define MASK_DIR_SOUTH (1 << DIR_SOUTH) 43 #define MASK_DIR_ADVANCE (1 << DIR_ADVANCE) 44 #define MASK_DIR_RETREAT (1 << DIR_RETREAT) 45 #define MASK_DIR_ALL (MASK_DIR_WEST | MASK_DIR_NORTH | MASK_DIR_EAST | MASK_DIR_EAST | MASK_DIR_SOUTH | MASK_DIR_ADVANCE | MASK_DIR_RETREAT) 47 #define DIR_IN_MASK(dir,mask) ((1 << (dir)) & (mask)) 48 #define DIR_ADD_TO_MASK(dir,mask) ((1 << (dir)) | (mask)) 49 #define DIR_REMOVE_FROM_MASK(dir,mask) ((~(1 << (dir))) & (mask)) 54 Direction dirReverse(Direction dir);
56 Direction dirFromMask(
int dir_mask);
57 Direction dirRotateCW(Direction dir);
58 Direction dirRotateCCW(Direction dir);
65 int dirGetBroadsidesDirs(Direction dir);
71 Direction dirRandomDir(
int valid_directions_mask);
79 Direction dirNormalize(Direction orientation, Direction dir);
84 Direction keyToDirection(
int key);
89 int directionToKey(Direction dir);
Definition: detection.h:27