- meshqueue_t *hash[4096];
- memset(hash, 0, 4096 * sizeof(meshqueue_t *));
- for (i = 0, mqt = mqt_array;i < mqt_count;i++, mqt++)
- {
- // generate index
- hashdist = (int) (mqt->dist);
- hashdist = bound(0, hashdist, 4095);
- // reversed to simplify render loop
- hashdist = 4095 - hashdist;
- // link into hash chain
- mqt->next = hash[hashdist];
- hash[hashdist] = mqt;
- }
- for (i = 0;i < 4096;i++)
- if (hash[i])
- for (mqt = hash[i];mqt;mqt = mqt->next)
- R_MeshQueue_Add(mqt->callback, mqt->data1, mqt->data2);
- mqt_count = 0;
-}