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
							
								
									7f3f82a80d
								
							
						
					
					
						commit
						e172483cc6
					
				| @ -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 | ||||
| 	//DrawDecal({0,0},MAP_TILESETS["assets/maps/"+MAP_DATA[LEVEL1].TilesetData[1].data["source"]]->Decal());
 | ||||
| 	std::vector<Monster*>monstersBeforeLower,monstersAfterLower,monstersBeforeUpper,monstersAfterUpper; | ||||
| @ -878,7 +883,7 @@ void Crawler::RenderWorld(float fElapsedTime){ | ||||
| 							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)}); | ||||
| 							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 | ||||
| 								if(tileSheet.tileset.collision.find(tileSheetIndex)!=tileSheet.tileset.collision.end()){ | ||||
| 									geom2d::rect<int>collision=tileSheet.tileset.collision[tileSheetIndex].collision; | ||||
| @ -912,16 +917,16 @@ void Crawler::RenderWorld(float fElapsedTime){ | ||||
| 	} | ||||
| 	#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)}); | ||||
| 			if(geom2d::overlaps(group.GetFadeRange(),player.pos)){ | ||||
| 					group.playerBehind=true; | ||||
| 					group.fadeFactor=std::min(group.fadeFactor+fElapsedTime,TileGroup::FADE_TIME); | ||||
| 				} else { | ||||
| 					group.playerBehind=false; | ||||
| 					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(255-group.fadeFactor/TileGroup::FADE_TIME*TileGroup::FADE_AMT)}); | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	#pragma endregion | ||||
| 	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>upperForegroundTileGroups; | ||||
| 	int bridgeLayerIndex=-1; | ||||
| 	float bridgeFadeFactor=0.f; | ||||
| public: | ||||
| 	Crawler(); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user