I took your advice and renamed the function to less than 20 chars, and I removed the vector declarations, instead using a temporary vector for the parameters of c_trace, but the game hangs on the translucent or alpha instruction.

e.g c_trace(vector(camera.x,camera.y,camera.z),vector(ball.x,ball.y,ball.z),IGNORE_FLAG2);

The problem seems to be my transparency code. Does that code hang the renderer or game engine for you? I am calling the function constantly, so that the moment an entity passes between the object and the camera, the obstructing entity is rendered transparent. I also need to reset the entity's transparency when it is no longer along the vector.

BTW... "if" does not return true if the value is zero, right?