aboutsummaryrefslogtreecommitdiff
path: root/demo/scaling.scm
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2026-04-18 02:47:10 +0100
committerGene Pasquet <dev@etenil.net>2026-04-18 02:47:10 +0100
commit38eee24832fe6da4f135cae455881ab97953b23a (patch)
treecffc2bb3b45ac11d90f4a2de3e207f65862fb6fd /demo/scaling.scm
parenta02b892e2ad1e1605ff942c63afdd618daa48be4 (diff)
Refresh docs and re-indent
Diffstat (limited to 'demo/scaling.scm')
-rw-r--r--demo/scaling.scm108
1 files changed, 54 insertions, 54 deletions
diff --git a/demo/scaling.scm b/demo/scaling.scm
index 1d74e6a..e00c797 100644
--- a/demo/scaling.scm
+++ b/demo/scaling.scm
@@ -19,62 +19,62 @@
(define *game*
(make-game
- title: "Demo: Scaling (2×)"
- width: +width+ height: +height+
- scale: 2
+ title: "Demo: Scaling (2×)"
+ width: +width+ height: +height+
+ scale: 2
- create: (lambda (game)
- (game-scene-set! game
- (make-scene
- entities: (list (plist->alist (list #:type 'box
- #:x (/ +width+ 2)
- #:y (/ +height+ 2)
- #:width +box-size+
- #:height +box-size+
- #:vx 0 #:vy 0
- #:color '(255 200 0))))
- tilemap: #f
- camera: (make-camera x: 0 y: 0)
- tileset-texture: #f
- camera-target: #f
- background: '(30 30 50)
- engine-update: 'none)))
+ create: (lambda (game)
+ (game-scene-set! game
+ (make-scene
+ entities: (list (plist->alist (list #:type 'box
+ #:x (/ +width+ 2)
+ #:y (/ +height+ 2)
+ #:width +box-size+
+ #:height +box-size+
+ #:vx 0 #:vy 0
+ #:color '(255 200 0))))
+ tilemap: #f
+ camera: (make-camera x: 0 y: 0)
+ tileset-texture: #f
+ camera-target: #f
+ background: '(30 30 50)
+ engine-update: 'none)))
- update: (lambda (game dt)
- (let* ((input (game-input game))
- (scene (game-scene game))
- (box (car (scene-entities scene)))
- (vx (cond ((input-held? input 'left) (- +speed+))
- ((input-held? input 'right) +speed+)
- (else 0)))
- (vy (cond ((input-held? input 'up) (- +speed+))
- ((input-held? input 'down) +speed+)
- (else 0)))
- (nx (max 0 (min (- +width+ +box-size+)
- (+ (entity-ref box #:x 0) vx))))
- (ny (max 0 (min (- +height+ +box-size+)
- (+ (entity-ref box #:y 0) vy))))
- (box (entity-set (entity-set box #:x nx) #:y ny)))
- (game-scene-set! game
- (update-scene scene entities: (list box)))))
+ update: (lambda (game dt)
+ (let* ((input (game-input game))
+ (scene (game-scene game))
+ (box (car (scene-entities scene)))
+ (vx (cond ((input-held? input 'left) (- +speed+))
+ ((input-held? input 'right) +speed+)
+ (else 0)))
+ (vy (cond ((input-held? input 'up) (- +speed+))
+ ((input-held? input 'down) +speed+)
+ (else 0)))
+ (nx (max 0 (min (- +width+ +box-size+)
+ (+ (entity-ref box #:x 0) vx))))
+ (ny (max 0 (min (- +height+ +box-size+)
+ (+ (entity-ref box #:y 0) vy))))
+ (box (entity-set (entity-set box #:x nx) #:y ny)))
+ (game-scene-set! game
+ (update-scene scene entities: (list box)))))
- render: (lambda (game)
- (let* ((renderer (game-renderer game))
- (scene (game-scene game))
- (box (car (scene-entities scene)))
- (bx (inexact->exact (floor (entity-ref box #:x 0))))
- (by (inexact->exact (floor (entity-ref box #:y 0)))))
- ;; Draw the colored box
- (set! (sdl2:render-draw-color renderer) (sdl2:make-color 255 200 0))
- (sdl2:render-fill-rect! renderer
- (sdl2:make-rect bx by +box-size+ +box-size+))
- ;; Draw a border around the logical viewport
- (set! (sdl2:render-draw-color renderer) (sdl2:make-color 100 100 100))
- (sdl2:render-draw-rect! renderer
- (sdl2:make-rect 0 0 +width+ +height+))
- ;; Draw crosshair at center
- (set! (sdl2:render-draw-color renderer) (sdl2:make-color 60 60 80))
- (sdl2:render-draw-line! renderer (/ +width+ 2) 0 (/ +width+ 2) +height+)
- (sdl2:render-draw-line! renderer 0 (/ +height+ 2) +width+ (/ +height+ 2))))))
+ render: (lambda (game)
+ (let* ((renderer (game-renderer game))
+ (scene (game-scene game))
+ (box (car (scene-entities scene)))
+ (bx (inexact->exact (floor (entity-ref box #:x 0))))
+ (by (inexact->exact (floor (entity-ref box #:y 0)))))
+ ;; Draw the colored box
+ (set! (sdl2:render-draw-color renderer) (sdl2:make-color 255 200 0))
+ (sdl2:render-fill-rect! renderer
+ (sdl2:make-rect bx by +box-size+ +box-size+))
+ ;; Draw a border around the logical viewport
+ (set! (sdl2:render-draw-color renderer) (sdl2:make-color 100 100 100))
+ (sdl2:render-draw-rect! renderer
+ (sdl2:make-rect 0 0 +width+ +height+))
+ ;; Draw crosshair at center
+ (set! (sdl2:render-draw-color renderer) (sdl2:make-color 60 60 80))
+ (sdl2:render-draw-line! renderer (/ +width+ 2) 0 (/ +width+ 2) +height+)
+ (sdl2:render-draw-line! renderer 0 (/ +height+ 2) +width+ (/ +height+ 2))))))
(game-run! *game*)