X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fvideo.scm;h=c30f3332e9f475266f173d18c2fa1097aa38fc15;hb=bbfc49f49dedf5020c25426f276537fe0aa46771;hp=f9e37f15e8b730736bfe8938b25909e123b0e461;hpb=62f29c535971a4af5c4a957444a53eb6007b32e3;p=gacela.git diff --git a/src/video.scm b/src/video.scm index f9e37f1..c30f333 100644 --- a/src/video.scm +++ b/src/video.scm @@ -36,7 +36,8 @@ set-2d-mode set-3d-mode 3d-mode? - set-frames-per-second + get-frames-per-second + set-frames-per-second! init-frame-time get-frame-time delay-frame @@ -67,7 +68,7 @@ (define screen #f) (define flags 0) -(define* (init-video width height bpp #:key (mode '2d) (title "")) +(define* (init-video width height bpp #:key (mode '2d) (title "") (fps 20)) (cond ((not screen) (SDL_Init SDL_INIT_VIDEO) (let ((info (SDL_GetVideoInfo))) @@ -77,6 +78,7 @@ (if (= (assoc-ref info 'blit_hw) 0) 0 SDL_HWACCEL))) (set! screen (SDL_SetVideoMode width height bpp flags)) (set-screen-title! title) + (set-frames-per-second! fps) (init-gl) (if (eq? mode '3d) (set-3d-mode) (set-2d-mode)))))) @@ -87,7 +89,7 @@ (surface-w screen)) (define (get-screen-bpp) - (surface-format-BytesPerPixel screen)) + (* (surface-format-BytesPerPixel screen) 8)) (define (set-screen-bpp! bpp) (cond (screen @@ -163,9 +165,14 @@ ;;; Frames per second (define time 0) +(define frames-per-second 20) (define time-per-frame 50) ;in ms -(define (set-frames-per-second fps) +(define (get-frames-per-second) + frames-per-second) + +(define (set-frames-per-second! fps) + (set! frames-per-second fps) (set! time-per-frame (/ 1000.0 fps))) (define (init-frame-time)