From aa7897142cea94d5a1bcf66e48f0465a521c73f8 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sun, 29 Apr 2018 20:56:05 -0400 Subject: render: tiled: Add tile-map-layer-ref. * chickadee/render/tiled.scm (tile-map-layer-ref): New procedure. --- chickadee/render/tiled.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/chickadee/render/tiled.scm b/chickadee/render/tiled.scm index 23c68d9..802a9a2 100644 --- a/chickadee/render/tiled.scm +++ b/chickadee/render/tiled.scm @@ -46,6 +46,7 @@ tile-map-layers tile-map-properties tile-map-rect + tile-map-layer-ref animation-frame? animation-frame-tile @@ -174,6 +175,22 @@ (shape map-object-shape) (properties map-object-properties)) +(define (tile-map-layer-ref tile-map name) + "Return the layer named NAME." + (define (layer-name layer) + (if (tile-layer? layer) + (tile-layer-name layer) + (object-layer-name layer))) + (let ((layers (tile-map-layers tile-map))) + (let loop ((i 0)) + (cond + ((= i (vector-length layers)) + #f) + ((string=? name (layer-name (vector-ref layers i))) + (vector-ref layers i)) + (else + (loop (+ i 1))))))) + (define (load-tile-map file-name) "Load the Tiled TMX formatted map in FILE-NAME." (define map-directory -- cgit v1.2.3