anchor.diff:        (dealloc (cast buf (ptr void))))))
   
   
  -(defvar lv (im:load-image "level1.png"))
  +(defvar lv (im:load-image "level3.png"))
   
   ;(defvar lv2 (im:load-image "level1.png"))
   (defvar backbuf (im:make 200 200 1))
  
positive.code: 			    (setf out-pt pt)
  			    (setf current-d d))))))))
      out-pt))
  
  (defun game-it
      (let ((upper-pt :type point)
  	  (lower-pt :type point)
  	  (ppos (vec2-to-point player-pos)))
        (let ((success (get-flow-points player-pos player-dir lv 
  				      (addrof lower-pt) (addrof
  							 upper-pt))))
  	(unless success
  	  (setf success (get-flow-points (vec (ceil (member player-pos x)) (ceil
  							      (member
  							       player-pos
  							       y ))) player-dir lv 
  			   (addrof lower-pt) (addrof upper-pt))))
  	(when success
  	  (setf upper-pt (find-closer-point ppos upper-pt lv 1))
  	  (setf lower-pt (find-closer-point ppos lower-pt lv 1))
  	  ;(setf (deref (lookup-point upper-pt lv2)) 200)
  	  ;(setf (deref (lookup-point lower-pt lv2)) 200)
  	  (let ((lower-vec (point-to-vec2 lower-pt))
  		(upper-vec (point-to-vec2 upper-pt)))
  	    (let ((perp-vec (vec2-normalize (vec2:rot90 (- lower-vec upper-vec )))))
  	      (when (> (vec2-length perp-vec) 0)
  		(setf player-dir (+ (* player-dir 0.5) (* perp-vec 0.5)))))
  
negative.code:       (range iteration 0 10000
  	
  
  	(game-it (addrof last-upper) (addrof last-lower))
  	(setf (deref (ptr+ enemy-pos last-lower-id)) last-lower)
  	(setf (deref (ptr+ enemy-pos last-upper-id)) last-upper)
  	(let ((cpos (deref (lookup-point (vec2-to-point player-pos) lv))))
  	  (when (or (eq cpos gameid:enemy) 
  		    (eq cpos gameid:wall))
  