aboutsummaryrefslogtreecommitdiff
path: root/engine.scm
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2026-04-05 23:12:54 +0100
committerGene Pasquet <dev@etenil.net>2026-04-05 23:12:54 +0100
commitb99ada53b715def5492c7d04c0d327fa7048e5d3 (patch)
tree9e94dbc8ff863ef09ef18f4be31fb45e085572a4 /engine.scm
parent027053b11a3a5d861ed2fa2db245388bd95ac246 (diff)
Complete implementation
Diffstat (limited to 'engine.scm')
-rw-r--r--engine.scm10
1 files changed, 10 insertions, 0 deletions
diff --git a/engine.scm b/engine.scm
index 553dddf..69a30c7 100644
--- a/engine.scm
+++ b/engine.scm
@@ -154,6 +154,16 @@
(render-fn (or (and state (state-hook state #:render))
(game-render-hook game))))
(when update-fn (update-fn game dt))
+ ;; Auto camera-follow: if scene has a camera-target tag, follow it
+ (when (game-scene game)
+ (let ((target-tag (scene-camera-target (game-scene game))))
+ (when target-tag
+ (let ((target (scene-find-tagged (game-scene game) target-tag)))
+ (when target
+ (camera-follow! (scene-camera (game-scene game))
+ target
+ (game-width game)
+ (game-height game)))))))
(sdl2:render-clear! (game-renderer game))
(when (game-scene game)
(render-scene! (game-renderer game) (game-scene game)))