(define (quit-gacela)
(hide-all-mobs)
(set! game-loop-thread #f)
- (set! loop-flag #f))
+ (set! loop-flag #f)
+ (quit-video))
(define (game-loop)
(refresh-active-mobs)
(init-video *width-screen* *height-screen* *bpp-screen* #:title *title* #:mode *mode* #:fps *frames-per-second*)
(set! loop-flag #t)
- (while loop-flag
- (init-frame-time)
+ (let loop ()
+ (cond (loop-flag
+ (init-frame-time)
; (check-connections)
- (process-events)
- (cond ((quit-signal?)
- (quit-gacela))
- (else
- (clear-screen)
- (to-origin)
- (refresh-active-mobs)
- (run-mobs)
- (run-extensions)
- (flip-screen)
- (delay-frame))))
- (quit-video))
+ (process-events)
+ (cond ((quit-signal?)
+ (quit-gacela))
+ (else
+ (clear-screen)
+ (to-origin)
+ (refresh-active-mobs)
+ (run-mobs)
+ (run-extensions)
+ (flip-screen)
+ (delay-frame)
+ (loop)))))))
(define (gacela-script args)
(while loop-flag (sleep 1)))