anchor.diff:    (setf *last-fps-message-time* (sdl2:get-ticks))
     (setf *random-state* (make-random-state t))
   
  +  ;; Init game controllers
  +  (loop for i from 0 upto (- (sdl2:joystick-count) 1)
  +     do (when (sdl2:game-controller-p i)
  +	  (format t "Found gamepad: ~a~%"
  +		  (sdl2:game-controller-name-for-index i))
  +	  ;; Will only be fetching the controllers.
  +	  ;; Won't get joysticks because haptic systems
  +	  ;; are not important right now
  +	  (let ((controller (sdl2:game-controller-open i)))
  +	    (setf *game-controllers* (acons i controller *game-controllers*)))))
  +  
     ;; Init snake
     (init-snake *snake*))
   
  
positive.code: 		 (loop for i in *next-frame-hook*
  		    do (funcall i))
  		 (setf *next-frame-hook* nil))))
        (sdl2:gl-delete-context *gl-context*)
        (sdl2:destroy-window *window*))))
  
  
negative.code: 		  (when (sdl2:scancode= (sdl2:scancode-value keysym) :scancode-return)
  		    (setf (input-values-restart *input-state*) t)))
  	
  	(:joyaxismotion (:which controller-id :axis axis-id :value value)
  			(when (= controller-id 0)
  			  (cond ((= axis-id 0) ;; Horizontal axis
  				 (setf (input-values-left *input-state*) nil)
  				 (setf (input-values-right *input-state*) nil)
  				 (cond
  				   ((<= value -32767)
  				    (setf (input-values-left *input-state*) t))
  				   ((>= value 32767)
  				    (setf (input-values-right *input-state*) t))))
  				((= axis-id 1)
  				 (setf (input-values-up *input-state*) nil)
  				 (setf (input-values-down *input-state*) nil)
  				 (cond
  				   ((<= value -32767)
  				    (setf (input-values-up *input-state*) t))
  				   ((>= value 32767)
  				    (setf (input-values-down *input-state*) t)))))))
  
  	(:joybuttondown (:which controller-id :button button-id)
  			(format t "Controller button down: Controller: ~a, Button: ~a~%"
  				controller-id button-id))
  	
  	(:idle ()
  	       #+(and sbcl (not sb-thread))
  