-//.float(entity,entity) sort_cmp;
-.entity sort_next, sort_prev;
+#include "sortlist.qh"
entity Sort_Spawn()
{
entity sort;
sort = spawn();
- sort.sort_next = NULL;
+ sort.sort_next = world;
sort.chain = sort;
return sort;
}
entity sort;
sort = spawn();
sort.sort_cmp = cmp;
- sort.sort_next = NULL;
+ sort.sort_next = world;
sort.chain = sort;
return sort;
}
float Sort_HasNext(entity sort)
{
- return (sort.chain.sort_next != NULL);
+ return (sort.chain.sort_next != world);
}
entity Sort_Next(entity sort)
next = spawn();
sort.chain.sort_next = next;
next.sort_prev = sort.chain;
- next.sort_next = NULL;
+ next.sort_next = world;
}
sort.chain = next;
return next;
entity Sort_Get(entity sort, float i)
{
- for(; sort.sort_next && i > 0; --i)
+ for (; sort.sort_next && i > 0; --i)
sort = sort.sort_next;
return sort;
}
*/
-/**
- * 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
-
/*
void Sort_Erase(entity ent)
{