Summary:

there are 4 standard operations in acknex for particular flags which are covered by convenience macros. If you use them, you don't need to write the slightly unhandy flag-code everywhere (it is better to read and better to understand.

Code:
#define set(obj,flag) obj.flags |= (flag)
#define reset(obj,flag) obj.flags &= ~(flag)
#define toggle(obj,flag) obj.flags ^= (flag)
#define is(obj,flag) (obj.flags & (flag))



In addition, flags can be combined like you wish, e.g.

Code:
set(my, VISIBLE | TRANSLUCENT | FAT | LOCAL);

or

my.flags |= (VISIBLE | TRANSLUCENT | FAT | LOCAL);



all available flags are listed in "atypes.h". This way you can define your own flags as well! But don't try to exceed the memoryspace of the variable which receives the flag(s) (a variable can store as much flags as bits it has).

I hope this helps.