diff options
Diffstat (limited to 'engine.scm')
| -rw-r--r-- | engine.scm | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -29,7 +29,8 @@ render-hook ;; (lambda (game) ...) — post-render overlay scene ;; current scene struct; #f until create: runs states ;; hash-table of name → state-plist - active-state) ;; symbol or #f — currently active state name + active-state ;; symbol or #f — currently active state name + debug?) ;; boolean: enable debug overlay drawing ;; Store the auto-generated constructor as make-game* (define make-game* make-game) @@ -42,7 +43,8 @@ (width 640) (height 480) (frame-delay 16) (input-config *default-input-config*) - (preload #f) (create #f) (update #f) (render #f)) + (preload #f) (create #f) (update #f) (render #f) + (debug? #f)) (make-game* title: title width: width @@ -59,7 +61,8 @@ update-hook: update render-hook: render states: (make-hash-table) - active-state: #f)) + active-state: #f + debug?: debug?)) ;; ── Convenience accessors ────────────────────────────────────────────────── @@ -167,6 +170,8 @@ (sdl2:render-clear! (game-renderer game)) (when (game-scene game) (render-scene! (game-renderer game) (game-scene game))) + (when (and (game-debug? game) (game-scene game)) + (render-debug-scene! (game-renderer game) (game-scene game))) (when render-fn (render-fn game))) (sdl2:render-present! (game-renderer game)) (sdl2:delay! (game-frame-delay game)) |
