diff options
Diffstat (limited to 'indra')
178 files changed, 896 insertions, 569 deletions
| diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index 192c6157a8..34348230b6 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -4521,15 +4521,65 @@ BOOL LLVolumeFace::createUnCutCubeCap(LLVolume* volume, BOOL partial_build)  	if (!partial_build)  	{ -		int idxs[] = {0,1,(grid_size+1)+1,(grid_size+1)+1,(grid_size+1),0}; -		for(int gx = 0;gx<grid_size;gx++){ -			for(int gy = 0;gy<grid_size;gy++){ -				if (mTypeMask & TOP_MASK){ -					for(int i=5;i>=0;i--)mIndices.push_back(vtop+(gy*(grid_size+1))+gx+idxs[i]); -				}else{ -					for(int i=0;i<6;i++)mIndices.push_back(vtop+(gy*(grid_size+1))+gx+idxs[i]); +		mTriStrip.clear(); +		S32 idxs[] = {0,1,(grid_size+1)+1,(grid_size+1)+1,(grid_size+1),0}; +		for(S32 gx = 0;gx<grid_size;gx++) +		{ +			 +			for(S32 gy = 0;gy<grid_size;gy++) +			{ +				if (mTypeMask & TOP_MASK) +				{ +					for(S32 i=5;i>=0;i--) +					{ +						mIndices.push_back(vtop+(gy*(grid_size+1))+gx+idxs[i]); +					} +					 +					if (gy == 0) +					{ +						mTriStrip.push_back((gx+1)*(grid_size+1)); +						mTriStrip.push_back((gx+1)*(grid_size+1)); +						mTriStrip.push_back(gx*(grid_size+1)); +					} + +					mTriStrip.push_back(gy+1+(gx+1)*(grid_size+1)); +					mTriStrip.push_back(gy+1+gx*(grid_size+1)); +					 +					 +					if (gy == grid_size-1) +					{ +						mTriStrip.push_back(gy+1+gx*(grid_size+1)); +					} +				} +				else +				{ +					for(S32 i=0;i<6;i++) +					{ +						mIndices.push_back(vtop+(gy*(grid_size+1))+gx+idxs[i]); +					} + +					if (gy == 0) +					{ +						mTriStrip.push_back(gx*(grid_size+1)); +						mTriStrip.push_back(gx*(grid_size+1)); +						mTriStrip.push_back((gx+1)*(grid_size+1)); +					} + +					mTriStrip.push_back(gy+1+gx*(grid_size+1)); +					mTriStrip.push_back(gy+1+(gx+1)*(grid_size+1)); +					 +					if (gy == grid_size-1) +					{ +						mTriStrip.push_back(gy+1+(gx+1)*(grid_size+1)); +					}  				}  			} +			 +		} + +		if (mTriStrip.size()%2 == 1) +		{ +			mTriStrip.push_back(mTriStrip[mTriStrip.size()-1]);  		}  	} @@ -4771,6 +4821,8 @@ BOOL LLVolumeFace::createCap(LLVolume* volume, BOOL partial_build)  					pt2--;  				}  			} + +			makeTriStrip();  		}  		else  		{ @@ -4875,67 +4927,108 @@ BOOL LLVolumeFace::createCap(LLVolume* volume, BOOL partial_build)  					pt2--;  				}  			} + +			makeTriStrip();  		}  	}  	else  	{  		// Not hollow, generate the triangle fan. +		U16 v1 = 2; +		U16 v2 = 1; +  		if (mTypeMask & TOP_MASK)  		{ -			if (mTypeMask & OPEN_MASK) -			{ -				// SOLID OPEN TOP -				// Generate indices -				// This is a tri-fan, so we reuse the same first point for all triangles. -				for (S32 i = 0; i < (num_vertices - 2); i++) -				{ -					mIndices[3*i] = num_vertices - 1; -					mIndices[3*i+1] = i; -					mIndices[3*i+2] = i + 1; -				} -			} -			else -			{ -				// SOLID CLOSED TOP -				for (S32 i = 0; i < (num_vertices - 2); i++) -				{				 -					//MSMSM fix these caps but only for the un-cut case -					mIndices[3*i] = num_vertices - 1; -					mIndices[3*i+1] = i; -					mIndices[3*i+2] = i + 1; -				} -			} +			v1 = 1; +			v2 = 2; +		} + +		for (S32 i = 0; i < (num_vertices - 2); i++) +		{ +			mIndices[3*i] = num_vertices - 1; +			mIndices[3*i+v1] = i; +			mIndices[3*i+v2] = i + 1; +		} + +		//make tri strip +		if (mTypeMask & OPEN_MASK) +		{ +			makeTriStrip();  		}  		else  		{ -			if (mTypeMask & OPEN_MASK) +			S32 j = num_vertices-2; +			if (mTypeMask & TOP_MASK)  			{ -				// SOLID OPEN BOTTOM -				// Generate indices -				// This is a tri-fan, so we reuse the same first point for all triangles. -				for (S32 i = 0; i < (num_vertices - 2); i++) +				mTriStrip.push_back(0); +				for (S32 i = 0; i <= j; ++i)  				{ -					mIndices[3*i] = num_vertices - 1; -					mIndices[3*i+1] = i + 1; -					mIndices[3*i+2] = i; +					mTriStrip.push_back(i); +					if (i != j) +					{ +						mTriStrip.push_back(j); +					} +					--j;  				}  			}  			else  			{ -				// SOLID CLOSED BOTTOM -				for (S32 i = 0; i < (num_vertices - 2); i++) +				mTriStrip.push_back(j); +				for (S32 i = 0; i <= j; ++i)  				{ -					//MSMSM fix these caps but only for the un-cut case -					mIndices[3*i] = num_vertices - 1; -					mIndices[3*i+1] = i + 1; -					mIndices[3*i+2] = i; +					if (i != j) +					{ +						mTriStrip.push_back(j); +					} +					mTriStrip.push_back(i); +					--j;  				}  			} +			 +			mTriStrip.push_back(mTriStrip[mTriStrip.size()-1]); + +			if (mTriStrip.size()%2 == 1) +			{ +				mTriStrip.push_back(mTriStrip[mTriStrip.size()-1]); +			}  		}  	} +		  	return TRUE;  } +void LLVolumeFace::makeTriStrip() +{ +	for (U32 i = 0; i < mIndices.size(); i+=3) +	{ +		U16 i0 = mIndices[i]; +		U16 i1 = mIndices[i+1]; +		U16 i2 = mIndices[i+2]; + +		if ((i/3)%2 == 1) +		{ +			mTriStrip.push_back(i0); +			mTriStrip.push_back(i0); +			mTriStrip.push_back(i1); +			mTriStrip.push_back(i2); +			mTriStrip.push_back(i2); +		} +		else +		{ +			mTriStrip.push_back(i2); +			mTriStrip.push_back(i2); +			mTriStrip.push_back(i1); +			mTriStrip.push_back(i0); +			mTriStrip.push_back(i0); +		} +	} + +	if (mTriStrip.size()%2 == 1) +	{ +		mTriStrip.push_back(mTriStrip[mTriStrip.size()-1]); +	} +} +  void LLVolumeFace::createBinormals()  {  	LLMemType m1(LLMemType::MTYPE_VOLUME); @@ -5136,9 +5229,14 @@ BOOL LLVolumeFace::createSide(LLVolume* volume, BOOL partial_build)  	if (!partial_build)  	{ +		mTriStrip.clear(); +  		// Now we generate the indices.  		for (t = 0; t < (mNumT-1); t++)  		{ +			//prepend terminating index to strip +			mTriStrip.push_back(mNumS*t); +  			for (s = 0; s < (mNumS-1); s++)  			{	  				mIndices[cur_index++] = s   + mNumS*t;			//bottom left @@ -5148,6 +5246,14 @@ BOOL LLVolumeFace::createSide(LLVolume* volume, BOOL partial_build)  				mIndices[cur_index++] = s+1 + mNumS*t;			//bottom right  				mIndices[cur_index++] = s+1 + mNumS*(t+1);		//top right +				if (s == 0) +				{ +					mTriStrip.push_back(s+mNumS*t); +					mTriStrip.push_back(s+mNumS*(t+1)); +				} +				mTriStrip.push_back(s+1+mNumS*t); +				mTriStrip.push_back(s+1+mNumS*(t+1)); +				  				mEdge[cur_edge++] = (mNumS-1)*2*t+s*2+1;						//bottom left/top right neighbor face   				if (t < mNumT-2) {												//top right/top left neighbor face   					mEdge[cur_edge++] = (mNumS-1)*2*(t+1)+s*2+1; @@ -5188,6 +5294,13 @@ BOOL LLVolumeFace::createSide(LLVolume* volume, BOOL partial_build)  				}  				mEdge[cur_edge++] = (mNumS-1)*2*t+s*2;							//top right/bottom left neighbor face	  			} +			//append terminating vertex to strip +			mTriStrip.push_back(mNumS-1+mNumS*(t+1)); +		} + +		if (mTriStrip.size()%2 == 1) +		{ +			mTriStrip.push_back(mTriStrip[mTriStrip.size()-1]);  		}  	} diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h index 871b334452..d9f80f0e30 100644 --- a/indra/llmath/llvolume.h +++ b/indra/llmath/llvolume.h @@ -798,7 +798,8 @@ public:  	BOOL create(LLVolume* volume, BOOL partial_build = FALSE);  	void createBinormals(); - +	void makeTriStrip(); +	  	class VertexData  	{  	public: @@ -839,6 +840,7 @@ public:  	std::vector<VertexData> mVertices;  	std::vector<U16>	mIndices; +	std::vector<U16>	mTriStrip;  	std::vector<S32>	mEdge;  private: diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp index f1f86fd638..768f042e69 100644 --- a/indra/llrender/llfontgl.cpp +++ b/indra/llrender/llfontgl.cpp @@ -151,14 +151,16 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons  		}  	} -	gGL.pushMatrix(); -	glLoadIdentity(); -	gGL.translatef(floorf(sCurOrigin.mX*sScaleX), floorf(sCurOrigin.mY*sScaleY), sCurOrigin.mZ); +	gGL.pushUIMatrix(); + +	gGL.loadUIIdentity(); +	 +	gGL.translateUI(floorf(sCurOrigin.mX*sScaleX), floorf(sCurOrigin.mY*sScaleY), sCurOrigin.mZ);  	// this code snaps the text origin to a pixel grid to start with  	F32 pixel_offset_x = llround((F32)sCurOrigin.mX) - (sCurOrigin.mX);  	F32 pixel_offset_y = llround((F32)sCurOrigin.mY) - (sCurOrigin.mY); -	gGL.translatef(-pixel_offset_x, -pixel_offset_y, 0.f); +	gGL.translateUI(-pixel_offset_x, -pixel_offset_y, 0.f);  	LLFastTimer t(FTM_RENDER_FONTS); @@ -246,9 +248,6 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons  	} -	// Remember last-used texture to avoid unnecesssary bind calls. -	LLImageGL *last_bound_texture = NULL; -  	const LLFontGlyphInfo* next_glyph = NULL;  	for (i = begin_offset; i < begin_offset + length; i++) @@ -268,12 +267,8 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons  		}  		// Per-glyph bitmap texture.  		LLImageGL *image_gl = mFontFreetype->getFontBitmapCache()->getImageGL(fgi->mBitmapNum); -		if (last_bound_texture != image_gl) -		{ -			gGL.getTexUnit(0)->bind(image_gl); -			last_bound_texture = image_gl; -		} - +		gGL.getTexUnit(0)->bind(image_gl); +	  		if ((start_x + scaled_max_pixels) < (cur_x + fgi->mXBearing + fgi->mWidth))  		{  			// Not enough room for this character. @@ -338,10 +333,7 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons  		// recursively render ellipses at end of string  		// we've already reserved enough room -		gGL.pushMatrix(); -		//glLoadIdentity(); -		//gGL.translatef(sCurOrigin.mX, sCurOrigin.mY, 0.0f); -		//glScalef(sScaleX, sScaleY, 1.f); +		gGL.pushUIMatrix();  		renderUTF8(std::string("..."),   				0,  				cur_x / sScaleX, (F32)y, @@ -352,10 +344,10 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons  				S32_MAX, max_pixels,  				right_x,  				FALSE);  -		gGL.popMatrix(); +		gGL.popUIMatrix();  	} -	gGL.popMatrix(); +	gGL.popUIMatrix();  	return chars_drawn;  } diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp index 595b8577ff..656f690db5 100644 --- a/indra/llrender/llrender.cpp +++ b/indra/llrender/llrender.cpp @@ -49,6 +49,9 @@ F64 gGLLastProjection[16];  F64 gGLProjection[16];  S32	gGLViewport[4]; +U32 LLRender::sUICalls = 0; +U32 LLRender::sUIVerts = 0; +  static const U32 LL_NUM_TEXTURE_LAYERS = 16;   static GLenum sGLTextureType[] = @@ -90,7 +93,9 @@ static GLenum sGLBlendFactor[] =  	GL_DST_ALPHA,  	GL_SRC_ALPHA,  	GL_ONE_MINUS_DST_ALPHA, -	GL_ONE_MINUS_SRC_ALPHA +	GL_ONE_MINUS_SRC_ALPHA, + +	GL_ZERO // 'BF_UNDEF'  };  LLTexUnit::LLTexUnit(S32 index) @@ -255,10 +260,9 @@ bool LLTexUnit::bind(LLImageGL* texture, bool for_rendering, bool forceBind)  		return false ;  	} -	gGL.flush(); -  	if ((mCurrTexture != texture->getTexName()) || forceBind)  	{ +		gGL.flush();  		activate();  		enable(texture->getTarget());  		mCurrTexture = texture->getTexName(); @@ -445,6 +449,8 @@ void LLTexUnit::setTextureBlendType(eTextureBlendType type)  		return;  	} +	gGL.flush(); +  	activate();  	mCurrBlendType = type;  	S32 scale_amount = 1; @@ -759,6 +765,8 @@ LLRender::LLRender()  	mCurrAlphaFunc = CF_DEFAULT;  	mCurrAlphaFuncVal = 0.01f; +	mCurrBlendSFactor = BF_UNDEF; +	mCurrBlendDFactor = BF_UNDEF;  }  LLRender::~LLRender() @@ -821,6 +829,80 @@ void LLRender::popMatrix()  	glPopMatrix();  } +void LLRender::translateUI(F32 x, F32 y, F32 z) +{ +	if (mUIOffset.empty()) +	{ +		llerrs << "Need to push a UI translation frame before offsetting" << llendl; +	} + +	mUIOffset.front().mV[0] += x; +	mUIOffset.front().mV[1] += y; +	mUIOffset.front().mV[2] += z; +} + +void LLRender::scaleUI(F32 x, F32 y, F32 z) +{ +	if (mUIScale.empty()) +	{ +		llerrs << "Need to push a UI transformation frame before scaling." << llendl; +	} + +	mUIScale.front().scaleVec(LLVector3(x,y,z)); +} + +void LLRender::pushUIMatrix() +{ +	mUIOffset.push_front(mUIOffset.front()); +	if (mUIScale.empty()) +	{ +		mUIScale.push_front(LLVector3(1,1,1)); +	} +	else +	{ +		mUIScale.push_front(mUIScale.front()); +	} +} + +void LLRender::popUIMatrix() +{ +	if (mUIOffset.empty()) +	{ +		llerrs << "UI offset stack blown." << llendl; +	} +	mUIOffset.pop_front(); +	mUIScale.pop_front(); +} + +LLVector3 LLRender::getUITranslation() +{ +	if (mUIOffset.empty()) +	{ +		llerrs << "UI offset stack empty." << llendl; +	} +	return mUIOffset.front(); +} + +LLVector3 LLRender::getUIScale() +{ +	if (mUIScale.empty()) +	{ +		llerrs << "UI scale stack empty." << llendl; +	} +	return mUIScale.front(); +} + + +void LLRender::loadUIIdentity() +{ +	if (mUIOffset.empty()) +	{ +		llerrs << "Need to push UI translation frame before clearing offset." << llendl; +	} +	mUIOffset.front().setVec(0,0,0); +	mUIScale.front().setVec(1,1,1); +} +  void LLRender::setColorMask(bool writeColor, bool writeAlpha)  {  	setColorMask(writeColor, writeColor, writeColor, writeAlpha); @@ -843,29 +925,28 @@ void LLRender::setColorMask(bool writeColorR, bool writeColorG, bool writeColorB  void LLRender::setSceneBlendType(eBlendType type)  { -	flush();  	switch (type)   	{  		case BT_ALPHA: -			glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); +			blendFunc(BF_SOURCE_ALPHA, BF_ONE_MINUS_SOURCE_ALPHA);  			break;  		case BT_ADD: -			glBlendFunc(GL_ONE, GL_ONE); +			blendFunc(BF_ONE, BF_ONE);  			break;  		case BT_ADD_WITH_ALPHA: -			glBlendFunc(GL_SRC_ALPHA, GL_ONE); +			blendFunc(BF_SOURCE_ALPHA, BF_ONE);  			break;  		case BT_MULT: -			glBlendFunc(GL_DST_COLOR, GL_ZERO); +			blendFunc(BF_DEST_COLOR, BF_ZERO);  			break;  		case BT_MULT_ALPHA: -			glBlendFunc(GL_DST_ALPHA, GL_ZERO); +			blendFunc(BF_DEST_ALPHA, BF_ZERO);  			break;  		case BT_MULT_X2: -			glBlendFunc(GL_DST_COLOR, GL_SRC_COLOR); +			blendFunc(BF_DEST_COLOR, BF_SOURCE_COLOR);  			break;  		case BT_REPLACE: -			glBlendFunc(GL_ONE, GL_ZERO); +			blendFunc(BF_ONE, BF_ZERO);  			break;  		default:  			llerrs << "Unknown Scene Blend Type: " << type << llendl; @@ -891,8 +972,15 @@ void LLRender::setAlphaRejectSettings(eCompareFunc func, F32 value)  void LLRender::blendFunc(eBlendFactor sfactor, eBlendFactor dfactor)  { -	flush(); -	glBlendFunc(sGLBlendFactor[sfactor], sGLBlendFactor[dfactor]); +	llassert(sfactor < BF_UNDEF); +	llassert(dfactor < BF_UNDEF); +	if (mCurrBlendSFactor != sfactor || mCurrBlendDFactor != dfactor) +	{ +		mCurrBlendSFactor = sfactor; +		mCurrBlendDFactor = dfactor; +		flush(); +		glBlendFunc(sGLBlendFactor[sfactor], sGLBlendFactor[dfactor]); +	}  }  LLTexUnit* LLRender::getTexUnit(U32 index) @@ -1012,6 +1100,12 @@ void LLRender::flush()  		}  #endif +		if (!mUIOffset.empty()) +		{ +			sUICalls++; +			sUIVerts += mCount; +		} +  		mBuffer->setBuffer(immediate_mask);  		mBuffer->drawArrays(mMode, 0, mCount); @@ -1031,7 +1125,16 @@ void LLRender::vertex3f(const GLfloat& x, const GLfloat& y, const GLfloat& z)  		return;  	} -	mVerticesp[mCount] = LLVector3(x,y,z); +	if (mUIOffset.empty()) +	{ +		mVerticesp[mCount] = LLVector3(x,y,z); +	} +	else +	{ +		LLVector3 vert = (LLVector3(x,y,z)+mUIOffset.front()).scaledVec(mUIScale.front()); +		mVerticesp[mCount] = vert; +	} +  	mCount++;  	if (mCount < 4096)  	{ diff --git a/indra/llrender/llrender.h b/indra/llrender/llrender.h index 0121a190ee..a90fbd4a5c 100644 --- a/indra/llrender/llrender.h +++ b/indra/llrender/llrender.h @@ -270,7 +270,9 @@ public:  		BF_DEST_ALPHA,  		BF_SOURCE_ALPHA,  		BF_ONE_MINUS_DEST_ALPHA, -		BF_ONE_MINUS_SOURCE_ALPHA +		BF_ONE_MINUS_SOURCE_ALPHA, + +		BF_UNDEF  	} eBlendFactor;  	LLRender(); @@ -286,6 +288,14 @@ public:  	void pushMatrix();  	void popMatrix(); +	void translateUI(F32 x, F32 y, F32 z); +	void scaleUI(F32 x, F32 y, F32 z); +	void pushUIMatrix(); +	void popUIMatrix(); +	void loadUIIdentity(); +	LLVector3 getUITranslation(); +	LLVector3 getUIScale(); +  	void flush();  	void begin(const GLuint& mode); @@ -333,7 +343,9 @@ public:  	};  public: - +	static U32 sUICalls; +	static U32 sUIVerts; +	  private:  	bool				mDirty;  	U32				mCount; @@ -350,7 +362,14 @@ private:  	std::vector<LLTexUnit*>		mTexUnits;  	LLTexUnit*			mDummyTexUnit; +	eBlendFactor mCurrBlendSFactor; +	eBlendFactor mCurrBlendDFactor; +  	F32				mMaxAnisotropy; + +	std::list<LLVector3> mUIOffset; +	std::list<LLVector3> mUIScale; +  };  extern F64 gGLModelView[16]; diff --git a/indra/llui/llscrolllistctrl.h b/indra/llui/llscrolllistctrl.h index 50999993b5..e819c5fdea 100644 --- a/indra/llui/llscrolllistctrl.h +++ b/indra/llui/llscrolllistctrl.h @@ -74,26 +74,26 @@ public:  	// *TODO: Add callbacks to Params  	typedef boost::function<void (void)> callback_t; -	template<typename T> struct maximum
 -	{
 -		typedef T result_type;
 -
 -		template<typename InputIterator>
 -		T operator()(InputIterator first, InputIterator last) const
 -		{
 -			// If there are no slots to call, just return the
 -			// default-constructed value
 -			if(first == last ) return T();
 -			T max_value = *first++;
 -			while (first != last) {
 -				if (max_value < *first)
 -				max_value = *first;
 -				++first;
 -			}
 -
 -			return max_value;
 -		}
 -	};
 +	template<typename T> struct maximum +	{ +		typedef T result_type; + +		template<typename InputIterator> +		T operator()(InputIterator first, InputIterator last) const +		{ +			// If there are no slots to call, just return the +			// default-constructed value +			if(first == last ) return T(); +			T max_value = *first++; +			while (first != last) { +				if (max_value < *first) +				max_value = *first; +				++first; +			} + +			return max_value; +		} +	};  	typedef boost::signals2::signal<S32 (S32,const LLScrollListItem*,const LLScrollListItem*),maximum<S32> > sort_signal_t; diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp index 284e3e5e26..85ae13a889 100644 --- a/indra/llui/lltabcontainer.cpp +++ b/indra/llui/lltabcontainer.cpp @@ -497,15 +497,15 @@ void LLTabContainer::draw()  		if( mIsVertical && has_scroll_arrows )  		{  			// Redraw the arrows so that they appears on top. -			gGL.pushMatrix(); -			gGL.translatef((F32)mPrevArrowBtn->getRect().mLeft, (F32)mPrevArrowBtn->getRect().mBottom, 0.f); +			gGL.pushUIMatrix(); +			gGL.translateUI((F32)mPrevArrowBtn->getRect().mLeft, (F32)mPrevArrowBtn->getRect().mBottom, 0.f);  			mPrevArrowBtn->draw(); -			gGL.popMatrix(); +			gGL.popUIMatrix(); -			gGL.pushMatrix(); -			gGL.translatef((F32)mNextArrowBtn->getRect().mLeft, (F32)mNextArrowBtn->getRect().mBottom, 0.f); +			gGL.pushUIMatrix(); +			gGL.translateUI((F32)mNextArrowBtn->getRect().mLeft, (F32)mNextArrowBtn->getRect().mBottom, 0.f);  			mNextArrowBtn->draw(); -			gGL.popMatrix(); +			gGL.popUIMatrix();  		}  	} diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index caf04339c2..b348ec2d29 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -39,6 +39,7 @@  // Linden library includes  #include "v2math.h" +#include "m3math.h"  #include "v4color.h"  #include "llrender.h"  #include "llrect.h" @@ -180,19 +181,19 @@ void gl_rect_2d_offset_local( S32 left, S32 top, S32 right, S32 bottom, const LL  void gl_rect_2d_offset_local( S32 left, S32 top, S32 right, S32 bottom, S32 pixel_offset, BOOL filled)  { -	gGL.pushMatrix(); +	gGL.pushUIMatrix();  	left += LLFontGL::sCurOrigin.mX;  	right += LLFontGL::sCurOrigin.mX;  	bottom += LLFontGL::sCurOrigin.mY;  	top += LLFontGL::sCurOrigin.mY; -	glLoadIdentity(); +	gGL.loadUIIdentity();  	gl_rect_2d(llfloor((F32)left * LLUI::sGLScaleFactor.mV[VX]) - pixel_offset,  				llfloor((F32)top * LLUI::sGLScaleFactor.mV[VY]) + pixel_offset,  				llfloor((F32)right * LLUI::sGLScaleFactor.mV[VX]) + pixel_offset,  				llfloor((F32)bottom * LLUI::sGLScaleFactor.mV[VY]) - pixel_offset,  				filled); -	gGL.popMatrix(); +	gGL.popUIMatrix();  } @@ -508,9 +509,9 @@ void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLTex  		gGL.getTexUnit(0)->setTextureAlphaBlend(LLTexUnit::TBO_MULT, LLTexUnit::TBS_TEX_ALPHA, LLTexUnit::TBS_VERT_ALPHA);  	} -	gGL.pushMatrix(); +	gGL.pushUIMatrix();  	{ -		gGL.translatef((F32)x, (F32)y, 0.f); +		gGL.translateUI((F32)x, (F32)y, 0.f);  		gGL.getTexUnit(0)->bind(image); @@ -637,7 +638,7 @@ void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLTex  		}  		gGL.end();  	} -	gGL.popMatrix(); +	gGL.popUIMatrix();  	if (solid_color)  	{ @@ -660,39 +661,72 @@ void gl_draw_scaled_rotated_image(S32 x, S32 y, S32 width, S32 height, F32 degre  	LLGLSUIDefault gls_ui; -	gGL.pushMatrix(); + +	gGL.getTexUnit(0)->bind(image); + +	gGL.color4fv(color.mV); + +	if (degrees == 0.f)  	{ -		gGL.translatef((F32)x, (F32)y, 0.f); -		if( degrees ) +		gGL.pushUIMatrix(); +		gGL.translateUI((F32)x, (F32)y, 0.f); +			 +		gGL.begin(LLRender::QUADS);  		{ -			F32 offset_x = F32(width/2); -			F32 offset_y = F32(height/2); -			gGL.translatef( offset_x, offset_y, 0.f); -			glRotatef( degrees, 0.f, 0.f, 1.f ); -			gGL.translatef( -offset_x, -offset_y, 0.f ); +			gGL.texCoord2f(uv_rect.mRight, uv_rect.mTop); +			gGL.vertex2i(width, height ); + +			gGL.texCoord2f(uv_rect.mLeft, uv_rect.mTop); +			gGL.vertex2i(0, height ); + +			gGL.texCoord2f(uv_rect.mLeft, uv_rect.mBottom); +			gGL.vertex2i(0, 0); + +			gGL.texCoord2f(uv_rect.mRight, uv_rect.mBottom); +			gGL.vertex2i(width, 0);  		} +		gGL.end(); +		gGL.popUIMatrix(); +	} +	else +	{ +		gGL.pushUIMatrix(); +		gGL.translateUI((F32)x, (F32)y, 0.f); +	 +		F32 offset_x = F32(width/2); +		F32 offset_y = F32(height/2); + +		gGL.translateUI(offset_x, offset_y, 0.f); +		LLMatrix3 quat(0.f, 0.f, degrees*DEG_TO_RAD); +		  		gGL.getTexUnit(0)->bind(image);  		gGL.color4fv(color.mV);  		gGL.begin(LLRender::QUADS);  		{ +			LLVector3 v; + +			v = LLVector3(offset_x, offset_y, 0.f) * quat;  			gGL.texCoord2f(uv_rect.mRight, uv_rect.mTop); -			gGL.vertex2i(width, height ); +			gGL.vertex2f(v.mV[0], v.mV[1] ); +			v = LLVector3(-offset_x, offset_y, 0.f) * quat;  			gGL.texCoord2f(uv_rect.mLeft, uv_rect.mTop); -			gGL.vertex2i(0, height ); +			gGL.vertex2f(v.mV[0], v.mV[1] ); +			v = LLVector3(-offset_x, -offset_y, 0.f) * quat;  			gGL.texCoord2f(uv_rect.mLeft, uv_rect.mBottom); -			gGL.vertex2i(0, 0); +			gGL.vertex2f(v.mV[0], v.mV[1] ); +			v = LLVector3(offset_x, -offset_y, 0.f) * quat;  			gGL.texCoord2f(uv_rect.mRight, uv_rect.mBottom); -			gGL.vertex2i(width, 0); +			gGL.vertex2f(v.mV[0], v.mV[1] );  		}  		gGL.end(); +		gGL.popUIMatrix();  	} -	gGL.popMatrix();  } @@ -747,9 +781,9 @@ void gl_arc_2d(F32 center_x, F32 center_y, F32 radius, S32 steps, BOOL filled, F  		end_angle += F_TWO_PI;  	} -	gGL.pushMatrix(); +	gGL.pushUIMatrix();  	{ -		gGL.translatef(center_x, center_y, 0.f); +		gGL.translateUI(center_x, center_y, 0.f);  		// Inexact, but reasonably fast.  		F32 delta = (end_angle - start_angle) / steps; @@ -780,15 +814,15 @@ void gl_arc_2d(F32 center_x, F32 center_y, F32 radius, S32 steps, BOOL filled, F  		}  		gGL.end();  	} -	gGL.popMatrix(); +	gGL.popUIMatrix();  }  void gl_circle_2d(F32 center_x, F32 center_y, F32 radius, S32 steps, BOOL filled)  { -	gGL.pushMatrix(); +	gGL.pushUIMatrix();  	{  		gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); -		gGL.translatef(center_x, center_y, 0.f); +		gGL.translateUI(center_x, center_y, 0.f);  		// Inexact, but reasonably fast.  		F32 delta = F_TWO_PI / steps; @@ -819,7 +853,7 @@ void gl_circle_2d(F32 center_x, F32 center_y, F32 radius, S32 steps, BOOL filled  		}  		gGL.end();  	} -	gGL.popMatrix(); +	gGL.popUIMatrix();  }  // Renders a ring with sides (tube shape) @@ -846,9 +880,9 @@ void gl_deep_circle( F32 radius, F32 depth, S32 steps )  void gl_ring( F32 radius, F32 width, const LLColor4& center_color, const LLColor4& side_color, S32 steps, BOOL render_center )  { -	gGL.pushMatrix(); +	gGL.pushUIMatrix();  	{ -		gGL.translatef(0.f, 0.f, -width / 2); +		gGL.translateUI(0.f, 0.f, -width / 2);  		if( render_center )  		{  			gGL.color4fv(center_color.mV); @@ -857,11 +891,11 @@ void gl_ring( F32 radius, F32 width, const LLColor4& center_color, const LLColor  		else  		{  			gl_washer_2d(radius, radius - width, steps, side_color, side_color); -			gGL.translatef(0.f, 0.f, width); +			gGL.translateUI(0.f, 0.f, width);  			gl_washer_2d(radius - width, radius, steps, side_color, side_color);  		}  	} -	gGL.popMatrix(); +	gGL.popUIMatrix();  }  // Draw gray and white checkerboard with black border @@ -1050,9 +1084,9 @@ void gl_segmented_rect_2d_tex(const S32 left,  	S32 width = llabs(right - left);  	S32 height = llabs(top - bottom); -	gGL.pushMatrix(); +	gGL.pushUIMatrix(); -	gGL.translatef((F32)left, (F32)bottom, 0.f); +	gGL.translateUI((F32)left, (F32)bottom, 0.f);  	LLVector2 border_uv_scale((F32)border_size / (F32)texture_width, (F32)border_size / (F32)texture_height);  	if (border_uv_scale.mV[VX] > 0.5f) @@ -1193,7 +1227,7 @@ void gl_segmented_rect_2d_tex(const S32 left,  	}  	gGL.end(); -	gGL.popMatrix(); +	gGL.popUIMatrix();  }  void gl_segmented_rect_2d_fragment_tex(const S32 left,  @@ -1210,9 +1244,9 @@ void gl_segmented_rect_2d_fragment_tex(const S32 left,  	S32 width = llabs(right - left);  	S32 height = llabs(top - bottom); -	gGL.pushMatrix(); +	gGL.pushUIMatrix(); -	gGL.translatef((F32)left, (F32)bottom, 0.f); +	gGL.translateUI((F32)left, (F32)bottom, 0.f);  	LLVector2 border_uv_scale((F32)border_size / (F32)texture_width, (F32)border_size / (F32)texture_height);  	if (border_uv_scale.mV[VX] > 0.5f) @@ -1383,7 +1417,7 @@ void gl_segmented_rect_2d_fragment_tex(const S32 left,  	}  	gGL.end(); -	gGL.popMatrix(); +	gGL.popUIMatrix();  }  void gl_segmented_rect_3d_tex(const LLVector2& border_scale, const LLVector3& border_width,  @@ -1591,7 +1625,7 @@ void LLUI::dirtyRect(LLRect rect)  //static  void LLUI::translate(F32 x, F32 y, F32 z)  { -	gGL.translatef(x,y,z); +	gGL.translateUI(x,y,z);  	LLFontGL::sCurOrigin.mX += (S32) x;  	LLFontGL::sCurOrigin.mY += (S32) y;  	LLFontGL::sCurOrigin.mZ += z; @@ -1600,14 +1634,14 @@ void LLUI::translate(F32 x, F32 y, F32 z)  //static  void LLUI::pushMatrix()  { -	gGL.pushMatrix(); +	gGL.pushUIMatrix();  	LLFontGL::sOriginStack.push_back(LLFontGL::sCurOrigin);  }  //static  void LLUI::popMatrix()  { -	gGL.popMatrix(); +	gGL.popUIMatrix();  	LLFontGL::sCurOrigin = *LLFontGL::sOriginStack.rbegin();  	LLFontGL::sOriginStack.pop_back();  } @@ -1615,7 +1649,7 @@ void LLUI::popMatrix()  //static   void LLUI::loadIdentity()  { -	glLoadIdentity(); +	gGL.loadUIIdentity();   	LLFontGL::sCurOrigin.mX = 0;  	LLFontGL::sCurOrigin.mY = 0;  	LLFontGL::sCurOrigin.mZ = 0; @@ -1943,6 +1977,7 @@ namespace LLInitParam  	{  		setBlockFromValue();  		addSynonym(name, ""); +		setBlockFromValue();  	}  	void TypedParam<const LLFontGL*>::setValueFromBlock() const diff --git a/indra/llui/llviewborder.cpp b/indra/llui/llviewborder.cpp index 30717f87de..bd9c43c97f 100644 --- a/indra/llui/llviewborder.cpp +++ b/indra/llui/llviewborder.cpp @@ -125,14 +125,6 @@ void LLViewBorder::draw()  			llassert( FALSE );  // not implemented  		}  	} -	else -	if( STYLE_TEXTURE == mStyle ) -	{ -		if( mTexture ) -		{ -			drawTextures(); -		} -	}  	LLView::draw();  } @@ -255,56 +247,6 @@ void LLViewBorder::drawTwoPixelLines()  	gl_line_2d(left+1, bottom+1, right-1, bottom+1);  } -void LLViewBorder::drawTextures() -{ -	//LLGLSUIDefault gls_ui; - -	//llassert( FALSE );  // TODO: finish implementing - -	//gGL.color4fv(UI_VERTEX_COLOR.mV); - -	//gGL.getTexUnit(0)->bind(mTexture); -	//gGL.getTexUnit(0)->setTextureAddressMode(LLTexUnit::TAM_WRAP); - -	//drawTextureTrapezoid(   0.f, mBorderWidth, getRect().getWidth(),  0,					0 ); -	//drawTextureTrapezoid(  90.f, mBorderWidth, getRect().getHeight(), (F32)getRect().getWidth(),0 ); -	//drawTextureTrapezoid( 180.f, mBorderWidth, getRect().getWidth(),  (F32)getRect().getWidth(),(F32)getRect().getHeight() ); -	//drawTextureTrapezoid( 270.f, mBorderWidth, getRect().getHeight(), 0,					(F32)getRect().getHeight() ); -} - - -void LLViewBorder::drawTextureTrapezoid( F32 degrees, S32 width, S32 length, F32 start_x, F32 start_y ) -{ -	gGL.pushMatrix(); -	{ -		gGL.translatef(start_x, start_y, 0.f); -		glRotatef( degrees, 0, 0, 1 ); - -		gGL.begin(LLRender::QUADS); -		{ -			//      width, width   /---------\ length-width, width		// -			//	   			      /           \							// -			//				     /			   \						// -			//				    /---------------\						// -			//    			0,0					  length, 0				// - -			gGL.texCoord2f( 0, 0 ); -			gGL.vertex2i( 0, 0 ); - -			gGL.texCoord2f( (GLfloat)length, 0 ); -			gGL.vertex2i( length, 0 ); - -			gGL.texCoord2f( (GLfloat)(length - width), (GLfloat)width ); -			gGL.vertex2i( length - width, width ); - -			gGL.texCoord2f( (GLfloat)width, (GLfloat)width ); -			gGL.vertex2i( width, width ); -		} -		gGL.end(); -	} -	gGL.popMatrix(); -} -  BOOL LLViewBorder::getBevelFromAttribute(LLXMLNodePtr node, LLViewBorder::EBevel& bevel_style)  {  	if (node->hasAttribute("bevel_style")) diff --git a/indra/llui/llviewborder.h b/indra/llui/llviewborder.h index 92fd569325..342e84fd93 100644 --- a/indra/llui/llviewborder.h +++ b/indra/llui/llviewborder.h @@ -99,8 +99,7 @@ private:  	void		drawOnePixelLines();  	void		drawTwoPixelLines();  	void		drawTextures(); -	void		drawTextureTrapezoid( F32 degrees, S32 width, S32 length, F32 start_x, F32 start_y ); - +	  	EBevel		mBevel;  	EStyle		mStyle;  	LLUIColor	mHighlightLight; diff --git a/indra/media_plugins/webkit/linux_volume_catcher.cpp b/indra/media_plugins/webkit/linux_volume_catcher.cpp index 2ba28bd4bf..52ab766f7f 100644 --- a/indra/media_plugins/webkit/linux_volume_catcher.cpp +++ b/indra/media_plugins/webkit/linux_volume_catcher.cpp @@ -398,7 +398,8 @@ void callback_subscription_alert(pa_context *context, pa_subscription_event_type  			impl->mSinkInputIndices.erase(index);  			impl->mSinkInputNumChannels.erase(index);  		} -		else +		else if ((t & PA_SUBSCRIPTION_EVENT_TYPE_MASK) == +			 PA_SUBSCRIPTION_EVENT_NEW)  		{  			// ask for more info about this new sinkinput  			pa_operation *op; @@ -407,6 +408,10 @@ void callback_subscription_alert(pa_context *context, pa_subscription_event_type  				llpa_operation_unref(op);  			}  		} +		else +		{ +			// property change on this sinkinput - we don't care. +		}  		break;  	default:; diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 73c08c4867..4210760223 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -7443,6 +7443,17 @@        <key>Value</key>        <integer>0</integer>      </map> +  <key>RenderUseTriStrips</key> +  <map> +    <key>Comment</key> +    <string>Use triangle strips for rendering prims.</string> +    <key>Persist</key> +    <integer>1</integer> +    <key>Type</key> +    <string>Boolean</string> +    <key>Value</key> +    <integer>0</integer> +  </map>      <key>RenderUseFarClip</key>      <map>        <key>Comment</key> diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt index 887dab66d1..aa0e21ea8f 100644 --- a/indra/newview/gpu_table.txt +++ b/indra/newview/gpu_table.txt @@ -47,8 +47,10 @@ ATI ASUS EAH26xx				.*ATI.*ASUS.*EAH26.*				3		1  ATI ASUS EAH34xx				.*ATI.*ASUS.*EAH34.*				1		1  ATI ASUS EAH36xx				.*ATI.*ASUS.*EAH36.*				3		1  ATI ASUS EAH38xx				.*ATI.*ASUS.*EAH38.*				3		1 +ATI ASUS EAH45xx				.*ATI.*ASUS.*EAH45.*				1		1  ATI ASUS EAH48xx				.*ATI.*ASUS.*EAH48.*				3		1 -ATI Radeon X1xxx				.*ATI.*ASUS.*X1.*					2		1 +ATI ASUS EAH57xx				.*ATI.*ASUS.*EAH57.*				3		1 +ATI Radeon X1xxx				.*ATI.*ASUS.*X1.*					3		1  ATI Radeon X7xx					.*ATI.*ASUS.*X7.*					1		1  ATI Radeon X500					.*ATI.*Diamond X5.*					1		1  ATI Radeon X13xx				.*ATI.*Diamond X13.*				1		1 @@ -95,10 +97,16 @@ ATI Radeon HD 3300				.*ATI.*Radeon HD.*33.*				1		1  ATI Radeon HD 3400				.*ATI.*Radeon HD.*34.*				1		1  ATI Radeon HD 3600				.*ATI.*Radeon HD.*36.*				3		1  ATI Radeon HD 3800				.*ATI.*Radeon HD.*38.*				3		1 +ATI Radeon HD 4200				.*ATI.*Radeon HD 42.*				1		1  ATI Radeon HD 4300				.*ATI.*Radeon HD 43.*				1		1 -ATI Radeon HD 4500				.*ATI.*Radeon HD 45.*				2		1 -ATI Radeon HD 4600				.*ATI.*Radeon HD 46.*				3		1 +ATI Radeon HD 4500				.*ATI.*Radeon HD 45.*				3		1 +ATI Radeon HD 4600				.*ATI.*Radeon HD.*46.*				3		1 +ATI Radeon HD 4700				.*ATI.*Radeon HD 47.*				3		1  ATI Radeon HD 4800				.*ATI.*Radeon.*HD.*48.*				3		1 +ATI Radeon HD 5600				.*ATI.*Radeon.*HD.*56.*				3		1 +ATI Radeon HD 5700				.*ATI.*Radeon.*HD.*57.*				3		1 +ATI Radeon HD 5800				.*ATI.*Radeon.*HD.*58.*				3		1 +ATI Radeon HD 5900				.*ATI.*Radeon.*HD.*59.*				3		1  ATI Radeon OpenGL				.*ATI.*Radeon OpenGL.* 				0		0  ATI Radeon 2100					.*ATI.*Radeon 21.*					0		1  ATI Radeon 3100					.*ATI.*Radeon 31.*					1		1 @@ -152,13 +160,17 @@ Intel 945G						.*Intel.*945G.*						0		1  Intel 950						.*Intel.*950.*						0		1  Intel 965						.*Intel.*965.*						0		1  Intel G33						.*Intel.*G33.*						0		0 +Intel G41						.*Intel.*G41.*						0		1  Intel G45						.*Intel.*G45.*						0		1  Intel Bear Lake					.*Intel.*Bear Lake.*				0		0  Intel Broadwater 				.*Intel.*Broadwater.*				0		0  Intel Brookdale					.*Intel.*Brookdale.*				0		0  Intel Cantiga					.*Intel.*Cantiga.*					0		0  Intel Eaglelake					.*Intel.*Eaglelake.*				0		1 +Intel Mobile 4 Series			.*Intel.*Mobile.*4 Series.*			0		1 +Intel Media Graphics HD			.*Intel.*Media.*Graphics.*HD.*		0		1  Intel Montara					.*Intel.*Montara.*					0		0 +Intel Pineview					.*Intel.*Pineview.*					0		1  Intel Springdale				.*Intel.*Springdale.*				0		0  Matrox							.*Matrox.*							0		0  Mesa							.*Mesa.*							0		0 diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 3675be16e9..afd9d7b3f9 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -3018,6 +3018,9 @@ void LLAgent::endAnimationUpdateUI()  //-----------------------------------------------------------------------------  void LLAgent::updateCamera()  { +	static LLFastTimer::DeclareTimer ftm("Camera"); +	LLFastTimer t(ftm); +  	//Ventrella - changed camera_skyward to the new global "mCameraUpVector"  	mCameraUpVector = LLVector3::z_axis;  	//LLVector3	camera_skyward(0.f, 0.f, 1.f); diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 00a9e4d745..948d38befb 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -3593,13 +3593,15 @@ void LLAppViewer::idle()  	{  		// Handle pending gesture processing +		static LLFastTimer::DeclareTimer ftm("Agent Position"); +		LLFastTimer t(ftm);  		LLGestureManager::instance().update();  		gAgent.updateAgentPosition(gFrameDTClamped, yaw, current_mouse.mX, current_mouse.mY);  	}  	{ -		LLFastTimer t(FTM_OBJECTLIST_UPDATE); // Actually "object update" +		LLFastTimer t(FTM_OBJECTLIST_UPDATE);           if (!(logoutRequestSent() && hasSavedFinalSnapshot()))  		{ @@ -3633,6 +3635,8 @@ void LLAppViewer::idle()  	//  	{ +		static LLFastTimer::DeclareTimer ftm("HUD Effects"); +		LLFastTimer t(ftm);  		LLSelectMgr::getInstance()->updateEffects();  		LLHUDManager::getInstance()->cleanupEffects();  		LLHUDManager::getInstance()->sendEffects(); @@ -3889,7 +3893,7 @@ void LLAppViewer::sendLogoutRequest()  static F32 CheckMessagesMaxTime = CHECK_MESSAGES_DEFAULT_MAX_TIME;  #endif -static LLFastTimer::DeclareTimer FTM_IDLE_NETWORK("Network"); +static LLFastTimer::DeclareTimer FTM_IDLE_NETWORK("Idle Network");  void LLAppViewer::idleNetwork()  { diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp index 9fbc3408d7..38eda5bd2e 100644 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -386,8 +386,6 @@ void LLDrawable::makeActive()  			mParent->makeActive();  		} -		gPipeline.setActive(this, TRUE); -  		//all child objects must also be active  		llassert_always(mVObjp); @@ -434,7 +432,6 @@ void LLDrawable::makeStatic(BOOL warning_enabled)  	if (isState(ACTIVE))  	{  		clearState(ACTIVE); -		gPipeline.setActive(this, FALSE);  		if (mParent.notNull() && mParent->isActive() && warning_enabled)  		{ diff --git a/indra/newview/lldrawpool.cpp b/indra/newview/lldrawpool.cpp index 95ddacb722..ef946ac49e 100644 --- a/indra/newview/lldrawpool.cpp +++ b/indra/newview/lldrawpool.cpp @@ -496,8 +496,8 @@ void LLRenderPass::pushBatch(LLDrawInfo& params, U32 mask, BOOL texture)  			params.mGroup->rebuildMesh();  		}  		params.mVertexBuffer->setBuffer(mask); -		params.mVertexBuffer->drawRange(LLRender::TRIANGLES, params.mStart, params.mEnd, params.mCount, params.mOffset); -		gPipeline.addTrianglesDrawn(params.mCount/3); +		params.mVertexBuffer->drawRange(params.mDrawMode, params.mStart, params.mEnd, params.mCount, params.mOffset); +		gPipeline.addTrianglesDrawn(params.mCount, params.mDrawMode);  	}  	if (params.mTextureMatrix && texture && params.mTexture.notNull()) diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp index 7be6e82251..875c9ac6a9 100644 --- a/indra/newview/lldrawpoolalpha.cpp +++ b/indra/newview/lldrawpoolalpha.cpp @@ -251,8 +251,8 @@ void LLDrawPoolAlpha::renderAlphaHighlight(U32 mask)  					params.mGroup->rebuildMesh();  				}  				params.mVertexBuffer->setBuffer(mask); -				params.mVertexBuffer->drawRange(LLRender::TRIANGLES, params.mStart, params.mEnd, params.mCount, params.mOffset); -				gPipeline.addTrianglesDrawn(params.mCount/3); +				params.mVertexBuffer->drawRange(params.mDrawMode, params.mStart, params.mEnd, params.mCount, params.mOffset); +				gPipeline.addTrianglesDrawn(params.mCount, params.mDrawMode);  			}  		}  	} @@ -381,8 +381,8 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask)  				}  				params.mVertexBuffer->setBuffer(mask); -				params.mVertexBuffer->drawRange(LLRender::TRIANGLES, params.mStart, params.mEnd, params.mCount, params.mOffset); -				gPipeline.addTrianglesDrawn(params.mCount/3); +				params.mVertexBuffer->drawRange(params.mDrawMode, params.mStart, params.mEnd, params.mCount, params.mOffset); +				gPipeline.addTrianglesDrawn(params.mCount, params.mDrawMode);  				if (params.mTextureMatrix && params.mTexture.notNull())  				{ diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp index 03a8b108e2..d09d4a412f 100644 --- a/indra/newview/lldrawpoolbump.cpp +++ b/indra/newview/lldrawpoolbump.cpp @@ -560,8 +560,8 @@ void LLDrawPoolBump::renderGroup(LLSpatialGroup* group, U32 type, U32 mask, BOOL  			params.mGroup->rebuildMesh();  		}  		params.mVertexBuffer->setBuffer(mask); -		params.mVertexBuffer->drawRange(LLRender::TRIANGLES, params.mStart, params.mEnd, params.mCount, params.mOffset); -		gPipeline.addTrianglesDrawn(params.mCount/3); +		params.mVertexBuffer->drawRange(params.mDrawMode, params.mStart, params.mEnd, params.mCount, params.mOffset); +		gPipeline.addTrianglesDrawn(params.mCount, params.mDrawMode);  	}  } @@ -1231,8 +1231,8 @@ void LLDrawPoolBump::pushBatch(LLDrawInfo& params, U32 mask, BOOL texture)  		params.mGroup->rebuildMesh();  	}  	params.mVertexBuffer->setBuffer(mask); -	params.mVertexBuffer->drawRange(LLRender::TRIANGLES, params.mStart, params.mEnd, params.mCount, params.mOffset); -	gPipeline.addTrianglesDrawn(params.mCount/3); +	params.mVertexBuffer->drawRange(params.mDrawMode, params.mStart, params.mEnd, params.mCount, params.mOffset); +	gPipeline.addTrianglesDrawn(params.mCount, params.mDrawMode);  	if (params.mTextureMatrix)  	{  		if (mShiny) diff --git a/indra/newview/lldrawpooltree.cpp b/indra/newview/lldrawpooltree.cpp index 5521fb05a8..1a5d55d793 100644 --- a/indra/newview/lldrawpooltree.cpp +++ b/indra/newview/lldrawpooltree.cpp @@ -115,7 +115,7 @@ void LLDrawPoolTree::render(S32 pass)  			LLFace *face = *iter;  			face->mVertexBuffer->setBuffer(LLDrawPoolTree::VERTEX_DATA_MASK);  			face->mVertexBuffer->drawRange(LLRender::TRIANGLES, 0, face->mVertexBuffer->getRequestedVerts()-1, face->mVertexBuffer->getRequestedIndices(), 0);  -			gPipeline.addTrianglesDrawn(face->mVertexBuffer->getRequestedIndices()/3); +			gPipeline.addTrianglesDrawn(face->mVertexBuffer->getRequestedIndices());  		}  	}  } @@ -237,7 +237,7 @@ void LLDrawPoolTree::renderForSelect()  				face->mVertexBuffer->setBuffer(LLDrawPoolTree::VERTEX_DATA_MASK);  				face->mVertexBuffer->drawRange(LLRender::TRIANGLES, 0, face->mVertexBuffer->getRequestedVerts()-1, face->mVertexBuffer->getRequestedIndices(), 0);  -				gPipeline.addTrianglesDrawn(face->mVertexBuffer->getRequestedIndices()/3); +				gPipeline.addTrianglesDrawn(face->mVertexBuffer->getRequestedIndices());  			}  		}  	} diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index 80acc71a41..9de69a8173 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -870,7 +870,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  	llpushcallstacks ;  	const LLVolumeFace &vf = volume.getVolumeFace(f);  	S32 num_vertices = (S32)vf.mVertices.size(); -	S32 num_indices = (S32)vf.mIndices.size(); +	S32 num_indices = LLPipeline::sUseTriStrips ? (S32)vf.mTriStrip.size() : (S32) vf.mIndices.size();  	if (mVertexBuffer.notNull())  	{ @@ -1063,9 +1063,19 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  	if (full_rebuild)  	{  		mVertexBuffer->getIndexStrider(indicesp, mIndicesIndex); -		for (U16 i = 0; i < num_indices; i++) +		if (LLPipeline::sUseTriStrips)  		{ -			*indicesp++ = vf.mIndices[i] + index_offset; +			for (U32 i = 0; i < (U32) num_indices; i++) +			{ +				*indicesp++ = vf.mTriStrip[i] + index_offset; +			} +		} +		else +		{ +			for (U32 i = 0; i < (U32) num_indices; i++) +			{ +				*indicesp++ = vf.mIndices[i] + index_offset; +			}  		}  	} @@ -1617,8 +1627,13 @@ S32 LLFace::pushVertices(const U16* index_array) const  {  	if (mIndicesCount)  	{ -		mVertexBuffer->drawRange(LLRender::TRIANGLES, mGeomIndex, mGeomIndex+mGeomCount-1, mIndicesCount, mIndicesIndex); -		gPipeline.addTrianglesDrawn(mIndicesCount/3); +		U32 render_type = LLRender::TRIANGLES; +		if (mDrawInfo) +		{ +			render_type = mDrawInfo->mDrawMode; +		} +		mVertexBuffer->drawRange(render_type, mGeomIndex, mGeomIndex+mGeomCount-1, mIndicesCount, mIndicesIndex); +		gPipeline.addTrianglesDrawn(mIndicesCount, render_type);  	}  	return mIndicesCount; diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp index aea2de8e92..561965d021 100644 --- a/indra/newview/llflexibleobject.cpp +++ b/indra/newview/llflexibleobject.cpp @@ -51,6 +51,9 @@  /*static*/ F32 LLVolumeImplFlexible::sUpdateFactor = 1.0f; +static LLFastTimer::DeclareTimer FTM_FLEXIBLE_REBUILD("Rebuild"); +static LLFastTimer::DeclareTimer FTM_DO_FLEXIBLE_UPDATE("Update"); +  // LLFlexibleObjectData::pack/unpack now in llprimitive.cpp  //----------------------------------------------- @@ -194,7 +197,6 @@ void LLVolumeImplFlexible::remapSections(LLFlexibleObjectSection *source, S32 so  	}  } -  //-----------------------------------------------------------------------------  void LLVolumeImplFlexible::setAttributesOfAllSections(LLVector3* inScale)  { @@ -363,6 +365,7 @@ inline S32 log2(S32 x)  void LLVolumeImplFlexible::doFlexibleUpdate()  { +	LLFastTimer ftm(FTM_DO_FLEXIBLE_UPDATE);  	LLVolume* volume = mVO->getVolume();  	LLPath *path = &volume->getPath();  	if (mSimulateRes == 0) @@ -693,7 +696,10 @@ BOOL LLVolumeImplFlexible::doUpdateGeometry(LLDrawable *drawable)  	}  	volume->updateRelativeXform(); -	doFlexibleUpdate(); +	{ +		LLFastTimer t(FTM_DO_FLEXIBLE_UPDATE); +		doFlexibleUpdate(); +	}  	// Object may have been rotated, which means it needs a rebuild.  See SL-47220  	BOOL	rotated = FALSE; @@ -710,7 +716,10 @@ BOOL LLVolumeImplFlexible::doUpdateGeometry(LLDrawable *drawable)  		volume->regenFaces();  		volume->mDrawable->setState(LLDrawable::REBUILD_VOLUME);  		volume->dirtySpatialGroup(); -		doFlexibleRebuild(); +		{ +			LLFastTimer t(FTM_FLEXIBLE_REBUILD); +			doFlexibleRebuild(); +		}  		volume->genBBoxes(isVolumeGlobal());  	}  	else if (!mUpdated || rotated) diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp index 61568df12e..9917593c91 100644 --- a/indra/newview/llfloaterimagepreview.cpp +++ b/indra/newview/llfloaterimagepreview.cpp @@ -688,6 +688,9 @@ BOOL LLImagePreviewAvatar::render()  	mNeedsUpdate = FALSE;  	LLVOAvatar* avatarp = mDummyAvatar; +	gGL.pushUIMatrix(); +	gGL.loadUIIdentity(); +  	glMatrixMode(GL_PROJECTION);  	gGL.pushMatrix();  	glLoadIdentity(); @@ -696,6 +699,7 @@ BOOL LLImagePreviewAvatar::render()  	glMatrixMode(GL_MODELVIEW);  	gGL.pushMatrix();  	glLoadIdentity(); +	  	LLGLSUIDefault def;  	gGL.color4f(0.15f, 0.2f, 0.3f, 1.f); @@ -741,6 +745,7 @@ BOOL LLImagePreviewAvatar::render()  		avatarPoolp->renderAvatars(avatarp);  // renders only one avatar  	} +	gGL.popUIMatrix();  	gGL.color4f(1,1,1,1);  	return TRUE;  } diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp index 750a9d478f..8569e208eb 100644 --- a/indra/newview/llglsandbox.cpp +++ b/indra/newview/llglsandbox.cpp @@ -897,19 +897,21 @@ void LLViewerObjectList::renderObjectBeacons()  		S32 last_line_width = -1;  		// gGL.begin(LLRender::LINES); // Always happens in (line_width != last_line_width) -		for (S32 i = 0; i < mDebugBeacons.count(); i++) +		BOOL flush = FALSE; +		for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter)  		{ -			const LLDebugBeacon &debug_beacon = mDebugBeacons[i]; +			const LLDebugBeacon &debug_beacon = *iter;  			LLColor4 color = debug_beacon.mColor;  			color.mV[3] *= 0.25f;  			S32 line_width = debug_beacon.mLineWidth;  			if (line_width != last_line_width)  			{ -				if (i > 0) +				if (flush)  				{  					gGL.end(); -					gGL.flush();  				} +				flush = TRUE; +				gGL.flush();  				glLineWidth( (F32)line_width );  				last_line_width = line_width;  				gGL.begin(LLRender::LINES); @@ -936,18 +938,20 @@ void LLViewerObjectList::renderObjectBeacons()  		S32 last_line_width = -1;  		// gGL.begin(LLRender::LINES); // Always happens in (line_width != last_line_width) -		for (S32 i = 0; i < mDebugBeacons.count(); i++) +		BOOL flush = FALSE; +		for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter)  		{ -			const LLDebugBeacon &debug_beacon = mDebugBeacons[i]; +			const LLDebugBeacon &debug_beacon = *iter;  			S32 line_width = debug_beacon.mLineWidth;  			if (line_width != last_line_width)  			{ -				if (i > 0) +				if (flush)  				{  					gGL.end(); -					gGL.flush();  				} +				flush = TRUE; +				gGL.flush();  				glLineWidth( (F32)line_width );  				last_line_width = line_width;  				gGL.begin(LLRender::LINES); @@ -969,9 +973,9 @@ void LLViewerObjectList::renderObjectBeacons()  		gGL.flush();  		glLineWidth(1.f); -		for (S32 i = 0; i < mDebugBeacons.count(); i++) +		for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter)  		{ -			LLDebugBeacon &debug_beacon = mDebugBeacons[i]; +			LLDebugBeacon &debug_beacon = *iter;  			if (debug_beacon.mString == "")  			{  				continue; diff --git a/indra/newview/llhudrender.cpp b/indra/newview/llhudrender.cpp index a02dc3355b..325c9c260c 100644 --- a/indra/newview/llhudrender.cpp +++ b/indra/newview/llhudrender.cpp @@ -121,24 +121,24 @@ void hud_render_text(const LLWString &wstr, const LLVector3 &pos_agent,  	glMatrixMode(GL_PROJECTION);  	glPushMatrix();  	glMatrixMode(GL_MODELVIEW); -	 +	gGL.pushMatrix();  	LLUI::pushMatrix();  	gl_state_for_2d(world_view_rect.getWidth(), world_view_rect.getHeight());  	gViewerWindow->setup3DViewport(); -	//gViewerWindow->setup2DRender(); - +	  	winX -= world_view_rect.mLeft;  	winY -= world_view_rect.mBottom;  	LLUI::loadIdentity(); +	glLoadIdentity();  	LLUI::translate((F32) winX*1.0f/LLFontGL::sScaleX, (F32) winY*1.0f/(LLFontGL::sScaleY), -(((F32) winZ*2.f)-1.f)); -	//glRotatef(angle * RAD_TO_DEG, axis.mV[VX], axis.mV[VY], axis.mV[VZ]); -	//glScalef(right_scale, up_scale, 1.f);  	F32 right_x;  	font.render(wstr, 0, 0, 0, color, LLFontGL::LEFT, LLFontGL::BASELINE, style, shadow, wstr.length(), 1000, &right_x); +  	LLUI::popMatrix(); -	 +	gGL.popMatrix(); +  	glMatrixMode(GL_PROJECTION);  	glPopMatrix();  	glMatrixMode(GL_MODELVIEW); diff --git a/indra/newview/llhudtext.cpp b/indra/newview/llhudtext.cpp index 8ad94b957d..8d1d27444b 100644 --- a/indra/newview/llhudtext.cpp +++ b/indra/newview/llhudtext.cpp @@ -555,7 +555,7 @@ void LLHUDText::renderText(BOOL for_select)  		}  	}  	/// Reset the default color to white.  The renderer expects this to be the default.  -	glColor4f(1.0f, 1.0f, 1.0f, 1.0f); +	gGL.color4f(1.0f, 1.0f, 1.0f, 1.0f);  	if (for_select)  	{  		gGL.getTexUnit(0)->enable(LLTexUnit::TT_TEXTURE); diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp index 501a137b42..bf33d8527e 100644 --- a/indra/newview/llmediactrl.cpp +++ b/indra/newview/llmediactrl.cpp @@ -724,14 +724,14 @@ void LLMediaCtrl::draw()  		LLGLSUIDefault gls_ui;  		LLGLDisable gls_alphaTest( GL_ALPHA_TEST ); -		gGL.pushMatrix(); +		gGL.pushUIMatrix();  		{  			if (mIgnoreUIScale)  			{ -				glLoadIdentity(); +				gGL.loadUIIdentity();  				// font system stores true screen origin, need to scale this by UI scale factor  				// to get render origin for this view (with unit scale) -				gGL.translatef(floorf(LLFontGL::sCurOrigin.mX * LLUI::sGLScaleFactor.mV[VX]),  +				gGL.translateUI(floorf(LLFontGL::sCurOrigin.mX * LLUI::sGLScaleFactor.mV[VX]),   							floorf(LLFontGL::sCurOrigin.mY * LLUI::sGLScaleFactor.mV[VY]),   							LLFontGL::sCurOrigin.mZ);  			} @@ -825,7 +825,7 @@ void LLMediaCtrl::draw()  			gGL.end();  			gGL.setSceneBlendType(LLRender::BT_ALPHA);  		} -		gGL.popMatrix(); +		gGL.popUIMatrix();  	}  	else diff --git a/indra/newview/llnetmap.cpp b/indra/newview/llnetmap.cpp index 234fe13217..05623198ab 100644 --- a/indra/newview/llnetmap.cpp +++ b/indra/newview/llnetmap.cpp @@ -153,6 +153,18 @@ void LLNetMap::draw()  	// Prepare a scissor region  	F32 rotation = 0; +	gGL.pushMatrix(); +	gGL.pushUIMatrix(); +	 +	LLVector3 offset = gGL.getUITranslation(); +	LLVector3 scale = gGL.getUIScale(); + +	glLoadIdentity(); +	gGL.loadUIIdentity(); + +	glScalef(scale.mV[0], scale.mV[1], scale.mV[2]); +	gGL.translatef(offset.mV[0], offset.mV[1], offset.mV[2]); +	  	{  		LLLocalClipRect clip(getLocalRect());  		{ @@ -435,6 +447,9 @@ void LLNetMap::draw()  		}  	} +	gGL.popMatrix(); +	gGL.popUIMatrix(); +  	LLUICtrl::draw();  } diff --git a/indra/newview/llpanelnearbymedia.cpp b/indra/newview/llpanelnearbymedia.cpp index b73d7db770..75b25b6a40 100644 --- a/indra/newview/llpanelnearbymedia.cpp +++ b/indra/newview/llpanelnearbymedia.cpp @@ -135,7 +135,6 @@ BOOL LLPanelNearByMedia::postBuild()  	mMediaList = getChild<LLScrollListCtrl>("media_list");  	mEnableAllCtrl = getChild<LLUICtrl>("all_nearby_media_enable_btn");  	mDisableAllCtrl = getChild<LLUICtrl>("all_nearby_media_disable_btn"); -	mItemCountText = getChild<LLTextBox>("media_item_count");  	mShowCtrl = getChild<LLComboBox>("show_combo");  	// Dynamic (selection-dependent) controls @@ -232,6 +231,7 @@ void LLPanelNearByMedia::reshape(S32 width, S32 height, BOOL called_from_parent)  const F32 AUTO_CLOSE_FADE_TIME_START= 4.0f;  const F32 AUTO_CLOSE_FADE_TIME_END = 5.0f; +/*virtual*/  void LLPanelNearByMedia::draw()  {  	//LLUICtrl* new_top = gFocusMgr.getTopCtrl(); @@ -250,8 +250,6 @@ void LLPanelNearByMedia::draw()  		setShape(new_rect);  	} -	mItemCountText->setValue(llformat(getString("media_item_count_format").c_str(), mMediaList->getItemCount())); -	  	refreshList();  	updateControls(); @@ -268,6 +266,21 @@ void LLPanelNearByMedia::draw()  	}  } +/*virtual*/ +BOOL LLPanelNearByMedia::handleHover(S32 x, S32 y, MASK mask) +{ +	LLPanel::handleHover(x, y, mask); +	 +	// If we are hovering over this panel, make sure to clear any hovered media +	// ID.  Note that the more general solution would be to clear this ID when +	// the mouse leaves the in-scene view, but that proved to be problematic. +	// See EXT-5517 +	LLViewerMediaFocus::getInstance()->clearHover(); +		 +	// Always handle +	return true; +} +  bool LLPanelNearByMedia::getParcelAudioAutoStart()  {  	return mParcelAudioAutoStart; @@ -603,11 +616,12 @@ void LLPanelNearByMedia::refreshParcelItems()  	if (NULL != mParcelAudioItem)  	{  		bool is_playing = LLViewerMedia::isParcelAudioPlaying(); +	  		updateListItem(mParcelAudioItem,  					   mParcelAudioName,  					   LLViewerMedia::getParcelAudioURL(),  					   -1, // Proximity after Parcel Media, but closer than anything else -					   !is_playing, +					   (!is_playing),  					   is_playing,  					   is_playing,  					   MEDIA_CLASS_ALL, @@ -851,7 +865,7 @@ void LLPanelNearByMedia::onClickParcelAudioStart()  	// User *explicitly* started the internet stream, so keep the stream  	// playing and updated as they cross to other parcels etc.  	mParcelAudioAutoStart = true; -	 +		  	if (!gAudiop)  		return; diff --git a/indra/newview/llpanelnearbymedia.h b/indra/newview/llpanelnearbymedia.h index 6fe724266b..4f864519f5 100644 --- a/indra/newview/llpanelnearbymedia.h +++ b/indra/newview/llpanelnearbymedia.h @@ -56,6 +56,7 @@ public:  	/*virtual*/ void handleVisibilityChange ( BOOL new_visibility );  	/*virtual*/ void onTopLost ();  	/*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent); +	/*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask);  	// this is part of the nearby media *dialog* so we can track whether  	// the user *implicitly* wants audio on or off via their *explicit* @@ -149,7 +150,6 @@ private:  	void onClickSelectedMediaUnzoom();  	LLUICtrl*			mNearbyMediaPanel; -	LLTextBox*			mItemCountText;  	LLScrollListCtrl*		mMediaList;  	LLUICtrl*			mEnableAllCtrl;  	LLUICtrl*			mDisableAllCtrl; diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 9540894646..d733574a9d 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -4919,13 +4919,15 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)  		// set up transform to encompass bounding box of HUD  		glMatrixMode(GL_PROJECTION); -		glPushMatrix(); +		gGL.pushMatrix();  		glLoadIdentity();  		F32 depth = llmax(1.f, hud_bbox.getExtentLocal().mV[VX] * 1.1f);  		glOrtho(-0.5f * LLViewerCamera::getInstance()->getAspect(), 0.5f * LLViewerCamera::getInstance()->getAspect(), -0.5f, 0.5f, 0.f, depth);  		glMatrixMode(GL_MODELVIEW); -		glPushMatrix(); +		gGL.pushMatrix(); +		gGL.pushUIMatrix(); +		gGL.loadUIIdentity();  		glLoadIdentity();  		glLoadMatrixf(OGL_TO_CFR_ROTATION);		// Load Cory's favorite reference frame  		glTranslatef(-hud_bbox.getCenterLocal().mV[VX] + (depth *0.5f), 0.f, 0.f); @@ -5022,10 +5024,11 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)  	if (for_hud && avatar)  	{  		glMatrixMode(GL_PROJECTION); -		glPopMatrix(); +		gGL.popMatrix();  		glMatrixMode(GL_MODELVIEW); -		glPopMatrix(); +		gGL.popMatrix(); +		gGL.popUIMatrix();  		stop_glerror();  	} @@ -5374,7 +5377,10 @@ void LLSelectNode::renderOneSilhouette(const LLColor4 &color)  	}  	glMatrixMode(GL_MODELVIEW); -	glPushMatrix(); +	gGL.pushMatrix(); +	gGL.pushUIMatrix(); +	gGL.loadUIIdentity(); +  	if (!is_hud_object)  	{  		glLoadIdentity(); @@ -5493,7 +5499,8 @@ void LLSelectNode::renderOneSilhouette(const LLColor4 &color)  		gGL.end();  		gGL.flush();  	} -	glPopMatrix(); +	gGL.popMatrix(); +	gGL.popUIMatrix();  }  // diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp index 2a57d48f16..d6e9256fee 100644 --- a/indra/newview/llspatialpartition.cpp +++ b/indra/newview/llspatialpartition.cpp @@ -3380,7 +3380,8 @@ LLDrawInfo::LLDrawInfo(U16 start, U16 end, U32 count, U32 offset,  	mVSize(0.f),  	mGroup(NULL),  	mFace(NULL), -	mDistance(0.f) +	mDistance(0.f), +	mDrawMode(LLRender::TRIANGLES)  {  	mDebugColor = (rand() << 16) + rand();  	if (mStart >= mVertexBuffer->getRequestedVerts() || diff --git a/indra/newview/llspatialpartition.h b/indra/newview/llspatialpartition.h index 64c2a9acbc..7896488379 100644 --- a/indra/newview/llspatialpartition.h +++ b/indra/newview/llspatialpartition.h @@ -93,6 +93,7 @@ public:  	LLFace* mFace; //associated face  	F32 mDistance;  	LLVector3 mExtents[2]; +	U32 mDrawMode;  	struct CompareTexture  	{ diff --git a/indra/newview/lltoolmorph.cpp b/indra/newview/lltoolmorph.cpp index 4fb75f7a49..5f825b461e 100644 --- a/indra/newview/lltoolmorph.cpp +++ b/indra/newview/lltoolmorph.cpp @@ -167,13 +167,16 @@ BOOL LLVisualParamHint::render()  	LLVisualParamReset::sDirty = TRUE;  	LLVOAvatar* avatarp = gAgent.getAvatarObject(); +	gGL.pushUIMatrix(); +	gGL.loadUIIdentity(); +  	glMatrixMode(GL_PROJECTION); -	glPushMatrix(); +	gGL.pushMatrix();  	glLoadIdentity();  	glOrtho(0.0f, mFullWidth, 0.0f, mFullHeight, -1.0f, 1.0f);  	glMatrixMode(GL_MODELVIEW); -	glPushMatrix(); +	gGL.pushMatrix();  	glLoadIdentity();  	LLGLSUIDefault gls_ui; @@ -181,10 +184,10 @@ BOOL LLVisualParamHint::render()  	mBackgroundp->draw(0, 0, mFullWidth, mFullHeight);  	glMatrixMode(GL_PROJECTION); -	glPopMatrix(); +	gGL.popMatrix();  	glMatrixMode(GL_MODELVIEW); -	glPopMatrix(); +	gGL.popMatrix();  	mNeedsUpdate = FALSE;  	mIsVisible = TRUE; @@ -247,6 +250,7 @@ BOOL LLVisualParamHint::render()  	mVisualParam->setWeight(mLastParamWeight, FALSE);  	gGL.color4f(1,1,1,1);  	mGLTexturep->setGLTextureCreated(true); +	gGL.popUIMatrix();  	return TRUE;  } diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index 64eabe65cf..5daea96123 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -510,6 +510,7 @@ void settings_setup_listeners()  	gSavedSettings.getControl("FirstPersonAvatarVisible")->getSignal()->connect(boost::bind(&handleRenderAvatarMouselookChanged, _2));  	gSavedSettings.getControl("RenderFarClip")->getSignal()->connect(boost::bind(&handleRenderFarClipChanged, _2));  	gSavedSettings.getControl("RenderTerrainDetail")->getSignal()->connect(boost::bind(&handleTerrainDetailChanged, _2)); +	gSavedSettings.getControl("RenderUseTriStrips")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _2));  	gSavedSettings.getControl("RenderAnimateTrees")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _2));  	gSavedSettings.getControl("RenderAvatarVP")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));  	gSavedSettings.getControl("VertexShaderEnable")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2)); diff --git a/indra/newview/llviewerjointmesh.cpp b/indra/newview/llviewerjointmesh.cpp index 1a67fc0966..7225aa1523 100644 --- a/indra/newview/llviewerjointmesh.cpp +++ b/indra/newview/llviewerjointmesh.cpp @@ -626,7 +626,7 @@ U32 LLViewerJointMesh::drawShape( F32 pixelArea, BOOL first_pass, BOOL is_dummy)  		mFace->mVertexBuffer->drawRange(LLRender::TRIANGLES, start, end, count, offset);  		glPopMatrix();  	} -	gPipeline.addTrianglesDrawn(count/3); +	gPipeline.addTrianglesDrawn(count);  	triangle_count += count; diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 0948afee8b..86336e353c 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -722,6 +722,7 @@ void LLViewerMedia::updateMedia(void *dummy_arg)  	std::vector<LLViewerMediaImpl*> proximity_order;  	bool inworld_media_enabled = gSavedSettings.getBOOL("AudioStreamingMedia"); +	bool inworld_audio_enabled = gSavedSettings.getBOOL("AudioStreamingMusic");  	U32 max_instances = gSavedSettings.getU32("PluginInstancesTotal");  	U32 max_normal = gSavedSettings.getU32("PluginInstancesNormal");  	U32 max_low = gSavedSettings.getU32("PluginInstancesLow"); @@ -849,7 +850,14 @@ void LLViewerMedia::updateMedia(void *dummy_arg)  				new_priority = LLPluginClassMedia::PRIORITY_UNLOADED;  			}  		} -					 +		// update the audio stream here as well +		if(!inworld_media_enabled || !inworld_audio_enabled) +		{ +			if(LLViewerMedia::isParcelAudioPlaying() && gAudiop && LLViewerMedia::hasParcelAudio()) +			{ +				gAudiop->stopInternetStream(); +			} +		}  		pimpl->setPriority(new_priority);  		if(pimpl->getUsedInUI()) diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index d0afa9d9de..b5642d07a5 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -2001,6 +2001,9 @@ BOOL LLViewerObject::isActive() const  BOOL LLViewerObject::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)  { +	static LLFastTimer::DeclareTimer ftm("Viewer Object"); +	LLFastTimer t(ftm); +  	if (mDead)  	{  		// It's dead.  Don't update it. diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp index 96828ee1b6..6347090f71 100644 --- a/indra/newview/llviewerobjectlist.cpp +++ b/indra/newview/llviewerobjectlist.cpp @@ -93,7 +93,7 @@ extern LLPipeline	gPipeline;  // Statics for object lookup tables.  U32						LLViewerObjectList::sSimulatorMachineIndex = 1; // Not zero deliberately, to speed up index check. -LLMap<U64, U32>			LLViewerObjectList::sIPAndPortToIndex; +std::map<U64, U32>			LLViewerObjectList::sIPAndPortToIndex;  std::map<U64, LLUUID>	LLViewerObjectList::sIndexAndLocalIDToUUID;  LLViewerObjectList::LLViewerObjectList() @@ -571,10 +571,9 @@ void LLViewerObjectList::processCachedObjectUpdate(LLMessageSystem *mesgsys,  void LLViewerObjectList::dirtyAllObjectInventory()  { -	S32 count = mObjects.count(); -	for(S32 i = 0; i < count; ++i) +	for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)  	{ -		mObjects[i]->dirtyInventory(); +		(*iter)->dirtyInventory();  	}  } @@ -587,14 +586,14 @@ void LLViewerObjectList::updateApparentAngles(LLAgent &agent)  	S32 num_updates, max_value;  	if (NUM_BINS - 1 == mCurBin)  	{ -		num_updates = mObjects.count() - mCurLazyUpdateIndex; -		max_value = mObjects.count(); +		num_updates = (S32) mObjects.size() - mCurLazyUpdateIndex; +		max_value = (S32) mObjects.size();  		gTextureList.setUpdateStats(TRUE);  	}  	else  	{ -		num_updates = (mObjects.count() / NUM_BINS) + 1; -		max_value = llmin(mObjects.count(), mCurLazyUpdateIndex + num_updates); +		num_updates = ((S32) mObjects.size() / NUM_BINS) + 1; +		max_value = llmin((S32) mObjects.size(), mCurLazyUpdateIndex + num_updates);  	} @@ -647,7 +646,7 @@ void LLViewerObjectList::updateApparentAngles(LLAgent &agent)  	}  	mCurLazyUpdateIndex = max_value; -	if (mCurLazyUpdateIndex == mObjects.count()) +	if (mCurLazyUpdateIndex == mObjects.size())  	{  		mCurLazyUpdateIndex = 0;  	} @@ -694,20 +693,26 @@ void LLViewerObjectList::update(LLAgent &agent, LLWorld &world)  	// Make a copy of the list in case something in idleUpdate() messes with it  	std::vector<LLViewerObject*> idle_list; -	idle_list.reserve( mActiveObjects.size() ); +	 +	static LLFastTimer::DeclareTimer idle_copy("Idle Copy"); - 	for (std::set<LLPointer<LLViewerObject> >::iterator active_iter = mActiveObjects.begin(); -		active_iter != mActiveObjects.end(); active_iter++)  	{ -		objectp = *active_iter; -		if (objectp) +		LLFastTimer t(idle_copy); +		idle_list.reserve( mActiveObjects.size() ); + + 		for (std::set<LLPointer<LLViewerObject> >::iterator active_iter = mActiveObjects.begin(); +			active_iter != mActiveObjects.end(); active_iter++)  		{ -			idle_list.push_back( objectp ); -		} -		else -		{	// There shouldn't be any NULL pointers in the list, but they have caused -			// crashes before.  This may be idleUpdate() messing with the list. -			llwarns << "LLViewerObjectList::update has a NULL objectp" << llendl; +			objectp = *active_iter; +			if (objectp) +			{ +				idle_list.push_back( objectp ); +			} +			else +			{	// There shouldn't be any NULL pointers in the list, but they have caused +				// crashes before.  This may be idleUpdate() messing with the list. +				llwarns << "LLViewerObjectList::update has a NULL objectp" << llendl; +			}  		}  	} @@ -807,7 +812,7 @@ void LLViewerObjectList::update(LLAgent &agent, LLWorld &world)  	}  	*/ -	LLViewerStats::getInstance()->mNumObjectsStat.addValue(mObjects.count()); +	LLViewerStats::getInstance()->mNumObjectsStat.addValue((S32) mObjects.size());  	LLViewerStats::getInstance()->mNumActiveObjectsStat.addValue(num_active_objects);  	LLViewerStats::getInstance()->mNumSizeCulledStat.addValue(mNumSizeCulled);  	LLViewerStats::getInstance()->mNumVisCulledStat.addValue(mNumVisCulled); @@ -815,9 +820,9 @@ void LLViewerObjectList::update(LLAgent &agent, LLWorld &world)  void LLViewerObjectList::clearDebugText()  { -	for (S32 i = 0; i < mObjects.count(); i++) +	for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)  	{ -		mObjects[i]->setDebugText(""); +		(*iter)->setDebugText("");  	}  } @@ -856,7 +861,7 @@ void LLViewerObjectList::cleanupReferences(LLViewerObject *objectp)  	if (objectp->isOnMap())  	{ -		mMapObjects.removeObj(objectp); +		removeFromMap(objectp);  	}  	// Don't clean up mObject references, these will be cleaned up more efficiently later! @@ -913,10 +918,10 @@ void LLViewerObjectList::killObjects(LLViewerRegion *regionp)  {  	LLViewerObject *objectp; -	S32 i; -	for (i = 0; i < mObjects.count(); i++) +	 +	for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)  	{ -		objectp = mObjects[i]; +		objectp = *iter;  		if (objectp->mRegionp == regionp)  		{ @@ -933,10 +938,9 @@ void LLViewerObjectList::killAllObjects()  	// Used only on global destruction.  	LLViewerObject *objectp; -	for (S32 i = 0; i < mObjects.count(); i++) +	for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)  	{ -		objectp = mObjects[i]; -		 +		objectp = *iter;  		killObject(objectp);  		llassert(objectp->isDead());  	} @@ -945,7 +949,7 @@ void LLViewerObjectList::killAllObjects()  	if(!mObjects.empty())  	{ -		llwarns << "LLViewerObjectList::killAllObjects still has entries in mObjects: " << mObjects.count() << llendl; +		llwarns << "LLViewerObjectList::killAllObjects still has entries in mObjects: " << mObjects.size() << llendl;  		mObjects.clear();  	} @@ -970,16 +974,15 @@ void LLViewerObjectList::cleanDeadObjects(BOOL use_timer)  		return;  	} -	S32 i = 0;  	S32 num_removed = 0;  	LLViewerObject *objectp; -	while (i < mObjects.count()) +	for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); )  	{  		// Scan for all of the dead objects and remove any "global" references to them. -		objectp = mObjects[i]; +		objectp = *iter;  		if (objectp->isDead())  		{ -			mObjects.remove(i); +			iter = mObjects.erase(iter);  			num_removed++;  			if (num_removed == mNumDeadObjects) @@ -990,8 +993,7 @@ void LLViewerObjectList::cleanDeadObjects(BOOL use_timer)  		}  		else  		{ -			// iterate, this isn't a dead object. -			i++; +			++iter;  		}  	} @@ -1041,12 +1043,11 @@ void LLViewerObjectList::shiftObjects(const LLVector3 &offset)  	}  	LLViewerObject *objectp; -	S32 i; -	for (i = 0; i < mObjects.count(); i++) +	for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)  	{ -		objectp = getObject(i); +		objectp = *iter;  		// There could be dead objects on the object list, so don't update stuff if the object is dead. -		if (objectp) +		if (!objectp->isDead())  		{  			objectp->updatePositionCaches(); @@ -1076,9 +1077,9 @@ void LLViewerObjectList::renderObjectsForMap(LLNetMap &netmap)  	F32 max_radius = gSavedSettings.getF32("MiniMapPrimMaxRadius"); -	for (S32 i = 0; i < mMapObjects.count(); i++) +	for (vobj_list_t::iterator iter = mMapObjects.begin(); iter != mMapObjects.end(); ++iter)  	{ -		LLViewerObject* objectp = mMapObjects[i]; +		LLViewerObject* objectp = *iter;  		if (!objectp->getRegion() || objectp->isOrphaned() || objectp->isAttachment())  		{  			continue; @@ -1144,21 +1145,14 @@ void LLViewerObjectList::renderObjectBounds(const LLVector3 ¢er)  {  } -void LLViewerObjectList::renderObjectsForSelect(LLCamera &camera, const LLRect& screen_rect, BOOL pick_parcel_wall, BOOL render_transparent) -{ -	generatePickList(camera); -	renderPickList(screen_rect, pick_parcel_wall, render_transparent); -} -  void LLViewerObjectList::generatePickList(LLCamera &camera)  {  		LLViewerObject *objectp;  		S32 i;  		// Reset all of the GL names to zero. -		for (i = 0; i < mObjects.count(); i++) +		for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)  		{ -			objectp = mObjects[i]; -			objectp->mGLName = 0; +			(*iter)->mGLName = 0;  		}  		mSelectPickList.clear(); @@ -1321,17 +1315,19 @@ void LLViewerObjectList::addDebugBeacon(const LLVector3 &pos_agent,  										const LLColor4 &text_color,  										S32 line_width)  { -	LLDebugBeacon *beaconp = mDebugBeacons.reserve_block(1); -	beaconp->mPositionAgent = pos_agent; -	beaconp->mString = string; -	beaconp->mColor = color; -	beaconp->mTextColor = text_color; -	beaconp->mLineWidth = line_width; +	LLDebugBeacon beacon; +	beacon.mPositionAgent = pos_agent; +	beacon.mString = string; +	beacon.mColor = color; +	beacon.mTextColor = text_color; +	beacon.mLineWidth = line_width; + +	mDebugBeacons.push_back(beacon);  }  void LLViewerObjectList::resetObjectBeacons()  { -	mDebugBeacons.reset(); +	mDebugBeacons.clear();  }  LLViewerObject *LLViewerObjectList::createObjectViewer(const LLPCode pcode, LLViewerRegion *regionp) @@ -1349,7 +1345,7 @@ LLViewerObject *LLViewerObjectList::createObjectViewer(const LLPCode pcode, LLVi  	mUUIDObjectMap[fullid] = objectp; -	mObjects.put(objectp); +	mObjects.push_back(objectp);  	updateActive(objectp); @@ -1388,7 +1384,7 @@ LLViewerObject *LLViewerObjectList::createObject(const LLPCode pcode, LLViewerRe  					gMessageSystem->getSenderIP(),  					gMessageSystem->getSenderPort()); -	mObjects.put(objectp); +	mObjects.push_back(objectp);  	updateActive(objectp); @@ -1411,11 +1407,11 @@ LLViewerObject *LLViewerObjectList::replaceObject(const LLUUID &id, const LLPCod  S32 LLViewerObjectList::findReferences(LLDrawable *drawablep) const  {  	LLViewerObject *objectp; -	S32 i;  	S32 num_refs = 0; -	for (i = 0; i < mObjects.count(); i++) +	 +	for (vobj_list_t::const_iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)  	{ -		objectp = mObjects[i]; +		objectp = *iter;  		if (objectp->mDrawable.notNull())  		{  			num_refs += objectp->mDrawable->findReferences(drawablep); @@ -1460,15 +1456,15 @@ void LLViewerObjectList::orphanize(LLViewerObject *childp, U32 parent_id, U32 ip  	// Unknown parent, add to orpaned child list  	U64 parent_info = getIndex(parent_id, ip, port); -	if (-1 == mOrphanParents.find(parent_info)) +	if (std::find(mOrphanParents.begin(), mOrphanParents.end(), parent_info) == mOrphanParents.end())  	{ -		mOrphanParents.put(parent_info); +		mOrphanParents.push_back(parent_info);  	}  	LLViewerObjectList::OrphanInfo oi(parent_info, childp->mID); -	if (-1 == mOrphanChildren.find(oi)) +	if (std::find(mOrphanChildren.begin(), mOrphanChildren.end(), oi) == mOrphanChildren.end())  	{ -		mOrphanChildren.put(oi); +		mOrphanChildren.push_back(oi);  		mNumOrphans++;  	}  } @@ -1491,28 +1487,29 @@ void LLViewerObjectList::findOrphans(LLViewerObject* objectp, U32 ip, U32 port)  	// See if we are a parent of an orphan.  	// Note:  This code is fairly inefficient but it should happen very rarely.  	// It can be sped up if this is somehow a performance issue... -	if (0 == mOrphanParents.count()) +	if (mOrphanParents.empty())  	{  		// no known orphan parents  		return;  	} -	if (-1 == mOrphanParents.find(getIndex(objectp->mLocalID, ip, port))) +	if (std::find(mOrphanParents.begin(), mOrphanParents.end(), getIndex(objectp->mLocalID, ip, port)) == mOrphanParents.end())  	{  		// did not find objectp in OrphanParent list  		return;  	} -	S32 i;  	U64 parent_info = getIndex(objectp->mLocalID, ip, port);  	BOOL orphans_found = FALSE;  	// Iterate through the orphan list, and set parents of matching children. -	for (i = 0; i < mOrphanChildren.count(); i++) -	{ -		if (mOrphanChildren[i].mParentInfo != parent_info) + +	for (std::vector<OrphanInfo>::iterator iter = mOrphanChildren.begin(); iter != mOrphanChildren.end(); ) +	{	 +		if (iter->mParentInfo != parent_info)  		{ +			++iter;  			continue;  		} -		LLViewerObject *childp = findObject(mOrphanChildren[i].mChildInfo); +		LLViewerObject *childp = findObject(iter->mChildInfo);  		if (childp)  		{  			if (childp == objectp) @@ -1546,29 +1543,35 @@ void LLViewerObjectList::findOrphans(LLViewerObject* objectp, U32 ip, U32 port)  			objectp->addChild(childp);  			orphans_found = TRUE; +			++iter;  		}  		else  		{  			llinfos << "Missing orphan child, removing from list" << llendl; -			mOrphanChildren.remove(i); -			i--; + +			iter = mOrphanChildren.erase(iter);  		}  	}  	// Remove orphan parent and children from lists now that they've been found -	mOrphanParents.remove(mOrphanParents.find(parent_info)); - -	i = 0; -	while (i < mOrphanChildren.count())  	{ -		if (mOrphanChildren[i].mParentInfo == parent_info) +		std::vector<U64>::iterator iter = std::find(mOrphanParents.begin(), mOrphanParents.end(), parent_info); +		if (iter != mOrphanParents.end()) +		{ +			mOrphanParents.erase(iter); +		} +	} +	 +	for (std::vector<OrphanInfo>::iterator iter = mOrphanChildren.begin(); iter != mOrphanChildren.end(); ) +	{ +		if (iter->mParentInfo == parent_info)  		{ -			mOrphanChildren.remove(i); +			iter = mOrphanChildren.erase(iter);  			mNumOrphans--;  		}  		else  		{ -			i++; +			++iter;  		}  	} diff --git a/indra/newview/llviewerobjectlist.h b/indra/newview/llviewerobjectlist.h index 2858081dc9..706966deae 100644 --- a/indra/newview/llviewerobjectlist.h +++ b/indra/newview/llviewerobjectlist.h @@ -38,8 +38,6 @@  // common includes  #include "llstat.h" -#include "lldarrayptr.h" -#include "llmap.h"			// *TODO: switch to std::map  #include "llstring.h"  // project includes @@ -50,7 +48,7 @@ class LLNetMap;  class LLDebugBeacon;  const U32 CLOSE_BIN_SIZE = 10; -const U32 NUM_BINS = 16; +const U32 NUM_BINS = 128;  // GL name = position in object list + GL_NAME_INDEX_OFFSET so that  // we can have special numbers like zero. @@ -111,13 +109,12 @@ public:  	void updateAvatarVisibility();  	// Selection related stuff -	void renderObjectsForSelect(LLCamera &camera, const LLRect& screen_rect, BOOL pick_parcel_wall = FALSE, BOOL render_transparent = TRUE);  	void generatePickList(LLCamera &camera);  	void renderPickList(const LLRect& screen_rect, BOOL pick_parcel_wall, BOOL render_transparent);  	LLViewerObject *getSelectedObject(const U32 object_id); -	inline S32 getNumObjects() { return mObjects.count(); } +	inline S32 getNumObjects() { return (S32) mObjects.size(); }  	void addToMap(LLViewerObject *objectp);  	void removeFromMap(LLViewerObject *objectp); @@ -131,7 +128,7 @@ public:  	S32 findReferences(LLDrawable *drawablep) const; // Find references to drawable in all objects, and return value. -	S32 getOrphanParentCount() const { return mOrphanParents.count(); } +	S32 getOrphanParentCount() const { return (S32) mOrphanParents.size(); }  	S32 getOrphanCount() const { return mNumOrphans; }  	void orphanize(LLViewerObject *childp, U32 parent_id, U32 ip, U32 port);  	void findOrphans(LLViewerObject* objectp, U32 ip, U32 port); @@ -179,26 +176,28 @@ public:  	S32 mNumUnknownKills;  	S32 mNumDeadObjects;  protected: -	LLDynamicArray<U64>	mOrphanParents;	// LocalID/ip,port of orphaned objects -	LLDynamicArray<OrphanInfo> mOrphanChildren;	// UUID's of orphaned objects +	std::vector<U64>	mOrphanParents;	// LocalID/ip,port of orphaned objects +	std::vector<OrphanInfo> mOrphanChildren;	// UUID's of orphaned objects  	S32 mNumOrphans; -	LLDynamicArrayPtr<LLPointer<LLViewerObject>, 256> mObjects; +	typedef std::vector<LLPointer<LLViewerObject> > vobj_list_t; + +	vobj_list_t mObjects;  	std::set<LLPointer<LLViewerObject> > mActiveObjects; -	LLDynamicArrayPtr<LLPointer<LLViewerObject> > mMapObjects; +	vobj_list_t mMapObjects;  	typedef std::map<LLUUID, LLPointer<LLViewerObject> > vo_map;  	vo_map mDeadObjects;	// Need to keep multiple entries per UUID  	std::map<LLUUID, LLPointer<LLViewerObject> > mUUIDObjectMap; -	LLDynamicArray<LLDebugBeacon> mDebugBeacons; +	std::vector<LLDebugBeacon> mDebugBeacons;  	S32 mCurLazyUpdateIndex;  	static U32 sSimulatorMachineIndex; -	static LLMap<U64, U32> sIPAndPortToIndex; +	static std::map<U64, U32> sIPAndPortToIndex;  	static std::map<U64, LLUUID> sIndexAndLocalIDToUUID; @@ -264,12 +263,16 @@ inline LLViewerObject *LLViewerObjectList::getObject(const S32 index)  inline void LLViewerObjectList::addToMap(LLViewerObject *objectp)  { -	mMapObjects.put(objectp); +	mMapObjects.push_back(objectp);  }  inline void LLViewerObjectList::removeFromMap(LLViewerObject *objectp)  { -	mMapObjects.removeObj(objectp); +	std::vector<LLPointer<LLViewerObject> >::iterator iter = std::find(mMapObjects.begin(), mMapObjects.end(), objectp); +	if (iter != mMapObjects.end()) +	{ +		mMapObjects.erase(iter); +	}  } diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index eba6463d84..f1ec489a20 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -486,6 +486,10 @@ public:  			}              ypos += y_inc; +			addText(xpos, ypos, llformat("UI Verts/Calls: %d/%d", LLRender::sUIVerts, LLRender::sUICalls)); +			LLRender::sUICalls = LLRender::sUIVerts = 0; +			ypos += y_inc; +  			addText(xpos,ypos, llformat("%d/%d Nodes visible", gPipeline.mNumVisibleNodes, LLSpatialGroup::sNodeCount));  			ypos += y_inc; @@ -2006,12 +2010,15 @@ void LLViewerWindow::drawDebugText()  {  	gGL.color4f(1,1,1,1);  	gGL.pushMatrix(); +	gGL.pushUIMatrix();  	{  		// scale view by UI global scale factor and aspect ratio correction factor -		glScalef(mDisplayScale.mV[VX], mDisplayScale.mV[VY], 1.f); +		gGL.scaleUI(mDisplayScale.mV[VX], mDisplayScale.mV[VY], 1.f);  		mDebugText->draw();  	} +	gGL.popUIMatrix();  	gGL.popMatrix(); +  	gGL.flush();  } @@ -2059,9 +2066,11 @@ void LLViewerWindow::draw()  	// No translation needed, this view is glued to 0,0  	gGL.pushMatrix(); +	LLUI::pushMatrix();  	{ +		  		// scale view by UI global scale factor and aspect ratio correction factor -		glScalef(mDisplayScale.mV[VX], mDisplayScale.mV[VY], 1.f); +		gGL.scaleUI(mDisplayScale.mV[VX], mDisplayScale.mV[VY], 1.f);  		LLVector2 old_scale_factor = LLUI::sGLScaleFactor;  		// apply camera zoom transform (for high res screenshots) @@ -2127,6 +2136,7 @@ void LLViewerWindow::draw()  		LLUI::sGLScaleFactor = old_scale_factor;  	} +	LLUI::popMatrix();  	gGL.popMatrix();  #if LL_DEBUG @@ -2479,6 +2489,9 @@ void append_xui_tooltip(LLView* viewp, LLToolTip::Params& params)  // event processing.  void LLViewerWindow::updateUI()  { +	static LLFastTimer::DeclareTimer ftm("Update UI"); +	LLFastTimer t(ftm); +  	static std::string last_handle_msg;  	LLConsole::updateClass(); @@ -3059,7 +3072,6 @@ void LLViewerWindow::saveLastMouse(const LLCoordGL &point)  // Must be called after displayObjects is called, which sets the mGLName parameter  // NOTE: This function gets called 3 times:  //  render_ui_3d: 			FALSE, FALSE, TRUE -//  renderObjectsForSelect:	TRUE, pick_parcel_wall, FALSE  //  render_hud_elements:	FALSE, FALSE, FALSE  void LLViewerWindow::renderSelections( BOOL for_gl_pick, BOOL pick_parcel_walls, BOOL for_hud )  { diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 00998b300a..4347dec805 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -211,6 +211,8 @@ BOOL LLVOAvatarSelf::buildSkeletonSelf(const LLVOAvatarSkeletonInfo *info)  	LLVector3 scale(1.f, aspect, 1.f);  	mScreenp->setScale(scale);  	mScreenp->setWorldPosition(LLVector3::zero); +	// need to update screen agressively when sidebar opens/closes, for example +	mScreenp->mUpdateXform = TRUE;  	return TRUE;  } diff --git a/indra/newview/llvoclouds.cpp b/indra/newview/llvoclouds.cpp index 177cb16c50..5153cef709 100644 --- a/indra/newview/llvoclouds.cpp +++ b/indra/newview/llvoclouds.cpp @@ -77,9 +77,11 @@ BOOL LLVOClouds::isActive() const  	return TRUE;  } -  BOOL LLVOClouds::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)  { +	static LLFastTimer::DeclareTimer ftm("Idle Clouds"); +	LLFastTimer t(ftm); +  	if (!(gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_CLOUDS)))  	{  		return TRUE; diff --git a/indra/newview/llvotextbubble.cpp b/indra/newview/llvotextbubble.cpp index 75beab519e..428ef20006 100644 --- a/indra/newview/llvotextbubble.cpp +++ b/indra/newview/llvotextbubble.cpp @@ -84,6 +84,9 @@ BOOL LLVOTextBubble::isActive() const  BOOL LLVOTextBubble::idleUpdate(LLAgent &agent, LLWorld	&world, const F64 &time)  { +	static LLFastTimer::DeclareTimer ftm("Text Bubble"); +	LLFastTimer t(ftm); +  	F32 dt = mUpdateTimer.getElapsedTimeF32();  	// Die after a few seconds.  	if (dt > 1.5f) diff --git a/indra/newview/llvotree.cpp b/indra/newview/llvotree.cpp index 24f1c4bd24..55e2c58a52 100644 --- a/indra/newview/llvotree.cpp +++ b/indra/newview/llvotree.cpp @@ -1141,7 +1141,7 @@ U32 LLVOTree::drawBranchPipeline(LLMatrix4& matrix, U16* indicesp, S32 trunk_LOD  				glLoadMatrixf((F32*) scale_mat.mMatrix);   				glDrawElements(GL_TRIANGLES, sLODIndexCount[trunk_LOD], GL_UNSIGNED_SHORT, indicesp + sLODIndexOffset[trunk_LOD]); -				gPipeline.addTrianglesDrawn(LEAF_INDICES/3); +				gPipeline.addTrianglesDrawn(LEAF_INDICES);  				stop_glerror();  				ret += sLODIndexCount[trunk_LOD];  			} @@ -1191,7 +1191,7 @@ U32 LLVOTree::drawBranchPipeline(LLMatrix4& matrix, U16* indicesp, S32 trunk_LOD  				glLoadMatrixf((F32*) scale_mat.mMatrix);  				glDrawElements(GL_TRIANGLES, LEAF_INDICES, GL_UNSIGNED_SHORT, indicesp); -				gPipeline.addTrianglesDrawn(LEAF_INDICES/3);							 +				gPipeline.addTrianglesDrawn(LEAF_INDICES);							  				stop_glerror();  				ret += LEAF_INDICES;  			} @@ -1216,7 +1216,7 @@ U32 LLVOTree::drawBranchPipeline(LLMatrix4& matrix, U16* indicesp, S32 trunk_LOD  		glLoadMatrixf((F32*) scale_mat.mMatrix);  		glDrawElements(GL_TRIANGLES, LEAF_INDICES, GL_UNSIGNED_SHORT, indicesp); -		gPipeline.addTrianglesDrawn(LEAF_INDICES/3); +		gPipeline.addTrianglesDrawn(LEAF_INDICES);  		stop_glerror();  		ret += LEAF_INDICES; diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 14bedaa49c..f1b27fb4df 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -603,6 +603,9 @@ BOOL LLVOVolume::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)  {  	LLViewerObject::idleUpdate(agent, world, time); +	static LLFastTimer::DeclareTimer ftm("Volume"); +	LLFastTimer t(ftm); +  	if (mDead || mDrawable.isNull())  	{  		return TRUE; @@ -624,6 +627,18 @@ BOOL LLVOVolume::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)  		mVolumeImpl->doIdleUpdate(agent, world, time);  	} +	const S32 MAX_ACTIVE_OBJECT_QUIET_FRAMES = 40; + +	if (mDrawable->isActive()) +	{ +		if (mDrawable->isRoot() &&  +			mDrawable->mQuietCount++ > MAX_ACTIVE_OBJECT_QUIET_FRAMES &&  +			(!mDrawable->getParent() || !mDrawable->getParent()->isActive())) +		{ +			mDrawable->makeStatic(); +		} +	} +  	return TRUE;  } @@ -1073,7 +1088,7 @@ BOOL LLVOVolume::calcLOD()  	S32 cur_detail = 0;  	F32 radius = getVolume()->mLODScaleBias.scaledVec(getScale()).length(); -	F32 distance = llmin(mDrawable->mDistanceWRTCamera, MAX_LOD_DISTANCE); +	F32 distance = mDrawable->mDistanceWRTCamera; //llmin(mDrawable->mDistanceWRTCamera, MAX_LOD_DISTANCE);  	distance *= sDistanceFactor;  	F32 rampDist = LLVOVolume::sLODFactor * 2; @@ -1500,7 +1515,14 @@ void LLVOVolume::updateFaceSize(S32 idx)  	else  	{  		const LLVolumeFace& vol_face = getVolume()->getVolumeFace(idx); -		facep->setSize(vol_face.mVertices.size(), vol_face.mIndices.size()); +		if (LLPipeline::sUseTriStrips) +		{ +			facep->setSize(vol_face.mVertices.size(), vol_face.mTriStrip.size()); +		} +		else +		{ +			facep->setSize(vol_face.mVertices.size(), vol_face.mIndices.size()); +		}  	}  } @@ -3250,6 +3272,11 @@ void LLVolumeGeometryManager::registerFace(LLSpatialGroup* group, LLFace* facep,  		draw_info->mExtents[0] = facep->mExtents[0];  		draw_info->mExtents[1] = facep->mExtents[1];  		validate_draw_info(*draw_info); + +		if (LLPipeline::sUseTriStrips) +		{ +			draw_info->mDrawMode = LLRender::TRIANGLE_STRIP; +		}  	}  } @@ -3334,7 +3361,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)  			drawablep->updateFaceSize(i);  			LLFace* facep = drawablep->getFace(i); -			if (cur_total > max_total) +			if (cur_total > max_total || facep->getIndicesCount() <= 0 || facep->getGeomCount() <= 0)  			{  				facep->mVertexBuffer = NULL;  				facep->mLastVertexBuffer = NULL; diff --git a/indra/newview/llvowlsky.cpp b/indra/newview/llvowlsky.cpp index 0272a2ab34..1749ccef94 100644 --- a/indra/newview/llvowlsky.cpp +++ b/indra/newview/llvowlsky.cpp @@ -519,7 +519,7 @@ void LLVOWLSky::drawDome(void)  			LLRender::TRIANGLE_STRIP,   			0, strips_segment->getRequestedVerts()-1, strips_segment->getRequestedIndices(),   			0); -		gPipeline.addTrianglesDrawn(strips_segment->getRequestedIndices() - 2); +		gPipeline.addTrianglesDrawn(strips_segment->getRequestedIndices(), LLRender::TRIANGLE_STRIP);  	}  #else diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index 118d7f8d08..d7e5b464a6 100644 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -657,6 +657,9 @@ void LLWorld::updateParticles()  void LLWorld::updateClouds(const F32 dt)  { +	static LLFastTimer::DeclareTimer ftm("World Clouds"); +	LLFastTimer t(ftm); +  	if (gSavedSettings.getBOOL("FreezeTime") ||  		!gSavedSettings.getBOOL("SkyUseClassicClouds"))  	{ diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 57e75ddf30..259ca21e93 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -116,7 +116,6 @@ const F32 BACKLIGHT_DAY_MAGNITUDE_AVATAR = 0.2f;  const F32 BACKLIGHT_NIGHT_MAGNITUDE_AVATAR = 0.1f;  const F32 BACKLIGHT_DAY_MAGNITUDE_OBJECT = 0.1f;  const F32 BACKLIGHT_NIGHT_MAGNITUDE_OBJECT = 0.08f; -const S32 MAX_ACTIVE_OBJECT_QUIET_FRAMES = 40;  const S32 MAX_OFFSCREEN_GEOMETRY_CHANGES_PER_FRAME = 10;  const U32 REFLECTION_MAP_RES = 128; @@ -271,6 +270,7 @@ BOOL	LLPipeline::sDelayVBUpdate = TRUE;  BOOL	LLPipeline::sFastAlpha = TRUE;  BOOL	LLPipeline::sDisableShaders = FALSE;  BOOL	LLPipeline::sRenderBump = TRUE; +BOOL	LLPipeline::sUseTriStrips = TRUE;  BOOL	LLPipeline::sUseFarClip = TRUE;  BOOL	LLPipeline::sShadowRender = FALSE;  BOOL	LLPipeline::sWaterReflections = FALSE; @@ -359,6 +359,7 @@ void LLPipeline::init()  	sDynamicLOD = gSavedSettings.getBOOL("RenderDynamicLOD");  	sRenderBump = gSavedSettings.getBOOL("RenderObjectBump"); +	sUseTriStrips = gSavedSettings.getBOOL("RenderUseTriStrips");  	sRenderAttachedLights = gSavedSettings.getBOOL("RenderAttachedLights");  	sRenderAttachedParticles = gSavedSettings.getBOOL("RenderAttachedParticles"); @@ -1410,38 +1411,26 @@ void LLPipeline::updateMove()  	assertInitialized(); -	for (LLDrawable::drawable_set_t::iterator iter = mRetexturedList.begin(); -		 iter != mRetexturedList.end(); ++iter)  	{ -		LLDrawable* drawablep = *iter; -		if (drawablep && !drawablep->isDead()) -		{ -			drawablep->updateTexture(); -		} -	} -	mRetexturedList.clear(); - -	updateMovedList(mMovedList); +		static LLFastTimer::DeclareTimer ftm("Retexture"); +		LLFastTimer t(ftm); -	for (LLDrawable::drawable_set_t::iterator iter = mActiveQ.begin(); -		 iter != mActiveQ.end(); ) -	{ -		LLDrawable::drawable_set_t::iterator curiter = iter++; -		LLDrawable* drawablep = *curiter; -		if (drawablep && !drawablep->isDead())  +		for (LLDrawable::drawable_set_t::iterator iter = mRetexturedList.begin(); +			 iter != mRetexturedList.end(); ++iter)  		{ -			if (drawablep->isRoot() &&  -				drawablep->mQuietCount++ > MAX_ACTIVE_OBJECT_QUIET_FRAMES &&  -				(!drawablep->getParent() || !drawablep->getParent()->isActive())) +			LLDrawable* drawablep = *iter; +			if (drawablep && !drawablep->isDead())  			{ -				drawablep->makeStatic(); // removes drawable and its children from mActiveQ -				iter = mActiveQ.upper_bound(drawablep); // next valid entry +				drawablep->updateTexture();  			}  		} -		else -		{ -			mActiveQ.erase(curiter); -		} +		mRetexturedList.clear(); +	} + +	{ +		static LLFastTimer::DeclareTimer ftm("Moved List"); +		LLFastTimer t(ftm); +		updateMovedList(mMovedList);  	}  	//balance octrees @@ -3055,12 +3044,6 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)  		}  	} -	if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_PICKING)) -	{ -		LLAppViewer::instance()->pingMainloopTimeout("Pipeline:RenderForSelect"); -		gObjectList.renderObjectsForSelect(camera, gViewerWindow->getWindowRectScaled()); -	} -	else  	{  		LLFastTimer t(FTM_POOLS); @@ -3509,9 +3492,19 @@ void LLPipeline::renderGeomShadow(LLCamera& camera)  } -void LLPipeline::addTrianglesDrawn(S32 count) +void LLPipeline::addTrianglesDrawn(S32 index_count, U32 render_type)  {  	assertInitialized(); +	S32 count = 0; +	if (render_type == LLRender::TRIANGLE_STRIP) +	{ +		count = index_count-2; +	} +	else +	{ +		count = index_count/3; +	} +  	mTrianglesDrawn += count;  	mBatchCount++;  	mMaxBatchSize = llmax(mMaxBatchSize, count); @@ -4792,10 +4785,6 @@ void LLPipeline::findReferences(LLDrawable *drawablep)  		llinfos << "In mRetexturedList" << llendl;  	} -	if (mActiveQ.find(drawablep) != mActiveQ.end()) -	{ -		llinfos << "In mActiveQ" << llendl; -	}  	if (std::find(mBuildQ1.begin(), mBuildQ1.end(), drawablep) != mBuildQ1.end())  	{  		llinfos << "In mBuildQ1" << llendl; @@ -4952,19 +4941,6 @@ void LLPipeline::setLight(LLDrawable *drawablep, BOOL is_light)  	}  } -void LLPipeline::setActive(LLDrawable *drawablep, BOOL active) -{ -	assertInitialized(); -	if (active) -	{ -		mActiveQ.insert(drawablep); -	} -	else -	{ -		mActiveQ.erase(drawablep); -	} -} -  //static  void LLPipeline::toggleRenderType(U32 type)  { @@ -5380,6 +5356,7 @@ void LLPipeline::resetVertexBuffers(LLDrawable* drawable)  void LLPipeline::resetVertexBuffers()  {  	sRenderBump = gSavedSettings.getBOOL("RenderObjectBump"); +	sUseTriStrips = gSavedSettings.getBOOL("RenderUseTriStrips");  	for (LLWorld::region_list_t::const_iterator iter = LLWorld::getInstance()->getRegionList().begin();   			iter != LLWorld::getInstance()->getRegionList().end(); ++iter) diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index 711d40b138..6aecc23aac 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -270,15 +270,14 @@ public:  	void shiftObjects(const LLVector3 &offset);  	void setLight(LLDrawable *drawablep, BOOL is_light); -	void setActive(LLDrawable *drawablep, BOOL active); - +	  	BOOL hasRenderBatches(const U32 type) const;  	LLCullResult::drawinfo_list_t::iterator beginRenderMap(U32 type);  	LLCullResult::drawinfo_list_t::iterator endRenderMap(U32 type);  	LLCullResult::sg_list_t::iterator beginAlphaGroups();  	LLCullResult::sg_list_t::iterator endAlphaGroups(); -	void addTrianglesDrawn(S32 count); +	void addTrianglesDrawn(S32 index_count, U32 render_type = LLRender::TRIANGLES);  	BOOL hasRenderType(const U32 type) const				{ return (type && (mRenderTypeMask & (1<<type))) ? TRUE : FALSE; }  	BOOL hasRenderDebugFeatureMask(const U32 mask) const	{ return (mRenderDebugFeatureMask & mask) ? TRUE : FALSE; }  	BOOL hasRenderDebugMask(const U32 mask) const			{ return (mRenderDebugMask & mask) ? TRUE : FALSE; } @@ -448,7 +447,7 @@ public:  	static BOOL				sFastAlpha;  	static BOOL				sDisableShaders; // if TRUE, rendering will be done without shaders  	static BOOL				sRenderBump; -	static BOOL				sUseFBO; +	static BOOL				sUseTriStrips;  	static BOOL				sUseFarClip;  	static BOOL				sShadowRender;  	static BOOL				sWaterReflections; @@ -589,8 +588,6 @@ protected:  	LLViewerObject::vobj_list_t		mCreateQ; -	LLDrawable::drawable_set_t		mActiveQ; -	  	LLDrawable::drawable_set_t		mRetexturedList;  	class HighlightItem diff --git a/indra/newview/skins/default/xui/de/floater_beacons.xml b/indra/newview/skins/default/xui/de/floater_beacons.xml index 50a4555ae0..6e83e0419b 100644 --- a/indra/newview/skins/default/xui/de/floater_beacons.xml +++ b/indra/newview/skins/default/xui/de/floater_beacons.xml @@ -5,7 +5,7 @@  			Anzeigen:  		</text>  		<check_box label="Strahlen" name="beacons"/> -		<check_box label="Glanzlichter" name="highlights"/> +		<check_box label="Hervorhebung" name="highlights"/>  		<text name="beacon_width_label" tool_tip="Strahlbreite">  			Breite:  		</text> diff --git a/indra/newview/skins/default/xui/de/floater_god_tools.xml b/indra/newview/skins/default/xui/de/floater_god_tools.xml index 30b151ca58..2bb123ad51 100644 --- a/indra/newview/skins/default/xui/de/floater_god_tools.xml +++ b/indra/newview/skins/default/xui/de/floater_god_tools.xml @@ -7,7 +7,7 @@  		</panel>  		<panel label="Region" name="region">  			<text name="Sim Name:" width="55"> -				Sim-Name: +				Sim:  			</text>  			<check_box label="Startbereich Einleitung" name="check prelude" tool_tip="Diese Region zu einem Startbereich machen."/>  			<check_box label="Sonne fest" name="check fixed sun" tool_tip="Fixiert den Sonnenstand (wie in „Region/Grundstück“ > „Terrain“."/> @@ -41,7 +41,7 @@  				Abrechnungsfaktor:  			</text>  			<text name="land cost text"> -				L$ pro qm: +				L$ pro m²:  			</text>  			<button label="Aktualisieren" label_selected="Aktualisieren" name="Refresh" tool_tip="Klicken Sie hier, um die obigen Informationen zu aktualisieren."/>  			<button label="Übernehmen" label_selected="Übernehmen" name="Apply" tool_tip="Klicken Sie hier, um die obigen Änderungen zu übernehmen."/> diff --git a/indra/newview/skins/default/xui/de/floater_report_abuse.xml b/indra/newview/skins/default/xui/de/floater_report_abuse.xml index 02be3b3ed9..49e6d031d6 100644 --- a/indra/newview/skins/default/xui/de/floater_report_abuse.xml +++ b/indra/newview/skins/default/xui/de/floater_report_abuse.xml @@ -23,7 +23,7 @@  		{128.1, 128.1, 15.4}  	</text>  	<text bottom_delta="-38" height="32" name="select_object_label"> -		Klicken Sie auf die Schaltfläche, dann auf das entsprechende  +		Klicken Sie die Schaltfläche, dann das entsprechende   Objekt:  	</text>  	<button label="" label_selected="" name="pick_btn" tool_tip="Objektauswahl – Wählen Sie ein Objekt als Thema dieses Berichts aus"/> diff --git a/indra/newview/skins/default/xui/de/floater_sell_land.xml b/indra/newview/skins/default/xui/de/floater_sell_land.xml index 09eae40477..8f67fae464 100644 --- a/indra/newview/skins/default/xui/de/floater_sell_land.xml +++ b/indra/newview/skins/default/xui/de/floater_sell_land.xml @@ -21,7 +21,7 @@  				1. Preis festlegen:  			</text>  			<text name="price_text" > -				Prei angeben +				Preis eingeben  			</text>  			<text name="price_ld">  				L$ @@ -58,7 +58,7 @@  			<text name="nag_message_label">  				ACHTUNG: Verkäufe sind endgültig.  			</text> -			<button label="Land zum Verkauf freigeben" name="sell_btn" width="180"/> +			<button label="Zum Verkauf freigeben" name="sell_btn" width="180"/>  			<button label="Abbrechen" name="cancel_btn"/>  		</panel>  	</scroll_container> diff --git a/indra/newview/skins/default/xui/de/floater_telehub.xml b/indra/newview/skins/default/xui/de/floater_telehub.xml index 4d3c96bc87..83d37b2ce4 100644 --- a/indra/newview/skins/default/xui/de/floater_telehub.xml +++ b/indra/newview/skins/default/xui/de/floater_telehub.xml @@ -21,7 +21,7 @@  	<button label="Spawn hinzufügen" name="add_spawn_point_btn"/>  	<button label="Spawn entfernen" name="remove_spawn_point_btn"/>  	<text name="spawn_point_help"> -		Wählen Sie ein Objekt und klicken zur Positionsangabe auf Spawn hinzufügen. +		Wählen Sie ein Objekt und klicken Sie zur Positionsangabe auf Spawn hinzufügen.  Anschließend können Sie das Objekt verschieben oder löschen.  Positionsangaben sind relativ zum Telehub-Mittelpunkt.  Wählen Sie ein Objekt aus der Liste aus, um dieses inworld zu markieren. diff --git a/indra/newview/skins/default/xui/de/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/de/floater_texture_ctrl.xml index 4e2d8a9274..d20ab8d1c3 100644 --- a/indra/newview/skins/default/xui/de/floater_texture_ctrl.xml +++ b/indra/newview/skins/default/xui/de/floater_texture_ctrl.xml @@ -4,7 +4,7 @@  		Zum Auswählen eines Bildes hier klicken  	</string>  	<text name="Multiple"> -		Mehrer Texturen +		Mehrere Texturen  	</text>  	<text name="unknown">  		Größe: [DIMENSIONS] diff --git a/indra/newview/skins/default/xui/de/floater_tools.xml b/indra/newview/skins/default/xui/de/floater_tools.xml index b5c02cce0b..34f97af04f 100644 --- a/indra/newview/skins/default/xui/de/floater_tools.xml +++ b/indra/newview/skins/default/xui/de/floater_tools.xml @@ -64,7 +64,7 @@  		<radio_item label="Fläche auswählen" name="radio select face"/>  	</radio_group>  	<check_box label="Verknüpfte Teile bearbeiten" name="checkbox edit linked parts"/> -	<text name="RenderingCost" tool_tip="Zeigt die errechneten Wiedergabekosten für diesen Objekt"> +	<text name="RenderingCost" tool_tip="Zeigt die errechneten Wiedergabekosten für dieses Objekt">  		þ: [COUNT]  	</text>  	<check_box label="Beide Seiten dehnen" name="checkbox uniform"/> diff --git a/indra/newview/skins/default/xui/de/panel_nearby_media.xml b/indra/newview/skins/default/xui/de/panel_nearby_media.xml index ec2ad42fa1..2d97a25fa9 100644 --- a/indra/newview/skins/default/xui/de/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/de/panel_nearby_media.xml @@ -1,8 +1,5 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <panel name="nearby_media"> -	<string name="media_item_count_format"> -		(%ls Medien-Objekte) -	</string>  	<string name="empty_item_text">  		<leer>  	</string> diff --git a/indra/newview/skins/default/xui/en/panel_nearby_media.xml b/indra/newview/skins/default/xui/en/panel_nearby_media.xml index 0f911f789e..7c0ce9e62e 100644 --- a/indra/newview/skins/default/xui/en/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/en/panel_nearby_media.xml @@ -2,23 +2,23 @@  <panel  	can_resize="true"  	can_close="false" - bg_opaque_image="Volume_Background"  - bg_alpha_image="Volume_Background"  -  background_opaque="true" +	mouse_opaque="true" +	bg_opaque_image="Volume_Background"  +	bg_alpha_image="Volume_Background"  +	background_opaque="true"  	background_visible="true"  	layout="topleft"  	width="270"  	height="235"  	name="nearby_media"  	help_topic="nearby_media"> -  <string name="media_item_count_format">(%ld media items)</string>    <string name="empty_item_text"><empty></string>    <string name="parcel_media_name">Parcel Streaming Media</string>    <string name="parcel_audio_name">Parcel Streaming Audio</string>    <string name="playing_suffix">(playing)</string>    <panel  	  bevel_style="in" -    background_visible="false"  +	  background_visible="false"   	  follows="left|right|top"  	  top="0"  	  height="30" @@ -98,20 +98,6 @@  		width="100">  	  Nearby Media  	</text> -	<!-- nix for now -		 <text -		 bottom_delta="1" -		 type="string" -		 follows="top|left|right" -		 font="SansSerif" -		 font.style="ITALIC" -		 font.size="Small" -		 name="media_item_count" -		 left="115" -		 right="-10"> -		 (?? media items) -		 </text> -	-->  	<text  		type="string"  		length="1" @@ -147,6 +133,7 @@  		  ame="OnOthers" />  	</combo_box>  	<scroll_list +		name="media_list"  		follows="left|top|bottom|right"  		column_padding="0"  		height="105" @@ -155,8 +142,7 @@  		bg_stripe_color="0.25 0.25 0.25 0.25"  		top_pad="8"  		left="10" -		right="-10" -		name="media_list"> +		right="-10">  	  <scroll_list.columns  		  type="checkbox"  		  width="-1" @@ -204,11 +190,9 @@  		  left="10"  		  right="-10"  		  border_size="0" -		  mouse_opaque="false"  		  orientation="horizontal">  		<layout_panel  			name="stop" -			mouse_opaque="false"  			auto_resize="false"  			user_resize="false"  			layout="topleft" @@ -236,7 +220,6 @@  		</layout_panel>  		<layout_panel  			name="play" -			mouse_opaque="false"  			auto_resize="false"  			user_resize="false"  			layout="topleft" @@ -264,7 +247,6 @@  		</layout_panel>  		<layout_panel  			name="pause" -			mouse_opaque="false"  			auto_resize="false"  			user_resize="false"  			layout="topleft" @@ -291,7 +273,6 @@  		</layout_panel>  		<layout_panel  			name="volume_slider_ctrl" -			mouse_opaque="false"  			auto_resize="true"  			user_resize="false"  			follows="left|right" @@ -316,7 +297,6 @@  		</layout_panel>  		<layout_panel  			name="mute" -			mouse_opaque="false"  			auto_resize="false"  			user_resize="false"  			layout="topleft" @@ -345,7 +325,6 @@  		</layout_panel>  		<layout_panel  			name="zoom" -			mouse_opaque="false"  			auto_resize="false"  			user_resize="false"  			layout="topleft" @@ -373,7 +352,6 @@  		</layout_panel>  		<layout_panel  			name="unzoom" -			mouse_opaque="false"  			auto_resize="false"  			user_resize="false"  			layout="topleft" @@ -402,7 +380,6 @@  		<layout_panel  			name="right_bookend"  			width="0" -			mouse_opaque="false"  			user_resize="false" />  	  </layout_stack>  	</panel> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml index c9752cf913..a7cdd241c5 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml @@ -17,7 +17,7 @@       increment="0.05"       initial_value="0.5"       label="Master volume" -	 label_width="120" +	   label_width="120"       layout="topleft"       left="0"       name="System Volume" @@ -38,7 +38,7 @@       image_unselected="Audio_Off"       is_toggle="true"       layout="topleft" -	 left_pad="5" +	   left_pad="5"       name="mute_audio"       tab_stop="false"       width="16" /> @@ -49,7 +49,7 @@       label="Mute when minimized"       layout="topleft"       name="mute_when_minimized" -	 top_delta="3" +	   top_delta="3"       left_pad="5"       width="215" />  	<slider @@ -177,14 +177,14 @@  	</slider>      <button       control_name="MuteMusic" -	 disabled_control="MuteAudio" +	   disabled_control="MuteAudio"       follows="top|left"       height="16"       image_selected="AudioMute_Off"       image_unselected="Audio_Off"       is_toggle="true"       layout="topleft" -	 left_pad="5" +	   left_pad="5"       name="mute_audio"       tab_stop="false"  	 width="16" /> @@ -326,8 +326,8 @@       length="1"       follows="left|top"       layout="topleft" -	 left="80" -	 top_delta="16" +	   left="80" +	   top_delta="16"       name="Listen from"       width="80">          Listen from: @@ -521,7 +521,7 @@               visible="true"               width="22" />      <text -    font.style="BOLD" +     font.style="BOLD"       type="string"       length="1"       follows="left|top" diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml index 21f39682ba..1b360b3007 100644 --- a/indra/newview/skins/default/xui/fr/menu_viewer.xml +++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml @@ -9,8 +9,8 @@  		<menu_item_call label="Mon profil" name="Profile"/>  		<menu_item_call label="Mon apparence" name="Appearance"/>  		<menu_item_check label="Mon inventaire" name="Inventory"/> -		<menu_item_call label="Mon inventaire" name="ShowSidetrayInventory"/> -		<menu_item_call label="Mes gestes" name="Gestures"/> +		<menu_item_check label="Mon inventaire" name="ShowSidetrayInventory"/> +		<menu_item_check label="Mes gestes" name="Gestures"/>  		<menu label="Mon statut" name="Status">  			<menu_item_call label="Absent" name="Set Away"/>  			<menu_item_call label="Occupé" name="Set Busy"/> @@ -24,7 +24,6 @@  		<menu_item_call label="Mes groupes" name="My Groups"/>  		<menu_item_check label="Chat près de vous" name="Nearby Chat"/>  		<menu_item_call label="Personnes près de vous" name="Active Speakers"/> -		<menu_item_check label="Média près de vous" name="Nearby Media"/>  	</menu>  	<menu label="Monde" name="World">  		<menu_item_check label="Mini-carte" name="Mini-Map"/> @@ -39,7 +38,11 @@  		<menu_item_call label="Mes terrains" name="My Land"/>  		<menu label="Afficher" name="LandShow">  			<menu_item_check label="Contrôles de mouvement" name="Movement Controls"/> -			<menu_item_check label="Contrôles d'affichage" name="Camera Controls"/> +			<menu_item_check label="Contrôles d’affichage" name="Camera Controls"/> +			<menu_item_check label="Lignes d'interdiction" name="Ban Lines"/> +			<menu_item_check label="Balises" name="beacons"/> +			<menu_item_check label="Limites du terrain" name="Property Lines"/> +			<menu_item_check label="Propriétaires de terrains" name="Land Owners"/>  		</menu>  		<menu_item_call label="Me téléporter chez moi" name="Teleport Home"/>  		<menu_item_call label="Définir le domicile ici" name="Set Home to Here"/> @@ -100,7 +103,7 @@  			<menu_item_check label="Afficher le rayon lumineux pour la sélection" name="Show Light Radius for Selection"/>  			<menu_item_check label="Afficher le faisceau de sélection lumineux" name="Show Selection Beam"/>  			<menu_item_check label="Fixer sur la grille" name="Snap to Grid"/> -			<menu_item_call label="Fixer les coordonnées XY de l’objet sur la grille" name="Snap Object XY to Grid"/> +			<menu_item_call label="Fixer les coordonnées XY de l'objet sur la grille" name="Snap Object XY to Grid"/>  			<menu_item_call label="Utiliser la sélection pour la grille" name="Use Selection for Grid"/>  			<menu_item_call label="Options de la grille" name="Grid Options"/>  		</menu> @@ -121,7 +124,7 @@  		<menu_item_call label="Arrêter mon animation" name="Stop Animating My Avatar"/>  		<menu_item_call label="Refixer les textures" name="Rebake Texture"/>  		<menu_item_call label="Taille de l'interface par défaut" name="Set UI Size to Default"/> -		<menu_item_call label="Définir la taille de la fenêtre..." name="Set Window Size..."/> +		<menu_item_call label="Définir la taille de la fenêtre…" name="Set Window Size..."/>  		<menu_item_check label="Limiter la distance de sélection" name="Limit Select Distance"/>  		<menu_item_check label="Désactiver les contraintes de la caméra" name="Disable Camera Distance"/>  		<menu_item_check label="Photo haute résolution" name="HighResSnapshot"/> @@ -170,7 +173,7 @@  		<menu_item_call label="Effacer le cache du groupe" name="ClearGroupCache"/>  		<menu_item_check label="Effet de lissage de la souris" name="Mouse Smoothing"/>  		<menu label="Raccourcis" name="Shortcuts"> -			<menu_item_call label="Image ([COST] L$)..." name="Upload Image"/> +			<menu_item_call label="Image ([COST] L$)..." name="Upload Image"/>  			<menu_item_check label="Rechercher" name="Search"/>  			<menu_item_call label="Relâcher les touches" name="Release Keys"/>  			<menu_item_call label="Taille de l'interface par défaut" name="Set UI Size to Default"/> diff --git a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml index 53b9bc6f82..71e65232aa 100644 --- a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml @@ -1,8 +1,5 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <panel name="nearby_media"> -	<string name="media_item_count_format"> -		(%ld articles de média) -	</string>  	<string name="empty_item_text">  		<vide>  	</string> diff --git a/indra/newview/skins/default/xui/ja/floater_about_land.xml b/indra/newview/skins/default/xui/ja/floater_about_land.xml index d57a81c770..f363c2d85d 100644 --- a/indra/newview/skins/default/xui/ja/floater_about_land.xml +++ b/indra/newview/skins/default/xui/ja/floater_about_land.xml @@ -73,7 +73,7 @@  				Adult  			</text>  			<text name="Owner:"> -				オーナー: +				所有者:  			</text>  			<text name="OwnerText">  				Leyla Linden @@ -86,8 +86,8 @@  			</text>  			<button label="設定" label_selected="設定..." name="Set..."/>  			<check_box label="グループへの譲渡を許可" name="check deed" tool_tip="グループのオフィサーはこの土地をグループに譲渡できます。そうするとグループの土地割り当てによってサポートされます。"/> -			<button label="譲渡" label_selected="譲渡..." name="Deed..." tool_tip="選択されたグループのオフィサーであるときのみ、土地を譲渡できます。"/> -			<check_box label="オーナーが譲渡と共に寄付" name="check contrib" tool_tip="土地がグループに譲渡されるとき、前の所有者は譲渡が成立するよう、十分な土地を寄付します。"/> +			<button label="譲渡" label_selected="譲渡..." name="Deed..." tool_tip="選択したグループのオフィサーであるときのみ、土地を譲渡できます。"/> +			<check_box label="所有者が譲渡と共に寄付" name="check contrib" tool_tip="土地がグループに譲渡されるとき、前の所有者は譲渡が成立するよう、十分な土地を寄付します。"/>  			<text name="For Sale:">  				販売の有無:  			</text> @@ -136,16 +136,16 @@  		</panel>  		<panel label="約款" name="land_covenant_panel">  			<panel.string name="can_resell"> -				この地域で購入した土地は、再販できます。 +				このリージョン(地域)で購入した土地は、再販できます。  			</panel.string>  			<panel.string name="can_not_resell"> -				この地域で購入した土地は、再販できないことがあります。 +				このリージョン(地域)で購入した土地は、再販できないことがあります。  			</panel.string>  			<panel.string name="can_change"> -				この地域で購入した土地は、統合または再分割できます。 +				このリージョン(地域)で購入した土地は、統合または再分割できます。  			</panel.string>  			<panel.string name="can_not_change"> -				この地域で購入した土地は、統合/再分割できないことが +				このリージョン(地域)で購入した土地は、統合・再分割できないことがあります。  あります。  			</panel.string>  			<text font="SansSerifLarge" name="estate_section_lbl"> @@ -194,7 +194,7 @@  				再分割:  			</text>  			<text name="changeable_clause"> -				この地域(リージョン)にある土地は統合または分割ができ +				このリージョン(地域)にある土地は統合または分割ができないことがあります。  ません。  			</text>  		</panel> @@ -233,7 +233,7 @@  				[COUNT]  			</text>  			<button label="表示" label_selected="表示" name="ShowOwner" right="-145"/> -			<button label="返却" label_selected="返却..." name="ReturnOwner..." right="-15" tool_tip="オブジェクトをオーナーに返却します"/> +			<button label="返却" label_selected="返却..." name="ReturnOwner..." right="-15" tool_tip="オブジェクトを所有者に返却します"/>  			<text name="Set to group:">  				グループに設定:  			</text> @@ -241,7 +241,7 @@  				[COUNT]  			</text>  			<button label="表示" label_selected="表示" name="ShowGroup" right="-145"/> -			<button label="返却" label_selected="返却..." name="ReturnGroup..." right="-15" tool_tip="オブジェクトをオーナーに返却します"/> +			<button label="返却" label_selected="返却..." name="ReturnGroup..." right="-15" tool_tip="オブジェクトを所有者に返却します"/>  			<text name="Owned by others:">  				他人の所有物:  			</text> @@ -249,7 +249,7 @@  				[COUNT]  			</text>  			<button label="表示" label_selected="表示" name="ShowOther" right="-145"/> -			<button label="返却" label_selected="返却..." name="ReturnOther..." right="-15" tool_tip="オブジェクトをオーナーに返却します"/> +			<button label="返却" label_selected="返却..." name="ReturnOther..." right="-15" tool_tip="オブジェクトを所有者に返却します"/>  			<text name="Selected / sat upon:">  				選択済み・決定済み:  			</text> @@ -269,7 +269,7 @@  				<name_list.columns label="タイプ" name="type"/>  				<name_list.columns name="online_status"/>  				<name_list.columns label="名前" name="name"/> -				<name_list.columns label="カウント" name="count"/> +				<name_list.columns label="数" name="count"/>  				<name_list.columns label="最新" name="mostrecent"/>  			</name_list>  		</panel> @@ -288,13 +288,13 @@  				控えめコンテンツ  			</panel.string>  			<panel.string name="mature_check_adult"> -				Adultコンテンツ +				アダルトコンテンツ  			</panel.string>  			<panel.string name="mature_check_mature_tooltip"> -				あなたの区画情報及びコンテンツは控えめとされています。 +				あなたの区画情報及びコンテンツは「控えめ」とされています。  			</panel.string>  			<panel.string name="mature_check_adult_tooltip"> -				あなたの区画情報及びコンテンツはAdultとされています。 +				あなたの区画情報及びコンテンツは「アダルト」とされています。  			</panel.string>  			<panel.string name="landing_point_none">  				(なし) @@ -303,7 +303,7 @@  				プッシングを制限  			</panel.string>  			<panel.string name="push_restrict_region_text"> -				プッシングを制限 (地域優先) +				プッシングを制限 (地域設定優先)  			</panel.string>  			<text name="allow_label">  				他の住人への許可: @@ -383,7 +383,7 @@  			<text name="with media:">  				種類:  			</text> -			<combo_box name="media type" tool_tip="URL が動画、Webページ、その他のメディアの場合に指定します"/> +			<combo_box name="media type" tool_tip="URL が動画、Web ページ、その他のメディアかを指定します"/>  			<text name="at URL:">  				ホームページ:  			</text> @@ -391,7 +391,7 @@  			<text name="CurrentURL:">  				現在のページ:  			</text> -			<button label="リセット..." label_selected="リセット..." name="reset_media_url" tool_tip="URLを更新"/> +			<button label="リセット..." label_selected="リセット..." name="reset_media_url" tool_tip="URL を更新"/>  			<check_box label="URL を非表示" name="hide_media_url" tool_tip="このオプションをオンにすると、許可なしでこの区画情報にアクセスしているユーザーにはメディア URL が表示されません。 これは HTML タイプには使用できませんのでご注意ください。"/>  			<text name="Description:">  				説明: @@ -404,12 +404,12 @@  			<text name="replace_texture_help" width="290">  				このテクスチャを使用するオブジェクトの「再生」をクリックすると、動画や Web ページを表示します。  テクスチャを変更するにはサムネイルを選択してください。  			</text> -			<check_box label="スケールを自動設定" name="media_auto_scale" tool_tip="このオプションをチェックすると、この区画のコンテンツのスケールが自動的に設定されます。 動作速度と画質が少し低下することがありますが、他のテクスチャーのスケーリングや整列が必要になることはありません。"/> -			<text name="media_size" tool_tip="レンダリングするWebメディアのサイズです。デフォルトの 0 のままにします。"> +			<check_box label="スケールを自動設定" name="media_auto_scale" tool_tip="このオプションをチェックすると、この区画のコンテンツのスケールが自動的に設定されます。 動作速度と画質が少し低下することがありますが、他のテクスチャのスケーリングや整列が必要になることはありません。"/> +			<text name="media_size" tool_tip="レンダリングする Web メディアのサイズです。デフォルトの 0 のままにします。">  				サイズ:  			</text> -			<spinner name="media_size_width" tool_tip="レンダリングするWebメディアのサイズです。デフォルトの 0 のままにします。"/> -			<spinner name="media_size_height" tool_tip="レンダリングするWebメディアのサイズです。デフォルトの 0 のままにします。"/> +			<spinner name="media_size_width" tool_tip="レンダリングする Web メディアのサイズです。デフォルトの 0 のままにします。"/> +			<spinner name="media_size_height" tool_tip="レンダリングする Web メディアのサイズです。デフォルトの 0 のままにします。"/>  			<text name="pixels">  				ピクセル  			</text> diff --git a/indra/newview/skins/default/xui/ja/floater_buy_contents.xml b/indra/newview/skins/default/xui/ja/floater_buy_contents.xml index 69d4faf5b8..eda71c3575 100644 --- a/indra/newview/skins/default/xui/ja/floater_buy_contents.xml +++ b/indra/newview/skins/default/xui/ja/floater_buy_contents.xml @@ -1,22 +1,22 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <floater min_width="340" name="floater_buy_contents" title="中身の購入" width="340">  	<text name="contains_text" width="320"> -		[NAME]の中身: +		[NAME] の中身:  	</text>  	<scroll_list name="item_list" width="310"/>  	<text name="buy_text" width="320"> -		中身を[NAME]からL$[AMOUNT]で購入しますか? +		中身を[NAME] から L$[AMOUNT] で購入しますか?  	</text>  	<button label="取り消し" label_selected="取り消し" name="cancel_btn" width="73"/>  	<button label="購入" label_selected="購入" left_delta="-77" name="buy_btn" width="73"/> -	<check_box label="今すぐ服を着る" left_delta="-125" name="wear_check"/> +	<check_box label="今すぐ着る" left_delta="-125" name="wear_check"/>  	<text name="no_copy_text"> -		(コピー不可) +		(コピー不可)  	</text>  	<text name="no_modify_text"> -		(修正不可) +		(修正不可)  	</text>  	<text name="no_transfer_text"> -		(再販・プレゼント不可) +		(再販・プレゼント不可)  	</text>  </floater> diff --git a/indra/newview/skins/default/xui/ja/floater_buy_object.xml b/indra/newview/skins/default/xui/ja/floater_buy_object.xml index 7a5b7dc140..ddec8c2e69 100644 --- a/indra/newview/skins/default/xui/ja/floater_buy_object.xml +++ b/indra/newview/skins/default/xui/ja/floater_buy_object.xml @@ -4,7 +4,7 @@  		中身:  	</text>  	<text name="buy_text"> -		[NAME]からL$[AMOUNT]で購入しますか? +		[NAME]から L$[AMOUNT] で購入しますか?  	</text>  	<button label="取消" label_selected="取消" name="cancel_btn"/>  	<button label="購入" label_selected="購入" name="buy_btn"/> @@ -15,12 +15,12 @@  		次のものを購入  	</string>  	<text name="no_copy_text"> -		(コピー不可) +		(コピー不可)  	</text>  	<text name="no_modify_text"> -		(修正不可) +		(修正不可)  	</text>  	<text name="no_transfer_text"> -		(再販・プレゼント不可) +		(再販・プレゼント不可)  	</text>  </floater> diff --git a/indra/newview/skins/default/xui/ja/floater_customize.xml b/indra/newview/skins/default/xui/ja/floater_customize.xml index 4d8b91ff99..bd8535353d 100644 --- a/indra/newview/skins/default/xui/ja/floater_customize.xml +++ b/indra/newview/skins/default/xui/ja/floater_customize.xml @@ -35,7 +35,7 @@  				[PATH] に所在  			</text>  			<text name="not worn instructions"> -				持ち物からあなたのアバターに1つドラッグして、新しいシェイプをつけます。 代わりに、はじめから新しく作成して着用することもできます。 +				持ち物からあなたのアバターに 1 つドラッグして、新しいシェイプをつけます。 代わりに、はじめから新しく作成して着用することもできます。  			</text>  			<text name="no modify instructions">  				あなたはこの服の修正を許されていません。 @@ -68,7 +68,7 @@  				[PATH] に所在  			</text>  			<text name="not worn instructions"> -				持ち物からあなたのアバターに1つドラッグして、新しいスキンをつけます。 代わりに、はじめから新しく作成して着用することもできます。 +				持ち物からあなたのアバターに 1 つドラッグして、新しいスキンをつけます。 代わりに、はじめから新しく作成して着用することもできます。  			</text>  			<text name="no modify instructions">  				あなたはこの服の修正を許されていません。 @@ -105,7 +105,7 @@  				[PATH] に所在  			</text>  			<text name="not worn instructions"> -				持ち物からあなたのアバターに1つドラッグして、新しい髪をつけます。 代わりに、はじめから新しく作成して着用することもできます。 +				持ち物からあなたのアバターに 1 つドラッグして、新しい髪をつけます。 代わりに、はじめから新しく作成して着用することもできます。  			</text>  			<text name="no modify instructions">  				あなたはこの服の修正を許されていません。 @@ -113,7 +113,7 @@  			<text name="Item Action Label">  				髪型:  			</text> -			<texture_picker label="テクスチャー" name="Texture" tool_tip="写真をクリックして選択"/> +			<texture_picker label="テクスチャ" name="Texture" tool_tip="写真をクリックして選択"/>  			<button label="新しい髪を作成" label_selected="新しい髪を作成" name="Create New"/>  			<button label="保存" label_selected="保存" name="Save"/>  			<button label="別名で保存..." label_selected="別名で保存..." name="Save As"/> @@ -177,7 +177,7 @@  				[PATH] に所在  			</text>  			<text name="not worn instructions"> -				持ち物からあなたのアバターに1つドラッグして、新しいシャツを着ます。 代わりに、はじめから新しく作成して着用することもできます。 +				持ち物からあなたのアバターに 1 つドラッグして、新しいシャツを着ます。 代わりに、はじめから新しく作成して着用することもできます。  			</text>  			<text name="no modify instructions">  				あなたはこの服の修正を許されていません。 @@ -302,7 +302,7 @@  				[PATH] に所在  			</text>  			<text name="not worn instructions"> -				持ち物からあなたのアバターに1つドラッグして、新しいジャケットを着ます。 代わりに、はじめから新しく作成して着用することもできます。 +				持ち物からあなたのアバターに 1 つドラッグして、新しいジャケットを着ます。 代わりに、はじめから新しく作成して着用することもできます。  			</text>  			<button label="新しい上着を作成" label_selected="新しい上着を作成" name="Create New"/>  			<text name="no modify instructions"> @@ -435,7 +435,7 @@  				[PATH] に所在  			</text>  			<text name="not worn instructions"> -				持ち物からあなたのアバターに1つドラッグして、新しいスカートを履きます。 代わりに、はじめから新しく作成して着用することもできます。 +				持ち物からあなたのアバターに 1 つドラッグして、新しいスカートを履きます。 代わりに、はじめから新しく作成して着用することもできます。  			</text>  			<button label="スカートを作成" label_selected="スカートを作成" name="Create New"/>  			<text name="no modify instructions"> diff --git a/indra/newview/skins/default/xui/ja/floater_pay.xml b/indra/newview/skins/default/xui/ja/floater_pay.xml index 4564354899..aa67c78aea 100644 --- a/indra/newview/skins/default/xui/ja/floater_pay.xml +++ b/indra/newview/skins/default/xui/ja/floater_pay.xml @@ -7,7 +7,7 @@  		住人に支払う  	</string>  	<text name="payee_label"> -		支払い: +		支払う:  	</text>  	<icon name="icon_person" tool_tip="住人"/>  	<text name="payee_name"> diff --git a/indra/newview/skins/default/xui/ja/floater_tools.xml b/indra/newview/skins/default/xui/ja/floater_tools.xml index 24bb5b614c..e154f5af83 100644 --- a/indra/newview/skins/default/xui/ja/floater_tools.xml +++ b/indra/newview/skins/default/xui/ja/floater_tools.xml @@ -386,7 +386,7 @@  			<panel.string name="string repeats per face">  				面ごとに繰り返す  			</panel.string> -			<texture_picker label="テクスチャー" name="texture control" tool_tip="写真をクリックして選択"/> +			<texture_picker label="テクスチャ" name="texture control" tool_tip="写真をクリックして選択"/>  			<color_swatch label="色" name="colorswatch" tool_tip="クリックしてカラーピッカーを開きます"/>  			<text name="color trans">  				透過度 % diff --git a/indra/newview/skins/default/xui/ja/menu_inventory.xml b/indra/newview/skins/default/xui/ja/menu_inventory.xml index a2dbc34270..17b059c5d6 100644 --- a/indra/newview/skins/default/xui/ja/menu_inventory.xml +++ b/indra/newview/skins/default/xui/ja/menu_inventory.xml @@ -6,8 +6,8 @@  	<menu_item_call label="プロパティ" name="Task Properties"/>  	<menu_item_call label="名前の変更" name="Task Rename"/>  	<menu_item_call label="削除" name="Task Remove"/> -	<menu_item_call label="ゴミ箱を空にする" name="Empty Trash"/> -	<menu_item_call label="遺失物フォルダを空にする" name="Empty Lost And Found"/> +	<menu_item_call label="ごみ箱を空にする" name="Empty Trash"/> +	<menu_item_call label="紛失物フォルダを空にする" name="Empty Lost And Found"/>  	<menu_item_call label="新しいフォルダ" name="New Folder"/>  	<menu_item_call label="新しいスクリプト" name="New Script"/>  	<menu_item_call label="新しいノートカード" name="New Note"/> @@ -55,7 +55,7 @@  	<menu_item_call label="開く" name="Open"/>  	<menu_item_call label="プロパティ" name="Properties"/>  	<menu_item_call label="名前の変更" name="Rename"/> -	<menu_item_call label="UUIDをコピー" name="Copy Asset UUID"/> +	<menu_item_call label="UUID をコピー" name="Copy Asset UUID"/>  	<menu_item_call label="コピー" name="Copy"/>  	<menu_item_call label="貼り付け" name="Paste"/>  	<menu_item_call label="リンクの貼り付け" name="Paste As Link"/> @@ -69,14 +69,14 @@  	<menu_item_call label="ローカル再生" name="Animation Audition"/>  	<menu_item_call label="インスタントメッセージを送信" name="Send Instant Message"/>  	<menu_item_call label="テレポートを送る..." name="Offer Teleport..."/> -	<menu_item_call label="会議チャット開始" name="Conference Chat"/> +	<menu_item_call label="コンファレンスチャットを開始" name="Conference Chat"/>  	<menu_item_call label="アクティブ" name="Activate"/>  	<menu_item_call label="非アクティブ" name="Deactivate"/>  	<menu_item_call label="別名で保存" name="Save As"/>  	<menu_item_call label="自分から取り外す" name="Detach From Yourself"/>  	<menu_item_call label="装着" name="Object Wear"/>  	<menu label="装着先" name="Attach To"/> -	<menu label="HUD装着先" name="Attach To HUD"/> +	<menu label="HUD 装着先" name="Attach To HUD"/>  	<menu_item_call label="編集" name="Wearable Edit"/>  	<menu_item_call label="装着" name="Wearable Wear"/>  	<menu_item_call label="取り外す" name="Take Off"/> diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml index 85fb23d5b7..a9af96ab0c 100644 --- a/indra/newview/skins/default/xui/ja/menu_viewer.xml +++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml @@ -9,8 +9,8 @@  		<menu_item_call label="マイ プロフィール" name="Profile"/>  		<menu_item_call label="マイ 容姿" name="Appearance"/>  		<menu_item_check label="マイ 持ち物" name="Inventory"/> -		<menu_item_call label="持ち物をサイドトレイに表示" name="ShowSidetrayInventory"/> -		<menu_item_call label="マイ ジェスチャー" name="Gestures"/> +		<menu_item_check label="持ち物" name="ShowSidetrayInventory"/> +		<menu_item_check label="マイ ジェスチャー" name="Gestures"/>  		<menu label="マイ ログイン状態" name="Status">  			<menu_item_call label="一時退席中" name="Set Away"/>  			<menu_item_call label="取り込み中" name="Set Busy"/> @@ -24,7 +24,6 @@  		<menu_item_call label="所属グループ" name="My Groups"/>  		<menu_item_check label="近くのチャット" name="Nearby Chat"/>  		<menu_item_call label="近くにいる人" name="Active Speakers"/> -		<menu_item_check label="近くのメディア" name="Nearby Media"/>  	</menu>  	<menu label="世界" name="World">  		<menu_item_check label="ミニマップ" name="Mini-Map"/> @@ -40,6 +39,10 @@  		<menu label="表示" name="LandShow">  			<menu_item_check label="移動コントロール" name="Movement Controls"/>  			<menu_item_check label="コントロールを表示" name="Camera Controls"/> +			<menu_item_check label="立入禁止ライン" name="Ban Lines"/> +			<menu_item_check label="ビーコン(標識)" name="beacons"/> +			<menu_item_check label="プロパティ境界線" name="Property Lines"/> +			<menu_item_check label="土地所有者" name="Land Owners"/>  		</menu>  		<menu_item_call label="ホームにテレポート" name="Teleport Home"/>  		<menu_item_call label="現在地をホームに設定" name="Set Home to Here"/> @@ -58,7 +61,7 @@  			<menu_item_call label="フォーカスツール" name="Focus"/>  			<menu_item_call label="移動ツール" name="Move"/>  			<menu_item_call label="編集ツール" name="Edit"/> -			<menu_item_call label="クリエーションツール" name="Create"/> +			<menu_item_call label="作成ツール" name="Create"/>  			<menu_item_call label="土地ツール" name="Land"/>  		</menu>  		<menu label="編集" name="Edit"> @@ -94,21 +97,21 @@  			<menu_item_call label="デフォルトのアップロード権限を設定" name="perm prefs"/>  			<menu_item_check label="権限の詳細を表示" name="DebugPermissions"/>  			<menu_item_check label="私のオブジェクトだけを選択" name="Select Only My Objects"/> -			<menu_item_check label="動的オブジェクトのみ選択" name="Select Only Movable Objects"/> -			<menu_item_check label="環境で選択" name="Select By Surrounding"/> -			<menu_item_check label="非表示の選択を表示" name="Show Hidden Selection"/> +			<menu_item_check label="動的オブジェクトだけを選択" name="Select Only Movable Objects"/> +			<menu_item_check label="範囲内を選択" name="Select By Surrounding"/> +			<menu_item_check label="隠れた位置の選択も表示" name="Show Hidden Selection"/>  			<menu_item_check label="選択した光の半径範囲を表示" name="Show Light Radius for Selection"/> -			<menu_item_check label="選択したビームを表示" name="Show Selection Beam"/> +			<menu_item_check label="選択ビームを表示" name="Show Selection Beam"/>  			<menu_item_check label="グリッドポイントにスナップ" name="Snap to Grid"/> -			<menu_item_call label="オブジェクトのXY軸をグリッドにスナップ" name="Snap Object XY to Grid"/> +			<menu_item_call label="オブジェクトの XY 軸をグリッドにスナップ" name="Snap Object XY to Grid"/>  			<menu_item_call label="選択をグリッドに使用" name="Use Selection for Grid"/>  			<menu_item_call label="グリッドオプション" name="Grid Options"/>  		</menu>  		<menu label="リンクした部分を選択" name="Select Linked Parts"> -			<menu_item_call label="次の部位を選択" name="Select Next Part"/> -			<menu_item_call label="前回の部位を選択" name="Select Previous Part"/> -			<menu_item_call label="次の部位を含める" name="Include Next Part"/> -			<menu_item_call label="前回の部位を含める" name="Include Previous Part"/> +			<menu_item_call label="次の部分を選択" name="Select Next Part"/> +			<menu_item_call label="前回の部分を選択" name="Select Previous Part"/> +			<menu_item_call label="次の部分を含める" name="Include Next Part"/> +			<menu_item_call label="前回の部分を含める" name="Include Previous Part"/>  		</menu>  	</menu>  	<menu label="ヘルプ" name="Help"> @@ -180,7 +183,7 @@  			<menu_item_call label="全てのウィンドウを閉じる" name="Close All Windows"/>  			<menu_item_call label="スナップショットをディスクに保存" name="Snapshot to Disk"/>  			<menu_item_call label="一人称視点" name="Mouselook"/> -			<menu_item_check label="ジョイスティック・フライカム" name="Joystick Flycam"/> +			<menu_item_check label="ジョイスティックフライカム" name="Joystick Flycam"/>  			<menu_item_call label="表示をリセット" name="Reset View"/>  			<menu_item_call label="最後の発言者を見る" name="Look at Last Chatter"/>  			<menu label="制作ツールを選択" name="Select Tool"> @@ -191,12 +194,12 @@  				<menu_item_call label="土地ツール" name="Land"/>  			</menu>  			<menu_item_call label="ズームイン" name="Zoom In"/> -			<menu_item_call label="ズーム・デフォルト" name="Zoom Default"/> +			<menu_item_call label="ズーム(デフォルト)" name="Zoom Default"/>  			<menu_item_call label="ズームアウト" name="Zoom Out"/>  			<menu_item_call label="全画面表示" name="Toggle Fullscreen"/>  		</menu>  		<menu_item_call label="デバッグ設定を表示する" name="Debug Settings"/> -		<menu_item_check label="開発メニューを表示" name="Debug Mode"/> +		<menu_item_check label="開発メニューを表示する" name="Debug Mode"/>  	</menu>  	<menu label="開発" name="Develop">  		<menu label="コンソール" name="Consoles"> @@ -204,7 +207,7 @@  			<menu_item_check label="デバッグコンソール" name="Debug Console"/>  			<menu_item_call label="通知コンソール" name="Notifications"/>  			<menu_item_check label="テクスチャサイズのコンソール" name="Texture Size"/> -			<menu_item_check label="テクスチャカテゴリ・コンソール" name="Texture Category"/> +			<menu_item_check label="テクスチャカテゴリのコンソール" name="Texture Category"/>  			<menu_item_check label="ファーストタイマー" name="Fast Timers"/>  			<menu_item_check label="メモリ" name="Memory"/>  			<menu_item_call label="リージョン情報をデバッグコンソールへ" name="Region Info to Debug Console"/> @@ -247,10 +250,10 @@  			<menu_item_check label="アニメーション部分をテクスチャで表示" name="Texture Anim"/>  			<menu_item_check label="テクスチャ優先度" name="Texture Priority"/>  			<menu_item_check label="テクスチャの範囲" name="Texture Area"/> -			<menu_item_check label="Face Area" name="Face Area"/> +			<menu_item_check label="側面" name="Face Area"/>  			<menu_item_check label="光" name="Lights"/>  			<menu_item_check label="骨組みの衝突判定" name="Collision Skeleton"/> -			<menu_item_check label="Raycast" name="Raycast"/> +			<menu_item_check label="レイキャスト" name="Raycast"/>  		</menu>  		<menu label="レンダリング" name="Rendering">  			<menu_item_check label="軸" name="Axes"/> @@ -261,7 +264,7 @@  			<menu_item_check label="フレームバッファ・オブジェクト" name="Framebuffer Objects"/>  			<menu_item_check label="遅延レンダリング" name="Deferred Rendering"/>  			<menu_item_check label="グローバルイルミネーション" name="Global Illumination"/> -			<menu_item_check label="GLデバッグ" name="Debug GL"/> +			<menu_item_check label="GL デバッグ" name="Debug GL"/>  			<menu_item_check label="経路をデバッグ" name="Debug Pipeline"/>  			<menu_item_check label="ファーストアルファ" name="Fast Alpha"/>  			<menu_item_check label="アニメーションテクスチャ" name="Animation Textures"/> diff --git a/indra/newview/skins/default/xui/ja/panel_nearby_media.xml b/indra/newview/skins/default/xui/ja/panel_nearby_media.xml index ca93d46e4d..a670975dda 100644 --- a/indra/newview/skins/default/xui/ja/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/ja/panel_nearby_media.xml @@ -1,8 +1,5 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <panel name="nearby_media"> -	<string name="media_item_count_format"> -		(メディアアイテム %ld ) -	</string>  	<string name="empty_item_text">  		<空>  	</string> diff --git a/indra/newview/skins/default/xui/pl/floater_about.xml b/indra/newview/skins/default/xui/pl/floater_about.xml index 29a5aca90d..29a5aca90d 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_about.xml +++ b/indra/newview/skins/default/xui/pl/floater_about.xml diff --git a/indra/newview/skins/default/xui/pl/floater_about_land.xml b/indra/newview/skins/default/xui/pl/floater_about_land.xml index d456ea26b4..d456ea26b4 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_about_land.xml +++ b/indra/newview/skins/default/xui/pl/floater_about_land.xml diff --git a/indra/newview/skins/default/xui/pl/floater_animation_preview.xml b/indra/newview/skins/default/xui/pl/floater_animation_preview.xml index 0524b8ade3..0524b8ade3 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_animation_preview.xml +++ b/indra/newview/skins/default/xui/pl/floater_animation_preview.xml diff --git a/indra/newview/skins/default/xui/pl/floater_auction.xml b/indra/newview/skins/default/xui/pl/floater_auction.xml index 37e35ed1e9..37e35ed1e9 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_auction.xml +++ b/indra/newview/skins/default/xui/pl/floater_auction.xml diff --git a/indra/newview/skins/default/xui/pl/floater_avatar_picker.xml b/indra/newview/skins/default/xui/pl/floater_avatar_picker.xml index 8c09f7294c..8c09f7294c 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_avatar_picker.xml +++ b/indra/newview/skins/default/xui/pl/floater_avatar_picker.xml diff --git a/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml b/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml index dce2330807..dce2330807 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml +++ b/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml diff --git a/indra/newview/skins/default/xui/pl/floater_build_options.xml b/indra/newview/skins/default/xui/pl/floater_build_options.xml index f538be218c..f538be218c 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_build_options.xml +++ b/indra/newview/skins/default/xui/pl/floater_build_options.xml diff --git a/indra/newview/skins/default/xui/pl/floater_bumps.xml b/indra/newview/skins/default/xui/pl/floater_bumps.xml index 10f9d73284..10f9d73284 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_bumps.xml +++ b/indra/newview/skins/default/xui/pl/floater_bumps.xml diff --git a/indra/newview/skins/default/xui/pl/floater_buy_contents.xml b/indra/newview/skins/default/xui/pl/floater_buy_contents.xml index ebe1c9dfd8..ebe1c9dfd8 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_buy_contents.xml +++ b/indra/newview/skins/default/xui/pl/floater_buy_contents.xml diff --git a/indra/newview/skins/default/xui/pl/floater_buy_currency.xml b/indra/newview/skins/default/xui/pl/floater_buy_currency.xml index 5e59482883..5e59482883 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_buy_currency.xml +++ b/indra/newview/skins/default/xui/pl/floater_buy_currency.xml diff --git a/indra/newview/skins/default/xui/pl/floater_buy_land.xml b/indra/newview/skins/default/xui/pl/floater_buy_land.xml index 648888828b..648888828b 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_buy_land.xml +++ b/indra/newview/skins/default/xui/pl/floater_buy_land.xml diff --git a/indra/newview/skins/default/xui/pl/floater_buy_object.xml b/indra/newview/skins/default/xui/pl/floater_buy_object.xml index bad7982228..bad7982228 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_buy_object.xml +++ b/indra/newview/skins/default/xui/pl/floater_buy_object.xml diff --git a/indra/newview/skins/default/xui/pl/floater_camera.xml b/indra/newview/skins/default/xui/pl/floater_camera.xml index 5957018144..5957018144 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_camera.xml +++ b/indra/newview/skins/default/xui/pl/floater_camera.xml diff --git a/indra/newview/skins/default/xui/pl/floater_choose_group.xml b/indra/newview/skins/default/xui/pl/floater_choose_group.xml index 72b6617094..72b6617094 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_choose_group.xml +++ b/indra/newview/skins/default/xui/pl/floater_choose_group.xml diff --git a/indra/newview/skins/default/xui/pl/floater_color_picker.xml b/indra/newview/skins/default/xui/pl/floater_color_picker.xml index 904a2cc270..904a2cc270 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_color_picker.xml +++ b/indra/newview/skins/default/xui/pl/floater_color_picker.xml diff --git a/indra/newview/skins/default/xui/pl/floater_critical.xml b/indra/newview/skins/default/xui/pl/floater_critical.xml index 8221a4e1bd..8221a4e1bd 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_critical.xml +++ b/indra/newview/skins/default/xui/pl/floater_critical.xml diff --git a/indra/newview/skins/default/xui/pl/floater_customize.xml b/indra/newview/skins/default/xui/pl/floater_customize.xml index 0c01d15faf..0c01d15faf 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_customize.xml +++ b/indra/newview/skins/default/xui/pl/floater_customize.xml diff --git a/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml index 6671bb853e..6671bb853e 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml +++ b/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml diff --git a/indra/newview/skins/default/xui/pl/floater_device_settings.xml b/indra/newview/skins/default/xui/pl/floater_device_settings.xml index e79478731d..e79478731d 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_device_settings.xml +++ b/indra/newview/skins/default/xui/pl/floater_device_settings.xml diff --git a/indra/newview/skins/default/xui/pl/floater_env_settings.xml b/indra/newview/skins/default/xui/pl/floater_env_settings.xml index e197d94b27..e197d94b27 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_env_settings.xml +++ b/indra/newview/skins/default/xui/pl/floater_env_settings.xml diff --git a/indra/newview/skins/default/xui/pl/floater_gesture.xml b/indra/newview/skins/default/xui/pl/floater_gesture.xml index 4685eb6afe..4685eb6afe 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_gesture.xml +++ b/indra/newview/skins/default/xui/pl/floater_gesture.xml diff --git a/indra/newview/skins/default/xui/pl/floater_god_tools.xml b/indra/newview/skins/default/xui/pl/floater_god_tools.xml index a3ccffac03..a3ccffac03 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_god_tools.xml +++ b/indra/newview/skins/default/xui/pl/floater_god_tools.xml diff --git a/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml b/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml index 39695a67b6..39695a67b6 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml +++ b/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml diff --git a/indra/newview/skins/default/xui/pl/floater_hud.xml b/indra/newview/skins/default/xui/pl/floater_hud.xml index ff2d702132..ff2d702132 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_hud.xml +++ b/indra/newview/skins/default/xui/pl/floater_hud.xml diff --git a/indra/newview/skins/default/xui/pl/floater_im.xml b/indra/newview/skins/default/xui/pl/floater_im.xml index 67c9d13496..67c9d13496 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_im.xml +++ b/indra/newview/skins/default/xui/pl/floater_im.xml diff --git a/indra/newview/skins/default/xui/pl/floater_image_preview.xml b/indra/newview/skins/default/xui/pl/floater_image_preview.xml index 27f898a66b..27f898a66b 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_image_preview.xml +++ b/indra/newview/skins/default/xui/pl/floater_image_preview.xml diff --git a/indra/newview/skins/default/xui/pl/floater_inspect.xml b/indra/newview/skins/default/xui/pl/floater_inspect.xml index c98e0541d8..c98e0541d8 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_inspect.xml +++ b/indra/newview/skins/default/xui/pl/floater_inspect.xml diff --git a/indra/newview/skins/default/xui/pl/floater_inventory.xml b/indra/newview/skins/default/xui/pl/floater_inventory.xml index 157be76c4d..157be76c4d 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_inventory.xml +++ b/indra/newview/skins/default/xui/pl/floater_inventory.xml diff --git a/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml index 665172dd49..665172dd49 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml diff --git a/indra/newview/skins/default/xui/pl/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/pl/floater_inventory_view_finder.xml index 9204262304..9204262304 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_inventory_view_finder.xml +++ b/indra/newview/skins/default/xui/pl/floater_inventory_view_finder.xml diff --git a/indra/newview/skins/default/xui/pl/floater_joystick.xml b/indra/newview/skins/default/xui/pl/floater_joystick.xml index 22ac458b85..22ac458b85 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_joystick.xml +++ b/indra/newview/skins/default/xui/pl/floater_joystick.xml diff --git a/indra/newview/skins/default/xui/pl/floater_lagmeter.xml b/indra/newview/skins/default/xui/pl/floater_lagmeter.xml index 69d563bdba..69d563bdba 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_lagmeter.xml +++ b/indra/newview/skins/default/xui/pl/floater_lagmeter.xml diff --git a/indra/newview/skins/default/xui/pl/floater_land_holdings.xml b/indra/newview/skins/default/xui/pl/floater_land_holdings.xml index 13e6a8b16d..13e6a8b16d 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_land_holdings.xml +++ b/indra/newview/skins/default/xui/pl/floater_land_holdings.xml diff --git a/indra/newview/skins/default/xui/pl/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/pl/floater_live_lsleditor.xml index 8120ff8c77..8120ff8c77 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_live_lsleditor.xml +++ b/indra/newview/skins/default/xui/pl/floater_live_lsleditor.xml diff --git a/indra/newview/skins/default/xui/pl/floater_lsl_guide.xml b/indra/newview/skins/default/xui/pl/floater_lsl_guide.xml index 5601aa4464..5601aa4464 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_lsl_guide.xml +++ b/indra/newview/skins/default/xui/pl/floater_lsl_guide.xml diff --git a/indra/newview/skins/default/xui/pl/floater_media_browser.xml b/indra/newview/skins/default/xui/pl/floater_media_browser.xml index 74210c75e5..74210c75e5 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_media_browser.xml +++ b/indra/newview/skins/default/xui/pl/floater_media_browser.xml diff --git a/indra/newview/skins/default/xui/pl/floater_mem_leaking.xml b/indra/newview/skins/default/xui/pl/floater_mem_leaking.xml index 88a878af72..88a878af72 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_mem_leaking.xml +++ b/indra/newview/skins/default/xui/pl/floater_mem_leaking.xml diff --git a/indra/newview/skins/default/xui/pl/floater_moveview.xml b/indra/newview/skins/default/xui/pl/floater_moveview.xml index e28cfd589d..e28cfd589d 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_moveview.xml +++ b/indra/newview/skins/default/xui/pl/floater_moveview.xml diff --git a/indra/newview/skins/default/xui/pl/floater_mute_object.xml b/indra/newview/skins/default/xui/pl/floater_mute_object.xml index 8055617371..8055617371 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_mute_object.xml +++ b/indra/newview/skins/default/xui/pl/floater_mute_object.xml diff --git a/indra/newview/skins/default/xui/pl/floater_my_friends.xml b/indra/newview/skins/default/xui/pl/floater_my_friends.xml index 0bcf6ba4d5..0bcf6ba4d5 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_my_friends.xml +++ b/indra/newview/skins/default/xui/pl/floater_my_friends.xml diff --git a/indra/newview/skins/default/xui/pl/floater_openobject.xml b/indra/newview/skins/default/xui/pl/floater_openobject.xml index fbbed0f11d..fbbed0f11d 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_openobject.xml +++ b/indra/newview/skins/default/xui/pl/floater_openobject.xml diff --git a/indra/newview/skins/default/xui/pl/floater_pay.xml b/indra/newview/skins/default/xui/pl/floater_pay.xml index dfb1b6616c..dfb1b6616c 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_pay.xml +++ b/indra/newview/skins/default/xui/pl/floater_pay.xml diff --git a/indra/newview/skins/default/xui/pl/floater_pay_object.xml b/indra/newview/skins/default/xui/pl/floater_pay_object.xml index 376f517aaa..376f517aaa 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_pay_object.xml +++ b/indra/newview/skins/default/xui/pl/floater_pay_object.xml diff --git a/indra/newview/skins/default/xui/pl/floater_post_process.xml b/indra/newview/skins/default/xui/pl/floater_post_process.xml index 6bd91f97b1..6bd91f97b1 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_post_process.xml +++ b/indra/newview/skins/default/xui/pl/floater_post_process.xml diff --git a/indra/newview/skins/default/xui/pl/floater_postcard.xml b/indra/newview/skins/default/xui/pl/floater_postcard.xml index 8f4018924d..8f4018924d 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_postcard.xml +++ b/indra/newview/skins/default/xui/pl/floater_postcard.xml diff --git a/indra/newview/skins/default/xui/pl/floater_preferences.xml b/indra/newview/skins/default/xui/pl/floater_preferences.xml index 2be663283f..2be663283f 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_preferences.xml +++ b/indra/newview/skins/default/xui/pl/floater_preferences.xml diff --git a/indra/newview/skins/default/xui/pl/floater_preview_animation.xml b/indra/newview/skins/default/xui/pl/floater_preview_animation.xml index 7139c470a4..7139c470a4 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_preview_animation.xml +++ b/indra/newview/skins/default/xui/pl/floater_preview_animation.xml diff --git a/indra/newview/skins/default/xui/pl/floater_preview_classified.xml b/indra/newview/skins/default/xui/pl/floater_preview_classified.xml index eae9ba2690..eae9ba2690 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_preview_classified.xml +++ b/indra/newview/skins/default/xui/pl/floater_preview_classified.xml diff --git a/indra/newview/skins/default/xui/pl/floater_preview_event.xml b/indra/newview/skins/default/xui/pl/floater_preview_event.xml index 9fc0ff4da6..9fc0ff4da6 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_preview_event.xml +++ b/indra/newview/skins/default/xui/pl/floater_preview_event.xml diff --git a/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml b/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml index 1c7a3f6631..1c7a3f6631 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml diff --git a/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml b/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml index b9f80490ab..b9f80490ab 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml +++ b/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml diff --git a/indra/newview/skins/default/xui/pl/floater_preview_sound.xml b/indra/newview/skins/default/xui/pl/floater_preview_sound.xml index 656b9bec38..656b9bec38 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_preview_sound.xml +++ b/indra/newview/skins/default/xui/pl/floater_preview_sound.xml diff --git a/indra/newview/skins/default/xui/pl/floater_preview_texture.xml b/indra/newview/skins/default/xui/pl/floater_preview_texture.xml index 8bcd800411..8bcd800411 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_preview_texture.xml +++ b/indra/newview/skins/default/xui/pl/floater_preview_texture.xml diff --git a/indra/newview/skins/default/xui/pl/floater_region_info.xml b/indra/newview/skins/default/xui/pl/floater_region_info.xml index ca3c1391db..ca3c1391db 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_region_info.xml +++ b/indra/newview/skins/default/xui/pl/floater_region_info.xml diff --git a/indra/newview/skins/default/xui/pl/floater_report_abuse.xml b/indra/newview/skins/default/xui/pl/floater_report_abuse.xml index 18ce1b230f..18ce1b230f 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_report_abuse.xml +++ b/indra/newview/skins/default/xui/pl/floater_report_abuse.xml diff --git a/indra/newview/skins/default/xui/pl/floater_script_debug.xml b/indra/newview/skins/default/xui/pl/floater_script_debug.xml index 714a600262..714a600262 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_script_debug.xml +++ b/indra/newview/skins/default/xui/pl/floater_script_debug.xml diff --git a/indra/newview/skins/default/xui/pl/floater_script_preview.xml b/indra/newview/skins/default/xui/pl/floater_script_preview.xml index e3e72e15a3..e3e72e15a3 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_script_preview.xml +++ b/indra/newview/skins/default/xui/pl/floater_script_preview.xml diff --git a/indra/newview/skins/default/xui/pl/floater_script_queue.xml b/indra/newview/skins/default/xui/pl/floater_script_queue.xml index 7655f5fcac..7655f5fcac 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_script_queue.xml +++ b/indra/newview/skins/default/xui/pl/floater_script_queue.xml diff --git a/indra/newview/skins/default/xui/pl/floater_script_search.xml b/indra/newview/skins/default/xui/pl/floater_script_search.xml index 255ab4264c..255ab4264c 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_script_search.xml +++ b/indra/newview/skins/default/xui/pl/floater_script_search.xml diff --git a/indra/newview/skins/default/xui/pl/floater_select_key.xml b/indra/newview/skins/default/xui/pl/floater_select_key.xml index 194a6da1bd..194a6da1bd 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_select_key.xml +++ b/indra/newview/skins/default/xui/pl/floater_select_key.xml diff --git a/indra/newview/skins/default/xui/pl/floater_sell_land.xml b/indra/newview/skins/default/xui/pl/floater_sell_land.xml index a306ec2c34..a306ec2c34 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_sell_land.xml +++ b/indra/newview/skins/default/xui/pl/floater_sell_land.xml diff --git a/indra/newview/skins/default/xui/pl/floater_settings_debug.xml b/indra/newview/skins/default/xui/pl/floater_settings_debug.xml index f87e2edecc..f87e2edecc 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_settings_debug.xml +++ b/indra/newview/skins/default/xui/pl/floater_settings_debug.xml diff --git a/indra/newview/skins/default/xui/pl/floater_snapshot.xml b/indra/newview/skins/default/xui/pl/floater_snapshot.xml index c807087170..c807087170 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/pl/floater_snapshot.xml diff --git a/indra/newview/skins/default/xui/pl/floater_sound_preview.xml b/indra/newview/skins/default/xui/pl/floater_sound_preview.xml index 0826508fd6..0826508fd6 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_sound_preview.xml +++ b/indra/newview/skins/default/xui/pl/floater_sound_preview.xml diff --git a/indra/newview/skins/default/xui/pl/floater_telehub.xml b/indra/newview/skins/default/xui/pl/floater_telehub.xml index 9f564452a9..9f564452a9 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_telehub.xml +++ b/indra/newview/skins/default/xui/pl/floater_telehub.xml diff --git a/indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml index 48366e2b64..48366e2b64 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml +++ b/indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml diff --git a/indra/newview/skins/default/xui/pl/floater_tools.xml b/indra/newview/skins/default/xui/pl/floater_tools.xml index e898c283c5..e898c283c5 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_tools.xml +++ b/indra/newview/skins/default/xui/pl/floater_tools.xml diff --git a/indra/newview/skins/default/xui/pl/floater_top_objects.xml b/indra/newview/skins/default/xui/pl/floater_top_objects.xml index e7299b0abb..e7299b0abb 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_top_objects.xml +++ b/indra/newview/skins/default/xui/pl/floater_top_objects.xml diff --git a/indra/newview/skins/default/xui/pl/floater_tos.xml b/indra/newview/skins/default/xui/pl/floater_tos.xml index b9a146df22..b9a146df22 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_tos.xml +++ b/indra/newview/skins/default/xui/pl/floater_tos.xml diff --git a/indra/newview/skins/default/xui/pl/floater_url_entry.xml b/indra/newview/skins/default/xui/pl/floater_url_entry.xml index fc170d8d1b..fc170d8d1b 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_url_entry.xml +++ b/indra/newview/skins/default/xui/pl/floater_url_entry.xml diff --git a/indra/newview/skins/default/xui/pl/floater_water.xml b/indra/newview/skins/default/xui/pl/floater_water.xml index 7333633c1d..7333633c1d 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_water.xml +++ b/indra/newview/skins/default/xui/pl/floater_water.xml diff --git a/indra/newview/skins/default/xui/pl/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/pl/floater_wearable_save_as.xml index 2d4582392c..2d4582392c 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_wearable_save_as.xml +++ b/indra/newview/skins/default/xui/pl/floater_wearable_save_as.xml diff --git a/indra/newview/skins/default/xui/pl/floater_windlight_options.xml b/indra/newview/skins/default/xui/pl/floater_windlight_options.xml index 86ef9300da..86ef9300da 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_windlight_options.xml +++ b/indra/newview/skins/default/xui/pl/floater_windlight_options.xml diff --git a/indra/newview/skins/default/xui/pl/floater_world_map.xml b/indra/newview/skins/default/xui/pl/floater_world_map.xml index 36e3b0651b..36e3b0651b 100755..100644 --- a/indra/newview/skins/default/xui/pl/floater_world_map.xml +++ b/indra/newview/skins/default/xui/pl/floater_world_map.xml diff --git a/indra/newview/skins/default/xui/pl/menu_inventory.xml b/indra/newview/skins/default/xui/pl/menu_inventory.xml index 75c84c275d..75c84c275d 100755..100644 --- a/indra/newview/skins/default/xui/pl/menu_inventory.xml +++ b/indra/newview/skins/default/xui/pl/menu_inventory.xml diff --git a/indra/newview/skins/default/xui/pl/menu_login.xml b/indra/newview/skins/default/xui/pl/menu_login.xml index 5084b59397..5084b59397 100755..100644 --- a/indra/newview/skins/default/xui/pl/menu_login.xml +++ b/indra/newview/skins/default/xui/pl/menu_login.xml diff --git a/indra/newview/skins/default/xui/pl/menu_slurl.xml b/indra/newview/skins/default/xui/pl/menu_slurl.xml index 719959df6a..719959df6a 100755..100644 --- a/indra/newview/skins/default/xui/pl/menu_slurl.xml +++ b/indra/newview/skins/default/xui/pl/menu_slurl.xml diff --git a/indra/newview/skins/default/xui/pl/menu_viewer.xml b/indra/newview/skins/default/xui/pl/menu_viewer.xml index 2a5842e553..2a5842e553 100755..100644 --- a/indra/newview/skins/default/xui/pl/menu_viewer.xml +++ b/indra/newview/skins/default/xui/pl/menu_viewer.xml diff --git a/indra/newview/skins/default/xui/pl/mime_types.xml b/indra/newview/skins/default/xui/pl/mime_types.xml index c90d5761e6..c90d5761e6 100755..100644 --- a/indra/newview/skins/default/xui/pl/mime_types.xml +++ b/indra/newview/skins/default/xui/pl/mime_types.xml diff --git a/indra/newview/skins/default/xui/pl/panel_audio_device.xml b/indra/newview/skins/default/xui/pl/panel_audio_device.xml index fc3b3776f0..fc3b3776f0 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_audio_device.xml +++ b/indra/newview/skins/default/xui/pl/panel_audio_device.xml diff --git a/indra/newview/skins/default/xui/pl/panel_friends.xml b/indra/newview/skins/default/xui/pl/panel_friends.xml index b6df36f199..b6df36f199 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_friends.xml +++ b/indra/newview/skins/default/xui/pl/panel_friends.xml diff --git a/indra/newview/skins/default/xui/pl/panel_group_general.xml b/indra/newview/skins/default/xui/pl/panel_group_general.xml index d09ff72226..d09ff72226 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_group_general.xml +++ b/indra/newview/skins/default/xui/pl/panel_group_general.xml diff --git a/indra/newview/skins/default/xui/pl/panel_group_invite.xml b/indra/newview/skins/default/xui/pl/panel_group_invite.xml index 12d48279ad..12d48279ad 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_group_invite.xml +++ b/indra/newview/skins/default/xui/pl/panel_group_invite.xml diff --git a/indra/newview/skins/default/xui/pl/panel_group_land_money.xml b/indra/newview/skins/default/xui/pl/panel_group_land_money.xml index dbfa8e3122..dbfa8e3122 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_group_land_money.xml +++ b/indra/newview/skins/default/xui/pl/panel_group_land_money.xml diff --git a/indra/newview/skins/default/xui/pl/panel_group_notices.xml b/indra/newview/skins/default/xui/pl/panel_group_notices.xml index 1c19571ec0..1c19571ec0 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/pl/panel_group_notices.xml diff --git a/indra/newview/skins/default/xui/pl/panel_group_roles.xml b/indra/newview/skins/default/xui/pl/panel_group_roles.xml index dd46b4aeaa..dd46b4aeaa 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/pl/panel_group_roles.xml diff --git a/indra/newview/skins/default/xui/pl/panel_groups.xml b/indra/newview/skins/default/xui/pl/panel_groups.xml index 9df90fc797..9df90fc797 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_groups.xml +++ b/indra/newview/skins/default/xui/pl/panel_groups.xml diff --git a/indra/newview/skins/default/xui/pl/panel_login.xml b/indra/newview/skins/default/xui/pl/panel_login.xml index cec7e34da5..cec7e34da5 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_login.xml +++ b/indra/newview/skins/default/xui/pl/panel_login.xml diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/pl/panel_preferences_alerts.xml index 7195c30f20..7195c30f20 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_alerts.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_alerts.xml diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml index 5599c21686..5599c21686 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_general.xml b/indra/newview/skins/default/xui/pl/panel_preferences_general.xml index 97b4975f29..97b4975f29 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_general.xml diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml index ddd4c736d6..ddd4c736d6 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/pl/panel_preferences_privacy.xml index e3cdaae840..e3cdaae840 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_privacy.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_privacy.xml diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_setup.xml b/indra/newview/skins/default/xui/pl/panel_preferences_setup.xml index 1e2289b496..1e2289b496 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_setup.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_setup.xml diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_sound.xml b/indra/newview/skins/default/xui/pl/panel_preferences_sound.xml index f9b5d221a5..f9b5d221a5 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_sound.xml diff --git a/indra/newview/skins/default/xui/pl/panel_region_covenant.xml b/indra/newview/skins/default/xui/pl/panel_region_covenant.xml index f20387dd25..f20387dd25 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_region_covenant.xml +++ b/indra/newview/skins/default/xui/pl/panel_region_covenant.xml diff --git a/indra/newview/skins/default/xui/pl/panel_region_debug.xml b/indra/newview/skins/default/xui/pl/panel_region_debug.xml index fe7b554a13..fe7b554a13 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/pl/panel_region_debug.xml diff --git a/indra/newview/skins/default/xui/pl/panel_region_estate.xml b/indra/newview/skins/default/xui/pl/panel_region_estate.xml index 4275f3f647..4275f3f647 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_region_estate.xml +++ b/indra/newview/skins/default/xui/pl/panel_region_estate.xml diff --git a/indra/newview/skins/default/xui/pl/panel_region_general.xml b/indra/newview/skins/default/xui/pl/panel_region_general.xml index 20296dac71..20296dac71 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_region_general.xml +++ b/indra/newview/skins/default/xui/pl/panel_region_general.xml diff --git a/indra/newview/skins/default/xui/pl/panel_region_terrain.xml b/indra/newview/skins/default/xui/pl/panel_region_terrain.xml index b206616e34..b206616e34 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_region_terrain.xml +++ b/indra/newview/skins/default/xui/pl/panel_region_terrain.xml diff --git a/indra/newview/skins/default/xui/pl/panel_region_texture.xml b/indra/newview/skins/default/xui/pl/panel_region_texture.xml index d24579fc75..d24579fc75 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_region_texture.xml +++ b/indra/newview/skins/default/xui/pl/panel_region_texture.xml diff --git a/indra/newview/skins/default/xui/pl/panel_scrolling_param.xml b/indra/newview/skins/default/xui/pl/panel_scrolling_param.xml index 70a6e39412..70a6e39412 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_scrolling_param.xml +++ b/indra/newview/skins/default/xui/pl/panel_scrolling_param.xml diff --git a/indra/newview/skins/default/xui/pl/panel_status_bar.xml b/indra/newview/skins/default/xui/pl/panel_status_bar.xml index 9226e67dff..9226e67dff 100755..100644 --- a/indra/newview/skins/default/xui/pl/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/pl/panel_status_bar.xml diff --git a/indra/newview/skins/default/xui/pl/role_actions.xml b/indra/newview/skins/default/xui/pl/role_actions.xml index 5711eacf2f..5711eacf2f 100755..100644 --- a/indra/newview/skins/default/xui/pl/role_actions.xml +++ b/indra/newview/skins/default/xui/pl/role_actions.xml diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml index e8dcfac02d..e8dcfac02d 100755..100644 --- a/indra/newview/skins/default/xui/pl/strings.xml +++ b/indra/newview/skins/default/xui/pl/strings.xml diff --git a/indra/newview/skins/default/xui/pl/teleport_strings.xml b/indra/newview/skins/default/xui/pl/teleport_strings.xml index 906978effe..906978effe 100755..100644 --- a/indra/newview/skins/default/xui/pl/teleport_strings.xml +++ b/indra/newview/skins/default/xui/pl/teleport_strings.xml diff --git a/indra/newview/skins/default/xui/pl/xui_version.xml b/indra/newview/skins/default/xui/pl/xui_version.xml index 0e777751d3..0e777751d3 100755..100644 --- a/indra/newview/skins/default/xui/pl/xui_version.xml +++ b/indra/newview/skins/default/xui/pl/xui_version.xml | 
