From bc78ad7ce0a69ad00b10cf29a86d7596c1f90139 Mon Sep 17 00:00:00 2001 From: Neil Date: Tue, 1 Mar 2016 11:12:12 +0200 Subject: [PATCH] Reorganise level jsohn structure. Drop 'pos' attribute in favour of the array position. Increase level size and add basic viewport support --- koperkapel/levels/level1.json | 856 +----------------------------- koperkapel/loaders/levelloader.py | 12 +- koperkapel/scenes/level.py | 21 +- 3 files changed, 23 insertions(+), 866 deletions(-) diff --git a/koperkapel/levels/level1.json b/koperkapel/levels/level1.json index 42e9782..c88d2c7 100644 --- a/koperkapel/levels/level1.json +++ b/koperkapel/levels/level1.json @@ -1,855 +1 @@ -{ - "tiles": [ - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 5 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 7 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 5 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 7 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 3 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 2, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 5 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 7 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 3 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 3, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 5 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 3, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 7 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 4, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 4, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 4, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 4, - 3 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 4, - 4 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 4, - 5 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 4, - 6 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 4, - 7 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 4, - 8 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 4, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 5 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 5, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 7 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 5, - 8 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 5, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 5 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 6, - 6 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 6, - 7 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 6, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 5 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 7, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 7 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 7, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 5 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 7 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 5 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 7 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 9 - ] - } - ] -} +{"width": 32, "tiles": [[{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}], [{"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}]], "height": 32} \ No newline at end of file diff --git a/koperkapel/loaders/levelloader.py b/koperkapel/loaders/levelloader.py index 4fa6ecd..124161f 100644 --- a/koperkapel/loaders/levelloader.py +++ b/koperkapel/loaders/levelloader.py @@ -15,14 +15,22 @@ class LevelLoader(ResourceLoader): f = open(level_path, 'r') level_data = json.load(f) f.close() + self._height = len(level_data['tiles']) + self._width = len(level_data['tiles'][0]) self._tiles = level_data['tiles'] + # Consistency check, so we can assume things are correct + # in the level renderer + for row, row_data in enumerate(self._tiles): + if len(row_data) != self._width: + raise RuntimeError("Incorrect len for row %d" % row) self._load_tile_images() return level_data def _load_tile_images(self): """Load all the tile images""" - for tile in self._tiles: - tile['image'] = images.load(tile['base']) + for row_data in self._tiles: + for tile in row_data: + tile['image'] = images.load(tile['base']) levels = LevelLoader('levels') diff --git a/koperkapel/scenes/level.py b/koperkapel/scenes/level.py index a58c51d..71373c0 100644 --- a/koperkapel/scenes/level.py +++ b/koperkapel/scenes/level.py @@ -3,7 +3,7 @@ from pgzero.constants import keys from ..loaders.levelloader import levels from .base import Scene, ChangeSceneEvent -from .constants import TILE_SIZE +from ..constants import TILE_SIZE, WIDTH, HEIGHT class LevelScene(Scene): @@ -13,15 +13,18 @@ class LevelScene(Scene): self._level_data = levels.load(level_name) self._tiles = self._level_data['tiles'] - def draw(self, screen): + def draw(self, screen, viewport=(0, 0)): screen.clear() - for tile in self._tiles: - pos = tile['pos'] - pos = [pos[0] * TILE_SIZE, pos[1] * TILE_SIZE] - if 'image' not in tile: - # Skip broken tiles for now - continue - screen.blit(tile['image'], pos) + for y, row in enumerate(self._tiles): + for x, tile in enumerate(row): + pos = (x * TILE_SIZE - viewport[0], + y * TILE_SIZE - viewport[1]) + if 'image' not in tile: + # Skip broken tiles for now + continue + if 0 <= pos[0] < WIDTH: + if 0 <= pos[1] < HEIGHT: + screen.blit(tile['image'], pos) def on_key_down(self, key, mod, unicode): if key == keys.ESCAPE: -- 2.34.1