Is it possible to make an XorSwap() proc or would I need to
#define XorSwap(a,b) a^=b;b^=a;a^=b
it? I know you can use void and pointers in C so you don't return a value, but can it be done in a proc?
You'll have to use #define just like that. A word of caution, though: You'll have to be careful how you use it, since it matters whether this is on a line by itself or not. If you use this in an if(), then this won't work:
if(blah) XorSwap(a,b)

But this will:

It has to do with the way BYOND handles the semicolon. Unfortunately putting braces around the code right in the #define will only make things worse, whereas in C they'd be just fine.

Lummox JR