diff options
40 files changed, 455 insertions, 221 deletions
| diff --git a/autobuild.xml b/autobuild.xml index d5fd639673..2f6e67ad65 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -2459,6 +2459,18 @@                </map>                <key>configure</key>                <map> +                <key>arguments</key> +                <array> +                  <string>..\indra</string> +                  <string>&&</string> +                  <string>..\indra\tools\vstool\VSTool.exe</string> +                  <string>--solution</string> +                  <string>SecondLife.sln</string> +                  <string>--config</string> +                  <string>Debug</string> +                  <string>--startup</string> +                  <string>secondlife-bin</string> +                </array>                  <key>options</key>                  <array>                    <string>-G</string> @@ -2535,6 +2547,18 @@                </map>                <key>configure</key>                <map> +                <key>arguments</key> +                <array> +                  <string>..\indra</string> +                  <string>&&</string> +                  <string>..\indra\tools\vstool\VSTool.exe</string> +                  <string>--solution</string> +                  <string>SecondLife.sln</string> +                  <string>--config</string> +                  <string>RelWithDebInfo</string> +                  <string>--startup</string> +                  <string>secondlife-bin</string> +                </array>                  <key>options</key>                  <array>                    <string>-G</string> @@ -2611,6 +2635,18 @@                </map>                <key>configure</key>                <map> +                <key>arguments</key> +                <array> +                  <string>..\indra</string> +                  <string>&&</string> +                  <string>..\indra\tools\vstool\VSTool.exe</string> +                  <string>--solution</string> +                  <string>SecondLife.sln</string> +                  <string>--config</string> +                  <string>Release</string> +                  <string>--startup</string> +                  <string>secondlife-bin</string> +                </array>                  <key>options</key>                  <array>                    <string>-G</string> diff --git a/doc/contributions.txt b/doc/contributions.txt index df504e4a8a..1742c357b8 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -636,6 +636,7 @@ Jonathan Yap  	STORM-1809  	STORM-1793  	STORM-1810 +	STORM-1877  	STORM-1860  	STORM-1852  	STORM-1870 @@ -644,6 +645,7 @@ Jonathan Yap  	STORM-1862  Kadah Coba  	STORM-1060 +    STORM-1843  Jondan Lundquist  Josef Munster  Josette Windlow @@ -739,6 +741,7 @@ Marianne McCann  Marine Kelley      STORM-281  MartinRJ Fayray +    STORM-1844      STORM-1845  Matthew Anthony  Matthew Dowd @@ -1108,9 +1111,12 @@ Sudane Erato  Synystyr Texan  Takeda Terrawyng  TankMaster Finesmith +	OPEN-140 +	OPEN-142  	STORM-1100 -	STORM-1602  	STORM-1258 +	STORM-1602 +	STORM-1868      VWR-26622  Talamasca  Tali Rosca diff --git a/etc/message.xml b/etc/message.xml index 7b133ab205..6d8160abb5 100644 --- a/etc/message.xml +++ b/etc/message.xml @@ -385,14 +385,6 @@  					<key>trusted-sender</key>  					<boolean>true</boolean>  				</map> - -				<key>ParcelMediaURLFilter</key> -				<map> -					<key>flavor</key> -					<string>llsd</string> -					<key>trusted-sender</key> -					<boolean>false</boolean> -				</map>  				<key>ParcelNavigateMedia</key>  				<map> diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 00baf626d2..487b581056 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -51,6 +51,7 @@ if (WINDOWS)    set(CMAKE_CXX_FLAGS_RELEASE        "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP /Ob2 -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0"        CACHE STRING "C++ compiler release options" FORCE) +  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")    set(CMAKE_CXX_STANDARD_LIBRARIES "")    set(CMAKE_C_STANDARD_LIBRARIES "") diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp index 433076c7a9..a871bcbb25 100644 --- a/indra/llinventory/llparcel.cpp +++ b/indra/llinventory/llparcel.cpp @@ -193,8 +193,6 @@ void LLParcel::init(const LLUUID &owner_id,  	mMediaWidth = 0;  	mMediaHeight = 0;  	setMediaCurrentURL(LLStringUtil::null); -	mMediaURLFilterEnable = FALSE; -	mMediaURLFilterList = LLSD::emptyArray();  	mMediaAllowNavigate = TRUE;  	mMediaURLTimeout = 0.0f;  	mMediaPreventCameraZoom = FALSE; @@ -336,38 +334,6 @@ void LLParcel::setMediaURLResetTimer(F32 time)  	mMediaResetTimer.setTimerExpirySec(time);  } -void LLParcel::setMediaURLFilterList(LLSD list) -{ -	// sanity check LLSD -	// must be array of strings -	if (!list.isArray()) -	{ -		return; -	} - -	for (S32 i = 0; i < list.size(); i++) -	{ -		if (!list[i].isString()) -			return; -	} - -	// can't be too big -	const S32 MAX_SIZE = 50; -	if (list.size() > MAX_SIZE) -	{ -		LLSD new_list = LLSD::emptyArray(); - -		for (S32 i = 0; i < llmin(list.size(), MAX_SIZE); i++) -		{ -			new_list.append(list[i]); -		} - -		list = new_list; -	} -	 -	mMediaURLFilterList = list; -} -  // virtual  void LLParcel::setLocalID(S32 local_id)  { @@ -622,34 +588,6 @@ BOOL LLParcel::importAccessEntry(std::istream& input_stream, LLAccessEntry* entr      return input_stream.good();  } -BOOL LLParcel::importMediaURLFilter(std::istream& input_stream, std::string& url) -{ -	skip_to_end_of_next_keyword("{", input_stream); - -	while(input_stream.good()) -	{ -		skip_comments_and_emptyspace(input_stream); -		std::string line, keyword, value; -		get_line(line, input_stream, MAX_STRING); -		get_keyword_and_value(keyword, value, line); - -		if ("}" == keyword) -		{ -			break; -		} -		else if ("url" == keyword) -		{ -			url = value; -		} -		else -		{ -			llwarns << "Unknown keyword in parcel media url filter section: <" -					<< keyword << ">" << llendl; -		} -	} -	return input_stream.good(); -} -  // Assumes we are in a block "ParcelData"  void LLParcel::packMessage(LLMessageSystem* msg)  { @@ -696,8 +634,6 @@ void LLParcel::packMessage(LLSD& msg)  	msg["media_allow_navigate"] = getMediaAllowNavigate();  	msg["media_prevent_camera_zoom"] = getMediaPreventCameraZoom();  	msg["media_url_timeout"] = getMediaURLTimeout(); -	msg["media_url_filter_enable"] = getMediaURLFilterEnable(); -	msg["media_url_filter_list"] = getMediaURLFilterList();  	msg["group_id"] = getGroupID();  	msg["pass_price"] = mPassPrice;  	msg["pass_hours"] = mPassHours; @@ -789,7 +725,6 @@ void LLParcel::unpackMessage(LLMessageSystem* msg)  		msg->getString("MediaLinkSharing", "MediaCurrentURL", buffer);  		setMediaCurrentURL(buffer);  		msg->getU8 ( "MediaLinkSharing", "MediaAllowNavigate", mMediaAllowNavigate ); -		msg->getU8 ( "MediaLinkSharing", "MediaURLFilterEnable", mMediaURLFilterEnable );  		msg->getU8 ( "MediaLinkSharing", "MediaPreventCameraZoom", mMediaPreventCameraZoom );  		msg->getF32( "MediaLinkSharing", "MediaURLTimeout", mMediaURLTimeout);  	} @@ -1250,8 +1185,6 @@ void LLParcel::clearParcel()  	mMediaWidth = 0;  	mMediaHeight = 0;  	setMediaCurrentURL(LLStringUtil::null); -	setMediaURLFilterList(LLSD::emptyArray()); -	setMediaURLFilterEnable(FALSE);  	setMediaAllowNavigate(TRUE);  	setMediaPreventCameraZoom(FALSE);  	setMediaURLTimeout(0.0f); diff --git a/indra/llinventory/llparcel.h b/indra/llinventory/llparcel.h index f0b2caca3d..499f690e76 100644 --- a/indra/llinventory/llparcel.h +++ b/indra/llinventory/llparcel.h @@ -247,8 +247,6 @@ public:  	void setMediaWidth(S32 width);  	void setMediaHeight(S32 height);  	void setMediaCurrentURL(const std::string& url); -	void setMediaURLFilterEnable(U8 enable) { mMediaURLFilterEnable = enable; } -	void setMediaURLFilterList(LLSD list);  	void setMediaAllowNavigate(U8 enable) { mMediaAllowNavigate = enable; }  	void setMediaURLTimeout(F32 timeout) { mMediaURLTimeout = timeout; }  	void setMediaPreventCameraZoom(U8 enable) { mMediaPreventCameraZoom = enable; } @@ -310,7 +308,6 @@ public:  //	BOOL	importStream(std::istream& input_stream);  	BOOL	importAccessEntry(std::istream& input_stream, LLAccessEntry* entry); -	BOOL    importMediaURLFilter(std::istream& input_stream, std::string& url);  	// BOOL	exportStream(std::ostream& output_stream);  	void	packMessage(LLMessageSystem* msg); @@ -354,8 +351,6 @@ public:  	U8				getMediaAutoScale() const	{ return mMediaAutoScale; }  	U8              getMediaLoop() const        { return mMediaLoop; }  	const std::string&  getMediaCurrentURL() const { return mMediaCurrentURL; } -	U8              getMediaURLFilterEnable() const   { return mMediaURLFilterEnable; } -	LLSD            getMediaURLFilterList() const     { return mMediaURLFilterList; }  	U8              getMediaAllowNavigate() const { return mMediaAllowNavigate; }  	F32				getMediaURLTimeout() const { return mMediaURLTimeout; }  	U8              getMediaPreventCameraZoom() const { return mMediaPreventCameraZoom; } @@ -651,8 +646,6 @@ protected:  	U8                  mMediaLoop;  	std::string         mMediaCurrentURL;  	LLUUID				mMediaID; -	U8                  mMediaURLFilterEnable; -	LLSD                mMediaURLFilterList;  	U8                  mMediaAllowNavigate;  	U8					mMediaPreventCameraZoom;  	F32					mMediaURLTimeout; diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl index 46d2aa4877..bfd9b9b3eb 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl @@ -46,6 +46,6 @@ void main()  	frag_data[0] = vec4(diff.rgb, 0.0);  	frag_data[1] = vec4(0,0,0,0);  	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(nvn.xy * 0.5 + 0.5, nvn.z, 0.0); +	frag_data[2] = vec4(nvn.xyz * 0.5 + 0.5, 0.0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl b/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl index 680eadb852..23c4ea2fff 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl @@ -52,5 +52,5 @@ void main()  	frag_data[1] = vertex_color.aaaa; // spec  	//frag_data[1] = vec4(vec3(vertex_color.a), vertex_color.a+(1.0-vertex_color.a)*vertex_color.a); // spec - from former class3 - maybe better, but not so well tested  	vec3 nvn = normalize(tnorm); -	frag_data[2] = vec4(nvn.xy * 0.5 + 0.5, nvn.z, 0.0); +	frag_data[2] = vec4(nvn.xyz * 0.5 + 0.5, 0.0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskF.glsl index b2027d3a5d..c1fa9e4aac 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskF.glsl @@ -49,6 +49,6 @@ void main()  	frag_data[0] = vec4(col.rgb, 0.0);  	frag_data[1] = vec4(0,0,0,0); // spec  	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(nvn.xy * 0.5 + 0.5, nvn.z, 0.0); +	frag_data[2] = vec4(nvn.xyz * 0.5 + 0.5, 0.0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl index ead384b07c..4c68123fac 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl @@ -48,5 +48,5 @@ void main()  	frag_data[0] = vec4(col.rgb, 0.0);  	frag_data[1] = vec4(0,0,0,0);  	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(nvn.xy * 0.5 + 0.5, nvn.z, 0.0); +	frag_data[2] = vec4(nvn.xyz * 0.5 + 0.5, 0.0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskNoColorF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskNoColorF.glsl index f73fa6f231..ad65c7d330 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskNoColorF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskNoColorF.glsl @@ -49,6 +49,6 @@ void main()  	frag_data[0] = vec4(col.rgb, 0.0);  	frag_data[1] = vec4(0,0,0,0); // spec  	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(nvn.xy * 0.5 + 0.5, nvn.z, 0.0); +	frag_data[2] = vec4(nvn.xyz * 0.5 + 0.5, 0.0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl index 227aa2aae3..86390bdd83 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl @@ -42,6 +42,6 @@ void main()  	frag_data[1] = vertex_color.aaaa; // spec  	//frag_data[1] = vec4(vec3(vertex_color.a), vertex_color.a+(1.0-vertex_color.a)*vertex_color.a); // spec - from former class3 - maybe better, but not so well tested  	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(nvn.xy * 0.5 + 0.5, nvn.z, 0.0); +	frag_data[2] = vec4(nvn.xyz * 0.5 + 0.5, 0.0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseIndexedF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseIndexedF.glsl index d442e5403a..788b966af8 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseIndexedF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseIndexedF.glsl @@ -41,5 +41,5 @@ void main()  	frag_data[1] = vertex_color.aaaa; // spec  	//frag_data[1] = vec4(vec3(vertex_color.a), vertex_color.a+(1.0-vertex_color.a)*vertex_color.a); // spec - from former class3 - maybe better, but not so well tested  	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(nvn.xy * 0.5 + 0.5, nvn.z, 0.0); +	frag_data[2] = vec4(nvn.xyz * 0.5 + 0.5, 0.0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl index 4d01eeb64e..7e79317543 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl @@ -79,7 +79,7 @@ void main()  	}  	vec3 norm = texture2DRect(normalMap, frag.xy).xyz; -	norm = vec3((norm.xy-0.5)*2.0,norm.z); // unpack norm +	norm = (norm.xyz-0.5)*2.0; // unpack norm  	norm = normalize(norm);  	vec4 spec = texture2DRect(specularRect, frag.xy);  	vec3 diff = texture2DRect(diffuseRect, frag.xy).rgb; diff --git a/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl index f671d5b750..75757b26c8 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl @@ -84,7 +84,7 @@ void main()  	}  	vec3 norm = texture2DRect(normalMap, frag.xy).xyz; -	norm = vec3((norm.xy-0.5)*2.0,norm.z); // unpack norm +	norm = (norm.xyz-0.5)*2.0; // unpack norm  	float da = dot(norm, lv);  	if (da < 0.0)  	{ diff --git a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl index 66e3cf6d13..89448e2167 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl @@ -277,7 +277,7 @@ void main()  	float depth = texture2DRect(depthMap, tc.xy).r;  	vec3 pos = getPosition_d(tc, depth).xyz;  	vec3 norm = texture2DRect(normalMap, tc).xyz; -	norm = vec3((norm.xy-0.5)*2.0,norm.z); // unpack norm +	norm = (norm.xyz-0.5)*2.0; // unpack norm  	float da = max(dot(norm.xyz, sun_dir.xyz), 0.0); diff --git a/indra/newview/app_settings/shaders/class1/deferred/sunLightSSAOF.glsl b/indra/newview/app_settings/shaders/class1/deferred/sunLightSSAOF.glsl index 2422d73a3e..bac74cbbef 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/sunLightSSAOF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/sunLightSSAOF.glsl @@ -123,7 +123,7 @@ void main()  	vec4 pos = getPosition(pos_screen);  	vec3 norm = texture2DRect(normalMap, pos_screen).xyz; -	norm = vec3((norm.xy-0.5)*2.0,norm.z); // unpack norm +	norm = (norm.xyz-0.5)*2.0; // unpack norm  	frag_color[0] = 1.0;  	frag_color[1] = calcAmbientOcclusion(pos, norm); diff --git a/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl b/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl index 8a5e482e80..daf1cc7ea2 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl @@ -56,6 +56,6 @@ void main()  	frag_data[0] = vec4(outColor.rgb, 0.0);  	frag_data[1] = vec4(0,0,0,0);  	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(nvn.xy * 0.5 + 0.5, nvn.z, 0.0); +	frag_data[2] = vec4(nvn.xyz * 0.5 + 0.5, 0.0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl index 6cf6106b51..da253846ef 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl @@ -48,5 +48,5 @@ void main()  	frag_data[0] = vec4(vertex_color.rgb*col.rgb, 0.0);  	frag_data[1] = vec4(0,0,0,0);  	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(nvn.xy * 0.5 + 0.5, nvn.z, 0.0); +	frag_data[2] = vec4(nvn.xyz * 0.5 + 0.5, 0.0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl b/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl index 42dc7c0980..3427d6db57 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl @@ -161,5 +161,5 @@ void main()  	frag_data[0] = vec4(color.rgb, 0.5); // diffuse  	frag_data[1] = vec4(0.5,0.5,0.5, 0.95); // speccolor*spec, spec -	frag_data[2] = vec4(screenspacewavef.xy*0.5+0.5, screenspacewavef.z, screenspacewavef.z*0.5); // normalxyz, displace +	frag_data[2] = vec4(screenspacewavef.xyz*0.5+0.5, screenspacewavef.z*0.5); // normalxyz, displace  } diff --git a/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl index f7f1f649ce..5621e47ab7 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl @@ -154,7 +154,7 @@ void main()  	}  	vec3 norm = texture2DRect(normalMap, frag.xy).xyz; -	norm = vec3((norm.xy-0.5)*2.0,norm.z); // unpack norm +	norm = (norm.xyz-0.5)*2.0; // unpack norm  	norm = normalize(norm);  	float l_dist = -dot(lv, proj_n); diff --git a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl index a137bea30f..9df9d75905 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl @@ -279,7 +279,7 @@ void main()  	float depth = texture2DRect(depthMap, tc.xy).r;  	vec3 pos = getPosition_d(tc, depth).xyz;  	vec3 norm = texture2DRect(normalMap, tc).xyz; -	norm = vec3((norm.xy-0.5)*2.0,norm.z); // unpack norm +	norm = (norm.xyz-0.5)*2.0; // unpack norm  	float da = max(dot(norm.xyz, sun_dir.xyz), 0.0); diff --git a/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl index ab077d9e02..6d6ad6d565 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl @@ -154,7 +154,7 @@ void main()  	}  	vec3 norm = texture2DRect(normalMap, frag.xy).xyz; -	norm = vec3((norm.xy-0.5)*2.0,norm.z); // unpack norm +	norm = (norm.xyz-0.5)*2.0; // unpack norm  	norm = normalize(norm);  	float l_dist = -dot(lv, proj_n); diff --git a/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl index c1495b145e..890486c4b1 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl @@ -126,7 +126,7 @@ void main()  	vec4 pos = getPosition(pos_screen);  	vec4 nmap4 = texture2DRect(normalMap, pos_screen); -	nmap4 = vec4((nmap4.xy-0.5)*2.0,nmap4.z,nmap4.w); // unpack norm +	nmap4 = vec4((nmap4.xyz-0.5)*2.0,nmap4.w); // unpack norm  	float displace = nmap4.w;  	vec3 norm = nmap4.xyz; diff --git a/indra/newview/app_settings/shaders/class2/deferred/sunLightSSAOF.glsl b/indra/newview/app_settings/shaders/class2/deferred/sunLightSSAOF.glsl index 039fca9df2..2dcd3d656f 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/sunLightSSAOF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/sunLightSSAOF.glsl @@ -187,7 +187,7 @@ void main()  	vec4 pos = getPosition(pos_screen);  	vec4 nmap4 = texture2DRect(normalMap, pos_screen); -	nmap4 = vec4((nmap4.xy-0.5)*2.0,nmap4.z,nmap4.w); // unpack norm +	nmap4 = vec4((nmap4.xyz-0.5)*2.0,nmap4.w); // unpack norm  	float displace = nmap4.w;  	vec3 norm = nmap4.xyz; diff --git a/indra/newview/llmutelist.cpp b/indra/newview/llmutelist.cpp index a7059eb519..54522bb7f6 100644 --- a/indra/newview/llmutelist.cpp +++ b/indra/newview/llmutelist.cpp @@ -44,6 +44,8 @@  #include "llmutelist.h" +#include "pipeline.h" +  #include <boost/tokenizer.hpp>  #include "lldispatcher.h" @@ -192,6 +194,23 @@ BOOL LLMuteList::isLinden(const std::string& name) const  	return last_name == "Linden";  } +static LLVOAvatar* find_avatar(const LLUUID& id) +{ +	LLViewerObject *obj = gObjectList.findObject(id); +	while (obj && obj->isAttachment()) +	{ +		obj = (LLViewerObject *)obj->getParent(); +	} + +	if (obj && obj->isAvatar()) +	{ +		return (LLVOAvatar*)obj; +	} +	else +	{ +		return NULL; +	} +}  BOOL LLMuteList::add(const LLMute& mute, U32 flags)  { @@ -288,6 +307,12 @@ BOOL LLMuteList::add(const LLMute& mute, U32 flags)  						LLViewerPartSim::getInstance()->clearParticlesByOwnerID(localmute.mID);  					}  				} +				//mute local lights that are attached to the avatar +				LLVOAvatar *avatarp = find_avatar(localmute.mID); +				if (avatarp) +				{ +					LLPipeline::removeMutedAVsLights(avatarp); +				}  				return TRUE;  			}  		} diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 89240c982f..ff69c6e9fd 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -469,7 +469,7 @@ void LLStatusBar::onMouseEnterVolume()  	LLRect vol_btn_rect = volbtn->getRect();  	LLRect volume_pulldown_rect = mPanelVolumePulldown->getRect();  	volume_pulldown_rect.setLeftTopAndSize(vol_btn_rect.mLeft - -	     (volume_pulldown_rect.getWidth() - vol_btn_rect.getWidth())/2, +	     (volume_pulldown_rect.getWidth() - vol_btn_rect.getWidth()),  			       vol_btn_rect.mBottom,  			       volume_pulldown_rect.getWidth(),  			       volume_pulldown_rect.getHeight()); diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp index d629f3abac..602b924398 100644 --- a/indra/newview/lltoastnotifypanel.cpp +++ b/indra/newview/lltoastnotifypanel.cpp @@ -334,32 +334,24 @@ void LLToastNotifyPanel::updateButtonsLayout(const std::vector<index_button_pair  	}  	U32 ignore_btn_width = 0; +	U32 mute_btn_pad = 0;  	if (mIsScriptDialog && ignore_btn != NULL)  	{  		LLRect ignore_btn_rect(ignore_btn->getRect()); -		S32 buttons_per_row = max_width / BUTTON_WIDTH; //assume that h_pad far less than BUTTON_WIDTH -		S32 ignore_btn_left = buttons_per_row * BUTTON_WIDTH + (buttons_per_row	- 1) * h_pad - ignore_btn_rect.getWidth(); -		if (ignore_btn_left + ignore_btn_rect.getWidth() > max_width)// make sure that the ignore button is in panel -		{ -			ignore_btn_left = max_width - ignore_btn_rect.getWidth() - 2 * HPAD; -		} +		S32 ignore_btn_left = max_width - ignore_btn_rect.getWidth();  		ignore_btn_rect.setOriginAndSize(ignore_btn_left, BOTTOM_PAD,// always move ignore button at the bottom  				ignore_btn_rect.getWidth(), ignore_btn_rect.getHeight());  		ignore_btn->setRect(ignore_btn_rect);  		ignore_btn_width = ignore_btn_rect.getWidth();  		mControlPanel->addChild(ignore_btn, -1); +		mute_btn_pad = 4 * HPAD; //only use a 4 * HPAD padding if an ignore button exists  	}  	if (mIsScriptDialog && mute_btn != NULL)  	{  		LLRect mute_btn_rect(mute_btn->getRect()); -		S32 buttons_per_row = max_width / BUTTON_WIDTH; //assume that h_pad far less than BUTTON_WIDTH  		// Place mute (Block) button to the left of the ignore button. -		S32 mute_btn_left = buttons_per_row * BUTTON_WIDTH + (buttons_per_row	- 1) * h_pad - mute_btn_rect.getWidth() - ignore_btn_width - (h_pad / 2); -		if (mute_btn_left + mute_btn_rect.getWidth() > max_width) // make sure that the mute button is in panel -		{ -			mute_btn_left = max_width - mute_btn_rect.getWidth() - 2 * HPAD; -		} +		S32 mute_btn_left = max_width - mute_btn_rect.getWidth() - ignore_btn_width - mute_btn_pad;  		mute_btn_rect.setOriginAndSize(mute_btn_left, BOTTOM_PAD,// always move mute button at the bottom  				mute_btn_rect.getWidth(), mute_btn_rect.getHeight());  		mute_btn->setRect(mute_btn_rect); diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp index 2bb2e92279..77e382b8c7 100644 --- a/indra/newview/llviewerparcelmgr.cpp +++ b/indra/newview/llviewerparcelmgr.cpp @@ -1658,9 +1658,6 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use  			// Request access list information for this land  			parcel_mgr.sendParcelAccessListRequest(AL_ACCESS | AL_BAN); -			// Request the media url filter list for this land -			parcel_mgr.requestParcelMediaURLFilter(); -  			// Request dwell for this land, if it's not public land.  			parcel_mgr.mSelectedDwell = DWELL_NAN;  			if (0 != local_id) @@ -1989,67 +1986,6 @@ void LLViewerParcelMgr::sendParcelAccessListUpdate(U32 which)  	}  } -class LLParcelMediaURLFilterResponder : public LLHTTPClient::Responder -{ -	virtual void result(const LLSD& content) -	{ -		LLViewerParcelMgr::getInstance()->receiveParcelMediaURLFilter(content); -	} -}; - -void LLViewerParcelMgr::requestParcelMediaURLFilter() -{ -	if (!mSelected) -	{ -		return; -	} - -	LLViewerRegion* region = LLWorld::getInstance()->getRegionFromPosGlobal( mWestSouth ); -	if (!region) -	{ -		return; -	} - -	LLParcel* parcel = mCurrentParcel; -	if (!parcel) -	{ -		llwarns << "no parcel" << llendl; -		return; -	} - -	LLSD body; -	body["local-id"] = parcel->getLocalID(); -	body["list"] = parcel->getMediaURLFilterList(); - -	std::string url = region->getCapability("ParcelMediaURLFilterList"); -	if (!url.empty()) -	{ -		LLHTTPClient::post(url, body, new LLParcelMediaURLFilterResponder); -	} -	else -	{ -		llwarns << "can't get ParcelMediaURLFilterList cap" << llendl; -	} -} - - -void LLViewerParcelMgr::receiveParcelMediaURLFilter(const LLSD &content) -{ -	if (content.has("list")) -	{ -		LLParcel* parcel = LLViewerParcelMgr::getInstance()->mCurrentParcel; -		if (!parcel) return; -		 -		if (content["local-id"].asInteger() == parcel->getLocalID()) -		{ -			parcel->setMediaURLFilterList(content["list"]); -			 -			LLViewerParcelMgr::getInstance()->notifyObservers(); -		} -	} -} - -  void LLViewerParcelMgr::deedLandToGroup()  {  	std::string group_name; diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h index 2a11549426..6183b7e90e 100644 --- a/indra/newview/llviewerparcelmgr.h +++ b/indra/newview/llviewerparcelmgr.h @@ -223,11 +223,6 @@ public:  	// Takes an Access List flag, like AL_ACCESS or AL_BAN  	void	sendParcelAccessListRequest(U32 flags); -	// asks for the parcel's media url filter list -	void    requestParcelMediaURLFilter(); -	// receive the response -	void    receiveParcelMediaURLFilter(const LLSD &content); -	  	// Dwell is not part of the usual parcel update information because the  	// simulator doesn't actually know the per-parcel dwell.  Ack!  We have  	// to get it out of the database. diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 05c7ef5381..effa368b7a 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -1553,7 +1553,6 @@ void LLViewerRegionImpl::buildCapabilityNames(LLSD& capabilityNames)  	capabilityNames.append("NewFileAgentInventory");  	capabilityNames.append("ObjectNavMeshProperties");  	capabilityNames.append("ParcelPropertiesUpdate"); -	capabilityNames.append("ParcelMediaURLFilterList");  	capabilityNames.append("ParcelNavigateMedia");  	capabilityNames.append("ParcelVoiceInfoRequest");  	capabilityNames.append("ProductInfoRequest"); diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 75eb8c460e..920bac93a2 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -1680,6 +1680,21 @@ void LLPipeline::unlinkDrawable(LLDrawable *drawable)  } +//static +void LLPipeline::removeMutedAVsLights(LLVOAvatar* muted_avatar) +{ +	LLFastTimer t(FTM_REMOVE_FROM_LIGHT_SET); +	for (light_set_t::iterator iter = gPipeline.mNearbyLights.begin(); +		 iter != gPipeline.mNearbyLights.end(); iter++) +	{ +		if (iter->drawable->getVObj()->isAttachment() && iter->drawable->getVObj()->getAvatar() == muted_avatar) +		{ +			gPipeline.mLights.erase(iter->drawable); +			gPipeline.mNearbyLights.erase(iter); +		} +	} +} +  U32 LLPipeline::addObject(LLViewerObject *vobj)  {  	LLMemType mt_ao(LLMemType::MTYPE_PIPELINE_ADD_OBJECT); diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index 0ecae40d49..fd2a1e06cd 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -151,6 +151,8 @@ public:  	void		 unlinkDrawable(LLDrawable*); +	static void removeMutedAVsLights(LLVOAvatar*); +  	// Object related methods  	void        markVisible(LLDrawable *drawablep, LLCamera& camera);  	void		markOccluder(LLSpatialGroup* group); diff --git a/indra/newview/skins/default/xui/de/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/de/panel_volume_pulldown.xml new file mode 100644 index 0000000000..e6ab9165d7 --- /dev/null +++ b/indra/newview/skins/default/xui/de/panel_volume_pulldown.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="volumepulldown_floater" width="240"> +	<button left="217" name="prefs_btn"/> +	<slider label="Master" name="System Volume" label_width="80" width="180"/> +    <slider label="Schaltflächen" label_width="80" width="180" name="UI Volume"/> +    <slider label="Umgebung" label_width="80" width="180" name="Wind Volume"/> +    <slider label="Soundeffekte" label_width="80" width="180" name="SFX Volume"/> +	<check_box name="gesture_audio_play_btn" tool_tip="Sounds von Gesten abspielen"/> +    <slider label="Musikstream" label_width="80" width="180" name="Music Volume"/> +	<check_box tool_tip="Musikstream aktivieren" name="enable_music"/> +    <slider label="Medien" label_width="80" width="180" name="Media Volume"/> +	<check_box tool_tip="Medienstream aktivieren" name="enable_media"/> +    <slider label="Voice-Chat" label_width="80" width="180" name="Voice Volume"/> +	<check_box tool_tip="Voice-Chat aktivieren" name="enable_voice_check"/> +</panel> diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index 3aa34439f1..dd2a0c6627 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -129,6 +129,5 @@       left_pad="5"       top="2"       name="volume_btn" -     tool_tip="Global Volume Control"       width="16" />  </panel> diff --git a/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml index 7b22b2cce1..6adede0362 100644 --- a/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml +++ b/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml @@ -8,41 +8,289 @@   border="false"   chrome="true"   follows="bottom" - height="150" + height="155"   layout="topleft"   name="volumepulldown_floater" - width="32"> - <slider -  control_name="AudioLevelMaster" -  follows="left|top" -  left="0" -  top="1" -  orientation="vertical" -  height="120" -  increment="0.05" -  initial_value="0.5" -  layout="topleft" -  name="mastervolume" -  show_text="false" -  slider_label.halign="right" -  top_pad="2" -  volume="true"> -  <slider.commit_callback -   function="Vol.setControlFalse" -   parameter="MuteAudio" /> -  </slider> -  <button -    left="10" -    top_pad="9" -    width="12" -    height="12" -    follows="top|left" -    name="prefs_btn" -    image_unselected="Icon_Gear_Foreground" -    image_disabled="Icon_Gear_Background" -    image_pressed="Icon_Gear_Press" -    scale_image="false"> -    <button.commit_callback -       function="Vol.GoAudioPrefs" /> -  </button> + width="225"> +      <slider +     control_name="AudioLevelMaster" +     follows="top|left" +     font.style="BOLD" +     height="15" +     increment="0.025" +     initial_value="0.5" +     label="Master" +     label_width="60" +     left="10" +     width="160" +     layout="topleft" +     name="System Volume" +     show_text="false" +     top="10" +     volume="true"> +        <slider.commit_callback +         function="Pref.setControlFalse" +         parameter="MuteAudio" /> +    </slider> +    <button +     control_name="MuteAudio" +     follows="top|left" +     height="16" +     image_selected="AudioMute_Off" +     image_unselected="Audio_Off" +     is_toggle="true" +     layout="topleft" +     left_pad="5" +     name="mute_audio" +     tab_stop="false" +     width="16" /> +    <slider +        control_name="AudioLevelUI" +        disabled_control="MuteAudio" +        follows="left|top" +        height="15" +        increment="0.025" +        initial_value="0.5" +        label="Buttons" +        label_width="60" +        left="10" +        width="160" +        layout="topleft" +        name="UI Volume" +        show_text="false" +        top_pad="4" +        volume="true"> +    <slider.commit_callback +        function="Pref.setControlFalse" +        parameter="MuteUI" /> +    </slider> +    <button +        control_name="MuteUI" +        disabled_control="MuteAudio" +        follows="top|left" +        height="16" +        image_selected="AudioMute_Off" +        image_unselected="Audio_Off" +        is_toggle="true" +        layout="topleft" +        left_pad="5" +        name="mute_audio" +        tab_stop="false" +        width="16" /> +    <slider +     control_name="AudioLevelAmbient" +     disabled_control="MuteAudio" +     follows="left|top" +     height="15" +     increment="0.025" +     initial_value="0.5" +     label="Ambient" +     label_width="60" +     left="10" +     width="160" +     layout="topleft" +     name="Wind Volume" +     show_text="false" +     top_pad="4" +     volume="true"> +        <slider.commit_callback +         function="Pref.setControlFalse" +         parameter="MuteAmbient" /> +    </slider> +    <button +     control_name="MuteAmbient" +     disabled_control="MuteAudio" +     follows="top|left" +     height="16" +     image_selected="AudioMute_Off" +     image_unselected="Audio_Off" +     is_toggle="true" +     layout="topleft" +     left_pad="5" +     name="mute_audio" +     tab_stop="false" +     width="16" /> +    <slider +     control_name="AudioLevelSFX" +     disabled_control="MuteAudio" +     follows="left|top" +     height="15" +     increment="0.025" +     initial_value="0.5" +     label="Sounds" +     label_width="60" +     left="10" +     width="160" +     layout="topleft" +     name="SFX Volume" +     show_text="false" +     top_pad="4" +     volume="true"> +        <slider.commit_callback +         function="Pref.setControlFalse" +         parameter="MuteSounds" /> +    </slider> +    <button +     control_name="MuteSounds" +     disabled_control="MuteAudio" +     follows="top|left" +     height="16" +     image_selected="AudioMute_Off" +     image_unselected="Audio_Off" +     is_toggle="true" +     layout="topleft" +     left_pad="5" +     name="mute_audio" +     tab_stop="false" +     width="16"> +      <button.commit_callback +      function="Pref.SetSounds"/> +    </button> +  <check_box +    name="gesture_audio_play_btn" +		control_name="EnableGestureSounds" +    disabled_control="MuteAudio" +    height="16" +    layout="topleft" +    left_pad="5" +    tool_tip="Enable sounds from gestures" +    top_delta="2" +    width="350"/> +    <slider +     control_name="AudioLevelMusic" +     disabled_control="MuteAudio" +     follows="left|top" +     height="15" +     increment="0.025" +     initial_value="0.5" +     label="Music" +     label_width="60" +     left="10" +     width="160" +     layout="topleft" +     name="Music Volume" +     show_text="false" +     top_pad="4" +     volume="true"> +        <slider.commit_callback +         function="Pref.setControlFalse" +         parameter="MuteMusic" /> +    </slider> +    <button +     control_name="MuteMusic" +     disabled_control="MuteAudio" +     follows="top|left" +     height="16" +     image_selected="AudioMute_Off" +     image_unselected="Audio_Off" +     is_toggle="true" +     layout="topleft" +     left_pad="5" +     name="mute_audio" +     tab_stop="false" +     width="16" /> +    <check_box +        control_name="AudioStreamingMusic" +        height="16" +        tool_tip="Enable Streaming Music" +        layout="topleft" +        left_pad="5" +        name="enable_music" +        top_delta="2" +        width="350"> +        <check_box.commit_callback +            function="Pref.updateMediaAutoPlayCheckbox"/> +    </check_box> +    <slider +        control_name="AudioLevelMedia" +        disabled_control="MuteAudio" +        follows="left|top" +        height="16" +        increment="0.025" +        initial_value="0.5" +        label="Media" +        label_width="60" +        left="10" +        width="160" +        layout="topleft" +        name="Media Volume" +        show_text="false" +        top_pad="4" +        volume="true"> +      <slider.commit_callback +        function="Pref.setControlFalse" +        parameter="MuteMedia" /> +    </slider> +    <button +        control_name="MuteMedia" +        disabled_control="MuteAudio" +        follows="top|left" +        height="16" +        image_selected="AudioMute_Off" +        image_unselected="Audio_Off" +        is_toggle="true" +        layout="topleft" +        left_pad="5" +        name="mute_audio" +        tab_stop="false" +        width="16" /> +    <check_box +        label_text.halign="left" +        follows="left|top" +        height="16" +        control_name ="AudioStreamingMedia" +        tool_tip="Enable Streaming Media" +        layout="topleft" +        top_delta="2" +        left_pad="5" +        name="enable_media" +        width="110"> +        <check_box.commit_callback +            function="Pref.updateMediaAutoPlayCheckbox"/> +    </check_box> +    <slider +        control_name="AudioLevelVoice" +        disabled_control="MuteAudio" +        follows="left|top" +        height="16" +        increment="0.025" +        initial_value="0.5" +        label="Voice" +        label_width="60" +        left="10" +        width="160" +        layout="topleft" +        top_pad="4" +        name="Voice Volume" +        show_text="false" +        volume="true"> +    <slider.commit_callback +        function="Pref.setControlFalse" +        parameter="MuteVoice" /> +    </slider> +    <button +        control_name="MuteVoice" +        disabled_control="MuteAudio" +        follows="top|left" +        height="16" +        image_selected="AudioMute_Off" +        image_unselected="Audio_Off" +        is_toggle="true" +        layout="topleft" +        left_pad="5" +        name="mute_audio" +        tab_stop="false" +        width="16" /> +    <check_box +        label_text.halign="left" +        follows="left|top" +        height="16" +        control_name ="EnableVoiceChat" +        disabled_control="CmdLineDisableVoice" +        tool_tip="Enable Voice Chat" +        layout="topleft" +        top_delta="2" +        left_pad="5" +        name="enable_voice_check" +        width="110"/>  </panel> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index d5186e4c1b..15eb46c348 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -2272,11 +2272,15 @@ Drag folders to this area and click "Send to Marketplace" to list them for sale    <!-- historically default name of the Favorites folder can start from either "f" or "F" letter.    We should localize both of them with the same value -->  	<string name="InvFolder favorite">My Favorites</string> +	<string name="InvFolder Favorites">My Favorites</string> +	<string name="InvFolder favorites">My Favorites</string>  	<string name="InvFolder Current Outfit">Current Outfit</string>  	<string name="InvFolder Initial Outfits">Initial Outfits</string>  	<string name="InvFolder My Outfits">My Outfits</string>  	<string name="InvFolder Accessories">Accessories</string>  	<string name="InvFolder Meshes">Meshes</string> +	<string name="InvFolder Received Items">Received Items</string> +	<string name="InvFolder Merchant Outbox">Merchant Outbox</string>    <!-- are used for Friends and Friends/All folders in Inventory "Calling cards" folder. See EXT-694-->  	<string name="InvFolder Friends">Friends</string> diff --git a/indra/newview/skins/default/xui/es/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/es/panel_volume_pulldown.xml new file mode 100644 index 0000000000..9193da6cde --- /dev/null +++ b/indra/newview/skins/default/xui/es/panel_volume_pulldown.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="volumepulldown_floater" width="215"> +	<slider label="Maestro" name="System Volume" label_width="55" width="155"/> +	<slider label="Botones" name="UI Volume" label_width="55" width="155"/> +	<slider label="Ambiente" name="Wind Volume" label_width="55" width="155"/> +	<slider label="Sonidos" name="SFX Volume" label_width="55" width="155"/> +	<check_box name="gesture_audio_play_btn" tool_tip="Activa el sonido de los gestos"/> +	<slider label="Música" name="Music Volume" label_width="55" width="155"/> +	<check_box tool_tip="Activa el flujo de audio" name="enable_music"/> +	<slider label="Medios" name="Media Volume" label_width="55" width="155"/> +	<check_box tool_tip="Activa el flujo de medios" name="enable_media"/> +	<slider label="Voz" name="Voice Volume" label_width="55" width="155"/> +	<check_box tool_tip="Activar chat de voz" name="enable_voice_check"/> +</panel> diff --git a/indra/newview/skins/default/xui/it/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/it/panel_volume_pulldown.xml new file mode 100644 index 0000000000..1792b09413 --- /dev/null +++ b/indra/newview/skins/default/xui/it/panel_volume_pulldown.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="volumepulldown_floater" width="220"> +    <button left="197" name="prefs_btn"/> +    <slider label="Generale" name="System Volume" label_width="60" width="160"/> +    <slider label="Interfaccia" name="UI Volume" label_width="60" width="160"/> +    <slider label="Ambiente" name="Wind Volume" label_width="60" width="160"/> +    <slider label="Suoni" name="SFX Volume" label_width="60" width="160"/> +    <check_box name="gesture_audio_play_btn" tool_tip="Attiva suoni Gesture"/> +    <slider label="Musica" name="Music Volume" label_width="60" width="160"/> +    <check_box tool_tip="Abilita musica in streaming" name="enable_music"/> +    <slider label="Media" name="Media Volume" label_width="60" width="160"/> +    <check_box tool_tip="Abilita riproduzione media" name="enable_media"/> +    <slider label="Voice" name="Voice Volume" label_width="60" width="160"/> +    <check_box tool_tip="Abilita il voice" name="enable_voice_check"/> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/pl/panel_volume_pulldown.xml new file mode 100644 index 0000000000..1611900700 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_volume_pulldown.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="volumepulldown_floater"> +    <slider label="Główny" name="System Volume"/> +    <slider label="Przyciski" name="UI Volume"/> +    <slider label="Okolica" name="Wind Volume"/> +    <slider label="Efekty" name="SFX Volume"/> +    <check_box name="gesture_audio_play_btn" tool_tip="Włącz dźwięki gestów"/> +    <slider label="Muzyka" name="Music Volume"/> +    <check_box tool_tip="Włącz muzykę strumieniową" name="enable_music"/> +    <slider label="Media" name="Media Volume"/> +    <check_box tool_tip="Włącz media strumieniowe" name="enable_media"/> +    <slider label="Głos" name="Voice Volume"/> +    <check_box tool_tip="Włącz rozmowy głosowe" name="enable_voice_check"/> +</panel> | 
