Was erstmal helfen sollte, ist folgendes:
Nach ALLEN ANDEREN Kamera-Codes, dies:

if(c_trace(player.x,camera.x,IGNORE_ME | IGNORE_PASSABLE)!= 0)
{
vec_set(camera.x,target);
}
Das ist nicht sehr elegant, aber entfernt das lästige in Wände schweben..