summaryrefslogtreecommitdiff
path: root/chickadee/render/tiled.scm
diff options
context:
space:
mode:
Diffstat (limited to 'chickadee/render/tiled.scm')
-rw-r--r--chickadee/render/tiled.scm10
1 files changed, 2 insertions, 8 deletions
diff --git a/chickadee/render/tiled.scm b/chickadee/render/tiled.scm
index 42b6793..51f2cb9 100644
--- a/chickadee/render/tiled.scm
+++ b/chickadee/render/tiled.scm
@@ -230,17 +230,12 @@
(duration (attr node 'duration string->number)))
;; TODO: lookup actual tile in tileset
(%make-animation-frame tile-id duration)))
- (define (invert-tile-id id rows columns)
- (let* ((x (modulo id columns))
- (y (- rows (floor (/ id columns)) 1))
- (t (+ (* y columns) x)))
- (+ (* y columns) x)))
(define (parse-tile node rows columns atlas)
(let ((id (attr node 'id string->number))
(animation (map parse-frame ((sxpath '(animation frame)) node)))
(properties (map parse-property
((sxpath '(properties property)) node))))
- (%make-tile id (texture-atlas-ref atlas (invert-tile-id id rows columns))
+ (%make-tile id (texture-atlas-ref atlas id)
animation properties)))
(define (parse-tiles nodes size columns atlas)
(let ((table (make-hash-table))
@@ -254,8 +249,7 @@
(when (< i size)
(let ((tile
(or (hash-ref table i)
- (let* ((t (invert-tile-id i rows columns)))
- (%make-tile i (texture-atlas-ref atlas t) #f '())))))
+ (%make-tile i (texture-atlas-ref atlas i) #f '()))))
(vector-set! tiles i tile))
(loop (+ i 1))))
tiles))