render: texture: Use texture regions in texture atlas.
[chickadee.git] / chickadee / render / texture.scm
index 2b4755e..9a1421a 100644 (file)
@@ -274,17 +274,18 @@ coordinate rects denoting the various tiles within."
                (rects rects))
       (match rects
         (() (%make-texture-atlas texture v))
-        ((r . rest)
-         (vector-set! v i r)
+        (((x y width height) . rest)
+         (vector-set! v i (make-texture-region texture x y width height))
          (loop (1+ i) rest))))))
 
 (define (texture-atlas texture . rects)
   "Return a new atlas for TEXTURE containing RECTS, a series of
-texture coordinate rect arguments denoting the various tiles within."
+4-tuples in the form (x y width height) describing the various tiles
+within."
   (list->texture-atlas texture rects))
 
 (define (texture-atlas-ref atlas index)
-  "Return the texture coordinate rect associated with INDEX in
+  "Return the texture region associated with INDEX in
 ATLAS."
   (vector-ref (texture-atlas-vector atlas) index))
 
@@ -308,7 +309,7 @@ terrain."
     (define (make-tile tx ty)
       (let* ((x (+ (* tx (+ tile-width spacing)) margin))
              (y (+ (* ty (+ tile-height spacing)) margin)))
-        (make-rect (/ x w) (/ y h) sw th)))
+        (make-texture-region texture x y tile-width tile-height)))
     (let y-loop ((y 0))
       (when (< y rows)
         (let x-loop ((x 0))