Condense lambda.
This commit is contained in:
parent
19ea56e0cb
commit
bd78299c58
@ -932,21 +932,24 @@ void Crawler::LoadLevel(MapName map){
|
|||||||
if(x<WORLD_SIZE.x-1)tileGroupChecks.push({x+1,y});
|
if(x<WORLD_SIZE.x-1)tileGroupChecks.push({x+1,y});
|
||||||
if(y>0)tileGroupChecks.push({x,y-1});
|
if(y>0)tileGroupChecks.push({x,y-1});
|
||||||
if(y<WORLD_SIZE.y-1)tileGroupChecks.push({x,y+1});
|
if(y<WORLD_SIZE.y-1)tileGroupChecks.push({x,y+1});
|
||||||
|
auto IterateThroughOtherLayers=[&](vi2d pos){
|
||||||
for(LayerTag&layer2:MAP_DATA[currentLevel].LayerData){
|
for(LayerTag&layer2:MAP_DATA[currentLevel].LayerData){
|
||||||
if(&layer==&layer2)continue;
|
if(&layer==&layer2)continue;
|
||||||
int tileID=layer2.tiles[y][x]-1;
|
int tileID=layer2.tiles[pos.y][pos.x]-1;
|
||||||
TilesheetData tileSheet=GetTileSheet(currentLevel,tileID);
|
TilesheetData tileSheet=GetTileSheet(currentLevel,tileID);
|
||||||
int tileSheetWidth=tileSheet.tileset.tileset->Sprite()->width/24;
|
int tileSheetWidth=tileSheet.tileset.tileset->Sprite()->width/24;
|
||||||
int tileSheetHeight=tileSheet.tileset.tileset->Sprite()->height/24;
|
int tileSheetHeight=tileSheet.tileset.tileset->Sprite()->height/24;
|
||||||
int tileSheetIndex=tileID-(tileSheet.firstgid-1);
|
int tileSheetIndex=tileID-(tileSheet.firstgid-1);
|
||||||
int tileSheetX=tileSheetIndex%tileSheetWidth;
|
int tileSheetX=tileSheetIndex%tileSheetWidth;
|
||||||
int tileSheetY=tileSheetIndex/tileSheetWidth;
|
int tileSheetY=tileSheetIndex/tileSheetWidth;
|
||||||
TileRenderData tile={tileSheet.tileset.tileset->Decal(),vi2d{x,y}*24,vi2d{tileSheetX,tileSheetY}*24};
|
TileRenderData tile={tileSheet.tileset.tileset->Decal(),vi2d{pos.x,pos.y}*24,vi2d{tileSheetX,tileSheetY}*24};
|
||||||
if(IsForeground(tileSheet,tileSheetIndex)){
|
if(IsForeground(tileSheet,tileSheetIndex)){
|
||||||
foregroundTilesIncluded.insert({x,y});
|
foregroundTilesIncluded.insert({pos.x,pos.y});
|
||||||
group.InsertTile(tile);
|
group.InsertTile(tile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
IterateThroughOtherLayers({x,y});
|
||||||
while(!tileGroupChecks.empty()){
|
while(!tileGroupChecks.empty()){
|
||||||
vi2d&pos=tileGroupChecks.front();
|
vi2d&pos=tileGroupChecks.front();
|
||||||
tileGroupChecks.pop();
|
tileGroupChecks.pop();
|
||||||
@ -965,21 +968,7 @@ void Crawler::LoadLevel(MapName map){
|
|||||||
if(pos.x<WORLD_SIZE.x-1)tileGroupChecks.push(pos+vi2d{1,0});
|
if(pos.x<WORLD_SIZE.x-1)tileGroupChecks.push(pos+vi2d{1,0});
|
||||||
if(pos.y>0)tileGroupChecks.push(pos+vi2d{0,-1});
|
if(pos.y>0)tileGroupChecks.push(pos+vi2d{0,-1});
|
||||||
if(pos.y<WORLD_SIZE.y-1)tileGroupChecks.push(pos+vi2d{0,1});
|
if(pos.y<WORLD_SIZE.y-1)tileGroupChecks.push(pos+vi2d{0,1});
|
||||||
for(LayerTag&layer2:MAP_DATA[currentLevel].LayerData){
|
IterateThroughOtherLayers(pos);
|
||||||
if(&layer==&layer2)continue;
|
|
||||||
int tileID=layer2.tiles[pos.y][pos.x]-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;
|
|
||||||
TileRenderData tile={tileSheet.tileset.tileset->Decal(),pos*24,vi2d{tileSheetX,tileSheetY}*24};
|
|
||||||
if(IsForeground(tileSheet,tileSheetIndex)){
|
|
||||||
foregroundTilesIncluded.insert(pos);
|
|
||||||
group.InsertTile(tile);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
groups.push_back(group);
|
groups.push_back(group);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#define VERSION_MAJOR 0
|
#define VERSION_MAJOR 0
|
||||||
#define VERSION_MINOR 2
|
#define VERSION_MINOR 2
|
||||||
#define VERSION_PATCH 0
|
#define VERSION_PATCH 0
|
||||||
#define VERSION_BUILD 1093
|
#define VERSION_BUILD 1094
|
||||||
|
|
||||||
#define stringify(a) stringify_(a)
|
#define stringify(a) stringify_(a)
|
||||||
#define stringify_(a) #a
|
#define stringify_(a) #a
|
||||||
|
Loading…
x
Reference in New Issue
Block a user