These are GNU C tricks! Fine anyway, I think I especially like those that are ISO C. Trick number one is a C11 feature -- anonymous struct members in structs and unions, though I will not vouch for its validity without consulting with my C11 standard handbook.
Oh, and by the way, why not use X macros in the form where the macro to apply is passed as the argument? #define SPRITES(S) S(1, 2, 3) S(2, 3, 4) etc.
Oh, and by the way, why not use X macros in the form where the macro to apply is passed as the argument? #define SPRITES(S) S(1, 2, 3) S(2, 3, 4) etc.