diff options
| author | Gene Pasquet <dev@etenil.net> | 2026-04-07 23:36:12 +0100 |
|---|---|---|
| committer | Gene Pasquet <dev@etenil.net> | 2026-04-07 23:36:12 +0100 |
| commit | 19a5db8606a82830a5ccd0ed46d8e0cf3c95db0a (patch) | |
| tree | 241e7376014068ab9fc7a1bc8fa7a29cc1b62490 /engine.scm | |
| parent | 618ed5fd6f5ae9c9f275c1e3cfb74762d7d51a01 (diff) | |
Work on demos
Diffstat (limited to 'engine.scm')
| -rw-r--r-- | engine.scm | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -99,6 +99,17 @@ (create (state-hook state #:create))) (when create (create game)))) +;; Set renderer draw color for SDL_RenderClear (called every frame before clear). +(define (renderer-set-clear-color! renderer scene) + (let ((bg (and scene (scene-background scene)))) + (if (and (list? bg) (>= (length bg) 3)) + (let ((r (list-ref bg 0)) + (g (list-ref bg 1)) + (b (list-ref bg 2)) + (a (if (>= (length bg) 4) (list-ref bg 3) 255))) + (set! (sdl2:render-draw-color renderer) (sdl2:make-color r g b a))) + (set! (sdl2:render-draw-color renderer) (sdl2:make-color 0 0 0 255))))) + ;; ── game-run! ────────────────────────────────────────────────────────────── ;; Main event loop and lifecycle orchestration @@ -167,6 +178,7 @@ target (game-width game) (game-height game))))))) + (renderer-set-clear-color! (game-renderer game) (game-scene game)) (sdl2:render-clear! (game-renderer game)) (when (game-scene game) (render-scene! (game-renderer game) (game-scene game))) |
