diff options
| author | simon@Simon-PC.lindenlab.com <simon@Simon-PC.lindenlab.com> | 2012-09-20 10:00:54 -0400 | 
|---|---|---|
| committer | simon@Simon-PC.lindenlab.com <simon@Simon-PC.lindenlab.com> | 2012-09-20 10:00:54 -0400 | 
| commit | 8d3885f3bdca588efdef35e5d9c78d20036e81a9 (patch) | |
| tree | 95ff1290546dec23678f8e763151a1826a894128 /indra | |
| parent | b4c8a982fc863debe28407d4cc3519b111309725 (diff) | |
reapply 8a625610cd5d: MAINT-1161:  non standard sea level not correctly rendered around private islands.
Reviewed by Kelly
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llsurface.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llworld.cpp | 9 | 
2 files changed, 7 insertions, 4 deletions
| diff --git a/indra/newview/llsurface.cpp b/indra/newview/llsurface.cpp index 65393cc168..94907ee4cc 100644 --- a/indra/newview/llsurface.cpp +++ b/indra/newview/llsurface.cpp @@ -294,7 +294,7 @@ void LLSurface::initTextures()  		mWaterObjp = (LLVOWater *)gObjectList.createObjectViewer(LLViewerObject::LL_VO_WATER, mRegionp);  		gPipeline.createObject(mWaterObjp);  		LLVector3d water_pos_global = from_region_handle(mRegionp->getHandle()); -		water_pos_global += LLVector3d(128.0, 128.0, DEFAULT_WATER_HEIGHT); +		water_pos_global += LLVector3d(128.0, 128.0, DEFAULT_WATER_HEIGHT);		// region doesn't have a valid water height yet  		mWaterObjp->setPositionGlobal(water_pos_global);  	}  } diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index b061c90d98..1a9ff608e0 100644 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -837,6 +837,9 @@ void LLWorld::updateWaterObjects()  	}  	mHoleWaterObjects.clear(); +	// Use the water height of the region we're on for areas where there is no region +	F32 water_height = gAgent.getRegion()->getWaterHeight(); +  	// Now, get a list of the holes  	S32 x, y;  	for (x = min_x; x <= max_x; x += rwidth) @@ -845,12 +848,12 @@ void LLWorld::updateWaterObjects()  		{  			U64 region_handle = to_region_handle(x, y);  			if (!getRegionFromHandle(region_handle)) -			{ +			{	// No region at that area, so make water  				LLVOWater* waterp = (LLVOWater *)gObjectList.createObjectViewer(LLViewerObject::LL_VO_WATER, gAgent.getRegion());  				waterp->setUseTexture(FALSE);  				waterp->setPositionGlobal(LLVector3d(x + rwidth/2,  													 y + rwidth/2, -													 256.f+DEFAULT_WATER_HEIGHT)); +													 256.f + water_height));  				waterp->setScale(LLVector3((F32)rwidth, (F32)rwidth, 512.f));  				gPipeline.createObject(waterp);  				mHoleWaterObjects.push_back(waterp); @@ -907,7 +910,7 @@ void LLWorld::updateWaterObjects()  		}  		waterp->setRegion(gAgent.getRegion()); -		LLVector3d water_pos(water_center_x, water_center_y, 256.f+DEFAULT_WATER_HEIGHT) ; +		LLVector3d water_pos(water_center_x, water_center_y, 256.f + water_height) ;  		LLVector3 water_scale((F32) dim[0], (F32) dim[1], 512.f);  		//stretch out to horizon | 
