aboutsummaryrefslogtreecommitdiff
path: root/engine.scm
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2026-04-06 03:41:09 +0100
committerGene Pasquet <dev@etenil.net>2026-04-06 03:41:09 +0100
commit78a924defabc862a7cfa5476091152c1ef5333ee (patch)
tree5e7e13ca27848dfe87ecf3eb82689d8e9488beb3 /engine.scm
parentc4ebbbdd1a0bd081a2ed9447ba8188d97ae54717 (diff)
Fixes, updated license
Diffstat (limited to 'engine.scm')
-rw-r--r--engine.scm11
1 files changed, 8 insertions, 3 deletions
diff --git a/engine.scm b/engine.scm
index 783f259..0318616 100644
--- a/engine.scm
+++ b/engine.scm
@@ -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))