diff --git a/Crawler/Crawler.cpp b/Crawler/Crawler.cpp index 6108c1a2..4d49166d 100644 --- a/Crawler/Crawler.cpp +++ b/Crawler/Crawler.cpp @@ -704,31 +704,49 @@ void Crawler::HurtEnemies(vf2d pos,float radius,int damage){ void Crawler::RenderWorld(float fElapsedTime){ Clear({100,180,100}); - for (int x = view.GetTopLeftTile().x/24-1; x <= view.GetBottomRightTile().x/24; x++){ - for (int y = view.GetTopLeftTile().y/24-1; y <= view.GetBottomRightTile().y/24; y++){ - if(x>=0&&x<WORLD_SIZE.x&&y>=0&&y<WORLD_SIZE.y){ - for(LayerTag&layer:MAP_DATA[currentLevel].LayerData){ - int tileID=layer.tiles[y][x]-1; - if(tileID!=-1){ - TilesheetData tileSheet=GetTileSheet(currentLevel,tileID); - int tileSheetWidth=tileSheet.tileset.tileset->Sprite()->width/24; - int tileSheetHeight=tileSheet.tileset.tileset->Sprite()->height/24; - int tileSheetIndex=tileID-(tileSheet.firstgid-1); - int tileSheetX=tileSheetIndex%tileSheetWidth; - int tileSheetY=tileSheetIndex/tileSheetWidth; - if(!IsForegroundTile(tileSheet,tileSheetIndex)){ - view.DrawPartialDecal(vi2d{x,y}*24,{24,24},tileSheet.tileset.tileset->Decal(),vi2d{tileSheetX,tileSheetY}*24,{24,24}); + LayerTag*bridgeLayer=nullptr; + bool bridgeLayerFade=false; + #pragma region Basic Tile Layer Rendering + for (int x = view.GetTopLeftTile().x/24-1; x <= view.GetBottomRightTile().x/24; x++){ + for (int y = view.GetTopLeftTile().y/24-1; y <= view.GetBottomRightTile().y/24; y++){ + if(x>=0&&x<WORLD_SIZE.x&&y>=0&&y<WORLD_SIZE.y){ + for(LayerTag&layer:MAP_DATA[currentLevel].LayerData){ + if(IsBridgeLayer(layer)){ + bridgeLayer=&layer; + if(!bridgeLayerFade){ + int tileID=layer.tiles[y][x]-1; + if(tileID!=-1){ + int playerXTruncated=int(player.GetPos().x)/24; + int playerYTruncated=int(player.GetPos().y)/24; + if(playerXTruncated==x&&playerYTruncated==y){ + bridgeLayerFade=true; + } + } + } + continue; } - if(tileSheet.tileset.collision.find(tileSheetIndex)!=tileSheet.tileset.collision.end()){ - geom2d::rect<int>collision=tileSheet.tileset.collision[tileSheetIndex].collision; - view.FillRectDecal(vi2d{x,y}*24+collision.pos,collision.size,{0,0,0,128}); - view.DrawRectDecal(vi2d{x,y}*24+collision.pos,collision.size,GREY); + int tileID=layer.tiles[y][x]-1; + if(tileID!=-1){ + TilesheetData tileSheet=GetTileSheet(currentLevel,tileID); + int tileSheetWidth=tileSheet.tileset.tileset->Sprite()->width/24; + int tileSheetHeight=tileSheet.tileset.tileset->Sprite()->height/24; + int tileSheetIndex=tileID-(tileSheet.firstgid-1); + int tileSheetX=tileSheetIndex%tileSheetWidth; + int tileSheetY=tileSheetIndex/tileSheetWidth; + if(!IsForegroundTile(tileSheet,tileSheetIndex)&&!IsUpperForegroundTile(tileSheet,tileSheetIndex)){ + view.DrawPartialDecal(vi2d{x,y}*24,{24,24},tileSheet.tileset.tileset->Decal(),vi2d{tileSheetX,tileSheetY}*24,{24,24}); + } + if(tileSheet.tileset.collision.find(tileSheetIndex)!=tileSheet.tileset.collision.end()){ + geom2d::rect<int>collision=tileSheet.tileset.collision[tileSheetIndex].collision; + view.FillRectDecal(vi2d{x,y}*24+collision.pos,collision.size,{0,0,0,128}); + view.DrawRectDecal(vi2d{x,y}*24+collision.pos,collision.size,GREY); + } } } } } } - } + #pragma endregion //DrawDecal({0,0},MAP_TILESETS["assets/maps/"+MAP_DATA[LEVEL1].TilesetData[1].data["source"]]->Decal()); std::vector<Monster>monstersBefore,monstersAfter; Player&pl=player; @@ -771,18 +789,59 @@ void Crawler::RenderWorld(float fElapsedTime){ for(std::unique_ptr<Bullet>&b:PLAYER_BULLET_LIST){ b->Draw(); } - for(TileGroup&group:foregroundTileGroups){ - if(geom2d::overlaps(group.GetRange(),player.pos)){ - group.playerBehind=true; - } else { - group.playerBehind=false; + #pragma region Foreground Rendering + for(TileGroup&group:foregroundTileGroups){ + if(geom2d::overlaps(group.GetRange(),player.pos)){ + group.playerBehind=true; + } else { + group.playerBehind=false; + } + if(view.IsRectVisible(group.GetRange().pos,group.GetRange().size)){ + for(TileRenderData&tile:group.GetTiles()){ + view.DrawPartialDecal(tile.pos,{24,24},tile.tileset,tile.tileSheetPos,{24,24},{255,255,255,uint8_t(group.playerBehind?128:255)}); + } + } + } + #pragma endregion + #pragma region Bridge Layer Rendering + if(bridgeLayer!=nullptr){ + for (int x = view.GetTopLeftTile().x/24-1; x <= view.GetBottomRightTile().x/24; x++){ + for (int y = view.GetTopLeftTile().y/24-1; y <= view.GetBottomRightTile().y/24; y++){ + if(x>=0&&x<WORLD_SIZE.x&&y>=0&&y<WORLD_SIZE.y){ + int tileID=bridgeLayer->tiles[y][x]-1; + if(tileID!=-1){ + TilesheetData tileSheet=GetTileSheet(currentLevel,tileID); + int tileSheetWidth=tileSheet.tileset.tileset->Sprite()->width/24; + int tileSheetHeight=tileSheet.tileset.tileset->Sprite()->height/24; + int tileSheetIndex=tileID-(tileSheet.firstgid-1); + int tileSheetX=tileSheetIndex%tileSheetWidth; + int tileSheetY=tileSheetIndex/tileSheetWidth; + view.DrawPartialDecal(vi2d{x,y}*24,{24,24},tileSheet.tileset.tileset->Decal(),vi2d{tileSheetX,tileSheetY}*24,{24,24},{255,255,255,uint8_t(bridgeLayerFade?128:255)}); + if(tileSheet.tileset.collision.find(tileSheetIndex)!=tileSheet.tileset.collision.end()){ + geom2d::rect<int>collision=tileSheet.tileset.collision[tileSheetIndex].collision; + view.FillRectDecal(vi2d{x,y}*24+collision.pos,collision.size,{0,0,0,128}); + view.DrawRectDecal(vi2d{x,y}*24+collision.pos,collision.size,GREY); + } + } + } + } + } } - if(view.IsRectVisible(group.GetRange().pos,group.GetRange().size)){ - for(TileRenderData&tile:group.GetTiles()){ - view.DrawPartialDecal(tile.pos,{24,24},tile.tileset,tile.tileSheetPos,{24,24},{255,255,255,uint8_t(group.playerBehind?128:255)}); + #pragma endregion + #pragma region Upper Foreground Rendering + for(TileGroup&group:upperForegroundTileGroups){ + if(geom2d::overlaps(group.GetRange(),player.pos)){ + group.playerBehind=true; + } else { + group.playerBehind=false; + } + if(view.IsRectVisible(group.GetRange().pos,group.GetRange().size)){ + for(TileRenderData&tile:group.GetTiles()){ + view.DrawPartialDecal(tile.pos,{24,24},tile.tileset,tile.tileSheetPos,{24,24},{255,255,255,uint8_t(group.playerBehind?128:255)}); + } } } - } + #pragma endregion for(std::vector<DamageNumber>::iterator it=DAMAGENUMBER_LIST.begin();it!=DAMAGENUMBER_LIST.end();++it){ DamageNumber&dn=*it; dn.lifeTime+=fElapsedTime; @@ -895,6 +954,7 @@ void Crawler::InitializeLevel(std::string mapFile,MapName map){ Renderable*r=new Renderable(); MAP_TILESETS["assets/maps/"+baseSourceDir].tileset=r; MAP_TILESETS["assets/maps/"+baseSourceDir].foregroundTiles=tileset.GetData().ForegroundTileData; + MAP_TILESETS["assets/maps/"+baseSourceDir].upperForegroundTiles=tileset.GetData().UpperForegroundTileData; MAP_TILESETS["assets/maps/"+baseSourceDir].collision=tileset.GetData().CollisionData; r->Load("assets/maps/"+tileset.GetData().ImageData.data["source"]); } @@ -928,22 +988,30 @@ void Crawler::LoadLevel(MapName map){ int tileSheetIndex=tileID-(tileSheet.firstgid-1); int tileSheetX=tileSheetIndex%tileSheetWidth; int tileSheetY=tileSheetIndex/tileSheetWidth; - if(IsForegroundTile(tileSheet,tileSheetIndex)){ - TileRenderData tile={tileSheet.tileset.tileset->Decal(),vi2d{x,y}*24,vi2d{tileSheetX,tileSheetY}*24}; - bool foundGroup=false; - for(TileGroup&group:foregroundTileGroups){ - if(geom2d::overlaps(geom2d::rect<int>{vi2d{x,y}*24-vi2d{1,1},{26,26}},group.GetRange())){ + #pragma region TileGroupShenanigans + auto GroupForegroundTilesTogether=[&](std::vector<TileGroup>&vec){ + TileRenderData tile={tileSheet.tileset.tileset->Decal(),vi2d{x,y}*24,vi2d{tileSheetX,tileSheetY}*24}; + bool foundGroup=false; + for(TileGroup&group:vec){ + if(geom2d::overlaps(geom2d::rect<int>{vi2d{x,y}*24-vi2d{1,1},{26,26}},group.GetRange())){ + group.InsertTile(tile); + foundGroup=true; + break; + } + } + if(!foundGroup){ + TileGroup group; group.InsertTile(tile); - foundGroup=true; - break; + vec.push_back(group); } + }; + if(IsForegroundTile(tileSheet,tileSheetIndex)){ + GroupForegroundTilesTogether(foregroundTileGroups); + } else + if(IsUpperForegroundTile(tileSheet,tileSheetIndex)){ + GroupForegroundTilesTogether(upperForegroundTileGroups); } - if(!foundGroup){ - TileGroup group; - group.InsertTile(tile); - foregroundTileGroups.push_back(group); - } - } + #pragma endregion } } } @@ -956,6 +1024,10 @@ vi2d Crawler::GetWorldSize(){ return WORLD_SIZE; } +bool Crawler::IsUpperForegroundTile(TilesheetData sheet,int tileID){ + return sheet.tileset.upperForegroundTiles.find(tileID)!=sheet.tileset.upperForegroundTiles.end(); +} + bool Crawler::IsForegroundTile(TilesheetData sheet,int tileID){ return sheet.tileset.foregroundTiles.find(tileID)!=sheet.tileset.foregroundTiles.end(); } @@ -987,10 +1059,15 @@ bool Crawler::HasTileCollision(MapName map,vf2d pos,bool upperLevel){ return geom2d::overlaps(collisionRect,pos); } +bool Crawler::IsBridgeLayer(LayerTag&layer){ + return layer.tag.data.find("class")!=layer.tag.data.end()&&layer.tag.data["class"]=="Bridge"; +} + geom2d::rect<int>Crawler::GetTileCollision(MapName map,vf2d pos,bool upperLevel){ + if(pos.x<0||pos.y<0||pos.x>=WORLD_SIZE.x*24||pos.y>=WORLD_SIZE.y*24)return NO_COLLISION; for(LayerTag&layer:MAP_DATA[map].LayerData){ auto HasNoClass=[&](){return layer.tag.data.find("class")==layer.tag.data.end();}; - auto BridgeCollisionIsActivated=[&](){return (layer.tag.data.find("class")!=layer.tag.data.end()&&layer.tag.data["class"]=="Bridge"&&upperLevel);}; + auto BridgeCollisionIsActivated=[&](){return (IsBridgeLayer(layer)&&upperLevel);}; if(HasNoClass()||BridgeCollisionIsActivated()){ int tileID=layer.tiles[int(pos.y)/24][int(pos.x)/24]-1; if(tileID!=-1&&GetTileSheet(map,tileID).tileset.collision.find(tileID-GetTileSheet(map,tileID).firstgid+1)!=GetTileSheet(map,tileID).tileset.collision.end()){ diff --git a/Crawler/Crawler.h b/Crawler/Crawler.h index e22b6168..649faff0 100644 --- a/Crawler/Crawler.h +++ b/Crawler/Crawler.h @@ -37,6 +37,7 @@ private: const float WORLD_SHAKE_ADJUST_MAX_TIME=0.4; MapName currentLevel=MapName::CAMPAIGN_1_1; std::vector<TileGroup>foregroundTileGroups; + std::vector<TileGroup>upperForegroundTileGroups; public: Crawler(); @@ -75,10 +76,13 @@ public: //tileID is the tile number from the tilesets. bool IsForegroundTile(TilesheetData sheet,int tileID); //tileID is the tile number from the tilesets. + bool IsUpperForegroundTile(TilesheetData sheet,int tileID); + //tileID is the tile number from the tilesets. TilesheetData GetTileSheet(MapName map,int tileID); //Gets the rectangle of the tile collision at this tile. If upperLevel is set to true, the collision tile must be in a Bridge class layer for the tile to hit. Also, zones containing LowerBridgeCollision will apply when upperLevel is set to false. geom2d::rect<int>GetTileCollision(MapName map,vf2d pos,bool upperLevel=false); //Checks if the point resides inside of a collision tile. bool HasTileCollision(MapName map,vf2d pos,bool upperLevel=false); MapName GetCurrentLevel(); + bool IsBridgeLayer(LayerTag&layer); }; \ No newline at end of file diff --git a/Crawler/Crawler.tiled-project b/Crawler/Crawler.tiled-project index 19751a4c..fb2e3299 100644 --- a/Crawler/Crawler.tiled-project +++ b/Crawler/Crawler.tiled-project @@ -85,13 +85,7 @@ "type": "class", "useAs": [ "property", - "map", - "layer", - "object", - "tile", - "tileset", - "wangcolor", - "wangset" + "object" ] }, { @@ -244,13 +238,20 @@ "type": "class", "useAs": [ "property", - "map", - "layer", - "object", - "tile", - "tileset", - "wangcolor", - "wangset" + "object" + ] + }, + { + "color": "#ff35e500", + "drawFill": true, + "id": 13, + "members": [ + ], + "name": "UpperForegroundTile", + "type": "class", + "useAs": [ + "property", + "tile" ] } ] diff --git a/Crawler/Map.h b/Crawler/Map.h index c66ab746..d4180196 100644 --- a/Crawler/Map.h +++ b/Crawler/Map.h @@ -16,6 +16,7 @@ struct TileCollisionData{ struct TilesetData{ Renderable*tileset; std::map<int,XMLTag>foregroundTiles; + std::map<int,XMLTag>upperForegroundTiles; std::map<int,TileCollisionData>collision; }; diff --git a/Crawler/Monster.cpp b/Crawler/Monster.cpp index ca3aca37..8a30c43f 100644 --- a/Crawler/Monster.cpp +++ b/Crawler/Monster.cpp @@ -274,7 +274,12 @@ void Monster::SetVelocity(vf2d vel){ this->vel=vel; } bool Monster::SetPosition(vf2d pos){ - return SetX(pos.x)|SetY(pos.y); + bool resultX=SetX(pos.x); + bool resultY=SetY(pos.y); + if(resultY&&!resultX){ + resultX=SetX(pos.x); + } + return resultX|resultY; } AnimationState Monster::GetDeathAnimationName(){ return MONSTER_DATA[type].GetDeathAnimation(); diff --git a/Crawler/Player.cpp b/Crawler/Player.cpp index 66b31d78..f83de7b1 100644 --- a/Crawler/Player.cpp +++ b/Crawler/Player.cpp @@ -82,7 +82,12 @@ void Player::SetZ(float z){ } bool Player::SetPos(vf2d pos){ - return SetX(pos.x)|SetY(pos.y); + bool resultX=SetX(pos.x); + bool resultY=SetY(pos.y); + if(resultY&&!resultX){ + resultX=SetX(pos.x); + } + return resultX|resultY; } vf2d&Player::GetPos(){ diff --git a/Crawler/TSXParser.h b/Crawler/TSXParser.h index fbff858c..1f95efd6 100644 --- a/Crawler/TSXParser.h +++ b/Crawler/TSXParser.h @@ -10,6 +10,7 @@ using namespace olc; struct Tileset{ XMLTag ImageData; std::map<int,XMLTag> ForegroundTileData; + std::map<int,XMLTag> UpperForegroundTileData; std::map<int,TileCollisionData> CollisionData; friend std::ostream& operator << (std::ostream& os, Tileset& rhs); }; @@ -88,6 +89,9 @@ class TSXParser{ if (newTag.tag=="tile"&&newTag.data["type"]=="ForegroundTile"){ parsedTilesetInfo.ForegroundTileData[newTag.GetInteger("id")]=newTag; } else + if (newTag.tag=="tile"&&newTag.data["type"]=="UpperForegroundTile"){ + parsedTilesetInfo.UpperForegroundTileData[newTag.GetInteger("id")]=newTag; + } else if (newTag.tag=="tile"){ previousTag=newTag.tag; previousTagID=newTag.GetInteger("id"); diff --git a/Crawler/Version.h b/Crawler/Version.h index 2c71031f..e2340c77 100644 --- a/Crawler/Version.h +++ b/Crawler/Version.h @@ -2,7 +2,7 @@ #define VERSION_MAJOR 0 #define VERSION_MINOR 2 #define VERSION_PATCH 0 -#define VERSION_BUILD 476 +#define VERSION_BUILD 487 #define stringify(a) stringify_(a) #define stringify_(a) #a diff --git a/Crawler/assets/Campaigns/1_1_test.tmx b/Crawler/assets/Campaigns/1_1_test.tmx index 04a8a992..4eb0b993 100644 --- a/Crawler/assets/Campaigns/1_1_test.tmx +++ b/Crawler/assets/Campaigns/1_1_test.tmx @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<map version="1.10" tiledversion="1.10.1" orientation="orthogonal" renderorder="right-down" width="192" height="203" tilewidth="24" tileheight="24" infinite="0" nextlayerid="8" nextobjectid="8"> +<map version="1.10" tiledversion="1.10.1" orientation="orthogonal" renderorder="right-down" width="192" height="203" tilewidth="24" tileheight="24" infinite="0" nextlayerid="8" nextobjectid="10"> <tileset firstgid="1" source="../maps/grass_tiles_24x24.tsx"/> <tileset firstgid="784" source="../maps/grass_tiles_modded.tsx"/> <layer id="1" name="Layer 1" width="192" height="203"> @@ -669,14 +669,14 @@ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,252,253,254,255,256,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,0,0,0,165,166,167,168,169,170,0,165,166,167,168,169,170,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,281,282,283,284,285,286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,0,0,0,0,194,195,196,197,198,199,0,194,195,196,197,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,310,311,312,313,314,315,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,343,344,0,0,0,0,0,0,223,224,225,226,227,228,0,223,224,225,226,227,228,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,339,340,341,342,343,344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,252,253,254,255,256,257,0,252,253,254,255,256,257,165,166,167,168,169,170,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,0,194,195,196,197,198,199,281,282,283,284,285,286,0,281,282,283,284,285,286,194,195,196,197,198,199,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,45,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,223,224,225,226,227,228,310,311,312,313,314,315,0,310,311,312,313,314,315,223,224,225,226,227,228,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,74,75,0,45,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,252,253,254,255,256,257,339,340,341,342,343,344,0,339,340,341,342,343,344,252,253,254,255,256,257,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,343,344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,0,281,282,283,284,285,286,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,252,253,254,255,256,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,0,0,0,397,398,399,400,401,402,0,397,398,399,400,401,402,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,281,282,283,284,285,286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,0,0,0,0,426,427,428,429,430,431,0,426,427,428,429,430,431,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,310,311,312,313,314,315,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,343,344,0,0,0,0,0,0,455,456,457,458,459,460,0,455,456,457,458,459,460,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,339,340,341,342,343,344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,397,398,399,400,401,402,484,485,486,487,488,489,0,484,485,486,487,488,489,397,398,399,400,401,402,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,0,426,427,428,429,430,431,513,514,515,516,517,518,0,513,514,515,516,517,518,426,427,428,429,430,431,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,45,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,455,456,457,458,459,460,310,311,312,313,314,315,0,310,311,312,313,314,315,455,456,457,458,459,460,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,74,75,0,45,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,484,485,486,487,488,489,339,340,341,342,343,344,0,339,340,341,342,343,344,484,485,486,487,488,489,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,343,344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,0,513,514,515,516,517,518,0,0,0,0,0,0,0,0,0,0,0,0,0,513,514,515,516,517,518,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,310,311,312,313,314,315,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,339,340,341,342,343,344,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,343,344,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,343,344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -687,18 +687,18 @@ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,86,0,0,339,340,341,342,343,344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,343,344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,0,0,165,166,167,168,169,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,339,340,341,342,343,344,0,0,0,0,194,195,196,197,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,0,165,166,167,168,169,170,0,0,223,224,225,226,227,228,165,166,167,168,169,170,165,166,167,168,169,170,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,0,194,195,196,197,198,199,0,0,252,253,254,255,256,257,194,195,196,197,198,199,194,195,196,197,198,199,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,0,0,223,224,225,226,227,228,0,0,281,282,283,284,285,286,223,224,225,226,227,228,223,224,225,226,227,228,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,252,253,254,255,256,257,0,0,310,311,312,313,314,315,252,253,254,255,256,257,252,253,254,255,256,257,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,0,281,282,283,284,285,286,0,0,339,340,341,342,343,344,281,282,283,284,285,286,281,282,283,284,285,286,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,397,398,399,400,401,402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,426,427,428,429,430,431,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,455,456,457,458,459,460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,484,485,486,487,488,489,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,513,514,515,516,517,518,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,343,344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,0,0,397,398,399,400,401,402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,339,340,341,342,343,344,0,0,0,0,426,427,428,429,430,431,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,166,167,168,169,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,0,397,398,399,400,401,402,0,0,455,456,457,458,459,460,397,398,399,400,401,402,397,398,399,400,401,402,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,195,196,197,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,0,426,427,428,429,430,431,0,0,484,485,486,487,488,489,426,427,428,429,430,431,426,427,428,429,430,431,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,224,225,226,227,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,0,0,455,456,457,458,459,460,0,0,513,514,515,516,517,518,455,456,457,458,459,460,455,456,457,458,459,460,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,254,255,256,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,484,485,486,487,488,489,0,0,310,311,312,313,314,315,484,485,486,487,488,489,484,485,486,487,488,489,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,282,283,284,285,286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,0,513,514,515,516,517,518,0,0,339,340,341,342,343,344,513,514,515,516,517,518,513,514,515,516,517,518,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,343,344,0,0,0,310,311,312,313,314,315,0,0,0,0,0,0,0,0,310,311,312,313,314,315,310,311,312,313,314,315,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,343,344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,340,341,342,343,344,0,0,0,0,0,0,0,0,339,340,341,342,343,344,339,340,341,342,343,344,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -1038,10 +1038,10 @@ </data> </layer> <objectgroup id="4" name="Object Layer 1"> - <object id="1" name="Player Spawn" type="PlayerSpawnLocation" x="288" y="3264" width="24" height="24"/> <object id="2" type="LowerBridgeCollision" x="3048" y="1440" width="24" height="96"/> <object id="3" type="LowerBridgeCollision" x="3840" y="1440" width="24" height="96"/> <object id="5" type="UpperZone" x="2208" y="1152" width="312" height="672"/> <object id="6" type="LowerZone" x="1608" y="1224" width="336" height="600"/> + <object id="9" name="Player Spawn" type="PlayerSpawnLocation" x="1872" y="1488" width="24" height="24"/> </objectgroup> </map> diff --git a/Crawler/assets/maps/grass_tiles_24x24.tsx b/Crawler/assets/maps/grass_tiles_24x24.tsx index f9d06def..e4b87438 100644 --- a/Crawler/assets/maps/grass_tiles_24x24.tsx +++ b/Crawler/assets/maps/grass_tiles_24x24.tsx @@ -37,6 +37,11 @@ <object id="1" x="0" y="0" width="24" height="24"/> </objectgroup> </tile> + <tile id="186"> + <objectgroup draworder="index" id="2"> + <object id="1" x="0" y="0" width="24" height="24"/> + </objectgroup> + </tile> <tile id="193" type="ForegroundTile"/> <tile id="194" type="ForegroundTile"/> <tile id="195" type="ForegroundTile"/> @@ -73,6 +78,16 @@ <object id="1" x="0" y="0" width="24" height="24"/> </objectgroup> </tile> + <tile id="212"> + <objectgroup draworder="index" id="2"> + <object id="1" x="0" y="0" width="24" height="12"/> + </objectgroup> + </tile> + <tile id="213"> + <objectgroup draworder="index" id="2"> + <object id="1" x="0" y="0" width="24" height="12"/> + </objectgroup> + </tile> <tile id="222" type="ForegroundTile"/> <tile id="223" type="ForegroundTile"/> <tile id="224" type="ForegroundTile"/> @@ -123,16 +138,18 @@ <tile id="263"> <objectgroup draworder="index" id="2"> <object id="1" x="0" y="0" width="24" height="24"/> + <object id="2" x="0" y="0" width="24" height="6"/> </objectgroup> </tile> <tile id="264"> <objectgroup draworder="index" id="2"> - <object id="1" x="0" y="0" width="24" height="24"/> + <object id="2" x="0" y="0" width="24" height="12"/> </objectgroup> </tile> <tile id="265"> <objectgroup draworder="index" id="2"> <object id="1" x="0" y="0" width="24" height="24"/> + <object id="2" x="0" y="0" width="24" height="6"/> </objectgroup> </tile> <tile id="280" type="ForegroundTile"/> @@ -287,6 +304,11 @@ <object id="1" x="0" y="0" width="24" height="24"/> </objectgroup> </tile> + <tile id="362"> + <objectgroup draworder="index" id="2"> + <object id="1" x="0" y="0" width="18" height="6"/> + </objectgroup> + </tile> <tile id="378"> <objectgroup draworder="index" id="2"> <object id="1" x="0" y="0" width="24" height="24"/> @@ -332,6 +354,12 @@ <object id="1" x="0" y="0" width="24" height="24"/> </objectgroup> </tile> + <tile id="396" type="UpperForegroundTile"/> + <tile id="397" type="UpperForegroundTile"/> + <tile id="398" type="UpperForegroundTile"/> + <tile id="399" type="UpperForegroundTile"/> + <tile id="400" type="UpperForegroundTile"/> + <tile id="401" type="UpperForegroundTile"/> <tile id="407"> <objectgroup draworder="index" id="2"> <object id="1" x="0" y="0" width="24" height="24"/> @@ -342,6 +370,11 @@ <object id="1" x="0" y="0" width="24" height="24"/> </objectgroup> </tile> + <tile id="409"> + <objectgroup draworder="index" id="2"> + <object id="1" x="0" y="0" width="24" height="24"/> + </objectgroup> + </tile> <tile id="410"> <objectgroup draworder="index" id="2"> <object id="1" x="0" y="0" width="24" height="24"/> @@ -372,19 +405,85 @@ <object id="1" x="0" y="0" width="24" height="24"/> </objectgroup> </tile> + <tile id="425" type="UpperForegroundTile"/> + <tile id="426" type="UpperForegroundTile"/> + <tile id="427" type="UpperForegroundTile"/> + <tile id="428" type="UpperForegroundTile"/> + <tile id="429" type="UpperForegroundTile"/> + <tile id="430" type="UpperForegroundTile"/> <tile id="437"> <objectgroup draworder="index" id="2"> - <object id="1" x="0" y="0" width="24" height="24"/> + <object id="3" x="0" y="0" width="24" height="6"/> </objectgroup> </tile> <tile id="438"> <objectgroup draworder="index" id="2"> <object id="1" x="0" y="0" width="24" height="24"/> + <object id="2" x="0" y="0" width="24" height="6"/> </objectgroup> </tile> <tile id="439"> <objectgroup draworder="index" id="2"> <object id="1" x="0" y="0" width="24" height="24"/> + <object id="2" x="0" y="0" width="24" height="6"/> + </objectgroup> + </tile> + <tile id="454" type="UpperForegroundTile"/> + <tile id="455" type="UpperForegroundTile"/> + <tile id="456" type="UpperForegroundTile"/> + <tile id="457" type="UpperForegroundTile"/> + <tile id="458" type="UpperForegroundTile"/> + <tile id="459" type="UpperForegroundTile"/> + <tile id="483" type="UpperForegroundTile"/> + <tile id="484" type="UpperForegroundTile"/> + <tile id="485" type="UpperForegroundTile"/> + <tile id="486" type="UpperForegroundTile"/> + <tile id="487" type="UpperForegroundTile"/> + <tile id="488" type="UpperForegroundTile"/> + <tile id="512" type="UpperForegroundTile"/> + <tile id="513" type="UpperForegroundTile"/> + <tile id="514" type="UpperForegroundTile"/> + <tile id="515" type="UpperForegroundTile"/> + <tile id="516" type="UpperForegroundTile"/> + <tile id="517" type="UpperForegroundTile"/> + <tile id="542"> + <objectgroup draworder="index" id="2"> + <object id="1" x="6" y="12" width="18" height="12"/> + </objectgroup> + </tile> + <tile id="543"> + <objectgroup draworder="index" id="2"> + <object id="1" x="0" y="0" width="24" height="24"/> + </objectgroup> + </tile> + <tile id="544"> + <objectgroup draworder="index" id="2"> + <object id="1" x="0" y="0" width="24" height="24"/> + </objectgroup> + </tile> + <tile id="545"> + <objectgroup draworder="index" id="2"> + <object id="1" x="0" y="0" width="9" height="24"/> + </objectgroup> + </tile> + <tile id="571"> + <objectgroup draworder="index" id="2"> + <object id="1" x="13" y="0" width="11" height="22"/> + </objectgroup> + </tile> + <tile id="572"> + <objectgroup draworder="index" id="2"> + <object id="1" x="0" y="0" width="24" height="22"/> + </objectgroup> + </tile> + <tile id="573"> + <objectgroup draworder="index" id="2"> + <object id="1" x="0" y="0" width="24" height="22"/> + </objectgroup> + </tile> + <tile id="574"> + <objectgroup draworder="index" id="2"> + <object id="1" x="0" y="0" width="6" height="22"/> </objectgroup> </tile> </tileset>