| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -229,16 +229,18 @@ public class HeightMap { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // Interpolate height for this position using pixel array.
 | 
					 | 
					 | 
					 | 
					        // Interpolate height for this position using pixel array.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        float interpolatedTerrainHeight = heightMapZone.getHeightMap().getInterpolatedTerrainHeight(zoneLoc); | 
					 | 
					 | 
					 | 
					        float interpolatedTerrainHeight = heightMapZone.getHeightMap().getInterpolatedTerrainHeight(zoneLoc); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        interpolatedTerrainHeight += heightMapZone.worldAltitude; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // Heightmap blending is based on distance to edge of zone.
 | 
					 | 
					 | 
					 | 
					        // Heightmap blending is based on distance to edge of zone.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (Bounds.collide(worldLoc, heightMapZone.maxBlend) == true) | 
					 | 
					 | 
					 | 
					        if (Bounds.collide(worldLoc, heightMapZone.maxBlend) == true) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return interpolatedTerrainHeight + heightMapZone.worldAltitude; | 
					 | 
					 | 
					 | 
					            return interpolatedTerrainHeight; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // We will need the parent height if we got this far into the method
 | 
					 | 
					 | 
					 | 
					        // We will need the parent height if we got this far into the method
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        parentZone = HeightMap.getNextZoneWithTerrain(heightMapZone.getParent()); | 
					 | 
					 | 
					 | 
					        parentZone = HeightMap.getNextZoneWithTerrain(heightMapZone.getParent()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        interpolatedParentTerrainHeight = HeightMap.getWorldHeight(parentZone, worldLoc); | 
					 | 
					 | 
					 | 
					        interpolatedParentTerrainHeight = HeightMap.getWorldHeight(parentZone, worldLoc); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        interpolatedParentTerrainHeight += parentZone.worldAltitude; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Bounds blendBounds = Bounds.borrow(); | 
					 | 
					 | 
					 | 
					        Bounds blendBounds = Bounds.borrow(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        zoneLoc.x = abs(zoneLoc.x); | 
					 | 
					 | 
					 | 
					        zoneLoc.x = abs(zoneLoc.x); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -262,9 +264,9 @@ public class HeightMap { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            percentage = currentDelta / blendDelta; | 
					 | 
					 | 
					 | 
					            percentage = currentDelta / blendDelta; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        else | 
					 | 
					 | 
					 | 
					        else | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            percentage = 0.0f; | 
					 | 
					 | 
					 | 
					            percentage = 0.0f; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        float interpolatedWorldAltitude = FastMath.LERP(percentage, heightMapZone.worldAltitude, parentZone.worldAltitude); | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        interpolatedTerrainHeight = FastMath.LERP(percentage, interpolatedTerrainHeight, interpolatedParentTerrainHeight); | 
					 | 
					 | 
					 | 
					        interpolatedTerrainHeight = FastMath.LERP(percentage, interpolatedTerrainHeight, interpolatedParentTerrainHeight); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return interpolatedTerrainHeight + interpolatedWorldAltitude; | 
					 | 
					 | 
					 | 
					        return interpolatedTerrainHeight; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |