Fade transition added to bridge fade layer and upper foreground layer as well
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
4508c9b9e3
commit
d617ee461a
@ -806,6 +806,11 @@ void Crawler::RenderWorld(float fElapsedTime){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(bridgeLayerFade){
|
||||||
|
bridgeFadeFactor=std::min(bridgeFadeFactor+fElapsedTime,TileGroup::FADE_TIME);
|
||||||
|
}else{
|
||||||
|
bridgeFadeFactor=std::max(bridgeFadeFactor-fElapsedTime,0.f);
|
||||||
|
}
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
//DrawDecal({0,0},MAP_TILESETS["assets/maps/"+MAP_DATA[LEVEL1].TilesetData[1].data["source"]]->Decal());
|
//DrawDecal({0,0},MAP_TILESETS["assets/maps/"+MAP_DATA[LEVEL1].TilesetData[1].data["source"]]->Decal());
|
||||||
std::vector<Monster*>monstersBeforeLower,monstersAfterLower,monstersBeforeUpper,monstersAfterUpper;
|
std::vector<Monster*>monstersBeforeLower,monstersAfterLower,monstersBeforeUpper,monstersAfterUpper;
|
||||||
@ -878,7 +883,7 @@ void Crawler::RenderWorld(float fElapsedTime){
|
|||||||
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;
|
||||||
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)});
|
view.DrawPartialDecal(vi2d{x,y}*24,{24,24},tileSheet.tileset.tileset->Decal(),vi2d{tileSheetX,tileSheetY}*24,{24,24},{255,255,255,uint8_t(255-bridgeFadeFactor/TileGroup::FADE_TIME*TileGroup::FADE_AMT)});
|
||||||
#ifdef DEBUG_COLLISIONS
|
#ifdef DEBUG_COLLISIONS
|
||||||
if(tileSheet.tileset.collision.find(tileSheetIndex)!=tileSheet.tileset.collision.end()){
|
if(tileSheet.tileset.collision.find(tileSheetIndex)!=tileSheet.tileset.collision.end()){
|
||||||
geom2d::rect<int>collision=tileSheet.tileset.collision[tileSheetIndex].collision;
|
geom2d::rect<int>collision=tileSheet.tileset.collision[tileSheetIndex].collision;
|
||||||
@ -912,16 +917,16 @@ void Crawler::RenderWorld(float fElapsedTime){
|
|||||||
}
|
}
|
||||||
#pragma region Upper Foreground Rendering
|
#pragma region Upper Foreground Rendering
|
||||||
for(TileGroup&group:upperForegroundTileGroups){
|
for(TileGroup&group:upperForegroundTileGroups){
|
||||||
if(geom2d::overlaps(group.GetRange(),player.pos)){
|
if(geom2d::overlaps(group.GetFadeRange(),player.pos)){
|
||||||
group.playerBehind=true;
|
group.playerBehind=true;
|
||||||
} else {
|
group.fadeFactor=std::min(group.fadeFactor+fElapsedTime,TileGroup::FADE_TIME);
|
||||||
group.playerBehind=false;
|
} else {
|
||||||
}
|
group.playerBehind=false;
|
||||||
if(view.IsRectVisible(group.GetRange().pos,group.GetRange().size)){
|
group.fadeFactor=std::max(group.fadeFactor-fElapsedTime,0.f);
|
||||||
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)});
|
for(TileRenderData&tile:group.GetTiles()){
|
||||||
|
view.DrawPartialDecal(tile.pos,{24,24},tile.tileset,tile.tileSheetPos,{24,24},{255,255,255,uint8_t(255-group.fadeFactor/TileGroup::FADE_TIME*TileGroup::FADE_AMT)});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
for(std::vector<DamageNumber>::iterator it=DAMAGENUMBER_LIST.begin();it!=DAMAGENUMBER_LIST.end();++it){
|
for(std::vector<DamageNumber>::iterator it=DAMAGENUMBER_LIST.begin();it!=DAMAGENUMBER_LIST.end();++it){
|
||||||
|
@ -41,6 +41,7 @@ private:
|
|||||||
std::vector<TileGroup>foregroundTileGroups;
|
std::vector<TileGroup>foregroundTileGroups;
|
||||||
std::vector<TileGroup>upperForegroundTileGroups;
|
std::vector<TileGroup>upperForegroundTileGroups;
|
||||||
int bridgeLayerIndex=-1;
|
int bridgeLayerIndex=-1;
|
||||||
|
float bridgeFadeFactor=0.f;
|
||||||
public:
|
public:
|
||||||
Crawler();
|
Crawler();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user