From cf414394c31c0ebfe01a41fe83384ad08a13cede Mon Sep 17 00:00:00 2001 From: photonstorm Date: Fri, 11 Oct 2013 06:30:28 +0100 Subject: [PATCH] Tileset working, map coming next. --- examples/assets/maps/CybernoidMap3BG.png | Bin 82938 -> 77038 bytes examples/assets/maps/CybernoidMap3BG_bank.png | Bin 0 -> 4849 bytes examples/assets/maps/CybernoidMap3BG_map.tmx | 7050 +++++++++++++++++ examples/assets/maps/cybernoid.json | 39 + examples/assets/maps/cybernoid.png.png | Bin 0 -> 4849 bytes examples/tilemaps/wip1.php | 36 +- src/loader/Cache.js | 10 +- src/loader/Loader.js | 45 +- src/tilemap/Tile.js | 4 +- src/tilemap/TilemapLayer.js | 180 +- src/tilemap/TilemapParser.js | 110 +- src/tilemap/Tileset.js | 24 +- 12 files changed, 7427 insertions(+), 71 deletions(-) create mode 100644 examples/assets/maps/CybernoidMap3BG_bank.png create mode 100644 examples/assets/maps/CybernoidMap3BG_map.tmx create mode 100644 examples/assets/maps/cybernoid.json create mode 100644 examples/assets/maps/cybernoid.png.png diff --git a/examples/assets/maps/CybernoidMap3BG.png b/examples/assets/maps/CybernoidMap3BG.png index 1248fb4d1c93205928eb7421a8042be9b4d5be18..997b8dfc47c67aeabede6dc6c3f053426854a5a7 100644 GIT binary patch literal 77038 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 bLSS|1^liIqo4Fd!5V(A|1$b9@9XS6N=z>aM literal 82938 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 diff --git a/examples/assets/maps/CybernoidMap3BG_bank.png b/examples/assets/maps/CybernoidMap3BG_bank.png new file mode 100644 index 0000000000000000000000000000000000000000..8f49737ce6c94def90ece22b9d3e9f12ad3d7ef9 GIT binary patch literal 4849 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 XZ)9b1s0M%T00000NkvXXu0mjfRdx^0 literal 0 HcmV?d00001 diff --git a/examples/assets/maps/CybernoidMap3BG_map.tmx b/examples/assets/maps/CybernoidMap3BG_map.tmx new file mode 100644 index 00000000..6d1b444f --- /dev/null +++ b/examples/assets/maps/CybernoidMap3BG_map.tmx @@ -0,0 +1,7050 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/assets/maps/cybernoid.json b/examples/assets/maps/cybernoid.json new file mode 100644 index 00000000..10bad91a --- /dev/null +++ b/examples/assets/maps/cybernoid.json @@ -0,0 +1,39 @@ +{ "height":44, + "layers":[ + { + "data":[1, 2, 3, 4, 1, 4, 3, 4, 1, 2, 5, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 1, 2, 3, 6, 1, 2, 3, 6, 5, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 8, 8, 8, 8, 8, 8, 8, 5, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 1, 2, 1, 2, 3, 6, 1, 2, 3, 6, 11, 1, 1, 12, 9, 4, 9, 4, 9, 4, 9, 10, 13, 14, 15, 14, 14, 15, 14, 15, 16, 17, 14, 14, 16, 17, 15, 14, 15, 14, 15, 14, 5, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 12, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 9, 9, 9, 13, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 18, 19, 20, 7, 7, 16, 17, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 21, 10, 9, 10, 9, 10, 9, 22, 1, 1, 12, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 11, 2, 2, 5, 7, 23, 7, 4, 7, 4, 7, 16, 17, 7, 7, 7, 7, 7, 7, 7, 23, 7, 7, 7, 23, 7, 7, 7, 7, 7, 7, 7, 5, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 5, 7, 7, 7, 7, 7, 18, 19, 20, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 24, 25, 26, 7, 7, 23, 23, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 2, 2, 5, 7, 27, 28, 7, 27, 28, 7, 27, 28, 7, 27, 28, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 18, 19, 20, 7, 11, 3, 3, 5, 7, 7, 7, 23, 7, 4, 7, 27, 28, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 5, 7, 7, 7, 7, 7, 24, 25, 26, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 29, 30, 31, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 32, 5, 3, 3, 5, 7, 23, 7, 7, 23, 7, 7, 23, 7, 7, 23, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 9, 9, 9, 22, 7, 7, 7, 7, 7, 24, 25, 26, 7, 11, 6, 6, 5, 7, 7, 7, 7, 7, 23, 7, 33, 34, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 7, 7, 7, 7, 7, 29, 30, 31, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 32, 32, 5, 6, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 29, 30, 31, 7, 11, 1, 1, 5, 7, 7, 7, 7, 7, 7, 7, 35, 36, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 32, 32, 32, 5, 1, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 2, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 32, 32, 32, 32, 5, 2, 2, 21, 9, 9, 9, 9, 9, 22, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 3, 3, 5, 7, 7, 7, 7, 37, 38, 39, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 12, 9, 9, 9, 13, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 7, 7, 7, 7, 7, 32, 32, 32, 32, 32, 5, 3, 1, 2, 3, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 6, 6, 5, 7, 7, 7, 7, 24, 25, 26, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 7, 7, 7, 40, 7, 7, 7, 5, 1, 2, 3, 6, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 12, 9, 9, 9, 9, 22, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 16, 17, 40, 7, 7, 32, 32, 32, 32, 32, 32, 5, 6, 6, 12, 9, 9, 9, 9, 9, 13, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 1, 1, 5, 7, 7, 7, 7, 41, 42, 43, 44, 45, 44, 45, 44, 45, 44, 45, 44, 16, 17, 44, 45, 16, 17, 45, 44, 5, 1, 2, 3, 6, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 12, 9, 9, 10, 9, 10, 9, 10, 9, 10, 22, 32, 5, 1, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 2, 2, 5, 7, 7, 7, 12, 9, 9, 22, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 5, 6, 1, 2, 3, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 1, 2, 3, 6, 5, 8, 8, 8, 8, 8, 8, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 5, 6, 1, 2, 3, 6, 1, 2, 3, 6, 5, 32, 5, 2, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 3, 1, 5, 7, 7, 7, 5, 2, 2, 5, 2, 3, 6, 1, 2, 3, 6, 1, 2, 4, 6, 4, 2, 4, 6, 4, 2, 5, 6, 1, 2, 3, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 1, 8, 46, 46, 46, 46, 46, 46, 46, 46, 46, 5, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 1, 2, 4, 6, 5, 2, 2, 5, 7, 5, 1, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 1, 2, 5, 7, 7, 7, 5, 3, 3, 5, 15, 14, 15, 14, 15, 14, 15, 14, 14, 4, 14, 4, 14, 4, 14, 4, 14, 5, 1, 2, 3, 6, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 2, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 21, 9, 9, 9, 9, 9, 10, 9, 10, 8, 8, 8, 8, 9, 9, 22, 2, 2, 2, 2, 2, 2, 2, 2, 5, 14, 15, 14, 4, 14, 5, 3, 3, 5, 7, 5, 2, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 2, 5, 7, 47, 7, 7, 7, 7, 7, 47, 7, 11, 2, 3, 5, 7, 7, 7, 21, 9, 9, 13, 7, 7, 7, 7, 7, 7, 7, 7, 7, 23, 7, 4, 7, 4, 7, 4, 7, 5, 1, 2, 3, 6, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 3, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 3, 3, 3, 3, 3, 3, 3, 3, 5, 7, 7, 7, 4, 7, 21, 9, 9, 13, 7, 5, 3, 3, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, 5, 47, 47, 47, 7, 7, 7, 47, 47, 47, 11, 3, 6, 5, 7, 7, 7, 7, 18, 19, 20, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 23, 7, 4, 7, 4, 7, 5, 1, 2, 3, 6, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 7, 7, 37, 38, 39, 7, 7, 7, 7, 7, 7, 7, 7, 8, 6, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 6, 6, 6, 6, 6, 6, 6, 6, 5, 7, 7, 7, 4, 7, 7, 7, 7, 7, 7, 5, 6, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 8, 7, 47, 7, 7, 7, 7, 7, 47, 7, 11, 6, 1, 5, 7, 7, 7, 7, 24, 25, 26, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 23, 7, 4, 7, 21, 9, 9, 9, 22, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 5, 7, 7, 24, 25, 26, 7, 7, 7, 7, 7, 7, 7, 7, 8, 1, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 1, 1, 1, 1, 1, 1, 1, 1, 5, 7, 7, 7, 4, 7, 7, 7, 7, 7, 7, 5, 1, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 1, 2, 5, 7, 7, 7, 7, 29, 30, 31, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 23, 7, 7, 7, 7, 7, 5, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 5, 7, 7, 41, 42, 43, 7, 7, 7, 7, 7, 7, 7, 7, 8, 2, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 21, 9, 9, 9, 9, 9, 9, 9, 9, 13, 7, 7, 7, 7, 7, 4, 7, 7, 7, 7, 5, 2, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 2, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 2, 3, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 21, 10, 8, 8, 8, 8, 9, 22, 7, 7, 7, 7, 7, 7, 8, 3, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 11, 7, 7, 48, 49, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 50, 7, 7, 7, 4, 7, 7, 7, 7, 5, 3, 3, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 3, 6, 5, 7, 51, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 1, 2, 3, 6, 5, 7, 7, 7, 12, 9, 9, 9, 6, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 11, 7, 7, 7, 4, 7, 7, 7, 7, 7, 52, 7, 52, 7, 52, 7, 52, 7, 52, 7, 7, 53, 54, 4, 7, 4, 7, 7, 7, 7, 5, 6, 6, 5, 7, 40, 7, 7, 7, 40, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 6, 1, 5, 7, 55, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 12, 10, 8, 8, 8, 8, 9, 13, 7, 7, 7, 5, 1, 1, 1, 1, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 11, 7, 7, 7, 4, 7, 7, 7, 7, 7, 5, 46, 5, 46, 5, 46, 5, 46, 5, 7, 7, 56, 57, 4, 7, 4, 7, 7, 7, 7, 5, 1, 1, 5, 7, 16, 17, 7, 16, 17, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 1, 2, 21, 10, 9, 10, 9, 10, 9, 22, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 2, 2, 2, 2, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 12, 9, 9, 9, 9, 9, 10, 9, 10, 8, 8, 8, 8, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 8, 8, 8, 8, 22, 7, 4, 58, 59, 12, 9, 13, 2, 2, 21, 10, 9, 10, 9, 10, 9, 22, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 2, 1, 2, 3, 6, 1, 2, 3, 6, 5, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 3, 3, 3, 3, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 1, 2, 3, 6, 5, 1, 2, 3, 6, 5, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 3, 1, 2, 3, 6, 1, 2, 3, 6, 5, 2, 2, 5, 6, 1, 1, 1, 1, 1, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 2, 1, 2, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 1, 2, 3, 6, 1, 2, 3, 6, 5, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 5, 3, 6, 5, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 1, 1, 1, 12, 9, 9, 9, 9, 9, 13, 14, 15, 5, 2, 2, 2, 2, 2, 2, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 3, 2, 3, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 1, 2, 3, 6, 1, 2, 3, 6, 5, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 14, 15, 14, 15, 14, 15, 14, 15, 14, 21, 9, 8, 8, 8, 8, 10, 9, 8, 8, 8, 8, 8, 8, 10, 13, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 2, 2, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 5, 3, 3, 3, 3, 3, 3, 3, 5, 47, 7, 47, 7, 47, 7, 47, 7, 47, 7, 5, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 2, 3, 2, 3, 5, 32, 32, 32, 32, 32, 32, 32, 32, 32, 5, 1, 2, 3, 6, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 33, 34, 7, 7, 7, 18, 19, 20, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 3, 3, 3, 5, 7, 7, 7, 7, 7, 7, 7, 7, 5, 6, 6, 6, 6, 6, 6, 6, 5, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 3, 6, 3, 6, 5, 47, 47, 47, 47, 47, 47, 47, 47, 47, 5, 1, 2, 3, 6, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 35, 36, 7, 7, 7, 24, 25, 26, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 5, 7, 7, 7, 50, 7, 7, 7, 7, 7, 8, 6, 6, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 5, 1, 1, 1, 1, 1, 1, 1, 5, 7, 47, 7, 47, 7, 47, 7, 47, 7, 47, 5, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 6, 1, 6, 1, 5, 7, 32, 7, 7, 32, 7, 7, 32, 7, 21, 9, 9, 9, 9, 9, 9, 9, 9, 13, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 29, 30, 31, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 5, 7, 60, 7, 53, 54, 7, 7, 7, 7, 8, 1, 1, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 21, 9, 9, 9, 9, 9, 9, 9, 13, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 1, 2, 1, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 18, 19, 20, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 2, 5, 7, 61, 7, 56, 57, 7, 7, 7, 7, 8, 2, 2, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 32, 32, 32, 32, 32, 32, 32, 7, 7, 7, 62, 63, 7, 7, 5, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 5, 50, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 2, 3, 2, 3, 5, 7, 7, 7, 7, 40, 7, 7, 7, 7, 7, 24, 25, 26, 7, 7, 7, 7, 50, 7, 7, 7, 7, 7, 7, 7, 7, 37, 38, 39, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, 21, 9, 10, 9, 10, 9, 22, 7, 7, 7, 8, 3, 3, 3, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 52, 7, 52, 7, 52, 32, 32, 7, 7, 7, 5, 7, 7, 7, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 53, 54, 7, 51, 7, 7, 7, 7, 7, 7, 5, 3, 6, 3, 6, 5, 7, 7, 7, 40, 16, 17, 40, 7, 7, 7, 29, 30, 31, 7, 7, 7, 7, 53, 54, 7, 7, 40, 7, 7, 7, 40, 24, 25, 26, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 1, 2, 3, 6, 1, 2, 3, 6, 5, 7, 7, 7, 8, 6, 6, 6, 5, 7, 7, 7, 7, 7, 7, 7, 40, 40, 7, 7, 7, 7, 5, 46, 5, 46, 5, 32, 32, 7, 7, 7, 5, 7, 7, 7, 5, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 5, 56, 57, 7, 55, 7, 7, 7, 7, 7, 7, 5, 6, 1, 6, 1, 5, 7, 7, 40, 8, 8, 8, 8, 40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 56, 57, 7, 40, 16, 17, 40, 16, 17, 41, 42, 43, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 12, 9, 10, 9, 10, 9, 13, 7, 7, 7, 8, 1, 1, 1, 5, 7, 7, 7, 7, 7, 12, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 13, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 21, 10, 9, 10, 9, 10, 9, 22, 7, 7, 7, 5, 1, 2, 1, 2, 21, 9, 8, 8, 8, 8, 8, 8, 8, 8, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 22, 45, 44, 45, 12, 9, 8, 8, 9, 9, 10, 8, 8, 8, 8, 9, 10, 22, 44, 45, 44, 45, 44, 45, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 2, 2, 2, 5, 7, 7, 7, 7, 7, 5, 1, 2, 3, 6, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 1, 2, 3, 6, 5, 7, 7, 7, 5, 2, 3, 2, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 5, 1, 2, 3, 5, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 5, 2, 3, 6, 1, 2, 3, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 3, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 3, 1, 1, 5, 7, 7, 7, 7, 7, 5, 1, 2, 3, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 4, 2, 4, 6, 1, 2, 3, 4, 1, 4, 3, 4, 5, 7, 7, 7, 5, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 6, 1, 2, 4, 6, 1, 2, 3, 6, 1, 4, 3, 4, 1, 4, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 5, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 1, 2, 2, 5, 7, 7, 7, 7, 7, 21, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 8, 8, 8, 8, 8, 8, 8, 8, 9, 10, 9, 10, 9, 10, 9, 10, 8, 8, 9, 8, 8, 10, 9, 10, 4, 10, 4, 10, 9, 10, 9, 4, 9, 4, 9, 4, 13, 7, 7, 7, 5, 2, 2, 2, 2, 2, 2, 2, 12, 10, 9, 10, 9, 10, 4, 10, 9, 10, 9, 10, 9, 4, 9, 4, 9, 4, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 64, 65, 66, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 13, 14, 15, 14, 15, 14, 15, 14, 14, 15, 14, 15, 14, 15, 14, 15, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 2, 3, 3, 5, 7, 7, 7, 7, 7, 7, 7, 7, 18, 19, 20, 7, 7, 7, 7, 7, 7, 67, 68, 7, 67, 68, 7, 67, 68, 7, 7, 7, 7, 7, 7, 7, 7, 7, 18, 19, 20, 14, 15, 7, 7, 4, 7, 4, 7, 7, 7, 7, 4, 7, 4, 7, 4, 7, 7, 7, 7, 5, 3, 3, 3, 3, 3, 3, 3, 5, 7, 7, 7, 7, 7, 4, 7, 7, 7, 7, 7, 7, 4, 7, 4, 7, 4, 7, 7, 7, 7, 7, 67, 68, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 33, 34, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 21, 9, 9, 22, 7, 7, 47, 47, 7, 7, 5, 3, 6, 6, 5, 7, 7, 7, 7, 7, 7, 7, 7, 24, 25, 26, 7, 7, 7, 7, 7, 7, 69, 70, 7, 69, 70, 7, 69, 70, 7, 7, 7, 7, 7, 7, 7, 7, 7, 24, 25, 26, 7, 7, 7, 7, 4, 7, 7, 7, 7, 7, 7, 4, 7, 4, 7, 47, 7, 7, 7, 7, 5, 6, 6, 6, 6, 6, 6, 6, 5, 32, 32, 32, 32, 7, 4, 7, 7, 7, 7, 7, 7, 32, 7, 4, 7, 4, 7, 7, 7, 7, 7, 69, 70, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 35, 36, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 2, 3, 6, 5, 47, 47, 47, 47, 47, 47, 8, 6, 1, 1, 5, 7, 7, 7, 7, 7, 7, 7, 7, 29, 30, 31, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 29, 30, 31, 7, 7, 7, 7, 4, 7, 7, 7, 7, 7, 7, 47, 7, 4, 7, 47, 7, 7, 7, 7, 5, 1, 1, 1, 1, 1, 1, 1, 5, 32, 32, 32, 32, 7, 4, 7, 7, 7, 7, 7, 7, 4, 7, 4, 7, 32, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 6, 5, 47, 47, 47, 47, 47, 47, 8, 1, 9, 9, 13, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 7, 7, 7, 7, 47, 7, 4, 7, 4, 7, 7, 7, 7, 5, 2, 2, 2, 2, 2, 2, 2, 5, 52, 71, 72, 52, 7, 4, 50, 7, 7, 7, 7, 7, 4, 7, 4, 7, 4, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 50, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 37, 38, 39, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 21, 10, 9, 10, 9, 10, 9, 10, 9, 10, 8, 8, 8, 8, 9, 13, 47, 47, 47, 47, 47, 47, 8, 2, 11, 7, 7, 7, 50, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 7, 7, 7, 7, 4, 7, 47, 7, 4, 7, 7, 7, 7, 5, 3, 3, 3, 3, 3, 3, 3, 5, 5, 7, 7, 73, 7, 32, 53, 54, 7, 7, 7, 7, 4, 7, 32, 7, 4, 7, 7, 37, 38, 39, 12, 9, 9, 9, 9, 9, 9, 9, 9, 22, 53, 54, 7, 7, 51, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 24, 25, 26, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 48, 49, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 62, 63, 7, 7, 8, 3, 11, 7, 7, 7, 53, 54, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 7, 4, 7, 7, 7, 7, 4, 7, 47, 7, 4, 7, 7, 7, 7, 5, 6, 6, 6, 6, 6, 6, 6, 5, 74, 7, 7, 5, 7, 4, 56, 57, 7, 7, 7, 7, 4, 7, 4, 7, 4, 7, 7, 24, 25, 26, 5, 1, 2, 3, 6, 1, 2, 3, 6, 5, 56, 57, 7, 7, 55, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 41, 42, 43, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 52, 7, 7, 7, 7, 7, 52, 7, 7, 52, 7, 52, 7, 52, 7, 52, 7, 52, 7, 52, 7, 7, 7, 4, 7, 7, 7, 5, 6, 11, 7, 7, 7, 56, 57, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 16, 17, 40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 7, 4, 7, 7, 7, 7, 4, 7, 4, 7, 4, 7, 7, 7, 7, 5, 1, 1, 1, 1, 1, 1, 1, 5, 75, 7, 7, 76, 7, 4, 46, 46, 7, 7, 7, 7, 4, 7, 4, 7, 4, 7, 7, 41, 42, 43, 5, 1, 2, 3, 6, 1, 2, 3, 6, 21, 10, 9, 8, 8, 8, 8, 8, 8, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 22, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 5, 45, 58, 59, 44, 45, 5, 45, 44, 5, 44, 5, 44, 5, 46, 5, 46, 5, 46, 5, 7, 7, 7, 4, 7, 7, 7, 5, 1, 9, 10, 9, 8, 8, 8, 8, 10, 9, 10, 8, 8, 8, 8, 9, 10, 9, 10, 9, 10, 8, 8, 8, 8, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 4, 10, 4, 10, 9, 9, 9, 4, 45, 4, 45, 4, 45, 44, 45, 44, 5, 2, 2, 2, 2, 2, 2, 2, 21, 77, 78, 79, 77, 10, 4, 10, 9, 10, 9, 10, 9, 4, 9, 4, 9, 4, 9, 10, 9, 10, 9, 13, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 5, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 13, 2, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 4, 2, 4, 6, 1, 2, 3, 4, 1, 4, 3, 4, 1, 2, 3, 6, 5, 3, 3, 3, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 4, 6, 1, 2, 3, 6, 1, 4, 3, 4, 1, 4, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 5, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6, 1, 2, 3, 6], + "height":44, + "name":"ShoeBox Tile Grab", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":160, + "x":0, + "y":0 + }], + "orientation":"orthogonal", + "properties": + { + + }, + "tileheight":16, + "tilesets":[ + { + "firstgid":1, + "image":"CybernoidMap3BG_bank.png", + "imageheight":128, + "imagewidth":176, + "margin":0, + "name":"CybernoidMap3BG_bank.png", + "properties": + { + + }, + "spacing":0, + "tileheight":16, + "tilewidth":16 + }], + "tilewidth":16, + "version":1, + "width":160 +} \ No newline at end of file diff --git a/examples/assets/maps/cybernoid.png.png b/examples/assets/maps/cybernoid.png.png new file mode 100644 index 0000000000000000000000000000000000000000..8f49737ce6c94def90ece22b9d3e9f12ad3d7ef9 GIT binary patch literal 4849 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 XZ)9b1s0M%T00000NkvXXu0mjfRdx^0 literal 0 HcmV?d00001 diff --git a/examples/tilemaps/wip1.php b/examples/tilemaps/wip1.php index 2b429fb0..731ba5c9 100644 --- a/examples/tilemaps/wip1.php +++ b/examples/tilemaps/wip1.php @@ -10,18 +10,8 @@ function preload() { - // game.load.image('snes', 'assets/maps/smb_tiles.png'); - // game.load.tilemap('nes', 'assets/maps/mario1.png', 'assets/maps/mario1.json', null, Phaser.Tilemap.JSON); - // game.load.tilemap('snes', 'assets/maps/smb_tiles.png', 'assets/maps/smb_level1.json', null, Phaser.Tilemap.JSON); - - // Just loads the level data and specifies the format - // game.load.tilemap('marioLevel1', 'assets/maps/smb_level1.json', Phaser.Tilemap.JSON); - - // What about passing in a JSON object though? Need that too. But a CSV would look like a 'string', not an object - how to tell apart from URL? - // game.load.tilemap('marioLevel1', SMB_LEVEL_JSON, Phaser.Tilemap.JSON); - - // Exactly the same as loading a sprite sheet :) - game.load.tileset('marioLevel1', 'assets/maps/smb_tiles.png', 32, 32); + game.load.tilemap('cybernoidLevel3', 'assets/maps/cybernoid.json', null, Phaser.Tilemap.JSON); + game.load.tileset('cybernoidTiles', 'assets/maps/cybernoid.png', 16, 16); } @@ -33,28 +23,32 @@ - layer = new Phaser.TilemapLayer(game, 0, 0, 500, 500, [], 'snes'); + // layer = new Phaser.TilemapLayer(game, 0, 0, 500, 500, [], 'snes'); // layer = new Phaser.TilemapLayer(game, 0, 0, 500, 500); // layer.load(mapData, tileset); // layer.create(mapWidth, mapHeight, [tileset]); - // layer.updateTileset(key); // can change on the fly - layer.context.fillStyle = 'rgb(255,0,0)'; - layer.context.fillRect(0, 0, 200, 300); + // layer.updateTileset('cybernoidTiles'); // can change on the fly + + + // layer.context.fillStyle = 'rgb(255,0,0)'; + // layer.context.fillRect(0, 0, 200, 300); + + /* game.world._container.addChild(layer.sprite); layer.create(10, 10); - layer.putTile(2, 2, 1); - layer.putTile(3, 2, 1); - layer.putTile(4, 2, 1); - layer.putTile(5, 2, 1); - layer.putTile(4, 6, 1); + layer.putTile(0, 0, 3); + layer.putTile(0, 1, 4); + + layer.render(); layer.dump(); + */ } function update() { diff --git a/src/loader/Cache.js b/src/loader/Cache.js index b350718e..ebcda117 100644 --- a/src/loader/Cache.js +++ b/src/loader/Cache.js @@ -151,16 +151,14 @@ Phaser.Cache.prototype = { * @method Phaser.Cache#addTilemap * @param {string} key - The unique key by which you will reference this object. * @param {string} url - URL of the tilemap image. - * @param {object} data - Tilemap data. * @param {object} mapData - The tilemap data object. * @param {number} format - The format of the tilemap data. */ - addTilemap: function (key, url, data, mapData, format) { + addTilemap: function (key, url, mapData, format) { - this._tilemaps[key] = { url: url, data: data, spriteSheet: true, mapData: mapData, format: format }; + this._tilemaps[key] = { url: url, mapData: mapData, format: format }; - PIXI.BaseTextureCache[key] = new PIXI.BaseTexture(data); - PIXI.TextureCache[key] = new PIXI.Texture(PIXI.BaseTextureCache[key]); + this._tilemaps[key].mapData = Phaser.TilemapParser.parse(this.game, mapData, format); }, @@ -443,7 +441,7 @@ Phaser.Cache.prototype = { if (this._tilesets[key]) { - return this._tilesets[key]; + return this._tilesets[key].tileData; } return null; diff --git a/src/loader/Loader.js b/src/loader/Loader.js index 33ec4920..1c496073 100644 --- a/src/loader/Loader.js +++ b/src/loader/Loader.js @@ -343,18 +343,24 @@ Phaser.Loader.prototype = { * @param {object} [mapData] - An optional JSON data object (can be given in place of a URL). * @param {string} [format] - The format of the map data. */ - tilemap: function (key, tilesetURL, mapDataURL, mapData, format) { + tilemap: function (key, mapDataURL, mapData, format) { if (typeof mapDataURL === "undefined") { mapDataURL = null; } if (typeof mapData === "undefined") { mapData = null; } if (typeof format === "undefined") { format = Phaser.Tilemap.CSV; } + if (mapDataURL == null && mapData == null) + { + console.warn('Phaser.Loader.tilemap - Both mapDataURL and mapData are null. One must be set.'); + return; + } + if (this.checkKeyExists(key) === false) { // A URL to a json/csv file has been given if (mapDataURL) { - this.addToFileList('tilemap', key, tilesetURL, { mapDataURL: mapDataURL, format: format }); + this.addToFileList('tilemap', key, mapDataURL, { format: format }); } else { @@ -374,7 +380,7 @@ Phaser.Loader.prototype = { break; } - this.addToFileList('tilemap', key, tilesetURL, { mapDataURL: null, mapData: mapData, format: format }); + this.game.cache.addTilemap(key, null, mapData, format); } } @@ -637,7 +643,6 @@ Phaser.Loader.prototype = { case 'spritesheet': case 'textureatlas': case 'bitmapfont': - case 'tilemap': case 'tileset': file.data = new Image(); file.data.name = file.key; @@ -701,6 +706,29 @@ Phaser.Loader.prototype = { break; + case 'tilemap': + this._xhr.open("GET", this.baseURL + file.url, true); + this._xhr.responseType = "text"; + + if (file.format == Phaser.Tilemap.JSON) + { + this._xhr.onload = function () { + return _this.jsonLoadComplete(file.key); + }; + } + else if (file.format == Phaser.Tilemap.CSV) + { + this._xhr.onload = function () { + return _this.csvLoadComplete(file.key); + }; + } + + this._xhr.onerror = function () { + return _this.dataLoadError(file.key); + }; + this._xhr.send(); + break; + case 'text': this._xhr.open("GET", this.baseURL + file.url, true); this._xhr.responseType = "text"; @@ -798,8 +826,12 @@ Phaser.Loader.prototype = { this.game.cache.addTileset(file.key, file.url, file.data, file.tileWidth, file.tileHeight, file.tileMax); break; + /* case 'tilemap': + file.data = this._xhr.response; + this.game.cache.addTilemap(file.key, file.url, file.data, file.format); + if (file.mapDataURL == null) { this.game.cache.addTilemap(file.key, file.url, file.data, file.mapData, file.format); @@ -830,6 +862,7 @@ Phaser.Loader.prototype = { this._xhr.send(); } break; + */ case 'textureatlas': @@ -944,7 +977,7 @@ Phaser.Loader.prototype = { if (file.type == 'tilemap') { - this.game.cache.addTilemap(file.key, file.url, file.data, data, file.format); + this.game.cache.addTilemap(file.key, file.url, data, file.format); } else { @@ -966,7 +999,7 @@ Phaser.Loader.prototype = { var data = this._xhr.response; var file = this._fileList[key]; - this.game.cache.addTilemap(file.key, file.url, file.data, data, file.format); + this.game.cache.addTilemap(file.key, file.url, data, file.format); this.nextFile(key, true); diff --git a/src/tilemap/Tile.js b/src/tilemap/Tile.js index b55e23fa..230b2246 100644 --- a/src/tilemap/Tile.js +++ b/src/tilemap/Tile.js @@ -109,7 +109,9 @@ Phaser.Tile.prototype = { * @method destroy */ destroy: function () { - this.tilemap = null; + + this.tileset = null; + }, /** diff --git a/src/tilemap/TilemapLayer.js b/src/tilemap/TilemapLayer.js index 146f9041..6eae2601 100644 --- a/src/tilemap/TilemapLayer.js +++ b/src/tilemap/TilemapLayer.js @@ -44,7 +44,10 @@ Phaser.TilemapLayer = function (game, x, y, renderWidth, renderHeight, mapData, /** * @property {Description} tileset - Description. */ - this.tileset = tileset; + this.tileset = null; + + this.tileWidth = 0; + this.tileHeight = 0; this.widthInTiles = 0; this.heightInTiles = 0; @@ -52,6 +55,78 @@ Phaser.TilemapLayer = function (game, x, y, renderWidth, renderHeight, mapData, this.renderWidth = renderWidth; this.renderHeight = renderHeight; + /** + * @property {number} _ga - Local render loop var to help avoid gc spikes. + * @private + */ + this._ga = 1; + + /** + * @property {number} _dx - Local render loop var to help avoid gc spikes. + * @private + */ + this._dx = 0; + + /** + * @property {number} _dy - Local render loop var to help avoid gc spikes. + * @private + */ + this._dy = 0; + + /** + * @property {number} _dw - Local render loop var to help avoid gc spikes. + * @private + */ + this._dw = 0; + + /** + * @property {number} _dh - Local render loop var to help avoid gc spikes. + * @private + */ + this._dh = 0; + + /** + * @property {number} _tx - Local render loop var to help avoid gc spikes. + * @private + */ + this._tx = 0; + + /** + * @property {number} _ty - Local render loop var to help avoid gc spikes. + * @private + */ + this._ty = 0; + + /** + * @property {number} _tl - Local render loop var to help avoid gc spikes. + * @private + */ + this._tl = 0; + + /** + * @property {number} _maxX - Local render loop var to help avoid gc spikes. + * @private + */ + this._maxX = 0; + + /** + * @property {number} _maxY - Local render loop var to help avoid gc spikes. + * @private + */ + this._maxY = 0; + + /** + * @property {number} _startX - Local render loop var to help avoid gc spikes. + * @private + */ + this._startX = 0; + + /** + * @property {number} _startY - Local render loop var to help avoid gc spikes. + * @private + */ + this._startY = 0; + }; Phaser.TilemapLayer.prototype = { @@ -96,6 +171,109 @@ Phaser.TilemapLayer.prototype = { }, + updateTileset: function (tileset) { + + this.tileset = this.game.cache.getTileset(tileset); + this.tileWidth = this.tileset.tileWidth; + this.tileHeight = this.tileset.tileHeight; + + }, + + render: function () { + + if (this.visible == false) + { + return; + } + + // Work out how many tiles we can fit into our canvas and round it up for the edges + this._maxX = this.game.math.ceil(this.canvas.width / this.tileWidth) + 1; + this._maxY = this.game.math.ceil(this.canvas.height / this.tileHeight) + 1; + + // And now work out where in the tilemap the camera actually is + this._startX = this.game.math.floor(this.game.camera.x / this.tileWidth); + this._startY = this.game.math.floor(this.game.camera.y / this.tileHeight); + + // Tilemap bounds check + if (this._startX < 0) + { + this._startX = 0; + } + + if (this._startY < 0) + { + this._startY = 0; + } + + if (this._maxX > this.widthInTiles) + { + this._maxX = this.widthInTiles; + } + + if (this._maxY > this.heightInTiles) + { + this._maxY = this.heightInTiles; + } + + if (this._startX + this._maxX > this.widthInTiles) + { + this._startX = this.widthInTiles - this._maxX; + } + + if (this._startY + this._maxY > this.heightInTiles) + { + this._startY = this.heightInTiles - this._maxY; + } + + // Finally get the offset to avoid the blocky movement + this._dx = -(this.game.camera.x - (this._startX * this.tileWidth)); + this._dy = -(this.game.camera.y - (this._startY * this.tileHeight)); + + this._tx = this._dx; + this._ty = this._dy; + + this.context.clearRect(0, 0, this.canvas.width, this.canvas.height); + + for (var row = this._startY; row < this._startY + this._maxY; row++) + { + this._columnData = this.mapData[row]; + + for (var tile = this._startX; tile < this._startX + this._maxX; tile++) + { + if (this.tileset.checkTileIndex(this._columnData[tile])) + { + this.context.drawImage( + this.tileset.image, + this.tileset.tiles[this._columnData[tile]].x, + this.tileset.tiles[this._columnData[tile]].y, + this.tileWidth, + this.tileHeight, + this._tx, + this._ty, + this.tileWidth, + this.tileHeight + ); + } + + this._tx += this.tileWidth; + + } + + this._tx = this._dx; + this._ty += this.tileHeight; + } + + // Only needed if running in WebGL, otherwise this array will never get cleared down I don't think! + if (this.game.renderType == Phaser.WEBGL) + { + PIXI.texturesToUpdate.push(this.baseTexture); + } + + return true; + + }, + + dump: function () { var txt = ''; diff --git a/src/tilemap/TilemapParser.js b/src/tilemap/TilemapParser.js index ecb076bb..1ac34209 100644 --- a/src/tilemap/TilemapParser.js +++ b/src/tilemap/TilemapParser.js @@ -1,16 +1,5 @@ Phaser.TilemapParser = { - /** - * Parse a Sprite Sheet and extract the animation frame data from it. - * - * @method Phaser.AnimationParser.spriteSheet - * @param {Phaser.Game} game - A reference to the currently running game. - * @param {string} key - The Game.Cache asset key of the Sprite Sheet image. - * @param {number} frameWidth - The fixed width of each frame of the animation. - * @param {number} frameHeight - The fixed height of each frame of the animation. - * @param {number} [frameMax=-1] - The total number of animation frames to extact from the Sprite Sheet. The default value of -1 means "extract all frames". - * @return {Phaser.FrameData} A FrameData object containing the parsed frames. - */ tileset: function (game, key, tileWidth, tileHeight, tileMax) { // How big is our image? @@ -54,7 +43,7 @@ Phaser.TilemapParser = { var x = 0; var y = 0; - var tileset = new Phaser.Tileset(key, tileWidth, tileHeight); + var tileset = new Phaser.Tileset(img, key, tileWidth, tileHeight); for (var i = 0; i < total; i++) { @@ -73,47 +62,110 @@ Phaser.TilemapParser = { }, + parse: function (game, data, format) { + + if (format == Phaser.Tilemap.CSV) + { + return this.parseCSV(data); + } + else if (format == Phaser.Tilemap.TILED_JSON) + { + return this.parseTiledJSON(data); + } + + }, + /** * Parse csv map data and generate tiles. * * @method Phaser.Tilemap.prototype.parseCSV * @param {string} data - CSV map data. - * @param {string} key - Asset key for tileset image. - * @param {number} tileWidth - Width of its tile. - * @param {number} tileHeight - Height of its tile. */ - parseCSV: function (data, key, tileWidth, tileHeight) { - - // var layer = new Phaser.TilemapLayer(this, 0, key, Phaser.Tilemap.CSV, 'TileLayerCSV' + this.layers.length.toString(), tileWidth, tileHeight); + parseCSV: function (data) { // Trim any rogue whitespace from the data data = data.trim(); + var output = []; + var rows = data.split("\n"); for (var i = 0; i < rows.length; i++) { + output[i] = []; + var column = rows[i].split(","); - if (column.length > 0) + for (var c = 0; c < column.length; c++) { - // layer.addColumn(column); + output[i][c] = parseInt(column[c]); } } - // layer.updateBounds(); - // layer.createCanvas(); + return [{ name: 'csv', alpha: 1, visible: true, tileMargin: 0, tileSpacing: 0, data: output }]; - // var tileQuantity = layer.parseTileOffsets(); + }, - // this.currentLayer = layer; - // this.collisionLayer = layer; - // this.layers.push(layer); + /** + * Parse JSON map data and generate tiles. + * + * @method Phaser.Tilemap.prototype.parseTiledJSON + * @param {string} data - JSON map data. + * @param {string} key - Asset key for tileset image. + */ + parseTiledJSON: function (json) { - // this.width = this.currentLayer.widthInPixels; - // this.height = this.currentLayer.heightInPixels; + var layers = []; - // this.generateTiles(tileQuantity); + for (var i = 0; i < json.layers.length; i++) + { + // Check it's a data layer + if (!json.layers[i].data) + { + continue; + } + + // json.tilewidth + // json.tileheight + + var layer = { + + name: json.layers[i].name, + alpha: json.layers[i].opacity, + visible: json.layers[i].visible, + tileMargin: json.tilesets[0].margin, + tileSpacing: json.tilesets[0].spacing + + }; + + var output = []; + var c = 0; + var row; + + for (var t = 0; t < json.layers[i].data.length; t++) + { + if (c == 0) + { + row = []; + } + + row.push(json.layers[i].data[t]); + c++; + + if (c == json.layers[i].width) + { + output.push(row); + // layer.addColumn(row); + c = 0; + } + } + + layers.data = output; + this.layers.push(layer); + + } + + return layers; } diff --git a/src/tilemap/Tileset.js b/src/tilemap/Tileset.js index 2116bea3..522edbdd 100644 --- a/src/tilemap/Tileset.js +++ b/src/tilemap/Tileset.js @@ -1,15 +1,17 @@ -Phaser.Tileset = function (key, tileWidth, tileHeight) { +Phaser.Tileset = function (image, key, tileWidth, tileHeight) { /** * @property {string} key - The cache ID. */ this.key = key; - this.tilewidth = tileWidth; + this.image = image; + + this.tileWidth = tileWidth; this.tileHeight = tileHeight; - this._tiles = []; + this.tiles = []; } @@ -17,7 +19,7 @@ Phaser.Tileset.prototype = { addTile: function (tile) { - this._tiles.push(tile); + this.tiles.push(tile); return tile; @@ -25,13 +27,21 @@ Phaser.Tileset.prototype = { getTile: function (index) { - if (this._tiles[index]) + if (this.tiles[index]) { - return this._tiles[index]; + return this.tiles[index]; } return null; + }, + + checkTileIndex: function (index) { + + console.log('checking tile', index); + + return (this.tiles[index]); + } } @@ -44,7 +54,7 @@ Phaser.Tileset.prototype = { Object.defineProperty(Phaser.Tileset.prototype, "total", { get: function () { - return this._ties.length; + return this.tiles.length; } });