#ifndef SORTLIST_H #define SORTLIST_H //.float(entity,entity) sort_cmp; .entity sort_next, sort_prev; entity Sort_Spawn(); /** * Swap two neighbours in a sortlist. * @param a FIRST entity * @param b entity after a */ #define SORT_SWAP(a,b) \ b.sort_prev = a.sort_prev; \ a.sort_next = b.sort_next; \ if(b.sort_next) b.sort_next.sort_prev = a; \ if(a.sort_prev) a.sort_prev.sort_next = b; \ a.sort_prev = b; \ b.sort_next = a #endif