1 /* SCCS Id: @(#)align.h 3.4 1991/12/29 */
2 /* Copyright (c) Mike Stephenson, Izchak Miller 1991. */
3 /* NetHack may be freely redistributed. See license for details. */
8 typedef schar aligntyp; /* basic alignment type */
10 typedef struct align { /* alignment & record */
15 /* bounds for "record" -- respect initial alignments of 10 */
16 #define ALIGNLIM (10L + (moves/200L))
18 #define A_NONE (-128) /* the value range of type */
20 #define A_CHAOTIC (-1)
25 #define A_OPALIGNED (-1)
35 #define AM_SPLEV_NONCO 7
37 #define Amask2align(x) ((aligntyp) ((!(x)) ? A_NONE \
38 : ((x) == AM_LAWFUL) ? A_LAWFUL : ((int)x) - 2))
39 #define Align2amask(x) (((x) == A_NONE) ? AM_NONE \
40 : ((x) == A_LAWFUL) ? AM_LAWFUL : (x) + 2)