anchor.diff:  		    (gl:draw-arrays drawtype 0 pts)))
   	      )))))
   
  +(defun update-player(void)
  +  (let ((x (cast (member new-pos x) i64))
  +	(y (cast (member new-pos y) i64)))
  +
  +    (when (and (>= x 0)
  +	       (>= y 0))
  +      (print x)
  +      (print " ")
  +      (print y)
  +      (print "\n")
  +      (let ((tile (get-tile x y)))
  +	(unless
  +	    (or 
  +	     (eq (cast null (ptr i8)) tile)
  +	     (eq (deref tile) 0))
  +	  (print (deref tile))
  +	  (print "\n")
  +	  (setf player-pos new-pos))))))
  +
  +
  +
   (while (< iteration 2000)
  +  (gl:uniform cam-size-loc cam-size)
     (gl:uniform cam-loc cam-pos)
     (setf iteration (+ iteration 1))
  -  (gl:clear-color 0.0  0.2 0.0  1.0 )
  +  (gl:clear-color 0.0  0.0 0.0  1.0 )
     (gl:clear gl:color-buffer-bit)
     (render-tiles-in-view)
     (gl:uniform offset-loc player-pos)
  -  (gl:uniform size-loc (vec 0.2 0.2))
  +  (gl:uniform size-loc (vec 1 1))
     (gl:uniform color-loc 0.5 0.6 0.7 1)
     
     (gl:draw-arrays drawtype 0 pts)
     (glfw:swap-buffers win)
     (glfw:poll-events)    
  +  (update-player)
  +  (setf new-pos player-pos)
  +  (print new-pos)
     (usleep sleeptime))
   
   
  
positive.code: uniform vec2 offset;
  uniform vec2 size;
  uniform vec2 cam;
  void main(){
    gl_Position = vec4(vertex_position * size + offset - cam,0.0,1.0);
  }
  ")
  (defvar frag-src-len (cast (strlen frag-src) u32))
  
negative.code: ;;; -- Load Vertex Buffer Object -- ;;;
  (defvar vbo (cast 0 u32))
  (defvar vbo-data (cast (alloc0 (u64* 8 4)) (ptr f32))) ; 4 floats
  (setf (deref (ptr+ vbo-data 2)) 1.0)
  (setf (deref (ptr+ vbo-data 4)) 1.0)
  (setf (deref (ptr+ vbo-data 5)) 1.0)
  (setf (deref (ptr+ vbo-data 7)) 1.0)
  (gl:gen-buffers 1 (addrof vbo))
  (gl:bind-buffer gl:array-buffer vbo)
  
  