diff options
| author | Gene Pasquet <dev@etenil.net> | 2026-04-12 15:57:45 +0100 |
|---|---|---|
| committer | Gene Pasquet <dev@etenil.net> | 2026-04-12 15:57:45 +0100 |
| commit | c1c868d9b6ee61002c7ccb33fbc6a15c5b090e6a (patch) | |
| tree | b818607a0e2ab52113e3fcead77a096b9adfdbfb /engine.scm | |
| parent | e1da1b0c2b2df9880e7f0a76b6ecc7aefecaf229 (diff) | |
Enrich entities pipelining to provide scene context to processors
Diffstat (limited to 'engine.scm')
| -rw-r--r-- | engine.scm | 25 |
1 files changed, 14 insertions, 11 deletions
@@ -7,6 +7,7 @@ (prefix sdl2-ttf "ttf:") (prefix sdl2-image "img:") (srfi 69) + (only srfi-197 chain) defstruct downstroke-world downstroke-input @@ -49,17 +50,19 @@ (define (default-engine-update game dt) (let ((scene (game-scene game))) (when scene - (let* ((scene (scene-map-entities scene (cut step-tweens <> scene dt))) - (scene (scene-map-entities scene (cut apply-acceleration <> scene dt))) - (scene (scene-map-entities scene (cut apply-gravity <> scene dt))) - (scene (scene-map-entities scene (cut apply-velocity-x <> scene dt))) - (scene (scene-map-entities scene (cut resolve-tile-collisions-x <> scene dt))) - (scene (scene-map-entities scene (cut apply-velocity-y <> scene dt))) - (scene (scene-map-entities scene (cut resolve-tile-collisions-y <> scene dt))) - (scene (scene-map-entities scene (cut detect-on-solid <> scene dt))) - (scene (scene-transform-entities scene resolve-entity-collisions)) - (scene (scene-transform-entities scene sync-groups))) - (game-scene-set! game scene))))) + (game-scene-set! + game + (chain scene + (scene-map-entities _ (cut step-tweens <> <> dt)) + (scene-map-entities _ (cut apply-acceleration <> <> dt)) + (scene-map-entities _ (cut apply-gravity <> <> dt)) + (scene-map-entities _ (cut apply-velocity-x <> <> dt)) + (scene-map-entities _ (cut resolve-tile-collisions-x <> <> dt)) + (scene-map-entities _ (cut apply-velocity-y <> <> dt)) + (scene-map-entities _ (cut resolve-tile-collisions-y <> <> dt)) + (scene-map-entities _ (cut detect-on-solid <> <> dt)) + (scene-transform-entities _ resolve-entity-collisions) + (scene-transform-entities _ sync-groups)))))) (define (make-game #!key (title "Downstroke Game") |
