]> git.jsancho.org Git - gacela.git/commitdiff
(no commit message)
authorjsancho <devnull@localhost>
Wed, 8 Jun 2011 17:41:14 +0000 (17:41 +0000)
committerjsancho <devnull@localhost>
Wed, 8 Jun 2011 17:41:14 +0000 (17:41 +0000)
src/gacela_mobs.scm

index 5d4894c57838986046c7cf00c126a18f41d6ee2e..497e827a3fd95287602e54048f953e1cf5e53d9f 100755 (executable)
@@ -21,7 +21,6 @@
 (define kill-mob #f)
 (define get-active-mobs #f)
 (define reload-mobs? #f)
-(define reload-mobs #f)
 
 (let ((active-mobs '(m1 m2)) (reload #f))
   (set! add-mob
        (lambda () active-mobs))
 
   (set! reload-mobs?
-       (lambda () reload))
+       (lambda () reload)))
 
-  (set! reload-mobs
-       (lambda ()
-         #f)))
 
 (define-macro (get-mobs-function)
   (let ((mobs (get-active-mobs)))
     `(lambda () ,@(map (lambda (mob) `(,mob)) mobs))))
+
+(define-macro (define-mob mob-head . look)
+  (let ((name (car mob-head)) (attr (cdr mob-head)))
+    `(begin
+       (define ,name #f)
+       (let ((attr ,attr))
+        (set! ,name
+              (lambda (option)
+                (case option
+                  ((#:render)
+                   (glPushMatrix)
+                   ,@(map (lambda (x) (if (string? x) `(draw-image ,x) x)) look)
+                   (glPopMatrix)))))))))