typedef struct meshqueue_s
{
struct meshqueue_s *next;
- void (*callback)(void *data1, int data2);
- void *data1;
+ void (*callback)(const void *data1, int data2);
+ const void *data1;
int data2;
float dist;
}
Cvar_RegisterVariable(&r_meshqueue_immediaterender);
Cvar_RegisterVariable(&r_meshqueue_sort);
- meshqueuemempool = Mem_AllocPool("R_MeshQueue");
+ meshqueuemempool = Mem_AllocPool("R_MeshQueue", 0, NULL);
mq_total = 0;
- mqt_total = 1000;
+ mqt_total = 0;
mq_array = NULL;
mqt_array = NULL;
}
mqt_total = newtotal;
}
-void R_MeshQueue_Add(void (*callback)(void *data1, int data2), void *data1, int data2)
+void R_MeshQueue_Add(void (*callback)(const void *data1, int data2), const void *data1, int data2)
{
meshqueue_t *mq, **mqnext;
if (r_meshqueue_immediaterender.integer)
*mqnext = mq;
}
-void R_MeshQueue_AddTransparent(vec3_t center, void (*callback)(void *data1, int data2), void *data1, int data2)
+void R_MeshQueue_AddTransparent(const vec3_t center, void (*callback)(const void *data1, int data2), const void *data1, int data2)
{
meshqueue_t *mq;
if (mqt_count >= mqt_total)
mq->callback = callback;
mq->data1 = data1;
mq->data2 = data2;
- mq->dist = DotProduct(center, vpn) - mqt_viewplanedist;
+ mq->dist = DotProduct(center, r_viewforward) - mqt_viewplanedist;
mq->next = NULL;
}
mq_count = 0;
mqt_count = 0;
mq_listhead = NULL;
- mqt_viewplanedist = DotProduct(r_origin, vpn);
+ mqt_viewplanedist = DotProduct(r_vieworigin, r_viewforward);
}
void R_MeshQueue_EndScene(void)