]> git.jsancho.org Git - gacela.git/blobdiff - src/gacela.scm
(no commit message)
[gacela.git] / src / gacela.scm
index 54691562bfe46ca5fa977c3111e617ef384bc0a5..b03440a8ce21679f740c3f79a6c84cd7a28c3dd3 100644 (file)
 
 
 (define-macro (run-game . code)
-  `(let ((game-function (lambda () ,@code)))
+  `(let ((game-function ,(if (null? code)
+                            `(lambda () #f)
+                            `(lambda () ,@code))))
      (init-video-mode)
      (set-game-code game-function)
      (cond ((not (game-running?))
   (set! game-loop
        (lambda ()
          (set! running #t)
+         (quit? #f)
          (do () ((quit?))
            (init-frame-time)
-           (check-connections)
-           (eval-from-clients)
+;          (check-connections)
+;          (eval-from-clients)
            (process-events)
            (cond ((not (quit?))
                   (glClear (+ GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT))
                   (to-origin)
-                  (refresh-active-objects)
-                  (if (functionp game-code) (funcall game-code))
-                  (render-objects)
+;                (refresh-active-objects)
+                  (if (procedure? game-code) (game-code))
+;                (render-objects)
                   (SDL_GL_SwapBuffers)
                   (delay-frame))))
          (set! running #f)))
          (set! game-code game-function))))
 
 (define (quit-game)
-;  (free-all-resources)
    (quit-audio)
    (quit-video-mode)
 ;  (quit-all-mobs)
 ;   (kill-all-objects)
-;  (clear-events)
-;  (quit-events)
+;   (clear-events)
+   (quit-events)
    (quit-sdl))