if(c_trace(my.x,camera.x,IGNORE_ME | IGNORE_PASSENTS | IGNORE_MAPS | IGNORE_PASSABLE | IGNORE_SPRITES | IGNORE_CONTENT) > 0)
{
camera.pan = me.pan;
vec_set(camera.x,target);
vec_add(camera.x,normal);
}
else
{
camera.pan = me.pan;
camera.tilt = -(camera_distance/3);
camera.x = me.x - camera_distance * cos(me.pan);
camera.y = me.y - camera_distance * sin(me.pan);
camera.z = me.z + camera_distance;
}