Condense lambda.

This commit is contained in:
sigonasr2 2023-09-07 05:37:05 -05:00
parent 19ea56e0cb
commit bd78299c58
2 changed files with 19 additions and 30 deletions

View File

@ -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);

View File

@ -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