aboutsummaryrefslogtreecommitdiff
path: root/world.scm
diff options
context:
space:
mode:
Diffstat (limited to 'world.scm')
-rw-r--r--world.scm6
1 files changed, 4 insertions, 2 deletions
diff --git a/world.scm b/world.scm
index 1ca365b..d33a3eb 100644
--- a/world.scm
+++ b/world.scm
@@ -61,8 +61,10 @@
;; Center camera on entity. Clamps to >= 0 on both axes.
;; viewport-w and viewport-h are the game window dimensions (pixels).
(define (camera-follow! camera entity viewport-w viewport-h)
- (camera-x-set! camera (max 0 (- (entity-ref entity #:x 0) (/ viewport-w 2))))
- (camera-y-set! camera (max 0 (- (entity-ref entity #:y 0) (/ viewport-h 2)))))
+ (let* ((entity-x (entity-ref entity #:x 0))
+ (entity-y (entity-ref entity #:y 0)))
+ (camera-x-set! camera (inexact->exact (floor (max 0 (- entity-x (/ viewport-w 2))))))
+ (camera-y-set! camera (inexact->exact (floor (max 0 (- entity-y (/ viewport-h 2))))))))
;; Returns the first entity in scene whose #:tags list contains tag, or #f.
(define (scene-find-tagged scene tag)