summaryrefslogtreecommitdiff
path: root/chickadee
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2020-11-18 17:24:49 -0500
committerDavid Thompson <dthompson2@worcester.edu>2020-11-18 17:24:49 -0500
commit61cdbd49ae1b4a0ab769af9bde02adb8fc1b1911 (patch)
tree0cba998d44431911ab65d1d5baff5746e6c1896f /chickadee
parent3d858f1f2fc864d9ef29e8ba35e2dc9ce526eb72 (diff)
graphics: tiled: Remove region argument from draw-tile-map.
Diffstat (limited to 'chickadee')
-rw-r--r--chickadee/graphics/tiled.scm19
1 files changed, 8 insertions, 11 deletions
diff --git a/chickadee/graphics/tiled.scm b/chickadee/graphics/tiled.scm
index 46dfea3..5b3e9bf 100644
--- a/chickadee/graphics/tiled.scm
+++ b/chickadee/graphics/tiled.scm
@@ -468,26 +468,23 @@
(define *position* (vec2 0.0 0.0))
(define *region* (make-rect 0.0 0.0 0.0 0.0))
-;; Make a default region that is as big as the viewport.
-(define (default-region tile-map position)
- (let ((vp (current-viewport)))
- (set-rect-x! *region* (vec2-x position))
- (set-rect-y! *region* (vec2-y position))
- (set-rect-width! *region* (viewport-width vp))
- (set-rect-height! *region* (viewport-height vp))
- *region*))
-
(define* (draw-tile-map tile-map
#:key
layers
(camera %null-vec2)
(position %null-vec2)
- (region (default-region tile-map camera))
(origin %null-vec2)
(scale %default-scale)
(rotation 0.0))
"Draw TILE-MAP. By default, all layers are drawn. The LAYERS
argument may be used to specify a list of layers to draw, instead."
+ ;; Make the region as big as the current viewport.
+ (let ((vp (current-viewport)))
+ (set-rect-x! *region* (vec2-x camera))
+ (set-rect-y! *region* (vec2-y camera))
+ (set-rect-width! *region* (viewport-width vp))
+ (set-rect-height! *region* (viewport-height vp)))
+ ;; Translation must be adjusted by inverse of camera.
(vec2-copy! camera *position*)
(vec2-mult! *position* -1.0)
(vec2-add! *position* position)
@@ -496,4 +493,4 @@ argument may be used to specify a list of layers to draw, instead."
#:position *position*
#:rotation rotation
#:scale scale)
- (draw-tile-map* tile-map *matrix* region #:layers layers))
+ (draw-tile-map* tile-map *matrix* *region* #:layers layers))