]> git.jsancho.org Git - gacela.git/blobdiff - gacela.lisp
(no commit message)
[gacela.git] / gacela.lisp
index df3fe3608361b19b128fbf8c3cd313271e3f137d..9663a82d1028b8a9feaa8594a187cf05c46a5e09 100644 (file)
   t)
 
 (defmacro progn-textures (&body code)
-  `(progn
+  `(let (values)
      (init-video-mode)
      (glEnable GL_TEXTURE_2D)
-     ,@code
-     (glDisable GL_TEXTURE_2D)))
+     (setq values (multiple-value-list (progn ,@code)))
+     (glDisable GL_TEXTURE_2D)
+     (apply #'values values)))
 
 (defun init-textures ()
   (init-video-mode)
     (glLoadIdentity)
     t))
 
+(let ((current-color '(1 1 1 1)))
+  (defun get-current-color ()
+    current-color)
+
+  (defun set-current-color (red green blue &optional (alpha 1))
+    (setq current-color (list red green blue alpha))
+    (glColor4f red green blue alpha)))
+
 (defun copy-surface (source)
   (cond ((surface-p source)
         (let ((new-surface
 
 
 ;;; GaCeLa Functions
-;(defun game-loop (code)
-;  (process-events)
-;  (cond ((quit?) nil)
-;      (t
-;       (glClear (+ GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT))
-;       (glLoadIdentity)
-;       (translate 0 0 *zoom*)
-;       (funcall code)
-;       (SDL_GL_SwapBuffers)
-;       (SDL_Delay (- *gacela-freq* (rem (SDL_GetTicks) *gacela-freq*)))
-;       (game-loop code))))
-
 (let (commands)
   (defun prog-command (command)
     (setq commands (cons command commands)))
         (process-events)
         (setq running nil))))
 
-;(defun run-game ()
-;  (init-video-mode)
-;  (SDL_WM_SetCaption *title-screen* "")
-;  (refresh-active-procs)
-;  (enjoy!)
-;  (do () ((quit?))
-;      (process-events)
-;      (logic-procs)
-;      (motion-procs)
-;      (refresh-active-procs)
-;      (refresh-screen)
-;      (SDL_Delay (- *gacela-freq* (rem (SDL_GetTicks) *gacela-freq*)))))
-
 (defun quit-game ()
 ;  (free-all-resources)
 ;  (quit-audio)