diff options
93 files changed, 356 insertions, 2784 deletions
diff --git a/indra/llprimitive/llprimitive.cpp b/indra/llprimitive/llprimitive.cpp index 67c225d25d..bfc9bc0861 100644 --- a/indra/llprimitive/llprimitive.cpp +++ b/indra/llprimitive/llprimitive.cpp @@ -107,7 +107,7 @@ const F32 FLEXIBLE_OBJECT_DEFAULT_LENGTH = 1.0f;  const BOOL FLEXIBLE_OBJECT_DEFAULT_USING_COLLISION_SPHERE = FALSE;  const BOOL FLEXIBLE_OBJECT_DEFAULT_RENDERING_COLLISION_SPHERE = FALSE; -const char *SCULPT_DEFAULT_TEXTURE = "be293869-d0d9-0a69-5989-ad27f1946fd4"; // old inverted texture: "7595d345-a24c-e7ef-f0bd-78793792133e"; +const LLUUID SCULPT_DEFAULT_TEXTURE("be293869-d0d9-0a69-5989-ad27f1946fd4"); // old inverted texture: "7595d345-a24c-e7ef-f0bd-78793792133e";  // Texture rotations are sent over the wire as a S16.  This is used to scale the actual float  // value to a S16.   Don't use 7FFF as it introduces some odd rounding with 180 since it  @@ -1946,7 +1946,7 @@ bool LLFlexibleObjectData::fromLLSD(LLSD& sd)  LLSculptParams::LLSculptParams()  {  	mType = PARAMS_SCULPT; -	mSculptTexture.set(SCULPT_DEFAULT_TEXTURE); +	mSculptTexture = SCULPT_DEFAULT_TEXTURE;  	mSculptType = LL_SCULPT_TYPE_SPHERE;  } @@ -2032,7 +2032,7 @@ void LLSculptParams::setSculptTexture(const LLUUID& texture_id, U8 sculpt_type)  	U8 flags = sculpt_type & LL_SCULPT_FLAG_MASK;  	if (sculpt_type != (type | flags) || type > LL_SCULPT_TYPE_MAX)  	{ -		mSculptTexture.set(SCULPT_DEFAULT_TEXTURE); +		mSculptTexture = SCULPT_DEFAULT_TEXTURE;  		mSculptType = LL_SCULPT_TYPE_SPHERE;  	}  	else diff --git a/indra/llprimitive/llprimitive.h b/indra/llprimitive/llprimitive.h index 309b18faa9..ba76fe1ac5 100644 --- a/indra/llprimitive/llprimitive.h +++ b/indra/llprimitive/llprimitive.h @@ -89,7 +89,7 @@ extern const F32 OBJECT_REV_MIN;  extern const F32 OBJECT_REV_MAX;  extern const F32 OBJECT_REV_INC; -extern const char *SCULPT_DEFAULT_TEXTURE; +extern const LLUUID SCULPT_DEFAULT_TEXTURE;  //============================================================================ diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index cfc9ce735d..44f7667d2c 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -93,6 +93,17 @@ void APIENTRY gl_debug_callback(GLenum source,          return;      } +    if (gGLManager.mIsDisabled && +        severity == GL_DEBUG_SEVERITY_HIGH_ARB && +        source == GL_DEBUG_SOURCE_API_ARB && +        type == GL_DEBUG_TYPE_ERROR_ARB && +        id == GL_INVALID_VALUE) +    { +        // Suppress messages about deleting already deleted objects called from LLViewerWindow::stopGL() +        // "GL_INVALID_VALUE error generated. Handle does not refer to an object generated by OpenGL." +        return; +    } +  	if (severity == GL_DEBUG_SEVERITY_HIGH_ARB)  	{  		LL_WARNS() << "----- GL ERROR --------" << LL_ENDL; @@ -106,7 +117,8 @@ void APIENTRY gl_debug_callback(GLenum source,  	LL_WARNS() << "Severity: " << std::hex << severity << LL_ENDL;  	LL_WARNS() << "Message: " << message << LL_ENDL;  	LL_WARNS() << "-----------------------" << LL_ENDL; -	if (severity == GL_DEBUG_SEVERITY_HIGH_ARB) +	// No needs to halt when is called from LLViewerWindow::stopGL() +	if (severity == GL_DEBUG_SEVERITY_HIGH_ARB && !gGLManager.mIsDisabled)  	{  		LL_ERRS() << "Halting on GL Error" << LL_ENDL;  	} diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp index be3e6ddff0..937b8c74ff 100644 --- a/indra/llrender/llvertexbuffer.cpp +++ b/indra/llrender/llvertexbuffer.cpp @@ -2181,65 +2181,6 @@ void LLVertexBuffer::setBuffer(U32 data_mask)  	//set up pointers if the data mask is different ...  	bool setup = (sLastMask != data_mask); -	if (gDebugGL && data_mask != 0) -	{ //make sure data requirements are fulfilled -		LLGLSLShader* shader = LLGLSLShader::sCurBoundShaderPtr; -		if (shader) -		{ -			U32 required_mask = 0; -			for (U32 i = 0; i < LLVertexBuffer::TYPE_TEXTURE_INDEX; ++i) -			{ -				if (shader->getAttribLocation(i) > -1) -				{ -					U32 required = 1 << i; -					if ((data_mask & required) == 0) -					{ -						LL_WARNS() << "Missing attribute: " << LLShaderMgr::instance()->mReservedAttribs[i] << LL_ENDL; -					} - -					required_mask |= required; -				} -			} - -			if ((data_mask & required_mask) != required_mask) -			{ -				 -				U32 unsatisfied_mask = (required_mask & ~data_mask); - -                for (U32 i = 0; i < TYPE_MAX; i++) -                { -                    U32 unsatisfied_flag = unsatisfied_mask & (1 << i); -                    switch (unsatisfied_flag) -                    { -                        case 0: break; -                        case MAP_VERTEX: LL_INFOS() << "Missing vert pos" << LL_ENDL; break; -                        case MAP_NORMAL: LL_INFOS() << "Missing normals" << LL_ENDL; break; -                        case MAP_TEXCOORD0: LL_INFOS() << "Missing TC 0" << LL_ENDL; break; -                        case MAP_TEXCOORD1: LL_INFOS() << "Missing TC 1" << LL_ENDL; break; -                        case MAP_TEXCOORD2: LL_INFOS() << "Missing TC 2" << LL_ENDL; break; -                        case MAP_TEXCOORD3: LL_INFOS() << "Missing TC 3" << LL_ENDL; break; -                        case MAP_COLOR: LL_INFOS() << "Missing vert color" << LL_ENDL; break; -                        case MAP_EMISSIVE: LL_INFOS() << "Missing emissive" << LL_ENDL; break; -                        case MAP_TANGENT: LL_INFOS() << "Missing tangent" << LL_ENDL; break; -                        case MAP_WEIGHT: LL_INFOS() << "Missing weight" << LL_ENDL; break; -                        case MAP_WEIGHT4: LL_INFOS() << "Missing weightx4" << LL_ENDL; break; -                        case MAP_CLOTHWEIGHT: LL_INFOS() << "Missing clothweight" << LL_ENDL; break; -                        case MAP_TEXTURE_INDEX: LL_INFOS() << "Missing tex index" << LL_ENDL; break; -                        default: LL_INFOS() << "Missing who effin knows: " << unsatisfied_flag << LL_ENDL; -                    } -                } - -                // TYPE_INDEX is beyond TYPE_MAX, so check for it individually -                if (unsatisfied_mask & (1 << TYPE_INDEX)) -                { -                   LL_INFOS() << "Missing indices" << LL_ENDL; -                } - -				LL_ERRS() << "Shader consumption mismatches data provision." << LL_ENDL; -			} -		} -	} -  	if (useVBOs())  	{  		if (mGLArray) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 49d275997a..ceceb90f0a 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -58,10 +58,11 @@ static LLDefaultChildRegistry::Register<LLButton> r("button");  template class LLButton* LLView::getChild<class LLButton>(  	const std::string& name, BOOL recurse) const; -// globals loaded from settings.xml -S32	LLBUTTON_H_PAD	= 0; -S32 BTN_HEIGHT_SMALL= 0; -S32 BTN_HEIGHT		= 0; +// globals +S32	LLBUTTON_H_PAD	= 4; +S32 BTN_HEIGHT_SMALL= 23; +S32 BTN_HEIGHT		= 23; +S32 BTN_DROP_SHADOW = 2;  LLButton::Params::Params()  :	label_selected("label_selected"),				// requires is_toggle true @@ -91,8 +92,8 @@ LLButton::Params::Params()  	image_overlay_disabled_color("image_overlay_disabled_color", LLColor4::white % 0.3f),  	image_overlay_selected_color("image_overlay_selected_color", LLColor4::white),  	flash_color("flash_color"), -	pad_right("pad_right", LLUI::getInstance()->mSettingGroups["config"]->getS32("ButtonHPad")), -	pad_left("pad_left", LLUI::getInstance()->mSettingGroups["config"]->getS32("ButtonHPad")), +	pad_right("pad_right", LLBUTTON_H_PAD), +	pad_left("pad_left", LLBUTTON_H_PAD),  	pad_bottom("pad_bottom"),  	click_callback("click_callback"),  	mouse_down_callback("mouse_down_callback"), diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index ccd31e90c0..ab64440c19 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -43,10 +43,10 @@  //  // PLEASE please use these "constants" when building your own buttons. -// They are loaded from settings.xml at run time.  extern S32	LLBUTTON_H_PAD;  extern S32	BTN_HEIGHT_SMALL;  extern S32	BTN_HEIGHT; +extern S32	BTN_DROP_SHADOW;  //  // Helpful functions diff --git a/indra/llui/llcombobox.cpp b/indra/llui/llcombobox.cpp index 9ca05a16f3..7a925c0659 100644 --- a/indra/llui/llcombobox.cpp +++ b/indra/llui/llcombobox.cpp @@ -482,8 +482,6 @@ void LLComboBox::onFocusLost()  void LLComboBox::setButtonVisible(BOOL visible)  { -	static LLUICachedControl<S32> drop_shadow_button ("DropShadowButton", 0); -  	mButton->setVisible(visible);  	if (mTextEntry)  	{ @@ -491,7 +489,7 @@ void LLComboBox::setButtonVisible(BOOL visible)  		if (visible)  		{  			S32 arrow_width = mArrowImage ? mArrowImage->getWidth() : 0; -			text_entry_rect.mRight -= llmax(8,arrow_width) + 2 * drop_shadow_button; +			text_entry_rect.mRight -= llmax(8,arrow_width) + 2 * BTN_DROP_SHADOW;  		}  		//mTextEntry->setRect(text_entry_rect);  		mTextEntry->reshape(text_entry_rect.getWidth(), text_entry_rect.getHeight(), TRUE); @@ -530,19 +528,18 @@ void LLComboBox::setEnabledByValue(const LLSD& value, BOOL enabled)  void LLComboBox::createLineEditor(const LLComboBox::Params& p)  { -	static LLUICachedControl<S32> drop_shadow_button ("DropShadowButton", 0);  	LLRect rect = getLocalRect();  	if (mAllowTextEntry)  	{  		S32 arrow_width = mArrowImage ? mArrowImage->getWidth() : 0; -		S32 shadow_size = drop_shadow_button; +		S32 shadow_size = BTN_DROP_SHADOW;  		mButton->setRect(LLRect( getRect().getWidth() - llmax(8,arrow_width) - 2 * shadow_size,  								rect.mTop, rect.mRight, rect.mBottom));  		mButton->setTabStop(FALSE);  		mButton->setHAlign(LLFontGL::HCENTER);  		LLRect text_entry_rect(0, getRect().getHeight(), getRect().getWidth(), 0); -		text_entry_rect.mRight -= llmax(8,arrow_width) + 2 * drop_shadow_button; +		text_entry_rect.mRight -= llmax(8,arrow_width) + 2 * BTN_DROP_SHADOW;  		// clear label on button  		std::string cur_label = mButton->getLabelSelected();  		LLLineEditor::Params params = p.combo_editor; @@ -1081,13 +1078,11 @@ void LLComboBox::onSetHighlight() const  void LLComboBox::imageLoaded()  { -    static LLUICachedControl<S32> drop_shadow_button("DropShadowButton", 0); -      if (mAllowTextEntry)      {          LLRect rect = getLocalRect();          S32 arrow_width = mArrowImage ? mArrowImage->getWidth() : 0; -        S32 shadow_size = drop_shadow_button; +        S32 shadow_size = BTN_DROP_SHADOW;          mButton->setRect(LLRect(getRect().getWidth() - llmax(8, arrow_width) - 2 * shadow_size,              rect.mTop, rect.mRight, rect.mBottom));          if (mButton->getVisible()) @@ -1096,7 +1091,7 @@ void LLComboBox::imageLoaded()              if (mTextEntry)              {                  LLRect text_entry_rect(0, getRect().getHeight(), getRect().getWidth(), 0); -                text_entry_rect.mRight -= llmax(8, arrow_width) + 2 * drop_shadow_button; +                text_entry_rect.mRight -= llmax(8, arrow_width) + 2 * BTN_DROP_SHADOW;                  mTextEntry->reshape(text_entry_rect.getWidth(), text_entry_rect.getHeight(), TRUE);              }          } diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 2303cd24b7..d08084cdf5 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -1961,10 +1961,9 @@ void	LLFloater::drawShadow(LLPanel* panel)  	S32 right = panel->getRect().getWidth() - LLPANEL_BORDER_WIDTH;  	S32 bottom = LLPANEL_BORDER_WIDTH; -	static LLUICachedControl<S32> shadow_offset_S32 ("DropShadowFloater", 0);  	static LLUIColor shadow_color_cached = LLUIColorTable::instance().getColor("ColorDropShadow");  	LLColor4 shadow_color = shadow_color_cached; -	F32 shadow_offset = (F32)shadow_offset_S32; +	F32 shadow_offset = (F32)DROP_SHADOW_FLOATER;  	if (!panel->isBackgroundOpaque())  	{ diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 668cd208a9..7840611ce1 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -61,6 +61,10 @@ const BOOL CLOSE_NO = FALSE;  const BOOL ADJUST_VERTICAL_YES = TRUE;  const BOOL ADJUST_VERTICAL_NO = FALSE; +const F32 CONTEXT_CONE_IN_ALPHA = 0.f; +const F32 CONTEXT_CONE_OUT_ALPHA = 1.f; +const F32 CONTEXT_CONE_FADE_TIME = .08f; +  namespace LLFloaterEnums  {  	enum EOpenPositioning diff --git a/indra/llui/llfolderview.cpp b/indra/llui/llfolderview.cpp index 650ae9ae75..bbbb4afb54 100644 --- a/indra/llui/llfolderview.cpp +++ b/indra/llui/llfolderview.cpp @@ -335,9 +335,9 @@ S32 LLFolderView::arrange( S32* unused_width, S32* unused_height )  void LLFolderView::filter( LLFolderViewFilter& filter )  {      LL_PROFILE_ZONE_SCOPED_CATEGORY_UI; -    static LLCachedControl<S32> time_visible(*LLUI::getInstance()->mSettingGroups["config"], "FilterItemsMaxTimePerFrameVisible", 10); -    static LLCachedControl<S32> time_invisible(*LLUI::getInstance()->mSettingGroups["config"], "FilterItemsMaxTimePerFrameUnvisible", 1); -    filter.resetTime(llclamp((mParentPanel.get()->getVisible() ? time_visible() : time_invisible()), 1, 100)); +    const S32 TIME_VISIBLE = 10; // in milliseconds +    const S32 TIME_INVISIBLE = 1; +    filter.resetTime(llclamp((mParentPanel.get()->getVisible() ? TIME_VISIBLE : TIME_INVISIBLE), 1, 100));      // Note: we filter the model, not the view  	getViewModelItem()->filter(filter); diff --git a/indra/llui/llfolderviewitem.cpp b/indra/llui/llfolderviewitem.cpp index 0dc66bf37a..6ae150dca5 100644 --- a/indra/llui/llfolderviewitem.cpp +++ b/indra/llui/llfolderviewitem.cpp @@ -601,15 +601,13 @@ BOOL LLFolderViewItem::handleMouseDown( S32 x, S32 y, MASK mask )  BOOL LLFolderViewItem::handleHover( S32 x, S32 y, MASK mask )  { -	static LLCachedControl<S32> drag_and_drop_threshold(*LLUI::getInstance()->mSettingGroups["config"],"DragAndDropDistanceThreshold", 3); -  	mIsMouseOverTitle = (y > (getRect().getHeight() - mItemHeight));  	if( hasMouseCapture() && isMovable() )  	{  			LLFolderView* root = getRoot(); -		if( (x - mDragStartX) * (x - mDragStartX) + (y - mDragStartY) * (y - mDragStartY) > drag_and_drop_threshold() * drag_and_drop_threshold()  +		if( (x - mDragStartX) * (x - mDragStartX) + (y - mDragStartY) * (y - mDragStartY) > DRAG_N_DROP_DISTANCE_THRESHOLD * DRAG_N_DROP_DISTANCE_THRESHOLD  			&& root->getAllowDrag()  			&& root->getCurSelectedItem()  			&& root->startDrag()) diff --git a/indra/llui/llfolderviewmodel.cpp b/indra/llui/llfolderviewmodel.cpp index f217b743a0..96aca62927 100644 --- a/indra/llui/llfolderviewmodel.cpp +++ b/indra/llui/llfolderviewmodel.cpp @@ -48,8 +48,8 @@ std::string LLFolderViewModelCommon::getStatusText(bool is_empty_folder)  void LLFolderViewModelCommon::filter()  { -    static LLCachedControl<S32> max_time(*LLUI::getInstance()->mSettingGroups["config"], "FilterItemsMaxTimePerFrameVisible", 10); -    getFilter().resetTime(llclamp(max_time(), 1, 100)); +    const S32 MAX_FILTER_TIME = 10; +    getFilter().resetTime(MAX_FILTER_TIME);      mFolderView->getViewModelItem()->filter(getFilter());  } diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index cebca70b59..10da3fb7e0 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -66,8 +66,8 @@  LLMenuHolderGL *LLMenuGL::sMenuContainer = NULL;  view_listener_t::listener_map_t view_listener_t::sListeners; -S32 MENU_BAR_HEIGHT = 0; -S32 MENU_BAR_WIDTH = 0; +S32 MENU_BAR_HEIGHT = 18; +S32 MENU_BAR_WIDTH = 410;  ///============================================================================  /// Local function declarations, constants, enums, and typedefs @@ -3229,10 +3229,9 @@ void LLMenuGL::draw( void )  	}  	if (mDropShadowed && !mTornOff)  	{ -		static LLUICachedControl<S32> drop_shadow_floater ("DropShadowFloater", 0);  		static LLUIColor color_drop_shadow = LLUIColorTable::instance().getColor("ColorDropShadow");  		gl_drop_shadow(0, getRect().getHeight(), getRect().getWidth(), 0,  -			color_drop_shadow, drop_shadow_floater ); +			color_drop_shadow, DROP_SHADOW_FLOATER);  	}  	if( mBgVisible ) diff --git a/indra/llui/llmodaldialog.cpp b/indra/llui/llmodaldialog.cpp index 3e5978eb59..22d98469ec 100644 --- a/indra/llui/llmodaldialog.cpp +++ b/indra/llui/llmodaldialog.cpp @@ -284,10 +284,9 @@ BOOL LLModalDialog::handleKeyHere(KEY key, MASK mask )  void LLModalDialog::draw()  {  	static LLUIColor shadow_color = LLUIColorTable::instance().getColor("ColorDropShadow"); -	static LLUICachedControl<S32> shadow_lines ("DropShadowFloater", 0);  	gl_drop_shadow( 0, getRect().getHeight(), getRect().getWidth(), 0, -		shadow_color, shadow_lines); +		shadow_color, DROP_SHADOW_FLOATER);  	LLFloater::draw(); diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 2707f7a15c..58ecf3e603 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -1134,8 +1134,7 @@ BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask)  	BOOL handled = FALSE;  	S32 mouse_distance_squared = (x - mMouseDownX) * (x - mMouseDownX) + (y - mMouseDownY) * (y - mMouseDownY); -	static LLCachedControl<S32> drag_threshold(*LLUI::getInstance()->mSettingGroups["config"], "DragAndDropDistanceThreshold", 3); -	if (mouse_distance_squared > drag_threshold * drag_threshold +	if (mouse_distance_squared > DRAG_N_DROP_DISTANCE_THRESHOLD * DRAG_N_DROP_DISTANCE_THRESHOLD  		&& hasMouseCapture() &&   		mStartDragItemCallback && mHandleDragItemCallback)  	{ diff --git a/indra/llui/llui.h b/indra/llui/llui.h index 30dbd7248f..868e1d21a6 100644 --- a/indra/llui/llui.h +++ b/indra/llui/llui.h @@ -53,7 +53,7 @@ class LLWindow;  class LLView;  class LLHelp; - +const S32 DRAG_N_DROP_DISTANCE_THRESHOLD = 3;  // this enum is used by the llview.h (viewer) and the llassetstorage.h (viewer and sim)   enum EDragAndDropType  { diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h index be1c7dd0b6..ef295976a2 100644 --- a/indra/llui/lluictrl.h +++ b/indra/llui/lluictrl.h @@ -41,6 +41,7 @@  const BOOL TAKE_FOCUS_YES = TRUE;  const BOOL TAKE_FOCUS_NO  = FALSE; +const S32 DROP_SHADOW_FLOATER = 5;  class LLUICtrl  	: public LLView, public boost::signals2::trackable diff --git a/indra/llxml/llcontrol.cpp b/indra/llxml/llcontrol.cpp index 2960ecf829..27e17ec4bb 100644 --- a/indra/llxml/llcontrol.cpp +++ b/indra/llxml/llcontrol.cpp @@ -1497,8 +1497,6 @@ DECL_LLCC(LLColor4U, LLColor4U(255, 200, 100, 255));  LLSD test_llsd = LLSD()["testing1"] = LLSD()["testing2"];  DECL_LLCC(LLSD, test_llsd); -static LLCachedControl<std::string> test_BrowserHomePage("BrowserHomePage", "hahahahahha", "Not the real comment"); -  void test_cached_control()  {  #define TEST_LLCC(T, V) if((T)mySetting_##T != V) LL_ERRS() << "Fail "#T << LL_ENDL @@ -1515,8 +1513,6 @@ void test_cached_control()  	TEST_LLCC(LLColor3, LLColor3(1.0f, 0.f, 0.5f));  	TEST_LLCC(LLColor4U, LLColor4U(255, 200, 100, 255));  //There's no LLSD comparsion for LLCC yet. TEST_LLCC(LLSD, test_llsd);  - -	if((std::string)test_BrowserHomePage != "http://www.secondlife.com") LL_ERRS() << "Fail BrowserHomePage" << LL_ENDL;  }  #endif // TEST_CACHED_CONTROL diff --git a/indra/newview/app_settings/camera/Front.xml b/indra/newview/app_settings/camera/Front.xml index 39f44e11a8..f96d3bc779 100644 --- a/indra/newview/app_settings/camera/Front.xml +++ b/indra/newview/app_settings/camera/Front.xml @@ -1,16 +1,5 @@  <llsd>      <map> -    <key>AppearanceCameraMovement</key> -        <map> -        <key>Comment</key> -            <string>When entering appearance editing mode, camera zooms in on currently selected portion of avatar</string> -        <key>Persist</key> -            <integer>1</integer> -        <key>Type</key> -            <string>Boolean</string> -        <key>Value</key> -            <integer>1</integer> -        </map>      <key>AvatarSitRotation</key>      <map>          <key>Comment</key> @@ -90,17 +79,6 @@          <key>Value</key>              <real>0.90322577953338623</real>          </map> -    <key>EditCameraMovement</key> -        <map> -        <key>Comment</key> -            <string>When entering build mode, camera moves up above avatar</string> -        <key>Persist</key> -            <integer>1</integer> -        <key>Type</key> -            <string>Boolean</string> -        <key>Value</key> -            <integer>0</integer> -        </map>      <key>FocusOffsetRearView</key>          <map>          <key>Comment</key> diff --git a/indra/newview/app_settings/camera/Rear.xml b/indra/newview/app_settings/camera/Rear.xml index 8dc36353ce..7eda566e48 100644 --- a/indra/newview/app_settings/camera/Rear.xml +++ b/indra/newview/app_settings/camera/Rear.xml @@ -1,16 +1,5 @@  <llsd>      <map> -    <key>AppearanceCameraMovement</key> -        <map> -        <key>Comment</key> -            <string>When entering appearance editing mode, camera zooms in on currently selected portion of avatar</string> -        <key>Persist</key> -            <integer>1</integer> -        <key>Type</key> -            <string>Boolean</string> -        <key>Value</key> -            <integer>1</integer> -        </map>      <key>AvatarSitRotation</key>      <map>          <key>Comment</key> @@ -90,17 +79,6 @@          <key>Value</key>              <real>0.90322577953338623</real>          </map> -    <key>EditCameraMovement</key> -        <map> -        <key>Comment</key> -            <string>When entering build mode, camera moves up above avatar</string> -        <key>Persist</key> -            <integer>1</integer> -        <key>Type</key> -            <string>Boolean</string> -        <key>Value</key> -            <integer>0</integer> -        </map>      <key>FocusOffsetRearView</key>          <map>          <key>Comment</key> diff --git a/indra/newview/app_settings/camera/Side.xml b/indra/newview/app_settings/camera/Side.xml index 089ab93a8f..77f73f1df1 100644 --- a/indra/newview/app_settings/camera/Side.xml +++ b/indra/newview/app_settings/camera/Side.xml @@ -1,16 +1,5 @@  <llsd>      <map> -    <key>AppearanceCameraMovement</key> -        <map> -        <key>Comment</key> -            <string>When entering appearance editing mode, camera zooms in on currently selected portion of avatar</string> -        <key>Persist</key> -            <integer>1</integer> -        <key>Type</key> -            <string>Boolean</string> -        <key>Value</key> -            <integer>1</integer> -        </map>      <key>AvatarSitRotation</key>      <map>          <key>Comment</key> @@ -90,17 +79,6 @@          <key>Value</key>              <real>0.90322577953338623</real>          </map> -    <key>EditCameraMovement</key> -        <map> -        <key>Comment</key> -            <string>When entering build mode, camera moves up above avatar</string> -        <key>Persist</key> -            <integer>1</integer> -        <key>Type</key> -            <string>Boolean</string> -        <key>Value</key> -            <integer>0</integer> -        </map>      <key>FocusOffsetRearView</key>          <map>          <key>Comment</key> diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 28d84aba21..ff7232830b 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -137,17 +137,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>AdvanceOutfitSnapshot</key> -    <map> -      <key>Comment</key> -      <string>Display advanced parameter settings in outfit snaphot interface</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>AgentPause</key>      <map>        <key>Comment</key> @@ -214,17 +203,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>AnimationDebug</key> -    <map> -      <key>Comment</key> -      <string>Show active animations in a bubble above avatars head</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>AppearanceCameraMovement</key>      <map>        <key>Comment</key> @@ -269,17 +247,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>AskedAboutCrashReports</key> -    <map> -      <key>Comment</key> -      <string>Turns off dialog asking if you want to enable crash reporting</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>AuctionShowFence</key>      <map>        <key>Comment</key> @@ -302,17 +269,6 @@        <key>Value</key>        <real>0.5</real>      </map> -    <key>AudioLevelDoppler</key> -    <map> -      <key>Comment</key> -      <string>Scale of doppler effect on moving audio sources (1.0 = normal, <1.0 = diminished doppler effect, >1.0 = enhanced doppler effect)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>1.0</real> -    </map>      <key>AudioLevelMaster</key>      <map>        <key>Comment</key> @@ -357,28 +313,6 @@        <key>Value</key>        <real>0.3</real>      </map> -    <key>AudioLevelRolloff</key> -    <map> -      <key>Comment</key> -      <string>Controls the distance-based dropoff of audio volume (fraction or multiple of default audio rolloff)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>1.0</real> -    </map> -    <key>AudioLevelUnderwaterRolloff</key> -    <map> -      <key>Comment</key> -      <string>Controls the distance-based dropoff of audio volume underwater(fraction or multiple of default audio rolloff)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>5.0</real> -    </map>      <key>AudioLevelSFX</key>      <map>        <key>Comment</key> @@ -412,17 +346,6 @@        <key>Value</key>        <real>0.5</real>      </map> -    <key>AudioLevelWind</key> -    <map> -      <key>Comment</key> -      <string>Audio level of wind noise when standing still</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>0.5</real> -    </map>  	<key>AudioStreamingMedia</key>      <map>        <key>Comment</key> @@ -456,7 +379,7 @@        <key>Value</key>        <integer>0</integer>      </map> -  <key>AutoAcceptNewInventory</key> +    <key>AutoAcceptNewInventory</key>      <map>        <key>Comment</key>        <string>Automatically accept new notecards/textures/landmarks</string> @@ -478,17 +401,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>AutoLoadWebProfiles</key> -    <map> -      <key>Comment</key> -      <string>Automatically load ALL profile webpages without asking first.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>AutoLogin</key>      <map>        <key>Comment</key> @@ -676,17 +588,6 @@        <key>Value</key>        <real>1.0</real>      </map> -    <key>AvatarBacklight</key> -    <map> -      <key>Comment</key> -      <string>Add rim lighting to avatar rendering to approximate shininess of skin</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>AvatarFeathering</key>      <map>        <key>Comment</key> @@ -698,32 +599,6 @@        <key>Value</key>        <real>16.0</real>      </map> -    <key>AvatarPickerSortOrder</key> -    <map> -      <key>Comment</key> -      <string>Specifies sort key for textures in avatar picker (+0 = name, +1 = date, +2 = folders always by name, +4 = system folders to top)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>U32</string> -      <key>Value</key> -      <integer>2</integer> -    </map> -    <key>AvatarPosFinalOffset</key> -    <map> -      <key>Comment</key> -      <string>After-everything-else fixup for avatar position.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Vector3</string> -      <key>Value</key> -      <array> -        <real>0.0</real> -        <real>0.0</real> -        <real>0.0</real> -      </array> -    </map>      <key>AvatarPickerURL</key>      <map>        <key>Comment</key> @@ -735,50 +610,6 @@        <key>Value</key>        <string>http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/avatars.html</string>      </map> -    <key>AvatarRotateThresholdSlow</key> -    <map> -      <key>Comment</key> -      <string>Angle between avatar facing and camera facing at which avatar turns to face same direction as camera, when moving slowly (degrees)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <integer>60</integer> -    </map> -    <key>AvatarRotateThresholdFast</key> -    <map> -      <key>Comment</key> -      <string>Angle between avatar facing and camera facing at which avatar turns to face same direction as camera, when moving fast (degrees)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <integer>2</integer> -    </map> -    <key>AvatarBakedTextureUploadTimeout</key> -    <map> -      <key>Comment</key> -      <string>Specifes the maximum time in seconds to wait before sending your baked textures for avatar appearance.  Set to 0 to disable and wait until all baked textures are at highest resolution.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>U32</string> -      <key>Value</key> -      <integer>60</integer> -    </map> -    <key>AvatarBakedLocalTextureUpdateTimeout</key> -    <map> -      <key>Comment</key> -      <string>Specifes the maximum time in seconds to wait before updating your appearance during appearance mode.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>U32</string> -      <key>Value</key> -      <integer>10</integer> -    </map>      <key>AvatarPhysics</key>      <map>        <key>Comment</key> @@ -812,28 +643,6 @@        <key>Value</key>        <integer>40</integer>      </map> -    <key>BottomPanelNew</key> -    <map> -      <key>Comment</key> -      <string>Enable the new bottom panel</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map> -    <key>BrowserHomePage</key> -    <map> -      <key>Comment</key> -      <string>[NOT USED]</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>http://www.secondlife.com</string> -    </map>      <key>BrowserIgnoreSSLCertErrors</key>      <map>        <key>Comment</key> @@ -867,17 +676,6 @@          <key>Value</key>              <integer>0</integer>          </map> -    <key>BlockSomeAvatarAppearanceVisualParams</key> -        <map> -        <key>Comment</key> -            <string>Drop around 50% of VisualParam occurances in appearance messages (for simulating Ruth)</string> -        <key>Persist</key> -            <integer>1</integer> -        <key>Type</key> -            <string>Boolean</string> -        <key>Value</key> -            <integer>0</integer> -        </map>      <key>BrowserProxyAddress</key>      <map>        <key>Comment</key> @@ -900,17 +698,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>BrowserProxyExclusions</key> -    <map> -      <key>Comment</key> -      <string>[NOT USED]</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string /> -    </map>      <key>BrowserProxyPort</key>      <map>        <key>Comment</key> @@ -922,17 +709,6 @@        <key>Value</key>        <integer>3128</integer>      </map> -    <key>BrowserProxySocks45</key> -    <map> -      <key>Comment</key> -      <string>[NOT USED]</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>5</integer> -    </map>      <key>Socks5ProxyEnabled</key>      <map>        <key>Comment</key> @@ -1307,39 +1083,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>ButtonHPad</key> -    <map> -      <key>Comment</key> -      <string>Default horizontal spacing between buttons (pixels)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>4</integer> -    </map> -    <key>ButtonHeight</key> -    <map> -      <key>Comment</key> -      <string>Default height for normal buttons (pixels)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>23</integer> -    </map> -    <key>ButtonHeightSmall</key> -    <map> -      <key>Comment</key> -      <string>Default height for small buttons (pixels)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>23</integer> -    </map>      <key>EnableDiskCacheDebugInfo</key>      <map>        <key>Comment</key> @@ -1395,17 +1138,6 @@        <key>Value</key>        <string />      </map> -    <key>CacheNumberOfRegionsForObjects</key> -    <map> -      <key>Comment</key> -      <string>Controls number of regions to be cached for objects.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>U32</string> -      <key>Value</key> -      <integer>128</integer> -    </map>      <key>CacheSize</key>      <map>        <key>Comment</key> @@ -1491,51 +1223,6 @@          <real>0.75</real>        </array>      </map> -    <key>CameraOffsetFrontView</key> -    <map> -      <key>Comment</key> -      <string>Initial camera offset from avatar in Front View</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Vector3</string> -      <key>Value</key> -      <array> -        <real>2.2</real> -        <real>0.0</real> -        <real>0.0</real> -      </array> -    </map> -    <key>CameraOffsetGroupView</key> -    <map> -      <key>Comment</key> -      <string>Initial camera offset from avatar in Group View</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Vector3</string> -      <key>Value</key> -      <array> -        <real>-1.0</real> -        <real>0.7</real> -        <real>0.5</real> -      </array> -    </map> -    <key>CameraOffsetCustomPreset</key> -    <map> -      <key>Comment</key> -      <string>Initial camera offset from avatar for the custom camera preset</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Vector3</string> -      <key>Value</key> -      <array> -        <real>-3.0</real> -        <real>0.0</real> -        <real>0.75</real> -      </array> -    </map>      <key>CameraOffsetScale</key>      <map>        <key>Comment</key> @@ -1690,17 +1377,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>ChatBarStealsFocus</key> -    <map> -      <key>Comment</key> -      <string>Whenever keyboard focus is removed from the UI, and the chat bar is visible, the chat bar takes focus</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>LetterKeysFocusChatBar</key>      <map>        <key>Comment</key> @@ -1745,17 +1421,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>ChatHistoryTornOff</key> -    <map> -      <key>Comment</key> -      <string>Show chat history window separately from Communicate window.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>ChatLoadGroupMaxMembers</key>      <map>          <key>Comment</key> @@ -1767,17 +1432,6 @@          <key>Value</key>          <integer>100</integer>      </map> -    <key>ChatLoadGroupTimeout</key> -    <map> -        <key>Comment</key> -        <string>Time we give the server to send group participants before we hit the server for group info (seconds)</string> -        <key>Persist</key> -        <integer>1</integer> -        <key>Type</key> -        <string>F32</string> -        <key>Value</key> -        <real>10.0</real> -    </map>      <key>ChatOnlineNotification</key>      <map>        <key>Comment</key> @@ -1789,28 +1443,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>ChatPersistTime</key> -    <map> -      <key>Comment</key> -      <string>Time for which chat stays visible in console (seconds)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>20.0</real> -    </map> -    <key>ChatShowTimestamps</key> -    <map> -      <key>Comment</key> -      <string>Show timestamps in chat</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>CheesyBeacon</key>      <map>        <key>Comment</key> @@ -1833,50 +1465,6 @@        <key>Value</key>        <string />      </map> -    <key>ContextConeInAlpha</key> -    <map> -      <key>Comment</key> -      <string>Cone In Alpha</string> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>0.0</real> -    </map> -    <key>ContextConeOutAlpha</key> -    <map> -      <key>Comment</key> -      <string>Cone Out Alpha</string> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>1.0</real> -    </map> -    <key>ContextConeFadeTime</key> -    <map> -      <key>Comment</key> -      <string>Cone Fade Time</string> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>.08</real> -    </map> -    <key>ConversationHistoryPageSize</key> -    <map> -      <key>Comment</key> -      <string>Chat history of conversation opened from call log is displayed by pages. So this is number of entries per page.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>100</integer> -    </map>      <key>ConversationSortOrder</key>      <map>        <key>Comment</key> @@ -2055,17 +1643,6 @@        <key>Value</key>        <integer>40</integer>      </map> -    <key>ContactsTornOff</key> -    <map> -      <key>Comment</key> -      <string>Show contacts window separately from Communicate window.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>CookiesEnabled</key>      <map>        <key>Comment</key> @@ -2110,17 +1687,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>ChatBarCustomWidth</key> -    <map> -      <key>Comment</key> -      <string>Stores customized width of chat bar.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>CoroutineStackSize</key>      <map>        <key>Comment</key> @@ -2187,17 +1753,6 @@        <key>Value</key>        <integer>0</integer>      </map> -  <key>CurlMaximumNumberOfHandles</key> -  <map> -    <key>Comment</key> -    <string>Maximum number of handles curl can use (requires restart)</string> -    <key>Persist</key> -    <integer>1</integer> -    <key>Type</key> -    <string>S32</string> -    <key>Value</key> -    <integer>256</integer> -  </map>    <key>CurlRequestTimeOut</key>    <map>      <key>Comment</key> @@ -2209,17 +1764,6 @@      <key>Value</key>      <real>120.0</real>    </map> -  <key>CurlUseMultipleThreads</key> -  <map> -    <key>Comment</key> -    <string>Use background threads for executing curl_multi_perform (requires restart)</string> -    <key>Persist</key> -    <integer>1</integer> -    <key>Type</key> -    <string>Boolean</string> -    <key>Value</key> -    <integer>1</integer> -  </map>      <key>Cursor3D</key>      <map>        <key>Comment</key> @@ -2242,17 +1786,6 @@        <key>Value</key>        <string></string>      </map> -    <key>CustomServer</key> -    <map> -      <key>Comment</key> -      <string>Specifies IP address or hostname of grid to which you connect</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string /> -    </map>    <key>DebugAnimatedObjects</key>    <map>      <key>Comment</key> @@ -2275,17 +1808,6 @@      <key>Value</key>      <integer>0</integer>    </map> -  <key>AnimatedObjectsIgnoreLimits</key> -  <map> -    <key>Comment</key> -    <string>Ignore server-enforced limits on animated objects. This is only useful for server testing.</string> -    <key>Persist</key> -    <integer>1</integer> -    <key>Type</key> -    <string>Boolean</string> -    <key>Value</key> -    <integer>0</integer> -  </map>    <key>AnimatedObjectsAllowLeftClick</key>    <map>      <key>Comment</key> @@ -2297,17 +1819,6 @@      <key>Value</key>      <integer>0</integer>    </map> -  <key>AnimatedObjectsGlobalScale</key> -  <map> -    <key>Comment</key> -    <string>Temporary testing: allow an extra scale factor to be forced on animated objects.</string> -    <key>Persist</key> -    <integer>1</integer> -    <key>Type</key> -    <string>F32</string> -    <key>Value</key> -    <real>1.00</real> -  </map>    <key>AnimatedObjectsMaxLegalOffset</key>    <map>      <key>Comment</key> @@ -2330,17 +1841,6 @@      <key>Value</key>      <real>64.0</real>    </map> -  <key>AvatarBoundingBoxComplexity</key> -  <map> -    <key>Comment</key> -    <string>How many aspects to consider for avatar bounding box</string> -    <key>Persist</key> -    <integer>1</integer> -    <key>Type</key> -    <string>S32</string> -    <key>Value</key> -    <integer>3</integer> -  </map>    <key>DebugAvatarAppearanceMessage</key>    <map>      <key>Comment</key> @@ -2451,17 +1951,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>DebugInventoryFilters</key> -    <map> -      <key>Comment</key> -      <string>Turn on debugging display for inventory filtering</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>DebugPermissions</key>      <map>        <key>Comment</key> @@ -2528,18 +2017,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>DebugShowPrivateMem</key> -    <!-- deprecated (see MAINT-8091) --> -    <map> -      <key>Comment</key> -      <string>(Deprecated) Show Private Mem Info</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>DebugShowRenderInfo</key>      <map>        <key>Comment</key> @@ -2606,435 +2083,6 @@        <key>Value</key>        <integer>0</integer>      </map> -  <key>DebugSlshareLogTag</key> -    <map> -      <key>Comment</key> -      <string>Request slshare-service debug logging</string> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string/> -    </map> -  <key>DebugStatModeFPS</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeBandwidth</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModePacketLoss</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatMode</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeKTrisDrawnFr</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeKTrisDrawnSec</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeTotalObjs</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeNewObjs</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeTextureCount</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeRawCount</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeGLMem</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeFormattedMem</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeRawMem</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeBoundMem</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModePacketsIn</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModePacketsOut</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeObjects</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeTexture</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeAsset</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeLayers</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeActualIn</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeActualOut</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeTimeDialation</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeSimFPS</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModePhysicsFPS</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModePinnedObjects</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeLowLODObjects</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeMemoryAllocated</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeAgentUpdatesSec</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeMainAgents</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeChildAgents</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeSimObjects</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeSimActiveObjects</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeSimActiveScripts</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeSimScriptEvents</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeSimInPPS</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeSimOutPPS</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map> -    <key>DebugStatModeSimPendingDownloads</key> -    <map> -      <key>Comment</key> -      <string>Mode of stat in Statistics floater</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>-1</integer> -    </map>      <key>SimPendingUploads</key>      <map>        <key>Comment</key> @@ -3222,17 +2270,6 @@        <key>Value</key>        <integer>0</integer>      </map> -  <key>DefaultBlankNormalTexture</key> -  <map> -    <key>Comment</key> -    <string>Texture used as 'Blank' in texture picker for normal maps. (UUID texture reference)</string> -    <key>Persist</key> -    <integer>1</integer> -    <key>Type</key> -    <string>String</string> -    <key>Value</key> -    <string>5b53359e-59dd-d8a2-04c3-9e65134da47a</string> -  </map>  	<key>DefaultFemaleAvatar</key>  	<map>  	  <key>Comment</key> @@ -3266,28 +2303,6 @@  	  <key>Value</key>  	  <string>Male Shape & Outfit</string>  	</map> -  <key>DefaultObjectNormalTexture</key> -  <map> -    <key>Comment</key> -    <string>Texture used as 'Default' in texture picker for normal map. (UUID texture reference)</string> -    <key>Persist</key> -    <integer>1</integer> -    <key>Type</key> -    <string>String</string> -    <key>Value</key> -    <string>85f28839-7a1c-b4e3-d71d-967792970a7b</string> -  </map> -  <key>DefaultObjectSpecularTexture</key> -  <map> -    <key>Comment</key> -    <string>Texture used as 'Default' in texture picker for specular map. (UUID texture reference)</string> -    <key>Persist</key> -    <integer>1</integer> -    <key>Type</key> -    <string>String</string> -    <key>Value</key> -    <string>87e0e8f7-8729-1ea8-cfc9-8915773009db</string> -  </map>    <key>DefaultObjectTexture</key>      <map>        <key>Comment</key> @@ -3299,17 +2314,6 @@        <key>Value</key>        <string>89556747-24cb-43ed-920b-47caed15465f</string>      </map> -    <key>DefaultUploadCost</key> -    <map> -      <key>Comment</key> -      <string>Default sound/image/file upload cost(in case economy data is not available).</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>U32</string> -      <key>Value</key> -      <integer>10</integer> -    </map>      <key>DestinationGuideURL</key>      <map>        <key>Comment</key> @@ -3409,94 +2413,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>EnableIMChatPopups</key> -    <map> -      <key>Comment</key> -      <string>Enable Incoming IM Chat Popups</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>DisplayAvatarAgentTarget</key> -    <map> -      <key>Comment</key> -      <string>Show avatar positioning locators (animation debug)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map> -    <key>DisplayChat</key> -    <map> -      <key>Comment</key> -      <string>Display Latest Chat message on LCD</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>DisplayDebug</key> -    <map> -      <key>Comment</key> -      <string>Display Network Information on LCD</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>DisplayDebugConsole</key> -    <map> -      <key>Comment</key> -      <string>Display Console Debug Information on LCD</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>DisplayIM</key> -    <map> -      <key>Comment</key> -      <string>Display Latest IM message on LCD</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>DisplayLinden</key> -    <map> -      <key>Comment</key> -      <string>Display Account Information on LCD</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>DisplayRegion</key> -    <map> -      <key>Comment</key> -      <string>Display Location information on LCD</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>DisplayTimecode</key>      <map>        <key>Comment</key> @@ -3530,28 +2446,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>ClickActionBuyEnabled</key> -    <map> -      <key>Comment</key> -      <string>Enable click to buy actions in tool pie menu</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>ClickActionPayEnabled</key> -    <map> -      <key>Comment</key> -      <string>Enable click to pay actions in tool pie menu</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>DoubleClickAutoPilot</key>      <map>        <key>Comment</key> @@ -3585,72 +2479,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>DragAndDropToolTipDelay</key> -    <map> -      <key>Comment</key> -      <string>Seconds before displaying tooltip when performing drag and drop operation</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>0.10000000149</real> -    </map> -    <key>DragAndDropDistanceThreshold</key> -    <map> -      <key>Comment</key> -      <string>Number of pixels that mouse should move before triggering drag and drop mode</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>3</integer> -    </map> -    <key>DropShadowButton</key> -    <map> -      <key>Comment</key> -      <string>Drop shadow width for buttons (pixels)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>2</integer> -    </map> -    <key>DropShadowFloater</key> -    <map> -      <key>Comment</key> -      <string>Drop shadow width for floaters (pixels)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>5</integer> -    </map> -    <key>DropShadowSlider</key> -    <map> -      <key>Comment</key> -      <string>Drop shadow width for sliders (pixels)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>3</integer> -    </map> -    <key>DropShadowTooltip</key> -    <map> -      <key>Comment</key> -      <string>Drop shadow width for tooltips (pixels)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>4</integer> -    </map>      <key>DynamicCameraStrength</key>      <map>        <key>Comment</key> @@ -3684,17 +2512,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>IncludeEnhancedSkeleton</key> -    <map> -      <key>Comment</key> -      <string>Include extended skeleton joints when rendering skinned meshes.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>MinObjectsForUnlinkConfirm</key>      <map>        <key>Comment</key> @@ -3794,39 +2611,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>EnergyFromTop</key> -    <map> -      <key>Comment</key> -      <string /> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>20</integer> -    </map> -    <key>EnergyHeight</key> -    <map> -      <key>Comment</key> -      <string /> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>40</integer> -    </map> -    <key>EnergyWidth</key> -    <map> -      <key>Comment</key> -      <string /> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>175</integer> -    </map>      <key>EventURL</key>      <map>        <key>Comment</key> @@ -3838,61 +2622,6 @@        <key>Value</key>        <string>http://events.[GRID]/viewer/embed/event/[EVENT_ID]</string>      </map> -    <key>FastCacheFetchEnabled</key> -    <map> -      <key>Comment</key> -      <string>Enable texture fast cache fetching if set</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <string>1</string> -    </map> -	<key>FeatureManagerHTTPTable</key> -      <map> -        <key>Comment</key> -        <string>Deprecated</string> -        <key>Persist</key> -        <integer>0</integer> -        <key>Type</key> -        <string>String</string> -        <key>Value</key> -        <string></string> -    </map> -    <key>FPSLogFrequency</key> -        <map> -        <key>Comment</key> -        <string>Seconds between display of FPS in log (0 for never)</string> -        <key>Persist</key> -        <integer>1</integer> -        <key>Type</key> -        <string>F32</string> -        <key>Value</key> -        <real>10.0</real> -        </map> -    <key>FilterItemsMaxTimePerFrameVisible</key> -    <map> -        <key>Comment</key> -        <string>Max time devoted to items filtering per frame for visible inventory listings (in milliseconds)</string> -        <key>Persist</key> -        <integer>1</integer> -        <key>Type</key> -        <string>S32</string> -        <key>Value</key> -        <integer>10</integer> -    </map> -    <key>FilterItemsMaxTimePerFrameUnvisible</key> -    <map> -        <key>Comment</key> -        <string>Max time devoted to items filtering per frame for non visible inventory listings (in milliseconds)</string> -        <key>Persist</key> -        <integer>1</integer> -        <key>Type</key> -        <string>S32</string> -        <key>Value</key> -        <integer>1</integer> -    </map>      <key>MainWorkTime</key>      <map>          <key>Comment</key> @@ -3904,72 +2633,6 @@          <key>Value</key>          <real>0.1</real>      </map> -    <key>QueueInventoryFetchTimeout</key> -    <map> -        <key>Comment</key> -        <string>Max time llcompilequeue will wait for inventory fetch to complete (in seconds)</string> -        <key>Persist</key> -        <integer>1</integer> -        <key>Type</key> -        <string>F32</string> -        <key>Value</key> -        <real>300.0</real> -    </map> -    <key>FindLandArea</key> -    <map> -      <key>Comment</key> -      <string>Enables filtering of land search results by area</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map> -    <key>FindLandPrice</key> -    <map> -      <key>Comment</key> -      <string>Enables filtering of land search results by price</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>FindLandType</key> -    <map> -      <key>Comment</key> -      <string>Controls which type of land you are searching for in Find Land interface ("All", "Auction", "For Sale")</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>All</string> -    </map> -    <key>FindPeopleOnline</key> -    <map> -      <key>Comment</key> -      <string>Limits people search to only users who are logged on</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>FindPlacesPictures</key> -    <map> -      <key>Comment</key> -      <string>Display only results of find places that have pictures</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>FirstName</key>      <map>        <key>Comment</key> @@ -4361,17 +3024,6 @@        <key>Value</key>        <real>16.0</real>      </map> -    <key>FlycamZoomDirect</key> -    <map> -      <key>Comment</key> -      <string>Map flycam zoom axis directly to camera zoom.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>FlyingAtExit</key>      <map>        <key>Comment</key> @@ -4398,51 +3050,6 @@          <real>1.0</real>        </array>      </map> -    <key>FocusOffsetFrontView</key> -    <map> -      <key>Comment</key> -      <string>Initial focus point offset relative to avatar for the camera preset Front View</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Vector3D</string> -      <key>Value</key> -      <array> -        <real>0.0</real> -        <real>0.0</real> -        <real>0.0</real> -      </array> -    </map> -    <key>FocusOffsetGroupView</key> -    <map> -      <key>Comment</key> -      <string>Initial focus point offset relative to avatar for the camera preset Group View</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Vector3D</string> -      <key>Value</key> -      <array> -        <real>1.5</real> -        <real>0.7</real> -        <real>1.0</real> -      </array> -    </map> -    <key>FocusOffsetCustomPreset</key> -    <map> -      <key>Comment</key> -      <string>Initial focus point offset relative to avatar for the custom camera preset (x-axis is forward)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Vector3D</string> -      <key>Value</key> -      <array> -        <real>1.0</real> -        <real>0.0</real> -        <real>1.0</real> -      </array> -    </map>      <key>AvatarSitRotation</key>      <map>        <key>Comment</key> @@ -4485,17 +3092,6 @@        <key>Value</key>        <real>0.75</real>      </map> -    <key>FolderLoadingMessageWaitTime</key> -    <map> -      <key>Comment</key> -      <string>Seconds to wait before showing the LOADING... text in folder views</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>0.5</real> -    </map>      <key>FontScreenDPI</key>      <map>        <key>Comment</key> @@ -4551,17 +3147,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>ForceMandatoryUpdate</key> -    <map> -      <key>Comment</key> -      <string>For QA: On next startup, forces the auto-updater to run</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>FreezeTime</key>      <map>        <key>Comment</key> @@ -4683,28 +3268,6 @@        <key>Value</key>        <integer>32</integer>      </map> -    <key>GroupNotifyBoxHeight</key> -    <map> -      <key>Comment</key> -      <string>Height of group notice messages</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>260</integer> -    </map> -    <key>GroupNotifyBoxWidth</key> -    <map> -      <key>Comment</key> -      <string>Width of group notice messages</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>305</integer> -    </map>      <key>HelpURLFormat</key>      <map>        <key>Comment</key> @@ -4793,17 +3356,6 @@        <key>Value</key>        <string />      </map> -    <key>HtmlHelpLastPage</key> -    <map> -      <key>Comment</key> -      <string>Last URL visited via help system</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string /> -    </map>      <key>HttpPipelining</key>      <map>        <key>Comment</key> @@ -4826,17 +3378,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>IMShowTimestamps</key> -    <map> -      <key>Comment</key> -      <string>Show timestamps in IM</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>IMShowControlPanel</key>      <map>        <key>Comment</key> @@ -4848,17 +3389,6 @@        <key>Value</key>        <integer>1</integer>      </map> -     <key>IMShowContentPanel</key> -    <map> -      <key>Comment</key> -      <string>Show Toolbar and Body Panels</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>IgnoreFOVZoomForLODs</key>      <map>        <key>Comment</key> @@ -4925,28 +3455,6 @@        <key>Value</key>        <real>0.0</real>      </map> -     <key>InspectorFadeTime</key> -    <map> -      <key>Comment</key> -      <string>Fade out timing for inspectors</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>0.5</real> -    </map> -	<key>InspectorShowTime</key> -    <map> -      <key>Comment</key> -      <string>Stay timing for inspectors</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>3.0</real> -    </map>      <key>InstallLanguage</key>      <map>        <key>Comment</key> @@ -5013,17 +3521,6 @@  		<key>Value</key>  		<integer>1</integer>  	</map> -    <key>InventoryOutboxDisplayBoth</key> -    <map> -        <key>Comment</key> -        <string>(Deprecated) Show the legacy Merchant Outbox UI as well as the Marketplace Listings UI</string> -        <key>Persist</key> -        <integer>1</integer> -        <key>Type</key> -        <string>Boolean</string> -        <key>Value</key> -        <integer>0</integer> -    </map>  	<key>InventoryOutboxLogging</key>  	<map>  		<key>Comment</key> @@ -5354,17 +3851,6 @@        <key>Value</key>          <real>2.0</real>      </map> -    <key>LCDDestination</key> -    <map> -      <key>Comment</key> -      <string>Which LCD to use</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>LeapCommand</key>      <map>        <key>Comment</key> @@ -5575,105 +4061,6 @@        <string>0.0.0</string>      </map> -    <key>LastSnapshotToProfileHeight</key> -    <map> -      <key>Comment</key> -      <string>The height of the last profile snapshot, in px</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>768</integer> -    </map> -    <key>LastSnapshotToEmailHeight</key> -    <map> -      <key>Comment</key> -      <string>The height of the last email snapshot, in px</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>768</integer> -    </map> -    <key>LastSnapshotToProfileWidth</key> -    <map> -      <key>Comment</key> -      <string>The width of the last profile snapshot, in px</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>1024</integer> -    </map> -    <key>LastSnapshotToEmailWidth</key> -    <map> -      <key>Comment</key> -      <string>The width of the last email snapshot, in px</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>1024</integer> -    </map> -    <key>LastSnapshotToDiskHeight</key> -    <map> -      <key>Comment</key> -      <string>The height of the last disk snapshot, in px</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>768</integer> -    </map> -    <key>LastSnapshotToDiskWidth</key> -    <map> -      <key>Comment</key> -      <string>The width of the last disk snapshot, in px</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>1024</integer> -    </map> -    <key>LastSnapshotToInventoryHeight</key> -    <map> -      <key>Comment</key> -      <string>The height of the last texture snapshot, in px</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>512</integer> -    </map> -    <key>LastSnapshotToInventoryWidth</key> -    <map> -      <key>Comment</key> -      <string>The width of the last texture snapshot, in px</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>512</integer> -    </map> -    <key>LeftClickShowMenu</key> -    <map> -      <key>Comment</key> -      <string>Unused obsolete setting</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>LimitDragDistance</key>      <map>        <key>Comment</key> @@ -5840,17 +4227,6 @@      <key>Value</key>      <real>40.0</real>    </map> -  <key>LoginSRVPump</key> -  <map> -    <key>Comment</key> -    <string>(Deprecated) Name of the message pump that handles SRV request)</string> -    <key>Persist</key> -    <integer>0</integer> -    <key>Type</key> -    <string>String</string> -    <key>Value</key> -    <string>LLAres</string> -  </map>    <key>LogMessages</key>      <map>        <key>Comment</key> @@ -5939,17 +4315,6 @@        <key>Value</key>        <real>60.0</real>      </map> -    <key>MapOverlayIndex</key> -    <map> -      <key>Comment</key> -      <string>Currently selected world map type</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>MapScale</key>      <map>        <key>Comment</key> @@ -6689,28 +5054,6 @@        <key>Value</key>        <real>0.25</real>      </map> -    <key>MenuBarHeight</key> -    <map> -      <key>Comment</key> -      <string /> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>18</integer> -    </map> -    <key>MenuBarWidth</key> -    <map> -      <key>Comment</key> -      <string /> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>410</integer> -    </map>      <key>MePanelOpened</key>      <map>        <key>Comment</key> @@ -7165,28 +5508,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>NotifyBoxHeight</key> -    <map> -      <key>Comment</key> -      <string>Height of notification messages</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>200</integer> -    </map> -    <key>NotifyBoxWidth</key> -    <map> -      <key>Comment</key> -      <string>Width of notification messages</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>305</integer> -    </map>      <key>NotificationConferenceIMOptions</key>      <map>        <key>Comment</key> @@ -7364,17 +5685,6 @@        <key>Value</key>        <integer>90</integer>      </map> -    <key>ChannelBottomPanelMargin</key> -    <map> -      <key>Comment</key> -      <string>Space from a lower toast to the Bottom Tray</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>35</integer> -    </map>      <key>NotificationChannelRightMargin</key>      <map>        <key>Comment</key> @@ -8053,17 +6363,6 @@        <key>Value</key>        <real>6.0</real>      </map> -    <key>ClothingLoadingDelay</key> -    <map> -      <key>Comment</key> -      <string>Time to wait for avatar appearance to resolve before showing world (seconds)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>10.0</real> -    </map>  	<key>PreferredMaturity</key>      <map>        <key>Comment</key> @@ -8506,17 +6805,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>RadioLandBrushSize</key> -    <map> -      <key>Comment</key> -      <string>Size of land modification brush (0 = small, 1 = medium, 2 = large)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>LandBrushForce</key>          <map>          <key>Comment</key> @@ -8528,17 +6816,6 @@          <key>Value</key>              <real>1.0</real>          </map> -    <key>MediaBrowserWindowLimit</key> -    <map> -      <key>Comment</key> -      <string>Maximum number of media brower windows that can be open at once in the media browser floater (0 for no limit)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>5</integer> -    </map>      <key>WebContentWindowLimit</key>      <map>        <key>Comment</key> @@ -8817,17 +7094,6 @@        <key>Value</key>        <integer>0</integer>      </map> -  <key>RenderAvatar</key> -    <map> -      <key>Comment</key> -      <string>Render Avatars</string> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>    <key>RenderAvatarCloth</key>      <map>        <key>Comment</key> @@ -11203,17 +9469,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>SecondLifeEnterprise</key> -    <map> -      <key>Comment</key> -      <string>Enables Second Life Enterprise features</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>SelectMovableOnly</key>      <map>        <key>Comment</key> @@ -11467,17 +9722,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>ShowEmptyFoldersWhenSearching</key> -    <map> -      <key>Comment</key> -      <string>Shows folders that do not have any visible contents when applying a filter to inventory</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>ShowEventRecorderMenuItems</key>      <map>        <key>Comment</key> @@ -11819,136 +10063,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>ShowPGSearchAll</key> -    <map> -      <key>Comment</key> -      <string>Display results of search All that are flagged as general</string> -      <key>Persist</key> -      <integer>1</integer> -	  <key>HideFromEditor</key> -	  <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>ShowMatureSearchAll</key> -    <map> -      <key>Comment</key> -      <string>Display results of search All that are flagged as moderate</string> -      <key>Persist</key> -      <integer>1</integer> -	  <key>HideFromEditor</key> -	  <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map> -    <key>ShowAdultSearchAll</key> -    <map> -      <key>Comment</key> -      <string>Display results of search All that are flagged as adult</string> -      <key>Persist</key> -      <integer>1</integer> -	  <key>HideFromEditor</key> -	  <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map> -    <key>ShowPGGroups</key> -    <map> -      <key>Comment</key> -      <string>Display results of find groups that are flagged as general</string> -      <key>Persist</key> -      <integer>1</integer> -	  <key>HideFromEditor</key> -	  <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>ShowMatureGroups</key> -    <map> -      <key>Comment</key> -      <string>Display results of find groups that are flagged as moderate</string> -      <key>Persist</key> -      <integer>1</integer> -	  <key>HideFromEditor</key> -	  <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map> -    <key>ShowAdultGroups</key> -    <map> -      <key>Comment</key> -      <string>Display results of find groups that are flagged as adult</string> -      <key>Persist</key> -      <integer>1</integer> -	  <key>HideFromEditor</key> -	  <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map> -    <key>ShowPGClassifieds</key> -    <map> -      <key>Comment</key> -      <string>Display results of find classifieds that are flagged as general</string> -      <key>Persist</key> -      <integer>1</integer> -	  <key>HideFromEditor</key> -	  <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>ShowMatureClassifieds</key> -    <map> -      <key>Comment</key> -      <string>Display results of find classifieds that are flagged as moderate</string> -      <key>Persist</key> -      <integer>1</integer> -	  <key>HideFromEditor</key> -	  <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map> -    <key>ShowAdultClassifieds</key> -    <map> -      <key>Comment</key> -      <string>Display results of find classifieds that are flagged as adult</string> -      <key>Persist</key> -      <integer>1</integer> -	  <key>HideFromEditor</key> -	  <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map> -    <key>ShowPGEvents</key> -    <map> -      <key>Comment</key> -      <string>Display results of find events that are flagged as general</string> -      <key>Persist</key> -      <integer>1</integer> -	  <key>HideFromEditor</key> -	  <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>ShowMatureEvents</key>      <map>        <key>Comment</key> @@ -12185,17 +10299,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>ShowToolBar</key> -    <map> -      <key>Comment</key> -      <string>Show toolbar at bottom of screen</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>  	<key>ShowTutorial</key>  	<map>  		<key>Comment</key> @@ -12791,28 +10894,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>TexturePickerShowFolders</key> -    <map> -      <key>Comment</key> -      <string>Show folders with no texures in texture picker</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>TexturePickerSortOrder</key> -    <map> -      <key>Comment</key> -      <string>Specifies sort key for textures in texture picker (+0 = name, +1 = date, +2 = folders always by name, +4 = system folders to top)</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>U32</string> -      <key>Value</key> -      <integer>2</integer> -    </map>      <key>TextureReverseByteRange</key>      <map>        <key>Comment</key> @@ -12860,17 +10941,6 @@        <key>Value</key>        <real>3000.0</real>      </map> -    <key>UpdaterMaximumBandwidth</key> -    <map> -      <key>Comment</key> -      <string>Obsolete: this parameter is no longer used.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>500.0</real> -    </map>      <key>ToolTipDelay</key>      <map>        <key>Comment</key> @@ -13003,17 +11073,6 @@        <key>Value</key>        <string></string>      </map> -    <key>BingTranslateAPIKey</key> -    <map> -      <key>Comment</key> -      <string>(Deprecated) Bing AppID to use with the Microsoft Translator API</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string></string> -    </map>      <key>AzureTranslateAPIKey</key>      <map>        <key>Comment</key> @@ -13080,28 +11139,6 @@        <key>Value</key>        <integer>6</integer>      </map> -    <key>UICheckboxctrlBtnSize</key> -    <map> -      <key>Comment</key> -      <string>UI Checkbox Control Button Size</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>13</integer> -    </map> -    <key>UICheckboxctrlHeight</key> -    <map> -      <key>Comment</key> -      <string>UI Checkbox Control Height</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>16</integer> -    </map>      <key>UICheckboxctrlHPad</key>      <map>        <key>Comment</key> @@ -13333,61 +11370,6 @@        <key>Value</key>        <string>5748decc-f629-461c-9a36-a35a221fe21f</string>      </map> -    <key>StartUpChannelUUID</key> -    <map> -      <key>Comment</key> -      <string /> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>B56AF90D-6684-48E4-B1E4-722D3DEB2CB6</string> -    </map> -    <key>NearByChatChannelUUID</key> -    <map> -      <key>Comment</key> -      <string /> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>E1158BD6-661C-4981-9DAD-4DCBFF062502</string> -    </map> -    <key>NotificationChannelUUID</key> -    <map> -      <key>Comment</key> -      <string /> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>AEED3193-8709-4693-8558-7452CCA97AE5</string> -    </map> -    <key>AlertChannelUUID</key> -    <map> -      <key>Comment</key> -      <string /> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>F3E07BC8-A973-476D-8C7F-F3B7293975D1</string> -    </map> -    <key>UIImgWhiteUUID</key> -    <map> -      <key>Comment</key> -      <string /> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>5748decc-f629-461c-9a36-a35a221fe21f</string> -    </map>      <key>UILineEditorCursorThickness</key>      <map>        <key>Comment</key> @@ -13564,17 +11546,6 @@        <key>Value</key>        <real>1.0</real>      </map> -    <key>LastSystemUIScaleFactor</key> -    <map> -      <key>Comment</key> -      <string>OBSOLETE: System UI scale factor is now automatically and independently from UIScaleFactor applied</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>1.0</real> -    </map>      <key>UIScrollbarSize</key>      <map>        <key>Comment</key> @@ -13894,17 +11865,6 @@        <key>Value</key>        <integer>16</integer>      </map> -    <key>UISpinctrlDefaultLabelWidth</key> -    <map> -      <key>Comment</key> -      <string>UI spin control default label width</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>10</integer> -    </map>      <key>UISpinctrlSpacing</key>      <map>        <key>Comment</key> @@ -14026,39 +11986,6 @@        <key>Value</key>        <integer>3</integer>      </map> -    <key>UpdaterServiceCheckPeriod</key> -    <map> -      <key>Comment</key> -      <string>Obsolete; no longer used.</string> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>U32</string> -      <key>Value</key> -      <integer>3600</integer> -    </map> -    <key>UpdaterServiceURL</key> -    <map> -      <key>Comment</key> -      <string>Obsolete; no longer used.</string> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>https://update.secondlife.com</string> -    </map> -    <key>UpdaterServicePath</key> -    <map> -      <key>Comment</key> -      <string>Obsolete: no longer used</string> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>update</string> -    </map>      <key>UpdaterWillingToTest</key>      <map>        <key>Comment</key> @@ -14191,17 +12118,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>UseEnvironmentFromRegion</key> -    <map> -      <key>Comment</key> -      <string>Choose whether to use the region's environment settings, or override them with the local settings.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>EnvironmentPersistAcrossLogin</key>      <map>        <key>Comment</key> @@ -14213,62 +12129,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>UseDayCycle</key> -    <map> -      <key>Comment</key> -      <string>Whether to use use a day cycle or a fixed sky.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>WaterPresetName</key> -    <map> -      <key>Comment</key> -      <string>Water preset to use. May be superseded by region settings.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>Default</string> -    </map> -    <key>SkyPresetName</key> -    <map> -      <key>Comment</key> -      <string>Sky preset to use. May be superseded by region settings or by a day cycle (see DayCycleName).</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>Default</string> -    </map> -    <key>DayCycleName</key> -    <map> -      <key>Comment</key> -      <string>Day cycle to use. May be superseded by region settings.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>Default</string> -    </map> -    <key>UseExternalBrowser</key> -    <!-- deprecated (see MAINT-4127) --> -    <map> -      <key>Comment</key> -      <string>(Deprecated) Use default browser when opening web pages instead of in-world browser.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <boolean>1</boolean> -    </map>      <key>PreferredBrowserBehavior</key>      <map>        <key>Comment</key> @@ -14324,17 +12184,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>SocialPhotoResolution</key> -    <map> -      <key>Comment</key> -      <string>Default resolution when sharing photo using the social floaters</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>String</string> -      <key>Value</key> -      <string>[i800,i600]</string> -    </map>      <key>sourceid</key>      <map>        <key>Comment</key> @@ -15129,17 +12978,6 @@        <key>Value</key>        <real>-1.0</real>      </map> -    <key>ForcePeriodicRenderingTime</key> -    <map> -      <key>Comment</key> -      <string>Periodically enable all rendering masks for a single frame.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>-1.0</real> -    </map>      <key>ZoomDirect</key>      <map>        <key>Comment</key> @@ -15305,17 +13143,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>AssetStorageLogFrequency</key> -        <map> -        <key>Comment</key> -        <string>Seconds between display of AssetStorage info in log (0 for never)</string> -        <key>Persist</key> -        <integer>1</integer> -        <key>Type</key> -        <string>F32</string> -        <key>Value</key> -        <real>60.0</real> -        </map>      <key>LogWearableAssetSave</key>      <map>        <key>Comment</key> @@ -15553,28 +13380,6 @@        <key>Value</key>        <real>120.0</real>      </map> -    <key>DestinationGuideHintTimeout</key> -    <map> -      <key>Comment</key> -      <string>Number of seconds to wait before telling resident about destination guide.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>1200.0</real> -    </map> -    <key>SidePanelHintTimeout</key> -    <map> -      <key>Comment</key> -      <string>Number of seconds to wait before telling resident about side panel.</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>300.0</real> -    </map>      <key>GroupMembersSortOrder</key>      <map>        <key>Comment</key> @@ -15619,17 +13424,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>AvatarInspectorTooltipDelay</key> -    <map> -      <key>Comment</key> -      <string>Seconds before displaying avatar inspector tooltip</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>0.35</real> -    </map>      <key>ObjectInspectorTooltipDelay</key>      <map>        <key>Comment</key> @@ -15663,17 +13457,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>EnableGroupInfo</key> -    <map> -      <key>Comment</key> -      <string>Enable viewing and editing of group info from web link</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>EnablePlaceProfile</key>      <map>        <key>Comment</key> @@ -15685,28 +13468,6 @@        <key>Value</key>        <integer>1</integer>      </map> -    <key>EnablePicks</key> -    <map> -      <key>Comment</key> -      <string>Enable editing of picks from web link</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map> -    <key>EnableWorldMap</key> -    <map> -      <key>Comment</key> -      <string>Enable opening world map from web link</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>    <key>EnableAvatarPay</key>    <map>      <key>Comment</key> @@ -15718,17 +13479,6 @@      <key>Value</key>      <integer>1</integer>    </map> -  <key>EnableVoiceCall</key> -  <map> -    <key>Comment</key> -    <string>Enable voice calls from web link</string> -    <key>Persist</key> -    <integer>1</integer> -    <key>Type</key> -    <string>Boolean</string> -    <key>Value</key> -    <integer>1</integer> -  </map>    <key>EnableAvatarShare</key>    <map>      <key>Comment</key> @@ -15751,17 +13501,6 @@      <key>Value</key>      <integer>1</integer>    </map> -  <key>EnableSearch</key> -  <map> -    <key>Comment</key> -    <string>Enable opening search from web link</string> -    <key>Persist</key> -    <integer>1</integer> -    <key>Type</key> -    <string>Boolean</string> -    <key>Value</key> -    <integer>1</integer> -  </map>    <key>EnableAppearance</key>    <map>      <key>Comment</key> @@ -15839,17 +13578,6 @@        <key>Value</key>        <integer>0</integer>      </map> -     <key>AllowBottomTrayButtonReordering</key> -    <map> -      <key>Comment</key> -      <string>Allow user to move and hide bottom tray buttons</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>AllowSelectAvatar</key>      <map>        <key>Comment</key> @@ -16653,28 +14381,6 @@      <key>Value</key>      <integer>1000</integer>      </map> -  <key>FMODExStreamBufferSize</key> -  <map> -    <key>Comment</key> -    <string>Sets the streaming buffer size (in milliseconds) for FMOD Ex or FMOD Studio</string> -    <key>Persist</key> -    <integer>1</integer> -    <key>Type</key> -    <string>U32</string> -    <key>Value</key> -    <integer>7000</integer> -  </map> -  <key>DisablePrecacheDelayAfterTeleporting</key> -  <map> -    <key>Comment</key> -    <string>Disables the artificial delay in the viewer that precaches some incoming assets</string> -    <key>Persist</key> -    <integer>0</integer> -    <key>Type</key> -    <string>Boolean</string> -    <key>Value</key> -    <integer>0</integer> -  </map>    <key>VersionChannelName</key>      <map>        <key>Comment</key> diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index d2fe570069..adea8a2bb4 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -1919,7 +1919,8 @@ LLVector3d LLAgentCamera::calcCameraPositionTargetGlobal(BOOL *hit_limit)  					}  					else  					{ -						target_lag = vel * gSavedSettings.getF32("DynamicCameraStrength") / 30.f; +                        LLCachedControl<F32> dynamic_camera_strength(gSavedSettings, "DynamicCameraStrength"); +						target_lag = vel * dynamic_camera_strength / 30.f;  					}  					mCameraLag = lerp(mCameraLag, target_lag, lag_interp); diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 3db5fe9260..5c022e3de1 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -528,13 +528,6 @@ bool	create_text_segment_icon_from_url_match(LLUrlMatch* match,LLTextBase* base)  // or for things that are performance critical.  JC  static void settings_to_globals()  { -	LLBUTTON_H_PAD		= gSavedSettings.getS32("ButtonHPad"); -	BTN_HEIGHT_SMALL	= gSavedSettings.getS32("ButtonHeightSmall"); -	BTN_HEIGHT			= gSavedSettings.getS32("ButtonHeight"); - -	MENU_BAR_HEIGHT		= gSavedSettings.getS32("MenuBarHeight"); -	MENU_BAR_WIDTH		= gSavedSettings.getS32("MenuBarWidth"); -  	LLSurface::setTextureSize(gSavedSettings.getU32("RegionTextureSize"));  	LLRender::sGLCoreProfile = gSavedSettings.getBOOL("RenderGLContextCoreProfile"); @@ -4271,7 +4264,8 @@ bool LLAppViewer::initCache()      LLAppViewer::getTextureCache()->initCache(LL_PATH_CACHE, texture_cache_size, texture_cache_mismatch); -	LLVOCache::getInstance()->initCache(LL_PATH_CACHE, gSavedSettings.getU32("CacheNumberOfRegionsForObjects"), getObjectCacheVersion()); +    const U32 CACHE_NUMBER_OF_REGIONS_FOR_OBJECTS = 128; +	LLVOCache::getInstance()->initCache(LL_PATH_CACHE, CACHE_NUMBER_OF_REGIONS_FOR_OBJECTS, getObjectCacheVersion());      return true;  } diff --git a/indra/newview/llchannelmanager.cpp b/indra/newview/llchannelmanager.cpp index 9e7a8ba95c..934b852a41 100644 --- a/indra/newview/llchannelmanager.cpp +++ b/indra/newview/llchannelmanager.cpp @@ -88,7 +88,7 @@ LLScreenChannel* LLChannelManager::createNotificationChannel()  {  	//  creating params for a channel  	LLScreenChannelBase::Params p; -	p.id = LLUUID(gSavedSettings.getString("NotificationChannelUUID")); +	p.id = NOTIFICATION_CHANNEL_UUID;  	p.channel_align = CA_RIGHT;  	p.toast_align = NA_TOP; @@ -108,7 +108,7 @@ void LLChannelManager::onLoginCompleted()  		if (!channel) continue;  		// don't calc notifications for Nearby Chat -		if(channel->getChannelID() == LLUUID(gSavedSettings.getString("NearByChatChannelUUID"))) +		if(channel->getChannelID() == NEARBY_CHAT_CHANNEL_UUID)  		{  			continue;  		} @@ -130,7 +130,7 @@ void LLChannelManager::onLoginCompleted()  	{  		// create a channel for the StartUp Toast  		LLScreenChannelBase::Params p; -		p.id = LLUUID(gSavedSettings.getString("StartUpChannelUUID")); +		p.id = STARTUP_CHANNEL_UUID;  		p.channel_align = CA_RIGHT;  		mStartUpChannel = createChannel(p); @@ -143,9 +143,8 @@ void LLChannelManager::onLoginCompleted()  			gViewerWindow->getRootView()->addChild(mStartUpChannel);  			// init channel's position and size -			S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");  -			S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth"); -			mStartUpChannel->init(channel_right_bound - channel_width, channel_right_bound); +			S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin"); +			mStartUpChannel->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);  			mStartUpChannel->setMouseDownCallback(boost::bind(&LLFloaterNotificationsTabbed::onStartUpToastClick, LLFloaterNotificationsTabbed::getInstance(), _2, _3, _4));  			mStartUpChannel->setCommitCallback(boost::bind(&LLChannelManager::onStartUpToastClose, this)); @@ -164,7 +163,7 @@ void LLChannelManager::onStartUpToastClose()  	{  		mStartUpChannel->setVisible(FALSE);  		mStartUpChannel->closeStartUpToast(); -		removeChannelByID(LLUUID(gSavedSettings.getString("StartUpChannelUUID"))); +		removeChannelByID(STARTUP_CHANNEL_UUID);  		mStartUpChannel = NULL;  	} @@ -258,12 +257,12 @@ LLNotificationsUI::LLScreenChannel* LLChannelManager::getNotificationScreenChann  {  	LLNotificationsUI::LLScreenChannel* channel = static_cast<LLNotificationsUI::LLScreenChannel*>  	(LLNotificationsUI::LLChannelManager::getInstance()-> -										findChannelByID(LLUUID(gSavedSettings.getString("NotificationChannelUUID")))); +										findChannelByID(NOTIFICATION_CHANNEL_UUID));  	if (channel == NULL)  	{ -		LL_WARNS() << "Can't find screen channel by NotificationChannelUUID" << LL_ENDL; -		llassert(!"Can't find screen channel by NotificationChannelUUID"); +		LL_WARNS() << "Can't find screen channel by Notification Channel UUID" << LL_ENDL; +		llassert(!"Can't find screen channel by Notification Channel UUID");  	}  	return channel; diff --git a/indra/newview/llcompilequeue.cpp b/indra/newview/llcompilequeue.cpp index 9031ea5b1b..6826ba06db 100644 --- a/indra/newview/llcompilequeue.cpp +++ b/indra/newview/llcompilequeue.cpp @@ -66,6 +66,7 @@ namespace  {      const std::string QUEUE_EVENTPUMP_NAME("ScriptActionQueue"); +    const F32 QUEUE_INVENTORY_FETCH_TIMEOUT = 300.f;      // ObjectIventoryFetcher is an adapter between the LLVOInventoryListener::inventoryChanged       // callback mechanism and the LLEventPump coroutine architecture allowing the  @@ -359,8 +360,6 @@ bool LLFloaterCompileQueue::processScript(LLHandle<LLFloaterCompileQueue> hfloat      // Dereferencing floater may fail. If they do they throw LLExeceptionStaleHandle.      // which is caught in objectScriptProcessingQueueCoro      bool monocompile = floater->mMono; -    F32 fetch_timeout = gSavedSettings.getF32("QueueInventoryFetchTimeout"); -      // Initial test to see if we can (or should) attempt to compile the script.      LLInventoryItem *item = dynamic_cast<LLInventoryItem *>(inventory); @@ -385,7 +384,7 @@ bool LLFloaterCompileQueue::processScript(LLHandle<LLFloaterCompileQueue> hfloat          LLExperienceCache::instance().fetchAssociatedExperience(inventory->getParentUUID(), inventory->getUUID(),              boost::bind(&LLFloaterCompileQueue::handleHTTPResponse, pump.getName(), _1)); -        result = llcoro::suspendUntilEventOnWithTimeout(pump, fetch_timeout, +        result = llcoro::suspendUntilEventOnWithTimeout(pump, QUEUE_INVENTORY_FETCH_TIMEOUT,              LLSDMap("timeout", LLSD::Boolean(true)));          floater.check(); @@ -435,7 +434,7 @@ bool LLFloaterCompileQueue::processScript(LLHandle<LLFloaterCompileQueue> hfloat              &LLFloaterCompileQueue::handleScriptRetrieval,              &userData); -        result = llcoro::suspendUntilEventOnWithTimeout(pump, fetch_timeout, +        result = llcoro::suspendUntilEventOnWithTimeout(pump, QUEUE_INVENTORY_FETCH_TIMEOUT,              LLSDMap("timeout", LLSD::Boolean(true)));      } @@ -481,7 +480,7 @@ bool LLFloaterCompileQueue::processScript(LLHandle<LLFloaterCompileQueue> hfloat          LLViewerAssetUpload::EnqueueInventoryUpload(url, uploadInfo);      } -    result = llcoro::suspendUntilEventOnWithTimeout(pump, fetch_timeout, LLSDMap("timeout", LLSD::Boolean(true))); +    result = llcoro::suspendUntilEventOnWithTimeout(pump, QUEUE_INVENTORY_FETCH_TIMEOUT, LLSDMap("timeout", LLSD::Boolean(true)));      floater.check(); @@ -736,8 +735,6 @@ void LLFloaterScriptQueue::objectScriptProcessingQueueCoro(std::string action, L      // Dereferencing floater may fail. If they do they throw LLExeceptionStaleHandle.       // This is expected if the dialog closes.      LLEventMailDrop        maildrop(QUEUE_EVENTPUMP_NAME, true); -    F32 fetch_timeout = gSavedSettings.getF32("QueueInventoryFetchTimeout"); -      try      { @@ -759,7 +756,7 @@ void LLFloaterScriptQueue::objectScriptProcessingQueueCoro(std::string action, L                  args["[OBJECT_NAME]"] = (*itObj).mObjectName;                  floater->addStringMessage(floater->getString("LoadingObjInv", args)); -                LLSD result = llcoro::suspendUntilEventOnWithTimeout(maildrop, fetch_timeout, +                LLSD result = llcoro::suspendUntilEventOnWithTimeout(maildrop, QUEUE_INVENTORY_FETCH_TIMEOUT,                      LLSDMap("timeout", LLSD::Boolean(true)));                  if (result.has("timeout")) diff --git a/indra/newview/llcontrolavatar.cpp b/indra/newview/llcontrolavatar.cpp index 91031034c6..000c2c625b 100644 --- a/indra/newview/llcontrolavatar.cpp +++ b/indra/newview/llcontrolavatar.cpp @@ -99,21 +99,6 @@ LLVOAvatar *LLControlAvatar::getAttachedAvatar()  void LLControlAvatar::getNewConstraintFixups(LLVector3& new_pos_fixup, F32& new_scale_fixup) const  { - -    F32 max_legal_offset = MAX_LEGAL_OFFSET; -    if (gSavedSettings.getControl("AnimatedObjectsMaxLegalOffset")) -    { -        max_legal_offset = gSavedSettings.getF32("AnimatedObjectsMaxLegalOffset"); -    } -	max_legal_offset = llmax(max_legal_offset,0.f); - -    F32 max_legal_size = MAX_LEGAL_SIZE; -    if (gSavedSettings.getControl("AnimatedObjectsMaxLegalSize")) -    { -        max_legal_size = gSavedSettings.getF32("AnimatedObjectsMaxLegalSize"); -    } -	max_legal_size = llmax(max_legal_size, 1.f); -          new_pos_fixup = LLVector3();      new_scale_fixup = 1.0f;  	LLVector3 vol_pos = mRootVolp->getRenderPosition(); @@ -138,9 +123,9 @@ void LLControlAvatar::getNewConstraintFixups(LLVector3& new_pos_fixup, F32& new_  		{  			LLVector3 pos_box_offset = point_to_box_offset(vol_pos, unshift_extents);  			F32 offset_dist = pos_box_offset.length(); -			if (offset_dist > max_legal_offset && offset_dist > 0.f) +			if (offset_dist > MAX_LEGAL_OFFSET && offset_dist > 0.f)  			{ -				F32 target_dist = (offset_dist - max_legal_offset); +				F32 target_dist = (offset_dist - MAX_LEGAL_OFFSET);  				new_pos_fixup = (target_dist/offset_dist)*pos_box_offset;  			}  			if (new_pos_fixup != mPositionConstraintFixup) @@ -153,11 +138,11 @@ void LLControlAvatar::getNewConstraintFixups(LLVector3& new_pos_fixup, F32& new_  			}  		} -        if (box_size/mScaleConstraintFixup > max_legal_size) +        if (box_size/mScaleConstraintFixup > MAX_LEGAL_SIZE)          { -            new_scale_fixup = mScaleConstraintFixup*max_legal_size/box_size; +            new_scale_fixup = mScaleConstraintFixup* MAX_LEGAL_SIZE /box_size;              LL_DEBUGS("ConstraintFix") << getFullname() << " scale fix, box_size " << box_size << " fixup "  -									   << mScaleConstraintFixup << " max legal " << max_legal_size  +									   << mScaleConstraintFixup << " max legal " << MAX_LEGAL_SIZE  									   << " -> new scale " << new_scale_fixup << LL_ENDL;          }      } @@ -202,8 +187,7 @@ void LLControlAvatar::matchVolumeTransform()                  mRoot->setWorldRotation(obj_rot * joint_rot);                  setRotation(mRoot->getRotation()); -				F32 global_scale = gSavedSettings.getF32("AnimatedObjectsGlobalScale"); -				setGlobalScale(global_scale * mScaleConstraintFixup); +				setGlobalScale(mScaleConstraintFixup);              }              else              { @@ -253,8 +237,7 @@ void LLControlAvatar::matchVolumeTransform()              }  			mRoot->setPosition(vol_pos + mPositionConstraintFixup); -            F32 global_scale = gSavedSettings.getF32("AnimatedObjectsGlobalScale"); -            setGlobalScale(global_scale * mScaleConstraintFixup); +            setGlobalScale(mScaleConstraintFixup);          }      }  } @@ -379,6 +362,7 @@ void LLControlAvatar::idleUpdate(LLAgent &agent, const F64 &time)  void LLControlAvatar::markDead()  { +    mRootVolp = NULL;      super::markDead();      mControlAVBridge = NULL;  } diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp index bb4174d3b6..d8be4c3bd5 100644 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -763,19 +763,6 @@ void LLDrawable::movePartition()  	if (part)  	{  		part->move(this, getSpatialGroup()); - -		// SL-18251 "On-screen animesh characters using pelvis offset animations -		// disappear when root goes off-screen" -		// -		// Update extents of the root node when Control Avatar changes it's bounds -		if (mRenderType == LLPipeline::RENDER_TYPE_CONTROL_AV && isRoot()) -		{ -			LLControlAvatar* controlAvatar = dynamic_cast<LLControlAvatar*>(getVObj().get()); -			if (controlAvatar && controlAvatar->mControlAVBridge) -			{ -				((LLSpatialGroup*)controlAvatar->mControlAVBridge->mOctree->getListener(0))->setState(LLViewerOctreeGroup::DIRTY); -			} -		}  	}  } diff --git a/indra/newview/lldrawpoolground.cpp b/indra/newview/lldrawpoolground.cpp index 5b74264dab..77de386040 100644 --- a/indra/newview/lldrawpoolground.cpp +++ b/indra/newview/lldrawpoolground.cpp @@ -53,11 +53,11 @@ void LLDrawPoolGround::prerender()  void LLDrawPoolGround::render(S32 pass)  { -	if (mDrawFace.empty() || !gSavedSettings.getBOOL("RenderGround")) +	if (mDrawFace.empty() || !LLGLSLShader::sCurBoundShaderPtr || !gSavedSettings.getBOOL("RenderGround"))  	{  		return; -	}	 -	 +	} +  	LLGLSPipelineDepthTestSkyBox gls_skybox(true, false);  	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); diff --git a/indra/newview/llfloateravatarpicker.cpp b/indra/newview/llfloateravatarpicker.cpp index 2422596f60..7b91d31d02 100644 --- a/indra/newview/llfloateravatarpicker.cpp +++ b/indra/newview/llfloateravatarpicker.cpp @@ -107,15 +107,11 @@ LLFloaterAvatarPicker::LLFloaterAvatarPicker(const LLSD& key)  	mCloseOnSelect(FALSE),      mExcludeAgentFromSearchResults(FALSE),      mContextConeOpacity	(0.f), -    mContextConeInAlpha(0.f), -    mContextConeOutAlpha(0.f), -    mContextConeFadeTime(0.f) +    mContextConeInAlpha(CONTEXT_CONE_IN_ALPHA), +    mContextConeOutAlpha(CONTEXT_CONE_OUT_ALPHA), +    mContextConeFadeTime(CONTEXT_CONE_FADE_TIME)  {  	mCommitCallbackRegistrar.add("Refresh.FriendList", boost::bind(&LLFloaterAvatarPicker::populateFriend, this)); - -    mContextConeInAlpha = gSavedSettings.getF32("ContextConeInAlpha"); -    mContextConeOutAlpha = gSavedSettings.getF32("ContextConeOutAlpha"); -    mContextConeFadeTime = gSavedSettings.getF32("ContextConeFadeTime");  }  BOOL LLFloaterAvatarPicker::postBuild() diff --git a/indra/newview/llfloatercolorpicker.cpp b/indra/newview/llfloatercolorpicker.cpp index ba91277c79..1672969e82 100644 --- a/indra/newview/llfloatercolorpicker.cpp +++ b/indra/newview/llfloatercolorpicker.cpp @@ -102,9 +102,9 @@ LLFloaterColorPicker::LLFloaterColorPicker (LLColorSwatchCtrl* swatch, BOOL show  	  mActive				( TRUE ),  	  mCanApplyImmediately	( show_apply_immediate ),  	  mContextConeOpacity	( 0.f ), -      mContextConeInAlpha   ( 0.f ), -      mContextConeOutAlpha   ( 0.f ), -      mContextConeFadeTime   ( 0.f ) +      mContextConeInAlpha   (CONTEXT_CONE_IN_ALPHA), +      mContextConeOutAlpha   (CONTEXT_CONE_OUT_ALPHA), +      mContextConeFadeTime   (CONTEXT_CONE_FADE_TIME)  {  	buildFromFile ( "floater_color_picker.xml"); @@ -116,10 +116,6 @@ LLFloaterColorPicker::LLFloaterColorPicker (LLColorSwatchCtrl* swatch, BOOL show  		mApplyImmediateCheck->setEnabled(FALSE);  		mApplyImmediateCheck->set(FALSE);  	} - -    mContextConeInAlpha = gSavedSettings.getF32("ContextConeInAlpha"); -    mContextConeOutAlpha = gSavedSettings.getF32("ContextConeOutAlpha"); -    mContextConeFadeTime = gSavedSettings.getF32("ContextConeFadeTime");  }  LLFloaterColorPicker::~LLFloaterColorPicker() diff --git a/indra/newview/llfloaterconversationpreview.cpp b/indra/newview/llfloaterconversationpreview.cpp index 580a3f2610..97327da81a 100644 --- a/indra/newview/llfloaterconversationpreview.cpp +++ b/indra/newview/llfloaterconversationpreview.cpp @@ -37,13 +37,14 @@  const std::string LL_FCP_COMPLETE_NAME("complete_name");  const std::string LL_FCP_ACCOUNT_NAME("user_name"); +const S32 CONVERSATION_HISTORY_PAGE_SIZE = 100;  LLFloaterConversationPreview::LLFloaterConversationPreview(const LLSD& session_id)  :	LLFloater(session_id),  	mChatHistory(NULL),  	mSessionID(session_id.asUUID()),  	mCurrentPage(0), -	mPageSize(gSavedSettings.getS32("ConversationHistoryPageSize")), +	mPageSize(CONVERSATION_HISTORY_PAGE_SIZE),  	mAccountName(session_id[LL_FCP_ACCOUNT_NAME]),  	mCompleteName(session_id[LL_FCP_COMPLETE_NAME]),  	mMutex(), diff --git a/indra/newview/llfloaterenvironmentadjust.cpp b/indra/newview/llfloaterenvironmentadjust.cpp index 95d6a2d652..0b270103cc 100644 --- a/indra/newview/llfloaterenvironmentadjust.cpp +++ b/indra/newview/llfloaterenvironmentadjust.cpp @@ -114,7 +114,7 @@ BOOL LLFloaterEnvironmentAdjust::postBuild()      getChild<LLTextureCtrl>(FIELD_SKY_CLOUD_MAP)->setAllowNoTexture(TRUE);      getChild<LLTextureCtrl>(FIELD_WATER_NORMAL_MAP)->setDefaultImageAssetID(LLSettingsWater::GetDefaultWaterNormalAssetId()); -    getChild<LLTextureCtrl>(FIELD_WATER_NORMAL_MAP)->setBlankImageAssetID(LLUUID(gSavedSettings.getString("DefaultBlankNormalTexture"))); +    getChild<LLTextureCtrl>(FIELD_WATER_NORMAL_MAP)->setBlankImageAssetID(DEFAULT_BLANK_NORMAL_TEXTURE);      getChild<LLTextureCtrl>(FIELD_WATER_NORMAL_MAP)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onWaterMapChanged(); });      refresh(); diff --git a/indra/newview/llfloaterexperiencepicker.cpp b/indra/newview/llfloaterexperiencepicker.cpp index c642da7b83..fe7854b3a5 100644 --- a/indra/newview/llfloaterexperiencepicker.cpp +++ b/indra/newview/llfloaterexperiencepicker.cpp @@ -88,13 +88,10 @@ LLFloaterExperiencePicker::LLFloaterExperiencePicker( const LLSD& key )  	:LLFloater(key)  	,mSearchPanel(NULL)  	,mContextConeOpacity(0.f) -	,mContextConeInAlpha(0.f) -	,mContextConeOutAlpha(0.f) -	,mContextConeFadeTime(0.f) +	,mContextConeInAlpha(CONTEXT_CONE_IN_ALPHA) +	,mContextConeOutAlpha(CONTEXT_CONE_OUT_ALPHA) +	,mContextConeFadeTime(CONTEXT_CONE_FADE_TIME)  { -	mContextConeInAlpha = gSavedSettings.getF32("ContextConeInAlpha"); -	mContextConeOutAlpha = gSavedSettings.getF32("ContextConeOutAlpha"); -	mContextConeFadeTime = gSavedSettings.getF32("ContextConeFadeTime");  }  LLFloaterExperiencePicker::~LLFloaterExperiencePicker() diff --git a/indra/newview/llfloaterimnearbychat.cpp b/indra/newview/llfloaterimnearbychat.cpp index bb4cc9bca3..80dd1c8566 100644 --- a/indra/newview/llfloaterimnearbychat.cpp +++ b/indra/newview/llfloaterimnearbychat.cpp @@ -260,7 +260,8 @@ void LLFloaterIMNearbyChat::loadHistory()  void LLFloaterIMNearbyChat::removeScreenChat()  { -	LLNotificationsUI::LLScreenChannelBase* chat_channel = LLNotificationsUI::LLChannelManager::getInstance()->findChannelByID(LLUUID(gSavedSettings.getString("NearByChatChannelUUID"))); +	LLNotificationsUI::LLScreenChannelBase* chat_channel = LLNotificationsUI::LLChannelManager::getInstance()->findChannelByID( +        LLNotificationsUI::NEARBY_CHAT_CHANNEL_UUID);  	if(chat_channel)  	{  		chat_channel->removeToastsFromChannel(); diff --git a/indra/newview/llfloaterimnearbychathandler.cpp b/indra/newview/llfloaterimnearbychathandler.cpp index 4cd91c53d8..be731c8043 100644 --- a/indra/newview/llfloaterimnearbychathandler.cpp +++ b/indra/newview/llfloaterimnearbychathandler.cpp @@ -459,7 +459,7 @@ LLFloaterIMNearbyChatHandler::LLFloaterIMNearbyChatHandler()  {  	// Getting a Channel for our notifications  	LLFloaterIMNearbyChatScreenChannel::Params p; -	p.id = LLUUID(gSavedSettings.getString("NearByChatChannelUUID")); +	p.id = NEARBY_CHAT_CHANNEL_UUID;  	LLFloaterIMNearbyChatScreenChannel* channel = new LLFloaterIMNearbyChatScreenChannel(p);  	LLFloaterIMNearbyChatScreenChannel::create_toast_panel_callback_t callback = createToastPanel; diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp index ee9dc35283..5ac7b4a654 100644 --- a/indra/newview/llfloaterimsession.cpp +++ b/indra/newview/llfloaterimsession.cpp @@ -651,7 +651,7 @@ void LLFloaterIMSession::setDocked(bool docked, bool pop_on_undock)  	// update notification channel state  	LLNotificationsUI::LLScreenChannel* channel = static_cast<LLNotificationsUI::LLScreenChannel*>  		(LLNotificationsUI::LLChannelManager::getInstance()-> -											findChannelByID(LLUUID(gSavedSettings.getString("NotificationChannelUUID")))); +											findChannelByID(LLNotificationsUI::NOTIFICATION_CHANNEL_UUID));  	if(!isChatMultiTab())  	{ @@ -687,7 +687,7 @@ void LLFloaterIMSession::setVisible(BOOL visible)  {  	LLNotificationsUI::LLScreenChannel* channel = static_cast<LLNotificationsUI::LLScreenChannel*>  		(LLNotificationsUI::LLChannelManager::getInstance()-> -											findChannelByID(LLUUID(gSavedSettings.getString("NotificationChannelUUID")))); +											findChannelByID(LLNotificationsUI::NOTIFICATION_CHANNEL_UUID));  	LLFloaterIMSessionTab::setVisible(visible); @@ -865,7 +865,7 @@ void LLFloaterIMSession::updateMessages()  					// remove embedded notification from channel  					LLNotificationsUI::LLScreenChannel* channel = static_cast<LLNotificationsUI::LLScreenChannel*>  							(LLNotificationsUI::LLChannelManager::getInstance()-> -																findChannelByID(LLUUID(gSavedSettings.getString("NotificationChannelUUID")))); +																findChannelByID(LLNotificationsUI::NOTIFICATION_CHANNEL_UUID));  					if (getVisible())  					{  						// toast will be automatically closed since it is not storable toast diff --git a/indra/newview/llfloaternotificationstabbed.cpp b/indra/newview/llfloaternotificationstabbed.cpp index d1679fd936..2ff6c5618c 100644 --- a/indra/newview/llfloaternotificationstabbed.cpp +++ b/indra/newview/llfloaternotificationstabbed.cpp @@ -154,7 +154,7 @@ LLPanel * LLFloaterNotificationsTabbed::findItemByID(const LLUUID& id, std::stri  void LLFloaterNotificationsTabbed::initChannel()   {      LLNotificationsUI::LLScreenChannelBase* channel = LLNotificationsUI::LLChannelManager::getInstance()->findChannelByID( -        LLUUID(gSavedSettings.getString("NotificationChannelUUID"))); +        LLNotificationsUI::NOTIFICATION_CHANNEL_UUID);      mChannel = dynamic_cast<LLNotificationsUI::LLScreenChannel*>(channel);      if(NULL == mChannel)      { diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 9ea49e935f..e48f989c52 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -471,9 +471,7 @@ BOOL LLFloaterPreference::postBuild()  void LLFloaterPreference::updateDeleteTranscriptsButton()  { -	std::vector<std::string> list_of_transcriptions_file_names; -	LLLogChat::getListOfTranscriptFiles(list_of_transcriptions_file_names); -	getChild<LLButton>("delete_transcripts")->setEnabled(list_of_transcriptions_file_names.size() > 0); +	getChild<LLButton>("delete_transcripts")->setEnabled(LLLogChat::transcriptFilesExist());  }  void LLFloaterPreference::onDoNotDisturbResponseChanged() diff --git a/indra/newview/llfloatersearch.cpp b/indra/newview/llfloatersearch.cpp index 37ae80fa8f..a6ab61cbb9 100644 --- a/indra/newview/llfloatersearch.cpp +++ b/indra/newview/llfloatersearch.cpp @@ -48,12 +48,6 @@ public:  	LLSearchHandler() : LLCommandHandler("search", UNTRUSTED_CLICK_ONLY) { }  	bool handle(const LLSD& tokens, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web)  	{ -		if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableSearch")) -		{ -			LLNotificationsUtil::add("NoSearch", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit")); -			return true; -		} -  		const size_t parts = tokens.size();  		// get the (optional) category for the search diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp index 8f3ec8af05..42031bb0c5 100755 --- a/indra/newview/llfloaterworldmap.cpp +++ b/indra/newview/llfloaterworldmap.cpp @@ -129,12 +129,6 @@ public:                  const std::string& grid,                  LLMediaCtrl* web)  	{ -		if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableWorldMap")) -		{ -			LLNotificationsUtil::add("NoWorldMap", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit")); -			return true; -		} -  		if (params.size() == 0)  		{  			// support the secondlife:///app/worldmap SLapp @@ -170,12 +164,6 @@ public:                  const std::string& grid,                  LLMediaCtrl* web)  	{ -		if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableWorldMap")) -		{ -			LLNotificationsUtil::add("NoWorldMap", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit")); -			return true; -		} -		  		//Make sure we have some parameters  		if (params.size() == 0)  		{ diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index 043316ccca..b588d6eaa1 100644 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -88,12 +88,6 @@ public:  			return true;  		} -		if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableGroupInfo")) -		{ -			LLNotificationsUtil::add("NoGroupInfo", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit")); -			return true; -		} -  		if (tokens.size() < 1)  		{  			return false; diff --git a/indra/newview/llimhandler.cpp b/indra/newview/llimhandler.cpp index 0fa3dc1110..99be4dc92b 100644 --- a/indra/newview/llimhandler.cpp +++ b/indra/newview/llimhandler.cpp @@ -54,9 +54,8 @@ LLIMHandler::~LLIMHandler()  //--------------------------------------------------------------------------  void LLIMHandler::initChannel()  { -	S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");  -	S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth"); -	mChannel.get()->init(channel_right_bound - channel_width, channel_right_bound); +	S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin"); +	mChannel.get()->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);  }  //-------------------------------------------------------------------------- diff --git a/indra/newview/llinspect.cpp b/indra/newview/llinspect.cpp index f382b5985f..0da0609ff7 100644 --- a/indra/newview/llinspect.cpp +++ b/indra/newview/llinspect.cpp @@ -45,8 +45,8 @@ LLInspect::~LLInspect()  // virtual  void LLInspect::draw()  { -	static LLCachedControl<F32> FADE_TIME(*LLUI::getInstance()->mSettingGroups["config"], "InspectorFadeTime", 1.f); -	static LLCachedControl<F32> STAY_TIME(*LLUI::getInstance()->mSettingGroups["config"], "InspectorShowTime", 1.f); +	const F32 FADE_TIME = 0.5f; +	const F32 STAY_TIME = 3.f;  	if (mOpenTimer.getStarted())  	{  		LLFloater::draw(); @@ -59,7 +59,7 @@ void LLInspect::draw()  	}  	else if (mCloseTimer.getStarted())  	{ -		F32 alpha = clamp_rescale(mCloseTimer.getElapsedTimeF32(), 0.f, FADE_TIME(), 1.f, 0.f); +		F32 alpha = clamp_rescale(mCloseTimer.getElapsedTimeF32(), 0.f, FADE_TIME, 1.f, 0.f);  		LLViewDrawContext context(alpha);  		LLFloater::draw();  		if (mCloseTimer.getElapsedTimeF32() > FADE_TIME) diff --git a/indra/newview/llinspecttoast.cpp b/indra/newview/llinspecttoast.cpp index 6f93a78ca6..21cdde0bea 100644 --- a/indra/newview/llinspecttoast.cpp +++ b/indra/newview/llinspecttoast.cpp @@ -60,8 +60,8 @@ private:  LLInspectToast::LLInspectToast(const LLSD& notification_id) :  	LLInspect(LLSD()), mPanel(NULL)  { -	LLScreenChannelBase* channel = LLChannelManager::getInstance()->findChannelByID( -																LLUUID(gSavedSettings.getString("NotificationChannelUUID"))); +    LLScreenChannelBase* channel = LLChannelManager::getInstance()->findChannelByID( +        LLNotificationsUI::NOTIFICATION_CHANNEL_UUID);  	mScreenChannel = dynamic_cast<LLScreenChannel*>(channel);  	if(NULL == mScreenChannel)  	{ diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 73005d6903..385a2569a5 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -90,6 +90,7 @@  void copy_slurl_to_clipboard_callback_inv(const std::string& slurl);  const F32 SOUND_GAIN = 1.0f; +const F32 FOLDER_LOADING_MESSAGE_DELAY = 0.5f; // Seconds to wait before showing the LOADING... text in folder views  using namespace LLOldEvents; @@ -4902,9 +4903,7 @@ LLUIImagePtr LLMarketplaceFolderBridge::getMarketplaceFolderIcon(BOOL is_open) c  std::string LLMarketplaceFolderBridge::getLabelSuffix() const  { -    static LLCachedControl<F32> folder_loading_message_delay(gSavedSettings, "FolderLoadingMessageWaitTime", 0.5f); -     -    if (mIsLoading && mTimeSinceRequestStart.getElapsedTimeF32() >= folder_loading_message_delay()) +    if (mIsLoading && mTimeSinceRequestStart.getElapsedTimeF32() >= FOLDER_LOADING_MESSAGE_DELAY)      {          return llformat(" ( %s ) ", LLTrans::getString("LoadingData").c_str());      } diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index d6f3068610..d84b6990b9 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -230,10 +230,9 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p)  	// Can't access old mTextEntry fields as they are protected, so lets build new params  	// That is C&P from LLComboBox::createLineEditor function -	static LLUICachedControl<S32> drop_shadow_button ("DropShadowButton", 0);  	S32 arrow_width = mArrowImage ? mArrowImage->getWidth() : 0;  	LLRect text_entry_rect(0, getRect().getHeight(), getRect().getWidth(), 0); -	text_entry_rect.mRight -= llmax(8,arrow_width) + 2 * drop_shadow_button; +	text_entry_rect.mRight -= llmax(8,arrow_width) + 2 * BTN_DROP_SHADOW;  	LLLineEditor::Params params = p.combo_editor;  	params.rect(text_entry_rect); diff --git a/indra/newview/lllogchat.cpp b/indra/newview/lllogchat.cpp index ba82ff0b0f..1592afc66c 100644 --- a/indra/newview/lllogchat.cpp +++ b/indra/newview/lllogchat.cpp @@ -651,6 +651,27 @@ std::string LLLogChat::oldLogFileName(std::string filename)  	return scanResult;  } +bool LLLogChat::transcriptFilesExist() +{ +    std::string pattern = "*." + LL_TRANSCRIPT_FILE_EXTENSION; +    // get Users log directory +    std::string dirname = gDirUtilp->getPerAccountChatLogsDir(); + +    // add final OS dependent delimiter +    dirname += gDirUtilp->getDirDelimiter(); + +    LLDirIterator iter(dirname, pattern); +    std::string filename; +    while (iter.next(filename)) +    { +        std::string fullname = gDirUtilp->add(dirname, filename); +        if (isTranscriptFileFound(fullname)) +        { +            return true; +        } +    } +    return false; +}  // static  void LLLogChat::findTranscriptFiles(std::string pattern, std::vector<std::string>& list_of_transcriptions)  { diff --git a/indra/newview/lllogchat.h b/indra/newview/lllogchat.h index 5dce8ab1d2..9e2e060de2 100644 --- a/indra/newview/lllogchat.h +++ b/indra/newview/lllogchat.h @@ -103,6 +103,7 @@ public:  				const std::string& from,  				const LLUUID& from_id,  				const std::string& line); +    static bool transcriptFilesExist();  	static void findTranscriptFiles(std::string pattern, std::vector<std::string>& list_of_transcriptions);  	static void getListOfTranscriptFiles(std::vector<std::string>& list);  	static void getListOfTranscriptBackupFiles(std::vector<std::string>& list_of_transcriptions); diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index f5ee1171d9..61448828d1 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -352,10 +352,9 @@ void LLNavigationBar::draw()  {  	if (isBackgroundVisible())  	{ -		static LLUICachedControl<S32> drop_shadow_floater ("DropShadowFloater", 0);  		static LLUIColor color_drop_shadow = LLUIColorTable::instance().getColor("ColorDropShadow");  		gl_drop_shadow(0, getRect().getHeight(), getRect().getWidth(), 0, -                           color_drop_shadow, drop_shadow_floater ); +                           color_drop_shadow, DROP_SHADOW_FLOATER);  	}  	LLPanel::draw(); diff --git a/indra/newview/llnotificationalerthandler.cpp b/indra/newview/llnotificationalerthandler.cpp index 90b9cdc133..df8ab84663 100644 --- a/indra/newview/llnotificationalerthandler.cpp +++ b/indra/newview/llnotificationalerthandler.cpp @@ -46,7 +46,7 @@ LLAlertHandler::LLAlertHandler(const std::string& name, const std::string& notif  	mIsModal(is_modal)  {  	LLScreenChannelBase::Params p; -	p.id = LLUUID(gSavedSettings.getString("AlertChannelUUID")); +	p.id = ALERT_CHANNEL_UUID;  	p.display_toasts_always = true;  	p.toast_align = NA_CENTRE;  	p.channel_align = CA_CENTRE; diff --git a/indra/newview/llnotificationgrouphandler.cpp b/indra/newview/llnotificationgrouphandler.cpp index f87ebf219b..3c3d96f72c 100644 --- a/indra/newview/llnotificationgrouphandler.cpp +++ b/indra/newview/llnotificationgrouphandler.cpp @@ -56,9 +56,8 @@ LLGroupHandler::~LLGroupHandler()  //--------------------------------------------------------------------------  void LLGroupHandler::initChannel()  { -	S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");  -	S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth"); -	mChannel.get()->init(channel_right_bound - channel_width, channel_right_bound); +	S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin"); +	mChannel.get()->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);  }  //-------------------------------------------------------------------------- diff --git a/indra/newview/llnotificationofferhandler.cpp b/indra/newview/llnotificationofferhandler.cpp index 3f22467544..0e7222838d 100644 --- a/indra/newview/llnotificationofferhandler.cpp +++ b/indra/newview/llnotificationofferhandler.cpp @@ -63,8 +63,7 @@ LLOfferHandler::~LLOfferHandler()  void LLOfferHandler::initChannel()  {  	S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin"); -	S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth"); -	mChannel.get()->init(channel_right_bound - channel_width, channel_right_bound); +	mChannel.get()->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);  }  //-------------------------------------------------------------------------- diff --git a/indra/newview/llnotificationscripthandler.cpp b/indra/newview/llnotificationscripthandler.cpp index bb39d8f362..2f7dfa8e77 100644 --- a/indra/newview/llnotificationscripthandler.cpp +++ b/indra/newview/llnotificationscripthandler.cpp @@ -61,9 +61,8 @@ LLScriptHandler::~LLScriptHandler()  //--------------------------------------------------------------------------  void LLScriptHandler::initChannel()  { -	S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");  -	S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth"); -	mChannel.get()->init(channel_right_bound - channel_width, channel_right_bound); +	S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin"); +	mChannel.get()->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);  }  //-------------------------------------------------------------------------- diff --git a/indra/newview/llnotificationtiphandler.cpp b/indra/newview/llnotificationtiphandler.cpp index 91f93067de..dc24e651cb 100644 --- a/indra/newview/llnotificationtiphandler.cpp +++ b/indra/newview/llnotificationtiphandler.cpp @@ -60,9 +60,8 @@ LLTipHandler::~LLTipHandler()  //--------------------------------------------------------------------------  void LLTipHandler::initChannel()  { -	S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");  -	S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth"); -	mChannel.get()->init(channel_right_bound - channel_width, channel_right_bound); +	S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin"); +	mChannel.get()->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);  }  //-------------------------------------------------------------------------- diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index a09964e17d..fc9ca4e47e 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -89,7 +89,7 @@ BOOL LLPanelSettingsWaterMainTab::postBuild()      getChild<LLUICtrl>(FIELD_WATER_UNDERWATER_MOD)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogUnderWaterChanged(); });      mTxtNormalMap->setDefaultImageAssetID(LLSettingsWater::GetDefaultWaterNormalAssetId()); -    mTxtNormalMap->setBlankImageAssetID(LLUUID( gSavedSettings.getString( "DefaultBlankNormalTexture" ))); +    mTxtNormalMap->setBlankImageAssetID(DEFAULT_BLANK_NORMAL_TEXTURE);      mTxtNormalMap->setCommitCallback([this](LLUICtrl *, const LLSD &) { onNormalMapChanged(); });      getChild<LLUICtrl>(FIELD_WATER_WAVE2_XY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onSmallWaveChanged(); }); diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp index cbb87f63bb..eb392b3032 100644 --- a/indra/newview/llpanelface.cpp +++ b/indra/newview/llpanelface.cpp @@ -190,7 +190,7 @@ BOOL	LLPanelFace::postBuild()  	mTextureCtrl = getChild<LLTextureCtrl>("texture control");  	if(mTextureCtrl)  	{ -		mTextureCtrl->setDefaultImageAssetID(LLUUID( gSavedSettings.getString( "DefaultObjectTexture" ))); +		mTextureCtrl->setDefaultImageAssetID(DEFAULT_OBJECT_TEXTURE);  		mTextureCtrl->setCommitCallback( boost::bind(&LLPanelFace::onCommitTexture, this, _2) );  		mTextureCtrl->setOnCancelCallback( boost::bind(&LLPanelFace::onCancelTexture, this, _2) );  		mTextureCtrl->setOnSelectCallback( boost::bind(&LLPanelFace::onSelectTexture, this, _2) ); @@ -207,7 +207,7 @@ BOOL	LLPanelFace::postBuild()  	mShinyTextureCtrl = getChild<LLTextureCtrl>("shinytexture control");  	if(mShinyTextureCtrl)  	{ -		mShinyTextureCtrl->setDefaultImageAssetID(LLUUID( gSavedSettings.getString( "DefaultObjectSpecularTexture" ))); +		mShinyTextureCtrl->setDefaultImageAssetID(DEFAULT_OBJECT_SPECULAR_TEXTURE);  		mShinyTextureCtrl->setCommitCallback( boost::bind(&LLPanelFace::onCommitSpecularTexture, this, _2) );  		mShinyTextureCtrl->setOnCancelCallback( boost::bind(&LLPanelFace::onCancelSpecularTexture, this, _2) );  		mShinyTextureCtrl->setOnSelectCallback( boost::bind(&LLPanelFace::onSelectSpecularTexture, this, _2) ); @@ -224,8 +224,8 @@ BOOL	LLPanelFace::postBuild()  	mBumpyTextureCtrl = getChild<LLTextureCtrl>("bumpytexture control");  	if(mBumpyTextureCtrl)  	{ -		mBumpyTextureCtrl->setDefaultImageAssetID(LLUUID( gSavedSettings.getString( "DefaultObjectNormalTexture" ))); -		mBumpyTextureCtrl->setBlankImageAssetID(LLUUID( gSavedSettings.getString( "DefaultBlankNormalTexture" ))); +		mBumpyTextureCtrl->setDefaultImageAssetID(DEFAULT_OBJECT_NORMAL_TEXTURE); +		mBumpyTextureCtrl->setBlankImageAssetID(DEFAULT_BLANK_NORMAL_TEXTURE);  		mBumpyTextureCtrl->setCommitCallback( boost::bind(&LLPanelFace::onCommitNormalTexture, this, _2) );  		mBumpyTextureCtrl->setOnCancelCallback( boost::bind(&LLPanelFace::onCancelNormalTexture, this, _2) );  		mBumpyTextureCtrl->setOnSelectCallback( boost::bind(&LLPanelFace::onSelectNormalTexture, this, _2) ); @@ -3797,7 +3797,7 @@ void LLPanelFace::onCopyTexture()                          LLUUID id = mat_data["NormMap"].asUUID();                          if (id.notNull() && !get_can_copy_texture(id))                          { -                            mat_data["NormMap"] = LLUUID(gSavedSettings.getString("DefaultObjectTexture")); +                            mat_data["NormMap"] = DEFAULT_OBJECT_TEXTURE;                              mat_data["NormMapNoCopy"] = true;                          } @@ -3807,7 +3807,7 @@ void LLPanelFace::onCopyTexture()                          LLUUID id = mat_data["SpecMap"].asUUID();                          if (id.notNull() && !get_can_copy_texture(id))                          { -                            mat_data["SpecMap"] = LLUUID(gSavedSettings.getString("DefaultObjectTexture")); +                            mat_data["SpecMap"] = DEFAULT_OBJECT_TEXTURE;                              mat_data["SpecMapNoCopy"] = true;                          } diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index 2da431955f..c8256640f2 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -244,7 +244,7 @@ BOOL	LLPanelObject::postBuild()  	mCtrlSculptTexture = getChild<LLTextureCtrl>("sculpt texture control");  	if (mCtrlSculptTexture)  	{ -		mCtrlSculptTexture->setDefaultImageAssetID(LLUUID(SCULPT_DEFAULT_TEXTURE)); +		mCtrlSculptTexture->setDefaultImageAssetID(SCULPT_DEFAULT_TEXTURE);  		mCtrlSculptTexture->setCommitCallback( boost::bind(&LLPanelObject::onCommitSculpt, this, _2 ));  		mCtrlSculptTexture->setOnCancelCallback( boost::bind(&LLPanelObject::onCancelSculpt, this, _2 ));  		mCtrlSculptTexture->setOnSelectCallback( boost::bind(&LLPanelObject::onSelectSculpt, this, _2 )); @@ -2026,7 +2026,7 @@ void LLPanelObject::onCancelSculpt(const LLSD& data)  	if(mSculptTextureRevert == LLUUID::null)  	{ -		mSculptTextureRevert = LLUUID(SCULPT_DEFAULT_TEXTURE); +		mSculptTextureRevert = SCULPT_DEFAULT_TEXTURE;  	}  	mTextureCtrl->setImageAssetID(mSculptTextureRevert); @@ -2269,7 +2269,7 @@ void LLPanelObject::onCopyParams()          }          else          { -            mClipboardParams["sculpt"]["id"] = LLUUID(SCULPT_DEFAULT_TEXTURE); +            mClipboardParams["sculpt"]["id"] = SCULPT_DEFAULT_TEXTURE;          }          mClipboardParams["sculpt"]["type"] = sculpt_params->getSculptType(); diff --git a/indra/newview/llpanelprofilepicks.cpp b/indra/newview/llpanelprofilepicks.cpp index 0535036cb0..fa42199089 100644 --- a/indra/newview/llpanelprofilepicks.cpp +++ b/indra/newview/llpanelprofilepicks.cpp @@ -97,12 +97,6 @@ public:              return true;          } -        if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnablePicks")) -        { -            LLNotificationsUtil::add("NoPicks", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit")); -            return true; -        } -          // handle app/pick/create urls first          if (params.size() == 1 && params[0].asString() == "create")          { diff --git a/indra/newview/llpersistentnotificationstorage.cpp b/indra/newview/llpersistentnotificationstorage.cpp index 9bf771db8a..ec537e216b 100644 --- a/indra/newview/llpersistentnotificationstorage.cpp +++ b/indra/newview/llpersistentnotificationstorage.cpp @@ -115,7 +115,7 @@ void LLPersistentNotificationStorage::loadNotifications()  	using namespace LLNotificationsUI;  	LLScreenChannel* notification_channel = dynamic_cast<LLScreenChannel*>(LLChannelManager::getInstance()-> -		findChannelByID(LLUUID(gSavedSettings.getString("NotificationChannelUUID")))); +		findChannelByID(LLNotificationsUI::NOTIFICATION_CHANNEL_UUID));  	LLNotifications& instance = LLNotifications::instance();  	S32 processed_notifications = 0; diff --git a/indra/newview/llpresetsmanager.cpp b/indra/newview/llpresetsmanager.cpp index 30d0a22ef0..bc77588b9f 100644 --- a/indra/newview/llpresetsmanager.cpp +++ b/indra/newview/llpresetsmanager.cpp @@ -254,8 +254,6 @@ void LLPresetsManager::getControlNames(std::vector<std::string>& names)  		// From panel_preferences_move.xml  		("CameraAngle")  		("CameraOffsetScale") -		("EditCameraMovement") -		("AppearanceCameraMovement")  		// From llagentcamera.cpp  		("CameraOffsetBuild")  		("TrackFocusObject") diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index 17f2970f99..ea3aa58f94 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -170,8 +170,9 @@ void LLScreenChannelBase::init(S32 channel_left, S32 channel_right)  void	LLScreenChannelBase::updateRect()  { +    const S32 CHANNEL_BOTTOM_PANEL_MARGIN = 35;  	S32 channel_top = getChannelRect().mTop; -	S32 channel_bottom = getChannelRect().mBottom + gSavedSettings.getS32("ChannelBottomPanelMargin"); +	S32 channel_bottom = getChannelRect().mBottom + CHANNEL_BOTTOM_PANEL_MARGIN;  	S32 channel_left = getRect().mLeft;  	S32 channel_right = getRect().mRight;  	setRect(LLRect(channel_left, channel_top, channel_right, channel_bottom)); diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h index e5f4807ab7..d66c8afc22 100644 --- a/indra/newview/llscreenchannel.h +++ b/indra/newview/llscreenchannel.h @@ -34,6 +34,12 @@  namespace LLNotificationsUI  { +    const LLUUID ALERT_CHANNEL_UUID("F3E07BC8-A973-476D-8C7F-F3B7293975D1"); +    const LLUUID NOTIFICATION_CHANNEL_UUID("AEED3193-8709-4693-8558-7452CCA97AE5"); +    const LLUUID NEARBY_CHAT_CHANNEL_UUID("E1158BD6-661C-4981-9DAD-4DCBFF062502"); +    const LLUUID STARTUP_CHANNEL_UUID("B56AF90D-6684-48E4-B1E4-722D3DEB2CB6"); + +    const S32 NOTIFY_BOX_WIDTH = 305;  typedef enum e_notification_toast_alignment  { diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp index 6a27ff3047..66ee016191 100644 --- a/indra/newview/llscriptfloater.cpp +++ b/indra/newview/llscriptfloater.cpp @@ -335,7 +335,7 @@ void LLScriptFloater::hideToastsIfNeeded()  	// find channel  	LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(LLChannelManager::getInstance()->findChannelByID( -		LLUUID(gSavedSettings.getString("NotificationChannelUUID")))); +        LLNotificationsUI::NOTIFICATION_CHANNEL_UUID));  	// update notification channel state  	if(channel)  	{ diff --git a/indra/newview/llsearchhistory.cpp b/indra/newview/llsearchhistory.cpp index 449e0080f0..66e377cb8d 100644 --- a/indra/newview/llsearchhistory.cpp +++ b/indra/newview/llsearchhistory.cpp @@ -75,6 +75,17 @@ bool LLSearchHistory::save()  {  	// build filename for each user  	std::string resolved_filename = getHistoryFilePath(); + +    // delete the file if it is empty or contains only empty entries +    if (std::find_if(mSearchHistory.begin(), mSearchHistory.end(), [](const LLSearchHistoryItem& x) +        { +            return !x.search_query.empty(); +        }) == mSearchHistory.end()) +    { +        remove(resolved_filename.c_str()); +        return true; +    } +  	// open a file for writing  	llofstream file(resolved_filename.c_str());  	if (!file.is_open()) diff --git a/indra/newview/llsetkeybinddialog.cpp b/indra/newview/llsetkeybinddialog.cpp index 74844a80e8..dbab7e53b6 100644 --- a/indra/newview/llsetkeybinddialog.cpp +++ b/indra/newview/llsetkeybinddialog.cpp @@ -74,13 +74,10 @@ LLSetKeyBindDialog::LLSetKeyBindDialog(const LLSD& key)      pUpdater(NULL),      mLastMaskKey(0),      mContextConeOpacity(0.f), -    mContextConeInAlpha(0.f), -    mContextConeOutAlpha(0.f), -    mContextConeFadeTime(0.f) +    mContextConeInAlpha(CONTEXT_CONE_IN_ALPHA), +    mContextConeOutAlpha(CONTEXT_CONE_OUT_ALPHA), +    mContextConeFadeTime(CONTEXT_CONE_FADE_TIME)  { -	mContextConeInAlpha = gSavedSettings.getF32("ContextConeInAlpha"); -	mContextConeOutAlpha = gSavedSettings.getF32("ContextConeOutAlpha"); -	mContextConeFadeTime = gSavedSettings.getF32("ContextConeFadeTime");  }  LLSetKeyBindDialog::~LLSetKeyBindDialog() diff --git a/indra/newview/llsidepaneltaskinfo.cpp b/indra/newview/llsidepaneltaskinfo.cpp index 1d6b3cd80c..38d6aff383 100644 --- a/indra/newview/llsidepaneltaskinfo.cpp +++ b/indra/newview/llsidepaneltaskinfo.cpp @@ -74,6 +74,32 @@ LLSidepanelTaskInfo* LLSidepanelTaskInfo::sActivePanel = NULL;  static LLPanelInjector<LLSidepanelTaskInfo> t_task_info("sidepanel_task_info"); +static std::string click_action_to_string_value(U8 click_action) +{ +    switch (click_action) +    { +        case CLICK_ACTION_TOUCH: +            return "Touch"; +        case CLICK_ACTION_SIT: +            return "Sit"; +        case CLICK_ACTION_BUY: +            return "Buy"; +        case CLICK_ACTION_PAY: +            return "Pay"; +        case CLICK_ACTION_OPEN: +            return "Open"; +        case CLICK_ACTION_ZOOM: +            return "Zoom"; +        case CLICK_ACTION_DISABLED: +            return "None"; +        case CLICK_ACTION_IGNORE: +            return "Ignore"; +        default: +            return "Touch"; +    } +    return "Touch"; +} +  // Default constructor  LLSidepanelTaskInfo::LLSidepanelTaskInfo()      : mVisibleDebugPermissions(true) // space was allocated by default @@ -886,11 +912,7 @@ void LLSidepanelTaskInfo::refresh()  	U8 click_action = 0;  	if (LLSelectMgr::getInstance()->selectionGetClickAction(&click_action))  	{ -		LLComboBox*	ComboClickAction = getChild<LLComboBox>("clickaction"); -		if (ComboClickAction) -		{ -			ComboClickAction->setCurrentByIndex((S32)click_action); -		} +        getChild<LLComboBox>("clickaction")->setValue(click_action_to_string_value(click_action));  	}  	getChildView("label click action")->setEnabled(is_perm_modify && is_nonpermanent_enforced && all_volume);  	getChildView("clickaction")->setEnabled(is_perm_modify && is_nonpermanent_enforced && all_volume); @@ -1147,6 +1169,8 @@ static U8 string_value_to_click_action(std::string p_value)  		return CLICK_ACTION_ZOOM;  	if (p_value == "None")  		return CLICK_ACTION_DISABLED; +    if (p_value == "Ignore") +        return CLICK_ACTION_IGNORE;  	return CLICK_ACTION_TOUCH;  } diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp index 17c834326c..e19f8fef41 100644 --- a/indra/newview/llspatialpartition.cpp +++ b/indra/newview/llspatialpartition.cpp @@ -847,6 +847,43 @@ void LLSpatialGroup::handleChildAddition(const OctreeNode* parent, OctreeNode* c  	assert_states_valid(this);  } +//virtual +void LLSpatialGroup::rebound() +{ +    if (!isDirty()) +        return; + +    super::rebound(); + +    if (mSpatialPartition->mDrawableType == LLPipeline::RENDER_TYPE_CONTROL_AV) +    { +        llassert(mSpatialPartition->mPartitionType == LLViewerRegion::PARTITION_CONTROL_AV); + +        LLSpatialBridge* bridge = getSpatialPartition()->asBridge(); +        if (bridge && +            bridge->mDrawable && +            bridge->mDrawable->getVObj() && +            bridge->mDrawable->getVObj()->isRoot()) +        { +            LLControlAvatar* controlAvatar = bridge->mDrawable->getVObj()->getControlAvatar(); +            if (controlAvatar && +                controlAvatar->mDrawable && +                controlAvatar->mControlAVBridge) +            { +                llassert(controlAvatar->mControlAVBridge->mOctree); + +                LLSpatialGroup* root = (LLSpatialGroup*)controlAvatar->mControlAVBridge->mOctree->getListener(0); +                if (this == root) +                { +                    const LLVector4a* addingExtents = controlAvatar->mDrawable->getSpatialExtents(); +                    const LLXformMatrix* currentTransform = bridge->mDrawable->getXform(); +                    expandExtents(addingExtents, *currentTransform); +                } +            } +        } +    } +} +  void LLSpatialGroup::destroyGL(bool keep_occlusion)   {  	setState(LLSpatialGroup::GEOM_DIRTY | LLSpatialGroup::IMAGE_DIRTY); @@ -1300,17 +1337,8 @@ void drawBox(const LLVector4a& c, const LLVector4a& r)  void drawBoxOutline(const LLVector3& pos, const LLVector3& size)  { - -	llassert(pos.isFinite()); -	llassert(size.isFinite()); - -	llassert(!llisnan(pos.mV[0])); -	llassert(!llisnan(pos.mV[1])); -	llassert(!llisnan(pos.mV[2])); - -	llassert(!llisnan(size.mV[0])); -	llassert(!llisnan(size.mV[1])); -	llassert(!llisnan(size.mV[2])); +    if (!pos.isFinite() || !size.isFinite()) +        return;  	LLVector3 v1 = size.scaledVec(LLVector3( 1, 1,1));  	LLVector3 v2 = size.scaledVec(LLVector3(-1, 1,1)); @@ -1625,6 +1653,7 @@ void pushVertsColorCoded(LLSpatialGroup* group, U32 mask)  //  - a linked rigged drawable face has the wrong draw order index  bool check_rigged_group(LLDrawable* drawable)  { +#if 0      if (drawable->isState(LLDrawable::RIGGED))      {          LLSpatialGroup* group = drawable->getSpatialGroup(); @@ -1632,6 +1661,8 @@ bool check_rigged_group(LLDrawable* drawable)          if (root->isState(LLDrawable::RIGGED) && root->getSpatialGroup() != group)          { +            LL_WARNS() << "[root->isState(LLDrawable::RIGGED) and root->getSpatialGroup() != group] is true" +                " (" << root->getSpatialGroup() << " != " << group << ")" << LL_ENDL;              llassert(false);              return false;          } @@ -1641,8 +1672,10 @@ bool check_rigged_group(LLDrawable* drawable)          {              for (auto& face : root->getFaces())              { -                if ((S32) face->getDrawOrderIndex() <= last_draw_index) +                if ((S32)face->getDrawOrderIndex() <= last_draw_index)                  { +                    LL_WARNS() << "[(S32)face->getDrawOrderIndex() <= last_draw_index] is true" +                        " (" << (S32)face->getDrawOrderIndex() << " <= " << last_draw_index << ")" << LL_ENDL;                      llassert(false);                      return false;                  } @@ -1656,23 +1689,27 @@ bool check_rigged_group(LLDrawable* drawable)              {                  for (auto& face : child->mDrawable->getFaces())                  { -                    if ((S32) face->getDrawOrderIndex() <= last_draw_index) +                    if ((S32)face->getDrawOrderIndex() <= last_draw_index)                      { +                        LL_WARNS() << "[(S32)face->getDrawOrderIndex() <= last_draw_index] is true" +                            " (" << (S32)face->getDrawOrderIndex() << " <= " << last_draw_index << ")" << LL_ENDL;                          llassert(false);                          return false;                      }                      last_draw_index = face->getDrawOrderIndex();                  }              } -             +              if (child->mDrawable->getSpatialGroup() != group)              { +                LL_WARNS() << "[child->mDrawable->getSpatialGroup() != group] is true" +                    " (" << child->mDrawable->getSpatialGroup() << " != " << group << ")" << LL_ENDL;                  llassert(false);                  return false;              }          }      } - +#endif      return true;  } diff --git a/indra/newview/llspatialpartition.h b/indra/newview/llspatialpartition.h index cdb591083c..259ea24038 100644 --- a/indra/newview/llspatialpartition.h +++ b/indra/newview/llspatialpartition.h @@ -205,6 +205,7 @@ public:  LL_ALIGN_PREFIX(64)  class LLSpatialGroup : public LLOcclusionCullingGroup  { +	using super = LLOcclusionCullingGroup;  	friend class LLSpatialPartition;  	friend class LLOctreeStateCheck;  public: @@ -322,6 +323,9 @@ public:  	virtual void handleDestruction(const TreeNode* node);  	virtual void handleChildAddition(const OctreeNode* parent, OctreeNode* child); +	// LLViewerOctreeGroup +	virtual void rebound(); +  public:  	LL_ALIGN_16(LLVector4a mViewAngle);  	LL_ALIGN_16(LLVector4a mLastUpdateViewAngle); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index ad87fca25b..228483d42b 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2250,7 +2250,7 @@ bool idle_startup()  		static LLFrameTimer wearables_timer;  		const F32 wearables_time = wearables_timer.getElapsedTimeF32(); -		static LLCachedControl<F32> max_wearables_time(gSavedSettings, "ClothingLoadingDelay"); +		const F32 MAX_WEARABLES_TIME = 10.f;  		if (!gAgent.isOutfitChosen() && isAgentAvatarValid())  		{ @@ -2269,7 +2269,7 @@ bool idle_startup()  		display_startup(); -		if (gAgent.isOutfitChosen() && (wearables_time > max_wearables_time)) +		if (gAgent.isOutfitChosen() && (wearables_time > MAX_WEARABLES_TIME))  		{  			if (gInventory.isInventoryUsable())  			{ diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp index 8f64cff47c..db6d822186 100644 --- a/indra/newview/llsyswellwindow.cpp +++ b/indra/newview/llsyswellwindow.cpp @@ -127,8 +127,8 @@ void LLSysWellWindow::removeItemByID(const LLUUID& id)  //---------------------------------------------------------------------------------  void LLSysWellWindow::initChannel()   { -	LLNotificationsUI::LLScreenChannelBase* channel = LLNotificationsUI::LLChannelManager::getInstance()->findChannelByID( -																LLUUID(gSavedSettings.getString("NotificationChannelUUID"))); +    LLNotificationsUI::LLScreenChannelBase* channel = LLNotificationsUI::LLChannelManager::getInstance()->findChannelByID( +        LLNotificationsUI::NOTIFICATION_CHANNEL_UUID);  	mChannel = dynamic_cast<LLNotificationsUI::LLScreenChannel*>(channel);  	if(NULL == mChannel)  	{ diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index 2e137a8e12..9c721de1e8 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -86,10 +86,10 @@ static const S32 LOCAL_TRACKING_ID_COLUMN = 1;  //static  bool get_is_predefined_texture(LLUUID asset_id)  { -    if (asset_id == LLUUID(gSavedSettings.getString("DefaultObjectTexture")) -        || asset_id == LLUUID(gSavedSettings.getString("UIImgWhiteUUID")) -        || asset_id == LLUUID(gSavedSettings.getString("UIImgInvisibleUUID")) -        || asset_id == LLUUID(SCULPT_DEFAULT_TEXTURE)) +    if (asset_id == DEFAULT_OBJECT_TEXTURE +        || asset_id == UI_IMAGE_WHITE +        || asset_id == UI_IMAGE_INVISIBLE +        || asset_id == SCULPT_DEFAULT_TEXTURE)      {          return true;      } @@ -1323,8 +1323,7 @@ LLTextureCtrl::LLTextureCtrl(const LLTextureCtrl::Params& p)  	// Default of defaults is white image for diff tex  	// -	LLUUID whiteImage( gSavedSettings.getString( "UIImgWhiteUUID" ) ); -	setBlankImageAssetID( whiteImage ); +	setBlankImageAssetID(UI_IMAGE_WHITE);  	setAllowNoTexture(p.allow_no_texture);  	setCanApplyImmediately(p.can_apply_immediately); diff --git a/indra/newview/lltexturectrl.h b/indra/newview/lltexturectrl.h index e2bfe286d3..5e19e130ad 100644 --- a/indra/newview/lltexturectrl.h +++ b/indra/newview/lltexturectrl.h @@ -71,6 +71,13 @@ enum LLPickerSource      PICKER_UNKNOWN, // on cancel, default ids  }; +const LLUUID DEFAULT_BLANK_NORMAL_TEXTURE("5b53359e-59dd-d8a2-04c3-9e65134da47a"); +const LLUUID DEFAULT_OBJECT_NORMAL_TEXTURE("85f28839-7a1c-b4e3-d71d-967792970a7b"); +const LLUUID DEFAULT_OBJECT_SPECULAR_TEXTURE("87e0e8f7-8729-1ea8-cfc9-8915773009db"); +const LLUUID DEFAULT_OBJECT_TEXTURE("89556747-24cb-43ed-920b-47caed15465f"); +const LLUUID UI_IMAGE_WHITE("5748decc-f629-461c-9a36-a35a221fe21f"); +const LLUUID UI_IMAGE_INVISIBLE("89556747-24cb-43ed-920b-47caed15465f"); +  //////////////////////////////////////////////////////////////////////////////////////////  // LLTextureCtrl diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp index 84b61fc612..161ca12b55 100644 --- a/indra/newview/lltextureview.cpp +++ b/indra/newview/lltextureview.cpp @@ -439,14 +439,12 @@ void LLAvatarTexBar::draw()  												 text_color, LLFontGL::LEFT, LLFontGL::TOP); //, LLFontGL::BOLD, LLFontGL::DROP_SHADOW_SOFT);  		line_num++;  	} -	const U32 texture_timeout = gSavedSettings.getU32("AvatarBakedTextureUploadTimeout");  	const U32 override_tex_discard_level = gSavedSettings.getU32("TextureDiscardLevel");  	LLColor4 header_color(1.f, 1.f, 1.f, 0.9f); -	const std::string texture_timeout_str = texture_timeout ? llformat("%d",texture_timeout) : "Disabled";  	const std::string override_tex_discard_level_str = override_tex_discard_level ? llformat("%d",override_tex_discard_level) : "Disabled"; -	std::string header_text = llformat("[ Timeout('AvatarBakedTextureUploadTimeout'):%s ] [ LOD_Override('TextureDiscardLevel'):%s ]", texture_timeout_str.c_str(), override_tex_discard_level_str.c_str()); +	std::string header_text = llformat("[ Timeout:60 ] [ LOD_Override('TextureDiscardLevel'):%s ]", override_tex_discard_level_str.c_str());  	LLFontGL::getFontMonospace()->renderUTF8(header_text, 0, l_offset, v_offset + line_height*line_num,  											 header_color, LLFontGL::LEFT, LLFontGL::TOP); //, LLFontGL::BOLD, LLFontGL::DROP_SHADOW_SOFT);  	line_num++; diff --git a/indra/newview/lltoastalertpanel.cpp b/indra/newview/lltoastalertpanel.cpp index d35833fac9..f37baa1031 100644 --- a/indra/newview/lltoastalertpanel.cpp +++ b/indra/newview/lltoastalertpanel.cpp @@ -496,10 +496,9 @@ void LLToastAlertPanel::draw()  	}  	static LLUIColor shadow_color = LLUIColorTable::instance().getColor("ColorDropShadow"); -	static LLUICachedControl<S32> shadow_lines ("DropShadowFloater", 5);  	gl_drop_shadow( 0, LLToastPanel::getRect().getHeight(), LLToastPanel::getRect().getWidth(), 0, -		shadow_color, shadow_lines); +		shadow_color, DROP_SHADOW_FLOATER);  	LLToastPanel::draw();  } diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index 78e068f808..14ac9fdb6a 100644 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -298,12 +298,10 @@ void LLToolDragAndDrop::setDragStart(S32 x, S32 y)  BOOL LLToolDragAndDrop::isOverThreshold(S32 x,S32 y)  { -	static LLCachedControl<S32> drag_and_drop_threshold(gSavedSettings,"DragAndDropDistanceThreshold", 3); -	  	S32 mouse_delta_x = x - mDragStartX;  	S32 mouse_delta_y = y - mDragStartY; -	return (mouse_delta_x * mouse_delta_x) + (mouse_delta_y * mouse_delta_y) > drag_and_drop_threshold * drag_and_drop_threshold; +	return (mouse_delta_x * mouse_delta_x) + (mouse_delta_y * mouse_delta_y) > DRAG_N_DROP_DISTANCE_THRESHOLD * DRAG_N_DROP_DISTANCE_THRESHOLD;  }  void LLToolDragAndDrop::beginDrag(EDragAndDropType type, @@ -566,12 +564,13 @@ BOOL LLToolDragAndDrop::handleKey(KEY key, MASK mask)  BOOL LLToolDragAndDrop::handleToolTip(S32 x, S32 y, MASK mask)  { +    const F32 DRAG_N_DROP_TOOLTIP_DELAY = 0.10000000149f;  	if (!mToolTipMsg.empty())  	{  		LLToolTipMgr::instance().unblockToolTips();  		LLToolTipMgr::instance().show(LLToolTip::Params()  			.message(mToolTipMsg) -			.delay_time(gSavedSettings.getF32( "DragAndDropToolTipDelay" ))); +			.delay_time(DRAG_N_DROP_TOOLTIP_DELAY));  		return TRUE;  	}  	return FALSE; diff --git a/indra/newview/lltoolmorph.cpp b/indra/newview/lltoolmorph.cpp index d99c0ba2a6..e937c499ae 100644 --- a/indra/newview/lltoolmorph.cpp +++ b/indra/newview/lltoolmorph.cpp @@ -223,6 +223,13 @@ BOOL LLVisualParamHint::render()  	LLVector3 target_pos = target_joint_pos + (target_offset * avatar_rotation);  	F32 cam_angle_radians = mVisualParam->getCameraAngle() * DEG_TO_RAD; + +    static LLCachedControl<bool> auto_camera_position(gSavedSettings, "AppearanceCameraMovement"); +    if (!auto_camera_position) +    { +        cam_angle_radians += F_PI; +    } +  	LLVector3 camera_snapshot_offset(   		mVisualParam->getCameraDistance() * cosf( cam_angle_radians ),  		mVisualParam->getCameraDistance() * sinf( cam_angle_radians ), diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index 58011bbde2..d41003ea6e 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -86,8 +86,8 @@ LLToolPie::LLToolPie()  	mMouseSteerX(-1),  	mMouseSteerY(-1),  	mClickAction(0), -	mClickActionBuyEnabled( gSavedSettings.getBOOL("ClickActionBuyEnabled") ), -	mClickActionPayEnabled( gSavedSettings.getBOOL("ClickActionPayEnabled") ), +	mClickActionBuyEnabled( TRUE ), +	mClickActionPayEnabled( TRUE ),  	mDoubleClickTimer()  {  } @@ -765,8 +765,7 @@ BOOL LLToolPie::handleHover(S32 x, S32 y, MASK mask)  	{  		S32 delta_x = x - mMouseDownX;  		S32 delta_y = y - mMouseDownY; -		S32 threshold = gSavedSettings.getS32("DragAndDropDistanceThreshold"); -		if (delta_x * delta_x + delta_y * delta_y > threshold * threshold) +		if (delta_x * delta_x + delta_y * delta_y > DRAG_N_DROP_DISTANCE_THRESHOLD * DRAG_N_DROP_DISTANCE_THRESHOLD)  		{  			startCameraSteering();  			steerCameraWithMouse(x, y); @@ -1110,6 +1109,8 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l  				final_name = LLTrans::getString("TooltipPerson");;  			} +            const F32 INSPECTOR_TOOLTIP_DELAY = 0.35f; +  			LLInspector::Params p;  			p.fillFrom(LLUICtrlFactory::instance().getDefaultParams<LLInspector>());  			p.message(final_name); @@ -1117,7 +1118,7 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l  			p.click_callback(boost::bind(showAvatarInspector, hover_object->getID()));  			p.visible_time_near(6.f);  			p.visible_time_far(3.f); -			p.delay_time(gSavedSettings.getF32("AvatarInspectorTooltipDelay")); +			p.delay_time(INSPECTOR_TOOLTIP_DELAY);  			p.wrap(false);  			LLToolTipMgr::instance().show(p); diff --git a/indra/newview/llvieweraudio.cpp b/indra/newview/llvieweraudio.cpp index 6a0edbecb1..48499f0da8 100644 --- a/indra/newview/llvieweraudio.cpp +++ b/indra/newview/llvieweraudio.cpp @@ -48,6 +48,8 @@  #include "llstreamingaudio.h"  ///////////////////////////////////////////////////////// +const U32 FMODEX_DECODE_BUFFER_SIZE = 1000; // in milliseconds +const U32 FMODEX_STREAM_BUFFER_SIZE = 7000; // in milliseconds  LLViewerAudio::LLViewerAudio() :  	mDone(true), @@ -116,7 +118,7 @@ void LLViewerAudio::startInternetStreamWithAutoFade(const std::string &streamURI  			LLStreamingAudioInterface *stream = gAudiop->getStreamingAudioImpl();  			if (stream && stream->supportsAdjustableBufferSizes()) -				stream->setBufferSizes(gSavedSettings.getU32("FMODExStreamBufferSize"), gSavedSettings.getU32("FMODExDecodeBufferSize")); +				stream->setBufferSizes(FMODEX_STREAM_BUFFER_SIZE, FMODEX_DECODE_BUFFER_SIZE);  			gAudiop->startInternetStream(mNextStreamURI);  		} @@ -183,7 +185,7 @@ bool LLViewerAudio::onIdleUpdate()                      LL_DEBUGS("AudioEngine") << "Audio fade in: " << mNextStreamURI << LL_ENDL;  					LLStreamingAudioInterface *stream = gAudiop->getStreamingAudioImpl();  					if(stream && stream->supportsAdjustableBufferSizes()) -						stream->setBufferSizes(gSavedSettings.getU32("FMODExStreamBufferSize"),gSavedSettings.getU32("FMODExDecodeBufferSize")); +						stream->setBufferSizes(FMODEX_STREAM_BUFFER_SIZE, FMODEX_DECODE_BUFFER_SIZE);  					gAudiop->startInternetStream(mNextStreamURI);  				} @@ -418,12 +420,19 @@ void audio_update_volume(bool force_update)  		gAudiop->setMasterGain ( master_volume ); -		gAudiop->setDopplerFactor(gSavedSettings.getF32("AudioLevelDoppler")); +        const F32 AUDIO_LEVEL_DOPPLER = 1.f; +		gAudiop->setDopplerFactor(AUDIO_LEVEL_DOPPLER); -		if(!LLViewerCamera::getInstance()->cameraUnderWater()) -		gAudiop->setRolloffFactor(gSavedSettings.getF32("AudioLevelRolloff")); +        if(!LLViewerCamera::getInstance()->cameraUnderWater()) +        { +            const F32 AUDIO_LEVEL_ROLLOFF = 1.f; +            gAudiop->setRolloffFactor(AUDIO_LEVEL_ROLLOFF); +        }  		else -			gAudiop->setRolloffFactor(gSavedSettings.getF32("AudioLevelUnderwaterRolloff")); +        { +            const F32 AUDIO_LEVEL_UNDERWATER_ROLLOFF = 5.f; +            gAudiop->setRolloffFactor(AUDIO_LEVEL_UNDERWATER_ROLLOFF); +        }  		gAudiop->setMuted(mute_audio || progress_view_visible); @@ -532,8 +541,8 @@ void audio_update_wind(bool force_update)          // whereas steady-state avatar walk velocity is only 3.2 m/s.          // Without this the world feels desolate on first login when you are          // standing still. -        static LLUICachedControl<F32> wind_level("AudioLevelWind", 0.5f); -        LLVector3 scaled_wind_vec = gWindVec * wind_level; +        const F32 WIND_LEVEL = 0.5f; +        LLVector3 scaled_wind_vec = gWindVec * WIND_LEVEL;          // Mix in the avatar's motion, subtract because when you walk north,          // the apparent wind moves south. diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index 50d48987ed..1fe076c0a8 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -370,15 +370,6 @@ static bool handleChatFontSizeChanged(const LLSD& newvalue)  	return true;  } -static bool handleChatPersistTimeChanged(const LLSD& newvalue) -{ -	if(gConsole) -	{ -		gConsole->setLinePersistTime((F32) newvalue.asReal()); -	} -	return true; -} -  static bool handleConsoleMaxLinesChanged(const LLSD& newvalue)  {  	if(gConsole) @@ -804,7 +795,6 @@ void settings_setup_listeners()      setting_setup_signal_listener(gSavedSettings, "RenderPerformanceTest", handleRenderPerfTestChanged);      setting_setup_signal_listener(gSavedSettings, "TextureMemory", handleVideoMemoryChanged);      setting_setup_signal_listener(gSavedSettings, "ChatFontSize", handleChatFontSizeChanged); -    setting_setup_signal_listener(gSavedSettings, "ChatPersistTime", handleChatPersistTimeChanged);      setting_setup_signal_listener(gSavedSettings, "ConsoleMaxLines", handleConsoleMaxLinesChanged);      setting_setup_signal_listener(gSavedSettings, "UploadBakedTexOld", handleUploadBakedTexOldChanged);      setting_setup_signal_listener(gSavedSettings, "UseOcclusion", handleUseOcclusionChanged); @@ -815,9 +805,6 @@ void settings_setup_listeners()      setting_setup_signal_listener(gSavedSettings, "AudioLevelMusic", handleAudioVolumeChanged);      setting_setup_signal_listener(gSavedSettings, "AudioLevelMedia", handleAudioVolumeChanged);      setting_setup_signal_listener(gSavedSettings, "AudioLevelVoice", handleAudioVolumeChanged); -    setting_setup_signal_listener(gSavedSettings, "AudioLevelDoppler", handleAudioVolumeChanged); -    setting_setup_signal_listener(gSavedSettings, "AudioLevelRolloff", handleAudioVolumeChanged); -    setting_setup_signal_listener(gSavedSettings, "AudioLevelUnderwaterRolloff", handleAudioVolumeChanged);      setting_setup_signal_listener(gSavedSettings, "MuteAudio", handleAudioVolumeChanged);      setting_setup_signal_listener(gSavedSettings, "MuteMusic", handleAudioVolumeChanged);      setting_setup_signal_listener(gSavedSettings, "MuteMedia", handleAudioVolumeChanged); @@ -936,8 +923,6 @@ DECL_LLCC(LLColor4U, LLColor4U(255, 200, 100, 255));  LLSD test_llsd = LLSD()["testing1"] = LLSD()["testing2"];  DECL_LLCC(LLSD, test_llsd); -static LLCachedControl<std::string> test_BrowserHomePage("BrowserHomePage", "hahahahahha", "Not the real comment"); -  void test_cached_control()  {  #define do { TEST_LLCC(T, V) if((T)mySetting_##T != V) LL_ERRS() << "Fail "#T << LL_ENDL; } while(0) @@ -954,8 +939,6 @@ void test_cached_control()  	TEST_LLCC(LLColor3, LLColor3(1.0f, 0.f, 0.5f));  	TEST_LLCC(LLColor4U, LLColor4U(255, 200, 100, 255));  //There's no LLSD comparsion for LLCC yet. TEST_LLCC(LLSD, test_llsd);  - -	if((std::string)test_BrowserHomePage != "http://www.secondlife.com") LL_ERRS() << "Fail BrowserHomePage" << LL_ENDL;  }  #endif // TEST_CACHED_CONTROL diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index b40cf4acec..09b3dd5dc1 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -209,11 +209,11 @@ void display_update_camera()  void display_stats()  {  	LL_PROFILE_ZONE_SCOPED -	F32 fps_log_freq = gSavedSettings.getF32("FPSLogFrequency"); -	if (fps_log_freq > 0.f && gRecentFPSTime.getElapsedTimeF32() >= fps_log_freq) +	const F32 FPS_LOG_FREQUENCY = 10.f; +	if (gRecentFPSTime.getElapsedTimeF32() >= FPS_LOG_FREQUENCY)  	{  		LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("DS - FPS"); -		F32 fps = gRecentFrameCount / fps_log_freq; +		F32 fps = gRecentFrameCount / FPS_LOG_FREQUENCY;  		LL_INFOS() << llformat("FPS: %.02f", fps) << LL_ENDL;  		gRecentFrameCount = 0;  		gRecentFPSTime.reset(); @@ -228,8 +228,8 @@ void display_stats()  		LLMemory::logMemoryInfo(TRUE) ;  		gRecentMemoryTime.reset();  	} -    F32 asset_storage_log_freq = gSavedSettings.getF32("AssetStorageLogFrequency"); -    if (asset_storage_log_freq > 0.f && gAssetStorageLogTime.getElapsedTimeF32() >= asset_storage_log_freq) +    const F32 ASSET_STORAGE_LOG_FREQUENCY = 60.f; +    if (gAssetStorageLogTime.getElapsedTimeF32() >= ASSET_STORAGE_LOG_FREQUENCY)      {  		LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("DS - Asset Storage");          gAssetStorageLogTime.reset(); diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index f3288a5300..bca7fbac33 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1641,8 +1641,9 @@ void inventory_offer_mute_callback(const LLUUID& blocked_id,  		const LLUUID& blocked_id;  	}; -	LLNotificationsUI::LLChannelManager::getInstance()->killToastsFromChannel(LLUUID( -			gSavedSettings.getString("NotificationChannelUUID")), OfferMatcher(blocked_id)); +    LLNotificationsUI::LLChannelManager::getInstance()->killToastsFromChannel( +        LLNotificationsUI::NOTIFICATION_CHANNEL_UUID, +        OfferMatcher(blocked_id));  } @@ -5762,8 +5763,9 @@ void script_question_mute(const LLUUID& task_id, const std::string& object_name)          const LLUUID& blocked_id;      }; -    LLNotificationsUI::LLChannelManager::getInstance()->killToastsFromChannel(LLUUID( -            gSavedSettings.getString("NotificationChannelUUID")), OfferMatcher(task_id)); +    LLNotificationsUI::LLChannelManager::getInstance()->killToastsFromChannel( +        LLNotificationsUI::NOTIFICATION_CHANNEL_UUID, +        OfferMatcher(task_id));  }  static LLNotificationFunctorRegistration script_question_cb_reg_1("ScriptQuestion", script_question_cb); diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 9275cfb86d..da75da0b64 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -3177,7 +3177,6 @@ void LLViewerObject::unlinkControlAvatar()          if (mControlAvatar)          {              mControlAvatar->markForDeath(); -			mControlAvatar->mRootVolp = NULL;              mControlAvatar = NULL;          }      } @@ -3863,20 +3862,13 @@ F32 LLViewerObject::recursiveGetEstTrianglesMax() const  S32 LLViewerObject::getAnimatedObjectMaxTris() const  {      S32 max_tris = 0; -    if (gSavedSettings.getBOOL("AnimatedObjectsIgnoreLimits"))  +    if (gAgent.getRegion())      { -        max_tris = S32_MAX; -    } -    else -    { -        if (gAgent.getRegion()) +        LLSD features; +        gAgent.getRegion()->getSimulatorFeatures(features); +        if (features.has("AnimatedObjects"))          { -            LLSD features; -            gAgent.getRegion()->getSimulatorFeatures(features); -            if (features.has("AnimatedObjects")) -            { -                max_tris = features["AnimatedObjects"]["AnimatedObjectMaxTris"].asInteger(); -            } +            max_tris = features["AnimatedObjects"]["AnimatedObjectMaxTris"].asInteger();          }      }      return max_tris; diff --git a/indra/newview/llviewertexlayer.cpp b/indra/newview/llviewertexlayer.cpp index 4c2fbcf837..ae8163beec 100644 --- a/indra/newview/llviewertexlayer.cpp +++ b/indra/newview/llviewertexlayer.cpp @@ -186,11 +186,11 @@ BOOL LLViewerTexLayerSetBuffer::isReadyToUpdate() const  	// Update if we've hit a timeout.  Unlike for uploads, we can make this timeout fairly small  	// since render unnecessarily doesn't cost much. -	const U32 texture_timeout = gSavedSettings.getU32("AvatarBakedLocalTextureUpdateTimeout"); -	if (texture_timeout != 0) +	const U32 TEXTURE_TIMEOUT = 10; +	if (TEXTURE_TIMEOUT != 0)  	{  		// If we hit our timeout and have textures available at even lower resolution, then update. -		const BOOL is_update_textures_timeout = mNeedsUpdateTimer.getElapsedTimeF32() >= texture_timeout; +		const BOOL is_update_textures_timeout = mNeedsUpdateTimer.getElapsedTimeF32() >= TEXTURE_TIMEOUT;  		const BOOL has_lower_lod = getViewerTexLayerSet()->isLocalTextureDataAvailable();  		if (has_lower_lod && is_update_textures_timeout) return TRUE;   	} diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index f9fe8054a4..0d34160bda 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -588,7 +588,6 @@ LLViewerFetchedTexture* LLViewerTextureList::createImage(const LLUUID &image_id,  												   LLHost request_from_host)  {      LL_PROFILE_ZONE_SCOPED_CATEGORY_TEXTURE; -	static LLCachedControl<bool> fast_cache_fetching_enabled(gSavedSettings, "FastCacheFetchEnabled", true);  	LLPointer<LLViewerFetchedTexture> imagep ;  	switch(texture_type) @@ -633,11 +632,9 @@ LLViewerFetchedTexture* LLViewerTextureList::createImage(const LLUUID &image_id,  		imagep->forceActive() ;  	} -	if(fast_cache_fetching_enabled) -	{ -		mFastCacheList.insert(imagep); -		imagep->setInFastCacheList(true); -	} +    mFastCacheList.insert(imagep); +    imagep->setInFastCacheList(true); +  	return imagep ;  } diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index e8fd74b37b..d68d0cd92c 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2148,13 +2148,15 @@ void LLViewerWindow::initBase()  	gFloaterView->setFloaterSnapView(main_view->getChild<LLView>("floater_snap_region")->getHandle());  	gSnapshotFloaterView = main_view->getChild<LLSnapshotFloaterView>("Snapshot Floater View"); +    const F32 CHAT_PERSIST_TIME = 20.f; +  	// Console  	llassert( !gConsole );  	LLConsole::Params cp;  	cp.name("console");  	cp.max_lines(gSavedSettings.getS32("ConsoleBufferSize"));  	cp.rect(getChatConsoleRect()); -	cp.persist_time(gSavedSettings.getF32("ChatPersistTime")); +	cp.persist_time(CHAT_PERSIST_TIME);  	cp.font_size_index(gSavedSettings.getS32("ChatFontSize"));  	cp.follows.flags(FOLLOWS_LEFT | FOLLOWS_RIGHT | FOLLOWS_BOTTOM);  	gConsole = LLUICtrlFactory::create<LLConsole>(cp); @@ -3370,11 +3372,13 @@ void LLViewerWindow::updateUI()  	if (gLoggedInTime.getStarted())  	{ -		if (gLoggedInTime.getElapsedTimeF32() > gSavedSettings.getF32("DestinationGuideHintTimeout")) +        const F32 DESTINATION_GUIDE_HINT_TIMEOUT = 1200.f; +        const F32 SIDE_PANEL_HINT_TIMEOUT = 300.f; +		if (gLoggedInTime.getElapsedTimeF32() > DESTINATION_GUIDE_HINT_TIMEOUT)  		{  			LLFirstUse::notUsingDestinationGuide();  		} -		if (gLoggedInTime.getElapsedTimeF32() > gSavedSettings.getF32("SidePanelHintTimeout")) +		if (gLoggedInTime.getElapsedTimeF32() > SIDE_PANEL_HINT_TIMEOUT)  		{  			LLFirstUse::notUsingSidePanel();  		} diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 57a78181bd..1078a8b2b3 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -1351,8 +1351,8 @@ void LLVOAvatar::calculateSpatialExtents(LLVector4a& newMin, LLVector4a& newMax)  {      LL_PROFILE_ZONE_SCOPED_CATEGORY_AVATAR; -    static LLCachedControl<S32> box_detail_cache(gSavedSettings, "AvatarBoundingBoxComplexity"); -    S32 box_detail = box_detail_cache; +    const S32 BOX_DETAIL_DEFAULT = 3; +    S32 box_detail = BOX_DETAIL_DEFAULT;      if (getOverallAppearance() != AOA_NORMAL)      {          if (isControlAvatar()) @@ -4248,10 +4248,10 @@ void LLVOAvatar::updateOrientation(LLAgent& agent, F32 speed, F32 delta_time)  			LLVector3 pelvisDir( mRoot->getWorldMatrix().getFwdRow4().mV ); -			static LLCachedControl<F32> s_pelvis_rot_threshold_slow(gSavedSettings, "AvatarRotateThresholdSlow", 60.0); -			static LLCachedControl<F32> s_pelvis_rot_threshold_fast(gSavedSettings, "AvatarRotateThresholdFast", 2.0); +			const F32 AVATAR_PELVIS_ROTATE_THRESHOLD_SLOW = 60.0f; +			const F32 AVATAR_PELVIS_ROTATE_THRESHOLD_FAST = 2.0f; -			F32 pelvis_rot_threshold = clamp_rescale(speed, 0.1f, 1.0f, s_pelvis_rot_threshold_slow, s_pelvis_rot_threshold_fast); +			F32 pelvis_rot_threshold = clamp_rescale(speed, 0.1f, 1.0f, AVATAR_PELVIS_ROTATE_THRESHOLD_SLOW, AVATAR_PELVIS_ROTATE_THRESHOLD_FAST);  			if (self_in_mouselook)  			{ @@ -9262,9 +9262,7 @@ void LLVOAvatar::parseAppearanceMessage(LLMessageSystem* mesgsys, LLAppearanceMe  	// Parse visual params, if any.  	S32 num_blocks = mesgsys->getNumberOfBlocksFast(_PREHASH_VisualParam); -    static LLCachedControl<bool> block_some_avatars(gSavedSettings, "BlockSomeAvatarAppearanceVisualParams"); -	bool drop_visual_params_debug = block_some_avatars && (ll_rand(2) == 0); // pretend that ~12% of AvatarAppearance messages arrived without a VisualParam block, for testing -	if( num_blocks > 1 && !drop_visual_params_debug) +	if( num_blocks > 1)  	{  		//LL_DEBUGS("Avatar") << avString() << " handle visual params, num_blocks " << num_blocks << LL_ENDL; @@ -9309,14 +9307,7 @@ void LLVOAvatar::parseAppearanceMessage(LLMessageSystem* mesgsys, LLAppearanceMe  	}  	else  	{ -		if (drop_visual_params_debug) -		{ -			LL_INFOS() << "Debug-faked lack of parameters on AvatarAppearance for object: "  << getID() << LL_ENDL; -		} -		else -		{ -			LL_DEBUGS("Avatar") << "AvatarAppearance msg received without any parameters, object: " << getID() << LL_ENDL; -		} +        LL_DEBUGS("Avatar") << "AvatarAppearance msg received without any parameters, object: " << getID() << LL_ENDL;  	}  	LLVisualParam* appearance_version_param = getVisualParam(11000); diff --git a/indra/newview/llvoicecallhandler.cpp b/indra/newview/llvoicecallhandler.cpp index 95e11abd82..c245399622 100644 --- a/indra/newview/llvoicecallhandler.cpp +++ b/indra/newview/llvoicecallhandler.cpp @@ -40,12 +40,6 @@ public:  	bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web)  	{ -		if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableVoiceCall")) -		{ -			LLNotificationsUtil::add("NoVoiceCall", LLSD(), LLSD(), std::string("SwitchToStandardSkinAndQuit")); -			return true; -		} -  		//Make sure we have some parameters  		if (params.size() == 0)  		{ diff --git a/indra/newview/llvopartgroup.cpp b/indra/newview/llvopartgroup.cpp index 51cf5f20c6..02f5313db9 100644 --- a/indra/newview/llvopartgroup.cpp +++ b/indra/newview/llvopartgroup.cpp @@ -607,7 +607,7 @@ void LLVOPartGroup::getGeometry(const LLViewerPart& part,  		up.setCross3(right, at);  		up.normalize3fast(); -		if (part.mFlags & LLPartData::LL_PART_FOLLOW_VELOCITY_MASK) +		if (part.mFlags & LLPartData::LL_PART_FOLLOW_VELOCITY_MASK && !part.mVelocity.isExactlyZero())  		{  			LLVector4a normvel;  			normvel.load3(part.mVelocity.mV); diff --git a/indra/newview/llvosky.cpp b/indra/newview/llvosky.cpp index 909588367b..cb2f8b6e18 100644 --- a/indra/newview/llvosky.cpp +++ b/indra/newview/llvosky.cpp @@ -767,7 +767,10 @@ bool LLVOSky::updateSky()          mForceUpdate = FALSE;          mForceUpdateThrottle.setTimerExpirySec(UPDATE_EXPRY); -        gPipeline.markRebuild(gSky.mVOGroundp->mDrawable, LLDrawable::REBUILD_ALL, TRUE); +        if (gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_GROUND)) +        { +            gPipeline.markRebuild(gSky.mVOGroundp->mDrawable, LLDrawable::REBUILD_ALL, TRUE); +        }          if (mDrawable.notNull() && mDrawable->getFace(0) && !mDrawable->getFace(0)->getVertexBuffer())          { diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index bbff6c889f..188914f0d5 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -5891,7 +5891,7 @@ void LLPipeline::setupAvatarLights(bool for_edit)  		light->setSpotExponent(0.f);  		light->setSpotCutoff(180.f);  	} -	else if (gAvatarBacklight) // Always true (unless overridden in a devs .ini) +	else if (gAvatarBacklight)  	{          LLVector3 light_dir = sun_up ? LLVector3(mSunDir) : LLVector3(mMoonDir);  		LLVector3 opposite_pos = -light_dir; diff --git a/indra/newview/skins/default/xui/en/floater_media_browser.xml b/indra/newview/skins/default/xui/en/floater_media_browser.xml index ce788654aa..19b3c3160c 100644 --- a/indra/newview/skins/default/xui/en/floater_media_browser.xml +++ b/indra/newview/skins/default/xui/en/floater_media_browser.xml @@ -211,22 +211,12 @@                <button.commit_callback                  function="MediaBrowser.OpenWebBrowser" />              </button> -            <check_box -             control_name="UseExternalBrowser" -             follows="bottom|left" -             height="20" -             label="Always open in my web browser" -             layout="topleft" -             left_pad="5" -             name="open_always" -             top_delta="0" -             width="200" />              <button               follows="bottom|right"               height="20"               label="Close"               layout="topleft" -             left_pad="80" +             left_pad="285"               name="close"               top_delta="0"               width="70"> diff --git a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml index faff6185ab..65dad8bca4 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml @@ -286,13 +286,13 @@                   name="Zoom"                   value="Zoom" />                  <combo_box.item -                 label="Ignore object" -                 name="Ignoreobject" -                 value="Ignore" /> -                <combo_box.item                   label="None"                   name="None"                   value="None" /> +                <combo_box.item +                 label="Ignore object" +                 name="Ignoreobject" +                 value="Ignore" />              </combo_box>  	 <panel           border="false"  | 
