Ejemplo n.º 1
0
void *tracker_alloc__(size_t size,void *(*AllocFunction)(size_t size2), const char *filename, int linenumber){
	allocated+=size;

        R_ASSERT(THREADING_is_main_thread());
        R_ASSERT(!PLAYER_current_thread_has_lock());

#ifndef DISABLE_BDWGC
#	ifdef _AMIGA
		return (*GC_amiga_allocwrapper_do)(size,AllocFunction);
#	else
#          if !defined(VALIDATE_MEM)
                void *ret = AllocFunction(size);
#          else                
		void *ret = V_alloc(AllocFunction,size,filename,linenumber);
                void *actual_mem_start = V_allocated_mem_real_start(ret);
#if defined(RELEASE)
                #error "oh no"
#endif
                GC_register_finalizer_ignore_self(actual_mem_start, gcfinalizer, NULL, NULL, NULL);
#          endif
#	endif


        return ret;

#else
	return OS_getmem(size);		// For debugging. (wrong use of GC_malloced memory could be very difficult to trace)
#endif



}
Ejemplo n.º 2
0
void V_entityinit()
{
	unsigned long i;
	if(dsc)
		return;
	i = sizeof(unsigned long) * ENT_CNT;
	dsc = (unsigned long *) V_alloc(i);
	i = sizeof(unsigned int) * ENT_CNT;
	vao = (unsigned int *) V_alloc(i);
	f1 = (unsigned int *) V_alloc(i);
	f2 = (unsigned int *) V_alloc(i);
	glGenVertexArrays(ENT_CNT, vao);
	for(i = 0; i < ENT_CNT; i++)
	{
		dsc[i] = 0;
		f1[i] = f2[i] = 0;
	}
}