render: Change texture origin to top-left.
[chickadee.git] / chickadee / render / tiled.scm
index 42b6793..51f2cb9 100644 (file)
           (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))
         (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))