|  |  | @ -425,21 +425,30 @@ public class HeightMap { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         Zone parentZone = currentZone.getParent(); |  |  |  |         Zone parentZone = currentZone.getParent(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         HeightMap heightMap = currentZone.getHeightMap(); |  |  |  |         HeightMap heightMap = currentZone.getHeightMap(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         //find the next parents heightmap if the currentzone heightmap is null.
 |  |  |  |         //find the next parents heightmap if the currentzone heightmap is null.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         while (heightMap == null) { |  |  |  |         while (heightMap == null) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (currentZone == ZoneManager.getSeaFloor()) { |  |  |  |             if (currentZone == ZoneManager.getSeaFloor()) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 break; |  |  |  |                 break; | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  | 
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             currentZone = currentZone.getParent(); |  |  |  |             currentZone = currentZone.getParent(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             heightMap = currentZone.getHeightMap(); |  |  |  |             heightMap = currentZone.getHeightMap(); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             parentZone = currentZone.getParent(); |  |  |  |             parentZone = currentZone.getParent(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             // Account for databases where the continental
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             // heightmaps are driven by the zone above them.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (parentZone.getHeightMap() == null) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 parentZone = parentZone.getParent(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         if ((heightMap == null) || (currentZone == ZoneManager.getSeaFloor())) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if ((heightMap == null) || (currentZone == ZoneManager.getSeaFloor())) | 
			
		
	
		
		
			
				
					
					|  |  |  |             return currentZone.getAbsY(); |  |  |  |             return currentZone.getAbsY(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  | 
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         Vector2f zoneLoc = ZoneManager.worldToZoneSpace(worldLoc, currentZone); |  |  |  |         Vector2f zoneLoc = ZoneManager.worldToZoneSpace(worldLoc, currentZone); | 
			
		
	
		
		
			
				
					
					|  |  |  |         Vector3fImmutable localLocFromCenter = ZoneManager.worldToLocal(worldLoc, currentZone); |  |  |  |         Vector3fImmutable localLocFromCenter = ZoneManager.worldToLocal(worldLoc, currentZone); | 
			
		
	
	
		
		
			
				
					|  |  | 
 |