From 5bfc87ce83b1c22e06879b8a0f0704e08ec7204b Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sat, 19 Sep 2020 22:44:44 +0200 Subject: Load grid objects --- heyllama.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'heyllama.scm') 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 @@ -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))) + ;; ------------------------------------------------ -- cgit v1.2.3