]> git.jsancho.org Git - gacela.git/blobdiff - src/gacela.scm
(no commit message)
[gacela.git] / src / gacela.scm
index fe31b8fe57dcbea67838d036f41678849d7ee34b..f8dcaf45e75647534045ad9946a4d52f9a62cccc 100644 (file)
          (set! audio #f))))
 
 
+;;; Resources Cache
+
+(define resources-cache (make-weak-value-hash-table))
+
+(define get-resource-from-cache #f)
+(define insert-resource-into-cache #f)
+
+(let ()
+  (set! get-resource-from-cache
+       (lambda (key)
+         (hash-ref resources-cache key)))
+
+  (set! insert-resource-into-cache
+       (lambda (key res)
+         (hash-set! resources-cache key res))))
+
 ;;; GaCeLa Functions
 
 (define set-frames-per-second #f)
                   (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
                       (catch #t
                              (lambda () (game-code))
                              (lambda (key . args) #f)))
-                  (run-mobs-logic mobs)
                   (cond ((video-mode-on?)
-                         (render-mobs mobs)
+                         (run-mobs mobs)
                          (SDL_GL_SwapBuffers)))
                   (delay-frame))))
          (set! running #f)))