From 7b2ed8e27b36b0e981c68c4f66fe0872e87f743a Mon Sep 17 00:00:00 2001 From: Alan Youngblood Date: Fri, 4 Aug 2023 22:05:07 -0400 Subject: [PATCH] New tileset & map; todo fix tile sanity check --- .kdev4/KaijuSaveEarth.kdev4 | 5 +- assets/maps/br-tiles.tsj | 14 +- assets/maps/kaiju-city-map.json | 48 +++++++ assets/maps/kaiju-city-map.tiled-session | 75 +++++++++- assets/maps/kaiju-city-map.tmj | 19 ++- assets/maps/kaiju-city-map.tmx | 13 +- ...ity-Tileset.png => kaiju-city-tileset.png} | Bin .../maps/{Kaiju-City.tsj => kaiju-city.tsj} | 8 +- src/config/config.json | 2 +- src/ecs/TileMapComponent.h | 66 ++++++--- src/game/Game.cpp | 133 +++++++++--------- 11 files changed, 271 insertions(+), 112 deletions(-) create mode 100644 assets/maps/kaiju-city-map.json rename assets/maps/{Kaiju-City-Tileset.png => kaiju-city-tileset.png} (100%) rename assets/maps/{Kaiju-City.tsj => kaiju-city.tsj} (59%) diff --git a/.kdev4/KaijuSaveEarth.kdev4 b/.kdev4/KaijuSaveEarth.kdev4 index 3fb8ed5..3d0a963 100644 --- a/.kdev4/KaijuSaveEarth.kdev4 +++ b/.kdev4/KaijuSaveEarth.kdev4 @@ -1,3 +1,6 @@ +[Buildset] +BuildItems=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x00\x1c\x00K\x00a\x00i\x00j\x00u\x00S\x00a\x00v\x00e\x00E\x00a\x00r\x00t\x00h) + [CMake] Build Directory Count=1 Current Build Directory Index-Host System=0 @@ -9,7 +12,7 @@ CMake Binary=/usr/bin/cmake CMake Executable=/usr/bin/cmake Environment Profile= Extra Arguments= -Install Directory= +Install Directory=/usr/local Runtime=Host System [Launch] diff --git a/assets/maps/br-tiles.tsj b/assets/maps/br-tiles.tsj index 09035a3..db85c5b 100644 --- a/assets/maps/br-tiles.tsj +++ b/assets/maps/br-tiles.tsj @@ -1,5 +1,5 @@ { "columns":10, - "image":"..\/..\/..\/Projects\/BeagleRescue\/assets\/maps\/br-tiles.png", + "image":"br-tiles.png", "imageheight":80, "imagewidth":160, "margin":0, @@ -14,7 +14,6 @@ "objectgroup": { "draworder":"index", - "id":2, "name":"", "objects":[ { @@ -40,7 +39,6 @@ "objectgroup": { "draworder":"index", - "id":2, "name":"", "objects":[ { @@ -66,7 +64,6 @@ "objectgroup": { "draworder":"index", - "id":2, "name":"", "objects":[ { @@ -92,7 +89,6 @@ "objectgroup": { "draworder":"index", - "id":2, "name":"", "objects":[ { @@ -118,7 +114,6 @@ "objectgroup": { "draworder":"index", - "id":2, "name":"", "objects":[ { @@ -144,7 +139,6 @@ "objectgroup": { "draworder":"index", - "id":2, "name":"", "objects":[ { @@ -170,7 +164,6 @@ "objectgroup": { "draworder":"index", - "id":2, "name":"", "objects":[ { @@ -196,7 +189,6 @@ "objectgroup": { "draworder":"index", - "id":2, "name":"", "objects":[ { @@ -222,7 +214,6 @@ "objectgroup": { "draworder":"index", - "id":2, "name":"", "objects":[ { @@ -248,7 +239,6 @@ "objectgroup": { "draworder":"index", - "id":2, "name":"", "objects":[ { @@ -285,7 +275,6 @@ "objectgroup": { "draworder":"index", - "id":2, "name":"", "objects":[ { @@ -311,7 +300,6 @@ "objectgroup": { "draworder":"index", - "id":2, "name":"", "objects":[ { diff --git a/assets/maps/kaiju-city-map.json b/assets/maps/kaiju-city-map.json new file mode 100644 index 0000000..e39e5aa --- /dev/null +++ b/assets/maps/kaiju-city-map.json @@ -0,0 +1,48 @@ +{ "compressionlevel":-1, + "height":32, + "infinite":false, + "layers":[ + { + "compression":"", + "data":"DQAAAA0AAAANAAAADQAAAA0AAAANAAAAAQAAAAIAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAAAQAAAAIAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAAcAAAAIAAAADQAAAA0AAAANAAAAIgAAACIAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAJAAAACgAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAJAAAACgAAAAsAAAALAAAACwAAAAsAAAANAAAADQAAAA0AAAANAAAADwAAABAAAAANAAAADQAAAA0AAAANAAAAIgAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABEAAAASAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABEAAAASAAAAEwAAABMAAAATAAAAEwAAAA0AAAANAAAADQAAAA0AAAAXAAAAGAAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAAGwAAABwAAAAdAAAAAQAAAAIAAAAEAAAABQAAAAUAAAAFAAAABQAAAAUAAAAGAAAAAQAAAAIAAAAZAAAAGgAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAAjAAAAJAAAACUAAAABAAAAAgAAAAwAAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAABAAAAAgAAACEAAAAiAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAACsAAAAsAAAALQAAAAEAAAACAAAADAAAAA0AAAANAAAADQAAAA0AAAANAAAADgAAAAEAAAACAAAAKQAAACoAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAAKwAAACwAAAAtAAAAAQAAAAIAAAAMAAAADQAAAA0AAAANAAAADQAAAA0AAAAOAAAAAQAAAAIAAAAxAAAAMgAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAAHwAAACAAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAArAAAALAAAAC0AAAABAAAAAgAAAAwAAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAABAAAAAgAAAB4AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAAnAAAAKAAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAACsAAAAsAAAALQAAAAEAAAACAAAADAAAAA0AAAANAAAADQAAAA0AAAANAAAADgAAAAEAAAACAAAAJgAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAC8AAAAwAAAADQAAAA0AAAANAAAADQAAABsAAAAcAAAAHAAAABwAAAAdAAAAAQAAAAIAAAAMAAAADQAAAA0AAAANAAAADQAAAA0AAAAOAAAAAQAAAAIAAAAZAAAAGgAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAAIwAAACMAAAAjAAAAJAAAACUAAAABAAAAAgAAAAwAAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAABAAAAAgAAACEAAAAiAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAArAAAAIwAAACsAAAAsAAAALQAAAAEAAAACAAAADAAAAA0AAAANAAAADQAAAA0AAAANAAAADgAAAAEAAAACAAAAKQAAACoAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAADMAAAA0AAAAMwAAADQAAAA1AAAAAQAAAAIAAAAUAAAAFQAAABUAAAAVAAAAFQAAABUAAAAWAAAAAQAAAAIAAAAxAAAAMgAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAJAAAACgAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAJAAAACgAAAAsAAAALAAAACwAAAAsAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABEAAAASAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABEAAAASAAAAEwAAABMAAAATAAAAEwAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAAAQAAAAIAAAAZAAAAGgAAAA0AAAAfAAAAIAAAAA0AAAA4AAAAAQAAAAIAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAAfAAAAIAAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAABAAAAAgAAACEAAAAiAAAADQAAACcAAAAoAAAADQAAAEAAAAABAAAAAgAAADcAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAACcAAAAoAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAAEAAAACAAAAKQAAACoAAAAfAAAAIAAAAB8AAAAgAAAAOAAAAAEAAAACAAAAPwAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAALwAAADAAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAAAQAAAAIAAAAxAAAAMgAAACcAAAAoAAAAJwAAACgAAABAAAAAAQAAAAIAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAABAAAAAgAAAA0AAAANAAAALwAAADAAAAAvAAAAMAAAAA0AAAABAAAAAgAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAAHAAAACAAAAA0AAAANAAAABwAAAAgAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA8AAAAQAAAABwAAAAgAAAAPAAAAEAAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAAFwAAABgAAAAPAAAAEAAAABcAAAAYAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAABwAAAAgAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAABcAAAAYAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAAPAAAAEAAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAABcAAAAYAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAAfAAAAIAAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAABwAAAAgAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAACcAAAAoAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAAPAAAAEAAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAALwAAADAAAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAABcAAAAYAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAAIgAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAACIAAAAiAAAAIgAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAAiAAAAIgAAAA==", + "encoding":"base64", + "height":32, + "id":1, + "name":"Tile Layer 1", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":32, + "x":0, + "y":0 + }, + { + "compression":"", + "data":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAOQAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAAADkAAAA5AAAAOQAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAADkAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAOQAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAAAAAAAA5AAAAOQAAAAAAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAAAAAADkAAAA5AAAAAAAAADkAAAAAAAAAAAAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAAADkAAAA5AAAAOQAAADkAAAA5AAAAOQAAAAAAAAAAAAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAADkAAAA5AAAAOQAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAOQAAADkAAAA5AAAAOQAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "encoding":"base64", + "height":32, + "id":2, + "name":"Collision", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":32, + "x":0, + "y":0 + }], + "nextlayerid":3, + "nextobjectid":1, + "orientation":"orthogonal", + "renderorder":"right-down", + "tiledversion":"1.8.2", + "tileheight":8, + "tilesets":[ + { + "firstgid":1, + "source":"kaiju-city.tsj" + }], + "tilewidth":8, + "type":"map", + "version":"1.8", + "width":32 +} \ No newline at end of file diff --git a/assets/maps/kaiju-city-map.tiled-session b/assets/maps/kaiju-city-map.tiled-session index b5fc53b..886321d 100644 --- a/assets/maps/kaiju-city-map.tiled-session +++ b/assets/maps/kaiju-city-map.tiled-session @@ -5,11 +5,75 @@ }, "activeFile": "", "expandedProjectPaths": [ + "." ], "fileStates": { + "": { + "scaleInDock": 1 + }, + "Kaiju-City.tsj": { + "dynamicWrapping": true, + "scaleInDock": 3 + }, + "br-tiles.tsj": { + "scaleInDock": 1, + "scaleInEditor": 4 + }, + "kaiju-city-map.json": { + "scale": 3, + "selectedLayer": 1, + "viewCenter": { + "x": 86.16666666666666, + "y": 10.666666666666671 + } + }, + "kaiju-city-map.json#kaiju-city": { + "scaleInDock": 1 + }, + "kaiju-city-map.tmj": { + "scale": 1.4114285714285715, + "selectedLayer": 0, + "viewCenter": { + "x": 232.38866396761134, + "y": 218.21862348178138 + } + }, + "kaiju-city-map.tmx": { + "scale": 1.4114285714285715, + "selectedLayer": 0, + "viewCenter": { + "x": 74.03846153846153, + "y": 116.19433198380568 + } + }, + "kaiju-city.tsj": { + "dynamicWrapping": false, + "scaleInDock": 1, + "scaleInEditor": 1 + }, + "kaiju-city.tsx": { + "scaleInDock": 3, + "scaleInEditor": 4 + }, + "kaiju-tokyo.tsj": { + "scaleInDock": 1, + "scaleInEditor": 4 + }, + "testmap.json": { + "scale": 0.5880952380952381, + "selectedLayer": 0, + "viewCenter": { + "x": 174.29149797570852, + "y": 578.1376518218623 + } + } }, - "last.imagePath": "/Users/ayoungblood/Projects/KaijuSaveEarth/assets/maps", + "last.exportedFilePath": "/home/ayoungblood/projects/KaijuSaveEarth/assets/maps", + "last.externalTilesetPath": "/home/ayoungblood/projects/KaijuSaveEarth/assets/maps", + "last.imagePath": "/home/ayoungblood/projects/KaijuSaveEarth/assets/maps", + "lastUsedTilesetExportFilter": "JSON tileset files (*.tsj *.json)", "map.height": 32, + "map.lastUsedExportFilter": "All Files (*)", "map.lastUsedFormat": "json", "map.layerDataFormat": null, "map.tileHeight": 8, @@ -19,7 +83,16 @@ ], "project": "kaiju-city-map.tiled-project", "recentFiles": [ + "testmap.json", + "kaiju-tokyo.tsj", + "kaiju-city-map.json", + "kaiju-city.tsx", + "br-tiles.tsj", + "kaiju-city-map.tmx", + "kaiju-city-map.tmj", + "kaiju-city.tsj" ], + "tileset.lastUsedFilter": "JSON tileset files (*.tsj *.json)", "tileset.lastUsedFormat": "json", "tileset.tileSize": { "height": 8, diff --git a/assets/maps/kaiju-city-map.tmj b/assets/maps/kaiju-city-map.tmj index e34b46e..54d2d35 100644 --- a/assets/maps/kaiju-city-map.tmj +++ b/assets/maps/kaiju-city-map.tmj @@ -3,8 +3,8 @@ "infinite":false, "layers":[ { - "compression":"zstd", - "data":"KLUv\/WAAD40HAGKIEg1QuOYBAAEmX0LbwdsplVMaZxROSB21xb620UUwzjcTySOu1lnac6Ga1VWlk043Xet5Z6F4AvTP38stA8EDmbtjHndADjcgAp4NU6AwT8nWwIIbqU0b1VXVFEQ7AWlnQmwzT5H3ja2mT+FC5KABm21AickgJbv33+833zFMB4jbkf8mvgnJjxBn1C70jAbpjNkNLYhCf5I6kki9DyP1XUaggUJf0j40XEO9xL87mrxYTXrQ5AMl2TcxkvqzD1DgUzCkn0FROpU6Mn7T\/jDSidSR8SvtL4yF5wlk5Ths1ELmE359EP5qwj2QAVHUcAQ=", + "compression":"", + "data":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAJAAAACgAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAJAAAACgAAAAsAAAALAAAACwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABEAAAASAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABEAAAASAAAAEwAAABMAAAATAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAABwAAAAdAAAAAQAAAAIAAAAEAAAABQAAAAUAAAAFAAAABQAAAAUAAAAGAAAAAQAAAAIAAAAZAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAJAAAACUAAAABAAAAAgAAAAwAAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAABAAAAAgAAACEAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAsAAAALQAAAAEAAAACAAAADAAAAA0AAAANAAAADQAAAA0AAAANAAAADgAAAAEAAAACAAAAKQAAACoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAACwAAAAtAAAAAQAAAAIAAAAMAAAADQAAAA0AAAANAAAADQAAAA0AAAAOAAAAAQAAAAIAAAAxAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAALAAAAC0AAAABAAAAAgAAAAwAAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAABAAAAAgAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAsAAAALQAAAAEAAAACAAAADAAAAA0AAAANAAAADQAAAA0AAAANAAAADgAAAAEAAAACAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAAcAAAAHAAAABwAAAAdAAAAAQAAAAIAAAAMAAAADQAAAA0AAAANAAAADQAAAA0AAAAOAAAAAQAAAAIAAAAZAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAACMAAAAjAAAAJAAAACUAAAABAAAAAgAAAAwAAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAABAAAAAgAAACEAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAAIwAAACsAAAAsAAAALQAAAAEAAAACAAAADAAAAA0AAAANAAAADQAAAA0AAAANAAAADgAAAAEAAAACAAAAKQAAACoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAA0AAAAMwAAADQAAAA1AAAAAQAAAAIAAAAUAAAAFQAAABUAAAAVAAAAFQAAABUAAAAWAAAAAQAAAAIAAAAxAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAJAAAACgAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAJAAAACgAAAAsAAAALAAAACwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABEAAAASAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABEAAAASAAAAEwAAABMAAAATAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAZAAAAGgAAAAAAAAAfAAAAIAAAAAAAAAA4AAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAACEAAAAiAAAAAAAAACcAAAAoAAAAAAAAAEAAAAABAAAAAgAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAKQAAACoAAAAfAAAAIAAAAB8AAAAgAAAAOAAAAAEAAAACAAAAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAxAAAAMgAAACcAAAAoAAAAJwAAACgAAABAAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAAAAAAALwAAADAAAAAvAAAAMAAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAACAAAAAAAAAAAAAAABwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQAAAABwAAAAgAAAAPAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAABgAAAAPAAAAEAAAABcAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", "encoding":"base64", "height":32, "id":1, @@ -20,15 +20,24 @@ "nextobjectid":1, "orientation":"orthogonal", "renderorder":"right-down", - "tiledversion":"1.10.1", + "tiledversion":"1.8.2", "tileheight":8, "tilesets":[ { + "columns":8, "firstgid":1, - "source":"Kaiju-City.tsj" + "image":"kaiju-city-tileset.png", + "imageheight":64, + "imagewidth":64, + "margin":0, + "name":"kaiju-city", + "spacing":0, + "tilecount":64, + "tileheight":8, + "tilewidth":8 }], "tilewidth":8, "type":"map", - "version":"1.10", + "version":"1.8", "width":32 } \ No newline at end of file diff --git a/assets/maps/kaiju-city-map.tmx b/assets/maps/kaiju-city-map.tmx index a427734..2632905 100644 --- a/assets/maps/kaiju-city-map.tmx +++ b/assets/maps/kaiju-city-map.tmx @@ -1,9 +1,14 @@ - - + + - - KLUv/WAAD+UDAEJFCw7w+HLwLjmhD9w1U49NAdBzJ8N+PdesV39KcoT6dEcMFx4cuPT2qDnz5bjxYhyg4DRWdD8DUAImQdWCB3EAvviAocQNg56+Eh8zWwz16T/uOLDEEQsDpA8k2Tfi7KcGg6e/hA9DEeQZnyZZCD28XSjY7ES0cAoUhgE= + + DQAAAA0AAAANAAAADQAAAA0AAAAOAAAAAQAAAAIAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAAJAAAACgAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAJAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAVAAAAFQAAABUAAAAVAAAAFgAAABEAAAASAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABEAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAABkAAAAaAAAAGwAAABwAAAAdAAAAAQAAAAIAAAAEAAAABQAAAAUAAAAFAAAABQAAAAUAAAAGAAAAAQAAAAIAAAAZAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAIQAAACIAAAAjAAAAJAAAACUAAAABAAAAAgAAAAwAAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAABAAAAAgAAACEAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAApAAAAKgAAACsAAAAsAAAALQAAAAEAAAACAAAADAAAAA0AAAANAAAADQAAAA0AAAANAAAADgAAAAEAAAACAAAAKQAAACoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAADEAAAAyAAAAKwAAACwAAAAtAAAAAQAAAAIAAAAMAAAADQAAAA0AAAANAAAADQAAAA0AAAAOAAAAAQAAAAIAAAAxAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAABAAAAAYAAAArAAAALAAAAC0AAAABAAAAAgAAAAwAAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAABAAAAAgAAABsAAAAcAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAUAAAAFgAAACsAAAAsAAAALQAAAAEAAAACAAAADAAAAA0AAAANAAAADQAAAA0AAAANAAAADgAAAAEAAAACAAAAIwAAACQAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAABsAAAAcAAAAHAAAABwAAAAdAAAAAQAAAAIAAAAMAAAADQAAAA0AAAANAAAADQAAAA0AAAAOAAAAAQAAAAIAAAArAAAALAAAAC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAIwAAACMAAAAjAAAAJAAAACUAAAABAAAAAgAAAAwAAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAABAAAAAgAAADMAAAA0AAAANQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAArAAAAIwAAACsAAAAsAAAALQAAAAEAAAACAAAADAAAAA0AAAANAAAADQAAAA0AAAANAAAADgAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAADMAAAA0AAAAMwAAADQAAAA1AAAAAQAAAAIAAAAUAAAAFQAAABUAAAAVAAAAFQAAABUAAAAWAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAJAAAACgAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAJAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABEAAAASAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABEAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAOQAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAAADkAAAA5AAAAOQAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAADkAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAOQAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAOQAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAAADkAAAA5AAAAOQAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAOQAAADkAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkAAAA5AAAAOQAAADkAAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== diff --git a/assets/maps/Kaiju-City-Tileset.png b/assets/maps/kaiju-city-tileset.png similarity index 100% rename from assets/maps/Kaiju-City-Tileset.png rename to assets/maps/kaiju-city-tileset.png diff --git a/assets/maps/Kaiju-City.tsj b/assets/maps/kaiju-city.tsj similarity index 59% rename from assets/maps/Kaiju-City.tsj rename to assets/maps/kaiju-city.tsj index 37df422..b7e7499 100644 --- a/assets/maps/Kaiju-City.tsj +++ b/assets/maps/kaiju-city.tsj @@ -1,14 +1,14 @@ { "columns":8, - "image":"Kaiju-City-Tileset.png", + "image":"kaiju-city-tileset.png", "imageheight":64, "imagewidth":64, "margin":0, - "name":"Kaiju-City", + "name":"kaiju-city", "spacing":0, "tilecount":64, - "tiledversion":"1.10.1", + "tiledversion":"1.8.2", "tileheight":8, "tilewidth":8, "type":"tileset", - "version":"1.10" + "version":"1.8" } \ No newline at end of file diff --git a/src/config/config.json b/src/config/config.json index d81749c..f3f9e55 100644 --- a/src/config/config.json +++ b/src/config/config.json @@ -3,5 +3,5 @@ "WindowName":"Kaiju Save Earth", "WindowSize":{"w":64,"h":64}, "WindowFullScreen": 0, -"GlobalScale": 12 +"GlobalScale": 10 } diff --git a/src/ecs/TileMapComponent.h b/src/ecs/TileMapComponent.h index ff5c478..86ab1b0 100644 --- a/src/ecs/TileMapComponent.h +++ b/src/ecs/TileMapComponent.h @@ -42,7 +42,7 @@ public: SDL_DestroyTexture(texture); } - TileMapComponent(std::string mapPath, int gScale, int offsetX, int offsetY) + TileMapComponent(std::string mapPath, std::string tsName, std::string tileLayerName, std::string collisionLayerName, int gScale, int offsetX, int offsetY) { // TILESON ~~~~~~~~~~~ @@ -51,18 +51,22 @@ public: if(map->getStatus() == tson::ParseStatus::OK) { - tson::Tileset *tileset = map->getTileset("br-tiles"); + tson::Tileset *tileset = map->getTileset(tsName); + std::cout << "tsName: " << tsName << std::endl; std::string fullPath = tileset->getImage(); - - size_t charPos = fullPath.find("assets"); - fullPath.erase(0,charPos); - tson::Layer *tileLayer = map->getLayer("Tile Layer 1"); //This is a Layer + std::cout << "fullPath: " << fullPath << std::endl; + //size_t charPos = fullPath.find("assets"); + //fullPath.erase(0,charPos); + std::string prependPath = std::string("assets/maps/"); + std::string wholePath = prependPath + fullPath; + std::cout << "fullPath: " << wholePath << std::endl; + tson::Layer *tileLayer = map->getLayer(tileLayerName); //This is a Layer std::string texName = tileLayer->getName(); - Game::assets->AddTexture(texName, fullPath.c_str()); + Game::assets->AddTexture(texName, wholePath.c_str()); setTex(texName); globalScale = gScale; - tson::Layer *collisionLayer = map->getLayer("Collision"); + tson::Layer *collisionLayer = map->getLayer(collisionLayerName); tilesWide = map->getSize().x; tilesHigh = map->getSize().y; @@ -71,7 +75,7 @@ public: Game::levelMap.w = tilesWide*tileWidth*globalScale; Game::levelMap.h = tilesHigh*tileWidth*globalScale; - + // printf("First phase tile map init done, moving to Tileset\n"); // =========== Setup Tile Set =========== tileSetTotal = tileset->getTileCount(); @@ -109,7 +113,31 @@ public: } destRect.w = destRect.h = tileWidth * gScale; } - + tson::Layer *myLayer = map->getLayer("Tile Layer 1"); + for (int r = 0;rgetSize().y;r++){ + // Next cycle through each column or tile in that row: + for (int c = 0;cgetSize().x;c++){ + int i = r*map->getSize().x+c; + int elem = c+r*map->getSize().x; + tson::Tile *myTile = myLayer->getTileData(c,r); + int tid = myTile->getId()-1; + //std::cout << myLayer->getTileData(1,1)->getId() << std::endl; + // TextureManager::Draw(texture, tileSet[tid], destRects[elem], SDL_FLIP_NONE); + std::cout << "c,r: " << c << ", " << r << std::endl; + if(!tid){ + printf("got nullptr\n"); + // printf("found valid tid\n"); + } else { + std::cout << "tid: " << tid << std::endl; + } + //std::cout << " elem: " << elem << std::endl; + //std::cout << "i" << i << std::endl; + } + } + // tson::Tile *testTile = myLayer->getTileData(0,4); + // int myTid = testTile->getId()-1; + printf("Completed tilemap init\n"); + //std::cout << "destRects.size " << destRects.size() << std::endl; } else { printf("Failed to load Tileson map\n"); std::cout << map->getStatusMessage(); @@ -130,7 +158,7 @@ public: void draw() override { //iterate through rows and columns of the map to draw the tiles - // First cycle through rows + //First cycle through rows tson::Layer *myLayer = map->getLayer("Tile Layer 1"); tson::Layer *collisionLayer = map->getLayer("Collision"); for (int r = 0;rgetSize().y;r++){ @@ -139,14 +167,16 @@ public: int i = r*map->getSize().x+c; int elem = c+r*map->getSize().x; tson::Tile *myTile = myLayer->getTileData(c,r); - int tid = myTile->getId()-1; - int tileToDraw = tid; - TextureManager::Draw(texture, tileSet[tileToDraw], destRects[elem], SDL_FLIP_NONE); + if(myTile){ + int tid = myTile->getId()-1; + int tileToDraw = tid; + TextureManager::Draw(texture, tileSet[tileToDraw], destRects[elem], SDL_FLIP_NONE); + } if (Game::debugMenu){ - if (collisionLayer->getTileData(c,r)) { - SDL_SetRenderDrawColor(Game::renderer,255,0,255,134); - SDL_RenderDrawRect(Game::renderer, &destRects[elem]); - } + // if (collisionLayer->getTileData(c,r)) { + // SDL_SetRenderDrawColor(Game::renderer,255,0,255,134); + // SDL_RenderDrawRect(Game::renderer, &destRects[elem]); + // } } } } diff --git a/src/game/Game.cpp b/src/game/Game.cpp index 212f39b..3266a13 100644 --- a/src/game/Game.cpp +++ b/src/game/Game.cpp @@ -157,51 +157,51 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g // map = new Map("terrain",globalScale,16); // std::string myText = "Find lost puppies!\nThey need your help!"; - std::string myText = "Press U to Start"; + std::string myText = "U to Start"; //Set Font and UI NineSlice Sizes here fontSize = Vector2D(5,5); nineSliceSize = Vector2D(16,16); - uiTextInstructions.addComponent(18,22,138*gScale,20*gScale,gScale); + uiTextInstructions.addComponent(4,4,62*gScale,8*gScale,gScale); uiTextInstructions.addComponent("font",myText,fontSize.x,fontSize.y,gScale); uiTextInstructions.addGroup(groupUI_Layer1); SDL_Rect myDestRect = SDL_Rect(); - myDestRect.x = 12; - myDestRect.y = 8; - myDestRect.w = 160; - myDestRect.h = 40; + myDestRect.x = 1; + myDestRect.y = 1; + myDestRect.w = 62; + myDestRect.h = 16; my9Slice = new UINineSlice("textBox"); my9Slice->MakeSlices("textBox",nineSliceSize.x,nineSliceSize.y,nineSliceX0,nineSliceX1,nineSliceY0,nineSliceY1,myDestRect,globalScale,Game::groupUI_Layer0); // std::cout << "camera.w " << camera.w << std::endl; - uiInfo.addComponent(camera.w/gScale-94,10,72*gScale,96*gScale,gScale); + // uiInfo.addComponent(camera.w/gScale-94,10,72*gScale,96*gScale,gScale); // uiInfo.addComponent("font", "CollisionHori: Vert: Jump: P.y : P.dy: YVec: ", fontSize.x,fontSize.y, 1); // uiInfo.addComponent("font", "Player PTiX: PTiY: P.x: P.y : coll: Px2: tson: ", fontSize.x,fontSize.y, gScale); - uiInfo.addComponent("font", "Player PTiX: PTiY: P.x: P.y : coll: ", fontSize.x,fontSize.y, gScale); - uiInfo.addGroup(groupUI_Layer3); - - uiCamXInfo.addComponent(camera.w/gScale-48,23,40*gScale,12*gScale,gScale); - uiCamXInfo.addComponent("font", "nan", fontSize.x,fontSize.y, gScale); - uiCamXInfo.addGroup(groupUI_Layer3); - - uiCamYInfo.addComponent(camera.w/gScale-48,36,40*gScale,12*gScale,gScale); - uiCamYInfo.addComponent("font", "nan", fontSize.x,fontSize.y, gScale); - uiCamYInfo.addGroup(groupUI_Layer3); - - uiPlayerXInfo.addComponent(camera.w/gScale-49,49,40*gScale,12*gScale,gScale); - uiPlayerXInfo.addComponent("font", "nan", fontSize.x,fontSize.y, gScale); - uiPlayerXInfo.addGroup(groupUI_Layer3); - - uiPlayerYInfo.addComponent(camera.w/gScale-48,62,40*gScale,12*gScale,gScale); - uiPlayerYInfo.addComponent("font", "nan",fontSize.x,fontSize.y, gScale); - uiPlayerYInfo.addGroup(groupUI_Layer3); - - uiBoundary1Info.addComponent(camera.w/gScale-48,75,128*gScale,12*gScale,gScale); - uiBoundary1Info.addComponent("font", "nan",fontSize.x,fontSize.y, gScale); - uiBoundary1Info.addGroup(groupUI_Layer3); +// uiInfo.addComponent("font", "Player PTiX: PTiY: P.x: P.y : coll: ", fontSize.x,fontSize.y, gScale); +// uiInfo.addGroup(groupUI_Layer3); +// +// uiCamXInfo.addComponent(camera.w/gScale-48,23,40*gScale,12*gScale,gScale); +// uiCamXInfo.addComponent("font", "nan", fontSize.x,fontSize.y, gScale); +// uiCamXInfo.addGroup(groupUI_Layer3); +// +// uiCamYInfo.addComponent(camera.w/gScale-48,36,40*gScale,12*gScale,gScale); +// uiCamYInfo.addComponent("font", "nan", fontSize.x,fontSize.y, gScale); +// uiCamYInfo.addGroup(groupUI_Layer3); +// +// uiPlayerXInfo.addComponent(camera.w/gScale-49,49,40*gScale,12*gScale,gScale); +// uiPlayerXInfo.addComponent("font", "nan", fontSize.x,fontSize.y, gScale); +// uiPlayerXInfo.addGroup(groupUI_Layer3); +// +// uiPlayerYInfo.addComponent(camera.w/gScale-48,62,40*gScale,12*gScale,gScale); +// uiPlayerYInfo.addComponent("font", "nan",fontSize.x,fontSize.y, gScale); +// uiPlayerYInfo.addGroup(groupUI_Layer3); +// +// uiBoundary1Info.addComponent(camera.w/gScale-48,75,128*gScale,12*gScale,gScale); +// uiBoundary1Info.addComponent("font", "nan",fontSize.x,fontSize.y, gScale); +// uiBoundary1Info.addGroup(groupUI_Layer3); // uiBoundary2Info.addComponent(camera.w/gScale-64,88,128*gScale,12*gScale,gScale); // uiBoundary2Info.addComponent("font", "nan",fontSize.x,fontSize.y, gScale); @@ -212,13 +212,13 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g // uiBoundary3Info.addGroup(groupUI_Layer3); // debug UI box - SDL_Rect debugBoxRect = SDL_Rect(); - debugBoxRect.x = camera.w-(100*gScale); - debugBoxRect.y = 4*gScale; - debugBoxRect.w = 98*gScale; - debugBoxRect.h = 112*gScale; - debugBox = new UINineSlice("textBox"); - debugBox->MakeSlices("textBox",nineSliceSize.x,nineSliceSize.y,nineSliceX0,nineSliceX1,nineSliceY0,nineSliceY1,debugBoxRect,globalScale,Game::groupUI_Layer2); + // SDL_Rect debugBoxRect = SDL_Rect(); + // debugBoxRect.x = camera.w-(100*gScale); + // debugBoxRect.y = 4*gScale; + // debugBoxRect.w = 98*gScale; + // debugBoxRect.h = 112*gScale; + // debugBox = new UINineSlice("textBox"); + // debugBox->MakeSlices("textBox",nineSliceSize.x,nineSliceSize.y,nineSliceX0,nineSliceX1,nineSliceY0,nineSliceY1,debugBoxRect,globalScale,Game::groupUI_Layer2); //ecs implementation @@ -234,16 +234,19 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g levelMap.x = 0; levelMap.y = 0; - gameScene.addComponent("assets/maps/testmap.json",gScale,player.getComponent().position.x+player.getComponent().width/2,player.getComponent().position.y+player.getComponent().height/2); //150,100 + // printf("Trying to load Tilemap\n"); + gameScene.addComponent("assets/maps/kaiju-city-map.json","kaiju-city","Tile Layer 1","Collision",gScale,player.getComponent().position.x+player.getComponent().width/2,player.getComponent().position.y+player.getComponent().height/2); //150,100 gameScene.addGroup(groupMap); + // printf("Completed loading Tilemap\n"); + // std::cout << "LevelMap: " << levelMap.x << ", " << levelMap.y << ", " << levelMap.w << ", " << levelMap.h << std::endl; playerPosition = Vector2D().Zero(); pVel = Vector2D().Zero(); - puppy.addComponent(1024*globalScale,210*globalScale,36,30,globalScale); - puppy.addComponent("puppy", SpriteComponent::spriteObject); - puppy.addGroup(groupObjects); - + // puppy.addComponent(1024*globalScale,210*globalScale,36,30,globalScale); + // puppy.addComponent("puppy", SpriteComponent::spriteObject); + // puppy.addGroup(groupObjects); + printf("Init Completed\n"); } else { SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't Initialize SDL: %s", SDL_GetError()); isRunning = false; @@ -308,16 +311,16 @@ void Game::update() for (auto& c : colliders) { - SDL_Rect cCol = c->getComponent().collider; - if(Collision::AABB(cCol, playerCol)) - { -// if(!playerIsGrounded){ -// player.getComponent().Play("Idle"); -// } -// playerIsGrounded = true; -// player.getComponent().position.y = player.getComponent().lastSafePos.y; -// gravityOnPlayer = false; - } + // SDL_Rect cCol = c->getComponent().collider; +// if(Collision::AABB(cCol, playerCol)) +// { +// // if(!playerIsGrounded){ +// // player.getComponent().Play("Idle"); +// // } +// // playerIsGrounded = true; +// // player.getComponent().position.y = player.getComponent().lastSafePos.y; +// // gravityOnPlayer = false; +// } } @@ -349,13 +352,13 @@ void Game::update() player.getComponent().updateTilePosition(pTileX,pTileY); - uiCamXInfo.getComponent().updateString(std::to_string((int)player.getComponent().tilePos.x)); - uiCamYInfo.getComponent().updateString(std::to_string((int)player.getComponent().tilePos.y)); + // uiCamXInfo.getComponent().updateString(std::to_string((int)player.getComponent().tilePos.x)); + // uiCamYInfo.getComponent().updateString(std::to_string((int)player.getComponent().tilePos.y)); int playerX = player.getComponent().position.x; int playerY = player.getComponent().position.y; - uiPlayerXInfo.getComponent().updateString(std::to_string(playerX)); - uiPlayerYInfo.getComponent().updateString(std::to_string(playerY)); + // uiPlayerXInfo.getComponent().updateString(std::to_string(playerX)); + // uiPlayerYInfo.getComponent().updateString(std::to_string(playerY)); // int * foundBoundaries = predictCollisions(); // int max = foundBoundaries[0]; @@ -369,12 +372,12 @@ void Game::update() // uiBoundary1Info.getComponent().updateString(std::to_string((int)foundBoundaries[0])); // uiBoundary1Info.getComponent().updateString(std::to_string((float)desiredMovementX)); if (playerIsGrounded) { - uiBoundary1Info.getComponent().updateString("yes"); + // uiBoundary1Info.getComponent().updateString("yes"); } else { - uiBoundary1Info.getComponent().updateString("no"); + // uiBoundary1Info.getComponent().updateString("no"); } // uiBoundary2Info.getComponent().updateString(std::to_string((int)foundBoundaries[1])); - float difference = player.getComponent().position.x+desiredMovementX; + // float difference = player.getComponent().position.x+desiredMovementX; //uiBoundary2Info.getComponent().updateString(std::to_string((float)difference)); //uiBoundary3Info.getComponent().updateString(std::to_string((int)(max*gScale))); @@ -514,7 +517,7 @@ int * Game::predictCollisions(){ int i = 0; for (int r=Game::pTileY-1;r<=Game::pTileY+1;r++){ if(r<0){r=0;} -// ====== For Each Tile (Column) ===== +// ====== For Each Tile (Column) ===== for (int c=Game::pTileX;c().tileWidth;c++){ if(c<0){c=0;} if(gameScene.getComponent().colliders[r][c]>0){ @@ -523,7 +526,7 @@ int * Game::predictCollisions(){ break; } } - } + } } // ===== UP ==== if (player.getComponent().velocity.y<0){ @@ -531,7 +534,7 @@ int * Game::predictCollisions(){ int i = 0; for (int c=Game::pTileX-1;c<=Game::pTileX+1;c++){ if(c<0){c=0;} -// ====== For Each Tile (Row) ===== +// ====== For Each Tile (Row) ===== for (int r=Game::pTileY;r>Game::pTileY-Game::camera.h/gameScene.getComponent().tileWidth;r--){ if(r<0){r=0;} if(gameScene.getComponent().colliders[r][c]>0){ @@ -540,8 +543,8 @@ int * Game::predictCollisions(){ break; } } - } - + } + } // ===== DOWN ==== if (player.getComponent().velocity.y>0){ @@ -549,7 +552,7 @@ int * Game::predictCollisions(){ int i = 0; for (int c=Game::pTileX-1;c<=Game::pTileX+1;c++){ if(c<0){c=0;} -// ====== For Each Tile (Row) ===== +// ====== For Each Tile (Row) ===== for (int r=Game::pTileY;r().tileWidth;r++){ if(r<0){r=0;} if(gameScene.getComponent().colliders[r][c]>0){ @@ -558,7 +561,7 @@ int * Game::predictCollisions(){ break; } } - } + } } */ return boundaries;