X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgacela.scm;h=1d963c6772b29a5f1924d84f0aef14d4890c97d4;hb=ca3edcecf937f854c1b5d9eeac566d85dc749cd0;hp=dba48e6376ddc887bcad5f58732ec192cfd72904;hpb=556fd6c80969ab9a474f2c66ae1aceec3866f16a;p=gacela.git diff --git a/src/gacela.scm b/src/gacela.scm index dba48e6..1d963c6 100644 --- a/src/gacela.scm +++ b/src/gacela.scm @@ -189,11 +189,11 @@ (SDL_Delay (- time-per-frame frame-time)))))))) -(define set-game-properties #f) +(define set-game-properties! #f) (define get-game-properties #f) (let ((ptitle *title*) (pwidth *width-screen*) (pheight *height-screen*) (pbpp *bpp-screen*) (pfps *frames-per-second*) (pmode *mode*)) - (set! set-game-properties + (set! set-game-properties! (lambda* (#:key title width height bpp fps mode) ; (init-video-mode) (if title @@ -251,10 +251,12 @@ (glClear (+ GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (to-origin))) (cond ((mobs-changed?) (set! mobs (get-active-mobs)))) - (if (procedure? game-code) (game-code)) - (run-mob-actions mobs) + (if (procedure? game-code) + (catch #t + (lambda () (game-code)) + (lambda (key . args) #f))) (cond ((video-mode-on?) - (render-mobs mobs) + (run-mobs mobs) (SDL_GL_SwapBuffers))) (delay-frame)))) (set! running #f)))