summaryrefslogtreecommitdiff
path: root/heyllama.scm
diff options
context:
space:
mode:
Diffstat (limited to 'heyllama.scm')
-rw-r--r--heyllama.scm24
1 files changed, 23 insertions, 1 deletions
diff --git a/heyllama.scm b/heyllama.scm
index 885918a..abe9a77 100644
--- a/heyllama.scm
+++ b/heyllama.scm
@@ -1,6 +1,7 @@
(use-modules (chickadee)
(chickadee math vector)
(chickadee math rect)
+ (chickadee math grid)
(chickadee render font)
(chickadee render sprite)
(chickadee render texture)
@@ -63,6 +64,7 @@
(define llama #f)
(define tile-map #f)
(define view-pos #v(0.0 0.0))
+(define grid (make-grid 16))
(define (load)
(set! llama (make <animal>
@@ -74,7 +76,27 @@
#:spacing 48
#:margin 24)))
- (set! tile-map (load-tile-map "llama.tmx")))
+ (set! tile-map (load-tile-map "llama.tmx"))
+
+ ;; Add objects from map to grid
+
+ (define (add-to-grid obj)
+ (let ((shape (map-object-shape obj)))
+ (grid-add grid
+ (map-object-id obj)
+ (rect-x shape)
+ (rect-y shape)
+ (rect-width shape)
+ (rect-height shape))))
+
+
+ (let ((objects (object-layer-objects
+ (vector-ref (tile-map-layers tile-map)
+ 1))))
+ (for-each (lambda (obj)
+ (add-to-grid obj))
+ objects)))
+
;; ------------------------------------------------