If you use a function like this:

Code:
VECTOR* vec_setxyz (VECTOR* v, float x, float y, float z)
{
    if (v)
    {
        v->x = x;
        v->y = y;
        v->z = z;
        
        return(v);
    }
    else
        return(NULL);
}



You can simply do this and don't have to rely on vector(..):

Code:
int myLittleFunction ()
{
	...
	
	VECTOR v;
	vec_setxyz(&v, 1, 2, 3);
	
	draw_point3d(&v, COLOR_RED, 100, 23);
	
	...
}



Since this is an engine-dll function, I don't understand why there is no std::vector<VECTOR*> used or the like and if in one frame the number of vector(...) calls exceeds the current used VECTOR*'s, new VECTOR*'s are generated and thrown into the std::vector... just my oppinion.