Atrinik Server  4.0
Modules | Macros
Flags Structure


 Object flag macros
 Object multiflag macros
 Item types
 Flag defines


#define NUM_FLAGS   135
#define NUM_FLAGS_32   5

Detailed Description

Flag structure now changed. Each flag is now a bit offset, starting at zero. The macros will update/read the appropriate flag element in the object structure.

Hopefully, since these offsets are integer constants set at run time, the compiler will reduce the macros something as simple as the old system was.

Flags now have FLAG as the prefix. This to be clearer, and also to make sure F_ names are not still being used anyplace.

The macros below assume that the flag size for each element is 32 bits. IF it is smaller, bad things will happen. See structs.h for more info.

All functions should use the macros below. In process of converting to the new system, I find several files that did not use the previous macros.

If any FLAG's are added, be sure to add them to the flag_links structure in common/loader.c, if necessary.

flags[0] is 0 to 31 flags[1] is 32 to 63 flags[2] is 64 to 95 flags[3] is 96 to 127

Macro Definition Documentation

#define NUM_FLAGS   135

Should always be equal to the last defined flag.

Definition at line 1347 of file define.h.

#define NUM_FLAGS_32   5

The number of uint32 we need to store all flags.

Definition at line 1349 of file define.h.