diff options
Diffstat (limited to 'chickadee/render/tiled.scm')
-rw-r--r-- | chickadee/render/tiled.scm | 10 |
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)) |