No need to feel dumb. Anybody who knows this stuff once didn't know it and hat to learn it the same way you do it right now, right? wink

Code:
my.flags |= POLYGON;
set(my,POLYGON);      //Both lines necessary?

These lines are equivalent. set is just a macro that is defined in acknex.h as follows:
Code:
#define set(obj,flag) obj->flags |= (flag)

so that
Code:
set(my,POLYGON);

is replaced by the precompiler to
Code:
my->flags |= (POLYGON);



Always learn from history, to be sure you make the same mistakes again...