Hi
vec_to_angle is not a good way to achieve that(first question) because only pan is not matter, tilt must count too. I prefer using this :

Code:
if (NULL != vec_to_screen(entity_to_be_seen.x,camera)) // if the entity is inside the camera frustum 
{
	if(c_trace(player.x,entity_to_be_seen.x,IGNORE_ME) == 0) //and if there is no obstacle between player and entity
	{
		//do something();
	}
}





every body got some dues in life to pay