-(define (process-mobs mobs)
- (for-each (lambda (m) (m #:render)) mobs))
-
-(define-macro (lambda-look . look)
- (define (process-look look)
- (cond ((null? look) (values '() '()))
- (else
- (let ((line (car look)))
- (receive (lines images) (process-look (cdr look))
- (cond ((string? line)
- (let ((var (gensym)))
- (values (cons `(draw-texture ,var) lines)
- (cons `(,var (load-texture ,line)) images))))
- (else
- (values (cons line lines)
- images))))))))
-
- (receive (look-lines look-images) (process-look look)
- `(let ,look-images
- (lambda ()
- (glPushMatrix)
- ,@look-lines
- (glPopMatrix)))))
-
-(define-macro (define-mob mob-head . look)