Więc tak kamera używa: x+cos(dir*pi/180), y-sin(dir*pi/180) a wall próbujesz obracać do zmiennych global.camsin = sin(direction*pi/180);
global.camcos = cos(direction*pi/180); które nic nie robią bo są w create i w sumie tak z dupy tam są, tym bardziej że do obrotu kamerą używasz zmiennej dir a nie direction.