summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llui/llscrolllistcell.cpp3
-rw-r--r--indra/llui/llscrolllistcell.h1
-rw-r--r--indra/newview/llfloaterperformance.cpp89
-rw-r--r--indra/newview/llfloaterpreference.cpp9
-rw-r--r--indra/newview/llfloaterpreference.h4
-rw-r--r--indra/newview/llnamelistctrl.cpp2
-rw-r--r--indra/newview/llviewermenu.cpp2
-rw-r--r--indra/newview/skins/default/xui/en/floater_performance.xml42
-rw-r--r--indra/newview/skins/default/xui/en/menu_attachment_other.xml28
-rw-r--r--indra/newview/skins/default/xui/en/menu_avatar_other.xml64
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml15
-rw-r--r--indra/newview/skins/default/xui/en/panel_performance_complexity.xml20
-rw-r--r--indra/newview/skins/default/xui/en/panel_performance_huds.xml4
-rw-r--r--indra/newview/skins/default/xui/en/panel_performance_nearby.xml75
-rw-r--r--indra/newview/skins/default/xui/en/panel_performance_preferences.xml47
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml2
16 files changed, 249 insertions, 158 deletions
diff --git a/indra/llui/llscrolllistcell.cpp b/indra/llui/llscrolllistcell.cpp
index c5f53823f3..61470d1440 100644
--- a/indra/llui/llscrolllistcell.cpp
+++ b/indra/llui/llscrolllistcell.cpp
@@ -234,8 +234,7 @@ void LLScrollListBar::draw(const LLColor4& color, const LLColor4& highlight_colo
S32 left = bar_width - bar_width * mRatio;
left = llclamp(left, mLeftPad, getWidth() - mRightPad - 1);
- gl_line_2d(left, mBottom, getWidth() - mRightPad, mBottom, mColor);
- gl_line_2d(left, mBottom - 1, getWidth() - mRightPad, mBottom - 1, mColor);
+ gl_rect_2d(left, mBottom, getWidth() - mRightPad, mBottom - 1, mColor);
}
//
diff --git a/indra/llui/llscrolllistcell.h b/indra/llui/llscrolllistcell.h
index 26a272b270..9a659dfd0d 100644
--- a/indra/llui/llscrolllistcell.h
+++ b/indra/llui/llscrolllistcell.h
@@ -154,6 +154,7 @@ public:
void setText(const LLStringExplicit& text);
void setFontStyle(const U8 font_style);
+ void setAlignment(LLFontGL::HAlign align) { mFontAlignment = align; }
protected:
LLUIString mText;
diff --git a/indra/newview/llfloaterperformance.cpp b/indra/newview/llfloaterperformance.cpp
index 879a8f8718..d7c0527b5c 100644
--- a/indra/newview/llfloaterperformance.cpp
+++ b/indra/newview/llfloaterperformance.cpp
@@ -114,10 +114,10 @@ BOOL LLFloaterPerformance::postBuild()
mObjectList->setIconClickedCallback(boost::bind(&LLFloaterPerformance::detachItem, this, _1));
mSettingsPanel->getChild<LLButton>("advanced_btn")->setCommitCallback(boost::bind(&LLFloaterPerformance::onClickAdvanced, this));
- mSettingsPanel->getChild<LLCheckBoxCtrl>("hide_avatars")->setCommitCallback(boost::bind(&LLFloaterPerformance::onClickHideAvatars, this));
- mSettingsPanel->getChild<LLCheckBoxCtrl>("hide_avatars")->set(!LLPipeline::hasRenderTypeControl(LLPipeline::RENDER_TYPE_AVATAR));
mNearbyPanel->getChild<LLButton>("exceptions_btn")->setCommitCallback(boost::bind(&LLFloaterPerformance::onClickExceptions, this));
+ mNearbyPanel->getChild<LLCheckBoxCtrl>("hide_avatars")->setCommitCallback(boost::bind(&LLFloaterPerformance::onClickHideAvatars, this));
+ mNearbyPanel->getChild<LLCheckBoxCtrl>("hide_avatars")->set(!LLPipeline::hasRenderTypeControl(LLPipeline::RENDER_TYPE_AVATAR));
mNearbyList = mNearbyPanel->getChild<LLNameListCtrl>("nearby_list");
mNearbyList->setRightMouseDownCallback(boost::bind(&LLFloaterPerformance::onAvatarListRightClick, this, _1, _2, _3));
@@ -164,15 +164,12 @@ void LLFloaterPerformance::draw()
else if (mNearbyPanel->getVisible())
{
populateNearbyList();
+ mNearbyPanel->getChild<LLCheckBoxCtrl>("hide_avatars")->set(!LLPipeline::hasRenderTypeControl(LLPipeline::RENDER_TYPE_AVATAR));
}
else if (mComplexityPanel->getVisible())
{
populateObjectList();
}
- else if (mSettingsPanel->getVisible())
- {
- mSettingsPanel->getChild<LLCheckBoxCtrl>("hide_avatars")->set(!LLPipeline::hasRenderTypeControl(LLPipeline::RENDER_TYPE_AVATAR));
- }
mUpdateTimer->setTimerExpirySec(REFRESH_INTERVAL);
}
@@ -223,7 +220,7 @@ void LLFloaterPerformance::populateHUDList()
for (iter = complexity_list.begin(); iter != end; ++iter)
{
LLHUDComplexity hud_object_complexity = *iter;
-
+ S32 obj_cost_short = hud_object_complexity.objectsCost / 1000;
LLSD item;
item["special_id"] = hud_object_complexity.objectId;
item["target"] = LLNameListCtrl::SPECIAL;
@@ -231,14 +228,14 @@ void LLFloaterPerformance::populateHUDList()
row[0]["column"] = "complex_visual";
row[0]["type"] = "bar";
LLSD& value = row[0]["value"];
- value["ratio"] = (F32)hud_object_complexity.objectsCost / max_complexity;
+ value["ratio"] = (F32)obj_cost_short / max_complexity * 1000;
value["bottom"] = BAR_BOTTOM_PAD;
value["left_pad"] = BAR_LEFT_PAD;
value["right_pad"] = BAR_RIGHT_PAD;
row[1]["column"] = "complex_value";
row[1]["type"] = "text";
- row[1]["value"] = std::to_string(hud_object_complexity.objectsCost);
+ row[1]["value"] = std::to_string(obj_cost_short);
row[1]["font"]["name"] = "SANSSERIF";
row[2]["column"] = "name";
@@ -246,7 +243,15 @@ void LLFloaterPerformance::populateHUDList()
row[2]["value"] = hud_object_complexity.objectName;
row[2]["font"]["name"] = "SANSSERIF";
- mHUDList->addElement(item);
+ LLScrollListItem* obj = mHUDList->addElement(item);
+ if (obj)
+ {
+ LLScrollListText* value_text = dynamic_cast<LLScrollListText*>(obj->getColumn(1));
+ if (value_text)
+ {
+ value_text->setAlignment(LLFontGL::HCENTER);
+ }
+ }
}
mHUDList->sortByColumnIndex(1, FALSE);
mHUDList->setScrollPos(prev_pos);
@@ -274,7 +279,7 @@ void LLFloaterPerformance::populateObjectList()
for (iter = complexity_list.begin(); iter != end; ++iter)
{
LLObjectComplexity object_complexity = *iter;
-
+ S32 obj_cost_short = object_complexity.objectCost / 1000;
LLSD item;
item["special_id"] = object_complexity.objectId;
item["target"] = LLNameListCtrl::SPECIAL;
@@ -282,14 +287,14 @@ void LLFloaterPerformance::populateObjectList()
row[0]["column"] = "complex_visual";
row[0]["type"] = "bar";
LLSD& value = row[0]["value"];
- value["ratio"] = (F32)object_complexity.objectCost / max_complexity;
+ value["ratio"] = (F32)obj_cost_short / max_complexity * 1000;
value["bottom"] = BAR_BOTTOM_PAD;
value["left_pad"] = BAR_LEFT_PAD;
value["right_pad"] = BAR_RIGHT_PAD;
row[1]["column"] = "complex_value";
row[1]["type"] = "text";
- row[1]["value"] = std::to_string(object_complexity.objectCost);
+ row[1]["value"] = std::to_string(obj_cost_short);
row[1]["font"]["name"] = "SANSSERIF";
row[2]["column"] = "name";
@@ -297,7 +302,15 @@ void LLFloaterPerformance::populateObjectList()
row[2]["value"] = object_complexity.objectName;
row[2]["font"]["name"] = "SANSSERIF";
- mObjectList->addElement(item);
+ LLScrollListItem* obj = mObjectList->addElement(item);
+ if (obj)
+ {
+ LLScrollListText* value_text = dynamic_cast<LLScrollListText*>(obj->getColumn(1));
+ if (value_text)
+ {
+ value_text->setAlignment(LLFontGL::HCENTER);
+ }
+ }
}
mObjectList->sortByColumnIndex(1, FALSE);
mObjectList->setScrollPos(prev_pos);
@@ -321,20 +334,21 @@ void LLFloaterPerformance::populateNearbyList()
LLVOAvatar* avatar = dynamic_cast<LLVOAvatar*>(*char_iter);
if (avatar && (LLVOAvatar::AOA_INVISIBLE != avatar->getOverallAppearance()))
{
+ S32 complexity_short = avatar->getVisualComplexity() / 1000;
LLSD item;
item["id"] = avatar->getID();
LLSD& row = item["columns"];
row[0]["column"] = "complex_visual";
row[0]["type"] = "bar";
LLSD& value = row[0]["value"];
- value["ratio"] = (F32)avatar->getVisualComplexity() / mNearbyMaxComplexity;
+ value["ratio"] = (F32)complexity_short / mNearbyMaxComplexity * 1000;
value["bottom"] = BAR_BOTTOM_PAD;
value["left_pad"] = BAR_LEFT_PAD;
value["right_pad"] = BAR_RIGHT_PAD;
row[1]["column"] = "complex_value";
row[1]["type"] = "text";
- row[1]["value"] = std::to_string( avatar->getVisualComplexity());
+ row[1]["value"] = std::to_string(complexity_short);
row[1]["font"]["name"] = "SANSSERIF";
row[2]["column"] = "name";
@@ -345,24 +359,36 @@ void LLFloaterPerformance::populateNearbyList()
LLScrollListItem* av_item = mNearbyList->addElement(item);
if(av_item)
{
+ LLScrollListText* value_text = dynamic_cast<LLScrollListText*>(av_item->getColumn(1));
+ if (value_text)
+ {
+ value_text->setAlignment(LLFontGL::HCENTER);
+ }
LLScrollListText* name_text = dynamic_cast<LLScrollListText*>(av_item->getColumn(2));
if (name_text)
{
- std::string color = "white";
- if (LLVOAvatar::AOA_JELLYDOLL == avatar->getOverallAppearance())
+ if (avatar->isSelf())
{
- color = "LabelDisabledColor";
- LLScrollListBar* bar = dynamic_cast<LLScrollListBar*>(av_item->getColumn(0));
- if (bar)
- {
- bar->setColor(LLUIColorTable::instance().getColor(color));
- }
+ name_text->setColor(LLUIColorTable::instance().getColor("DrYellow"));
}
- else if (LLVOAvatar::AOA_NORMAL == avatar->getOverallAppearance())
+ else
{
- color = LLAvatarActions::isFriend(avatar->getID()) ? "ConversationFriendColor" : "white";
+ std::string color = "white";
+ if (LLVOAvatar::AOA_JELLYDOLL == avatar->getOverallAppearance())
+ {
+ color = "LabelDisabledColor";
+ LLScrollListBar* bar = dynamic_cast<LLScrollListBar*>(av_item->getColumn(0));
+ if (bar)
+ {
+ bar->setColor(LLUIColorTable::instance().getColor(color));
+ }
+ }
+ else if (LLVOAvatar::AOA_NORMAL == avatar->getOverallAppearance())
+ {
+ color = LLAvatarActions::isFriend(avatar->getID()) ? "ConversationFriendColor" : "white";
+ }
+ name_text->setColor(LLUIColorTable::instance().getColor(color));
}
- name_text->setColor(LLUIColorTable::instance().getColor(color));
}
}
}
@@ -376,12 +402,13 @@ void LLFloaterPerformance::populateNearbyList()
void LLFloaterPerformance::getNearbyAvatars(std::vector<LLCharacter*> &valid_nearby_avs)
{
static LLCachedControl<F32> render_far_clip(gSavedSettings, "RenderFarClip", 64);
+ mNearbyMaxComplexity = 0;
F32 radius = render_far_clip * render_far_clip;
std::vector<LLCharacter*>::iterator char_iter = LLCharacter::sInstances.begin();
while (char_iter != LLCharacter::sInstances.end())
{
LLVOAvatar* avatar = dynamic_cast<LLVOAvatar*>(*char_iter);
- if (avatar && !avatar->isDead() && !avatar->isControlAvatar() && !avatar->isSelf())
+ if (avatar && !avatar->isDead() && !avatar->isControlAvatar())
{
if ((dist_vec_squared(avatar->getPositionGlobal(), gAgent.getPositionGlobal()) > radius) &&
(dist_vec_squared(avatar->getPositionGlobal(), gAgentCamera.getCameraPositionGlobal()) > radius))
@@ -426,13 +453,15 @@ void LLFloaterPerformance::updateMaxComplexity()
{
LLAvatarComplexityControls::updateMax(
mNearbyPanel->getChild<LLSliderCtrl>("IndirectMaxComplexity"),
- mNearbyPanel->getChild<LLTextBox>("IndirectMaxComplexityText"));
+ mNearbyPanel->getChild<LLTextBox>("IndirectMaxComplexityText"),
+ true);
}
void LLFloaterPerformance::updateComplexityText()
{
LLAvatarComplexityControls::setText(gSavedSettings.getU32("RenderAvatarMaxComplexity"),
- mNearbyPanel->getChild<LLTextBox>("IndirectMaxComplexityText", true));
+ mNearbyPanel->getChild<LLTextBox>("IndirectMaxComplexityText", true),
+ true);
}
static LLVOAvatar* find_avatar(const LLUUID& id)
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 1ab6621c4c..a0a0b3c874 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -1455,7 +1455,7 @@ void LLFloaterPreference::refreshUI()
refresh();
}
-void LLAvatarComplexityControls::updateMax(LLSliderCtrl* slider, LLTextBox* value_label)
+void LLAvatarComplexityControls::updateMax(LLSliderCtrl* slider, LLTextBox* value_label, bool short_val)
{
// Called when the IndirectMaxComplexity control changes
// Responsible for fixing the slider label (IndirectMaxComplexityText) and setting RenderAvatarMaxComplexity
@@ -1477,10 +1477,10 @@ void LLAvatarComplexityControls::updateMax(LLSliderCtrl* slider, LLTextBox* valu
}
gSavedSettings.setU32("RenderAvatarMaxComplexity", (U32)max_arc);
- setText(max_arc, value_label);
+ setText(max_arc, value_label, short_val);
}
-void LLAvatarComplexityControls::setText(U32 value, LLTextBox* text_box)
+void LLAvatarComplexityControls::setText(U32 value, LLTextBox* text_box, bool short_val)
{
if (0 == value)
{
@@ -1488,7 +1488,8 @@ void LLAvatarComplexityControls::setText(U32 value, LLTextBox* text_box)
}
else
{
- text_box->setText(llformat("%d", value));
+ std::string text_value = short_val ? llformat("%d", value / 1000) : llformat("%d", value);
+ text_box->setText(text_value);
}
}
diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h
index f86104ed99..23d3f73d70 100644
--- a/indra/newview/llfloaterpreference.h
+++ b/indra/newview/llfloaterpreference.h
@@ -351,8 +351,8 @@ private:
class LLAvatarComplexityControls
{
public:
- static void updateMax(LLSliderCtrl* slider, LLTextBox* value_label);
- static void setText(U32 value, LLTextBox* text_box);
+ static void updateMax(LLSliderCtrl* slider, LLTextBox* value_label, bool short_val = false);
+ static void setText(U32 value, LLTextBox* text_box, bool short_val = false);
static void setIndirectControls();
static void setIndirectMaxNonImpostors();
static void setIndirectMaxArc();
diff --git a/indra/newview/llnamelistctrl.cpp b/indra/newview/llnamelistctrl.cpp
index 92805e03f0..c24c74393d 100644
--- a/indra/newview/llnamelistctrl.cpp
+++ b/indra/newview/llnamelistctrl.cpp
@@ -363,7 +363,7 @@ LLScrollListItem* LLNameListCtrl::addNameItemRow(
else if (LLAvatarNameCache::get(id, &av_name))
{
if (mShortNames)
- fullname = av_name.getDisplayName();
+ fullname = av_name.getDisplayName(true);
else
fullname = av_name.getCompleteName();
}
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index ad81cb07c1..fa2ada32b3 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -3149,6 +3149,8 @@ class LLAvatarCheckImpostorMode : public view_listener_t
return (avatar->getVisualMuteSettings() == LLVOAvatar::AV_DO_NOT_RENDER);
case 2:
return (avatar->getVisualMuteSettings() == LLVOAvatar::AV_ALWAYS_RENDER);
+ case 4:
+ return (avatar->getVisualMuteSettings() != LLVOAvatar::AV_RENDER_NORMALLY);
default:
return false;
}
diff --git a/indra/newview/skins/default/xui/en/floater_performance.xml b/indra/newview/skins/default/xui/en/floater_performance.xml
index 210b2f8792..c47b8100c2 100644
--- a/indra/newview/skins/default/xui/en/floater_performance.xml
+++ b/indra/newview/skins/default/xui/en/floater_performance.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater
- height="692"
+ height="592"
layout="topleft"
name="performance"
save_rect="true"
@@ -47,7 +47,7 @@
text_color="White"
height="20"
layout="topleft"
- left_pad="0"
+ left_pad="3"
top="13"
name="fps_lbl"
width="450">
@@ -93,7 +93,7 @@
border="true"
bevel_style="none"
follows="left|top"
- height="70"
+ height="50"
width="560"
name="settings_subpanel"
layout="topleft"
@@ -107,7 +107,7 @@
layout="topleft"
left="10"
name="settings_lbl"
- top="12"
+ top="7"
width="180">
Graphics settings
</text>
@@ -119,7 +119,7 @@
layout="topleft"
left="10"
name="settings_desc"
- top_pad="10"
+ top_pad="0"
width="395">
Choose settings for distance, water, lighting and more.
</text>
@@ -130,7 +130,7 @@
mouse_opaque="true"
name="icon_arrow3"
follows="right|top"
- top="29"
+ top="19"
right="-20"/>
</panel>
<panel
@@ -140,11 +140,11 @@
border="true"
bevel_style="none"
follows="left|top"
- height="70"
+ height="50"
width="560"
name="nearby_subpanel"
layout="topleft"
- top_pad="20">
+ top_pad="10">
<text
follows="left|top"
font="SansSerifLarge"
@@ -153,7 +153,7 @@
layout="topleft"
left="10"
name="avatars_nearby_lbl"
- top="12"
+ top="7"
width="205">
Avatars nearby
</text>
@@ -165,7 +165,7 @@
layout="topleft"
left="10"
name="avatars_nearby_desc"
- top_pad="10"
+ top_pad="0"
width="395">
Manage which nearby avatars are fully displayed.
</text>
@@ -176,7 +176,7 @@
mouse_opaque="true"
name="icon_arrow2"
follows="right|top"
- top="29"
+ top="19"
right="-20"/>
</panel>
<panel
@@ -186,11 +186,11 @@
border="true"
bevel_style="none"
follows="left|top"
- height="70"
+ height="50"
width="560"
name="complexity_subpanel"
layout="topleft"
- top_pad="20">
+ top_pad="10">
<text
follows="left|top"
font="SansSerifLarge"
@@ -199,7 +199,7 @@
layout="topleft"
left="10"
name="complexity_lbl"
- top="12"
+ top="7"
width="180">
Your avatar complexity
</text>
@@ -211,7 +211,7 @@
layout="topleft"
left="10"
name="complexity_info"
- top_pad="10"
+ top_pad="0"
width="455">
Reduce the complexity of your avatar if you aren't satisfied with current FPS.
</text>
@@ -222,7 +222,7 @@
mouse_opaque="true"
name="icon_arrow4"
follows="right|top"
- top="29"
+ top="19"
right="-20"/>
</panel>
<panel
@@ -232,11 +232,11 @@
border="true"
bevel_style="none"
follows="left|top"
- height="70"
+ height="50"
width="560"
name="huds_subpanel"
layout="topleft"
- top_pad="20">
+ top_pad="10">
<text
follows="left|top"
font="SansSerifLarge"
@@ -245,7 +245,7 @@
layout="topleft"
left="10"
name="huds_lbl"
- top="12"
+ top="7"
width="135">
Your active HUDs
</text>
@@ -257,7 +257,7 @@
layout="topleft"
left="10"
name="huds_desc"
- top_pad="10"
+ top_pad="0"
width="395">
Removing HUDs you are not using can improve speed.
</text>
@@ -268,7 +268,7 @@
mouse_opaque="true"
name="icon_arrow4"
follows="right|top"
- top="29"
+ top="19"
right="-20"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/en/menu_attachment_other.xml b/indra/newview/skins/default/xui/en/menu_attachment_other.xml
index 7ad692038e..22006c287f 100644
--- a/indra/newview/skins/default/xui/en/menu_attachment_other.xml
+++ b/indra/newview/skins/default/xui/en/menu_attachment_other.xml
@@ -131,22 +131,12 @@
<menu_item_separator />
<context_menu
- label="Render Avatar"
+ label="Display this avatar"
layout="topleft"
- name="Render Avatar">
- <menu_item_check
- name="RenderNormally"
- label="Default">
- <menu_item_check.on_check
- function="Avatar.CheckImpostorMode"
- parameter="0" />
- <menu_item_check.on_click
- function="Avatar.SetImpostorMode"
- parameter="0" />
- </menu_item_check>
+ name="Render Avatar">
<menu_item_check
name="AlwaysRenderFully"
- label="Always">
+ label="Always full detail">
<menu_item_check.on_check
function="Avatar.CheckImpostorMode"
parameter="2" />
@@ -156,7 +146,7 @@
</menu_item_check>
<menu_item_check
name="DoNotRender"
- label="Never">
+ label="Never full detail">
<menu_item_check.on_check
function="Avatar.CheckImpostorMode"
parameter="1" />
@@ -164,6 +154,16 @@
function="Avatar.SetImpostorMode"
parameter="1" />
</menu_item_check>
+ <menu_item_call
+ name="RenderNormally"
+ label="Remove from exceptions">
+ <menu_item_call.on_visible
+ function="Avatar.CheckImpostorMode"
+ parameter="4" />
+ <menu_item_call.on_click
+ function="Avatar.SetImpostorMode"
+ parameter="0" />
+ </menu_item_call>
<menu_item_separator />
<menu_item_call
label="Exceptions..."
diff --git a/indra/newview/skins/default/xui/en/menu_avatar_other.xml b/indra/newview/skins/default/xui/en/menu_avatar_other.xml
index acbb9b860d..665eb9a82f 100644
--- a/indra/newview/skins/default/xui/en/menu_avatar_other.xml
+++ b/indra/newview/skins/default/xui/en/menu_avatar_other.xml
@@ -122,39 +122,39 @@
<menu_item_separator />
<context_menu
- label="Render Avatar"
+ label="Display this avatar"
layout="topleft"
- name="Render Avatar">
- <menu_item_check
- name="RenderNormally"
- label="Default">
- <menu_item_check.on_check
- function="Avatar.CheckImpostorMode"
- parameter="0" />
- <menu_item_check.on_click
- function="Avatar.SetImpostorMode"
- parameter="0" />
- </menu_item_check>
- <menu_item_check
- name="AlwaysRenderFully"
- label="Always">
- <menu_item_check.on_check
- function="Avatar.CheckImpostorMode"
- parameter="2" />
- <menu_item_check.on_click
- function="Avatar.SetImpostorMode"
- parameter="2" />
- </menu_item_check>
- <menu_item_check
- name="DoNotRender"
- label="Never">
- <menu_item_check.on_check
- function="Avatar.CheckImpostorMode"
- parameter="1" />
- <menu_item_check.on_click
- function="Avatar.SetImpostorMode"
- parameter="1" />
- </menu_item_check>
+ name="Render Avatar">
+ <menu_item_check
+ name="AlwaysRenderFully"
+ label="Always full detail">
+ <menu_item_check.on_check
+ function="Avatar.CheckImpostorMode"
+ parameter="2" />
+ <menu_item_check.on_click
+ function="Avatar.SetImpostorMode"
+ parameter="2" />
+ </menu_item_check>
+ <menu_item_check
+ name="DoNotRender"
+ label="Never full detail">
+ <menu_item_check.on_check
+ function="Avatar.CheckImpostorMode"
+ parameter="1" />
+ <menu_item_check.on_click
+ function="Avatar.SetImpostorMode"
+ parameter="1" />
+ </menu_item_check>
+ <menu_item_call
+ name="RenderNormally"
+ label="Remove from exceptions">
+ <menu_item_call.on_visible
+ function="Avatar.CheckImpostorMode"
+ parameter="4" />
+ <menu_item_call.on_click
+ function="Avatar.SetImpostorMode"
+ parameter="0" />
+ </menu_item_call>
<menu_item_separator />
<menu_item_call
label="Exceptions..."
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 177f995b12..b1adf97444 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -127,13 +127,6 @@
function="Floater.Toggle"
parameter="preferences" />
</menu_item_call>
- <menu_item_call
- label="Performance..."
- name="Performance">
- <menu_item_call.on_click
- function="Floater.Toggle"
- parameter="performance" />
- </menu_item_call>
<menu_item_call
label="Toolbar buttons..."
name="Toolbars">
@@ -860,7 +853,13 @@
parameter="UseDebugMenus" />
</menu_item_check>
</menu>
-
+ <menu_item_call
+ label="Improve graphics speed..."
+ name="Performance">
+ <menu_item_call.on_click
+ function="Floater.Toggle"
+ parameter="performance" />
+ </menu_item_call>
<menu_item_separator/>
<!-- <menu_item_check
label="Show Navigation Bar"
diff --git a/indra/newview/skins/default/xui/en/panel_performance_complexity.xml b/indra/newview/skins/default/xui/en/panel_performance_complexity.xml
index b2f65f9488..40159314f7 100644
--- a/indra/newview/skins/default/xui/en/panel_performance_complexity.xml
+++ b/indra/newview/skins/default/xui/en/panel_performance_complexity.xml
@@ -2,7 +2,7 @@
<panel
bevel_style="none"
follows="left|top"
- height="490"
+ height="530"
width="580"
name="panel_performance_complexity"
layout="topleft"
@@ -54,7 +54,7 @@
left="20"
name="attachments_desc1"
width="580">
- If your avatar is very complex, some other people may not see you in full detail and
+ Attachments make your avatar more complex. If your avatar is very complex, some other
</text>
<text
follows="left|top"
@@ -66,12 +66,24 @@
left="20"
name="attachments_desc2"
width="580">
- your own graphics speed may be reduced.
+ people may not see you in full detail, and your graphics speed may be reduced. Removing
+ </text>
+ <text
+ follows="left|top"
+ font="SansSerifSmall"
+ text_color="White"
+ height="18"
+ layout="topleft"
+ top_pad="3"
+ left="20"
+ name="attachments_desc3"
+ width="580">
+ heavy attachments that you don’t need can help.
</text>
<name_list
column_padding="0"
draw_stripes="true"
- height="220"
+ height="379"
follows="left|top"
layout="topleft"
name="obj_list"
diff --git a/indra/newview/skins/default/xui/en/panel_performance_huds.xml b/indra/newview/skins/default/xui/en/panel_performance_huds.xml
index 7dcadc557b..eea6b79e30 100644
--- a/indra/newview/skins/default/xui/en/panel_performance_huds.xml
+++ b/indra/newview/skins/default/xui/en/panel_performance_huds.xml
@@ -2,7 +2,7 @@
<panel
bevel_style="none"
follows="left|top"
- height="490"
+ height="530"
width="580"
name="panel_performance_huds"
layout="topleft"
@@ -71,7 +71,7 @@
<name_list
column_padding="0"
draw_stripes="true"
- height="220"
+ height="400"
follows="left|top"
layout="topleft"
name="hud_list"
diff --git a/indra/newview/skins/default/xui/en/panel_performance_nearby.xml b/indra/newview/skins/default/xui/en/panel_performance_nearby.xml
index 4cc7ffda40..e1aef13717 100644
--- a/indra/newview/skins/default/xui/en/panel_performance_nearby.xml
+++ b/indra/newview/skins/default/xui/en/panel_performance_nearby.xml
@@ -2,7 +2,7 @@
<panel
bevel_style="none"
follows="left|top"
- height="490"
+ height="530"
width="580"
name="panel_performance_nearby"
layout="topleft"
@@ -54,7 +54,7 @@
top_pad="5"
name="av_nearby_desc"
width="580">
- Avatars more complex than your chosen limit will be shown in silhouette.
+ Hide the most complex avatars to boost speed.
</text>
<slider
control_name="IndirectMaxComplexity"
@@ -63,7 +63,7 @@
height="16"
initial_value="101"
increment="1"
- label="Maximum avatar complexity"
+ label="Maximum complexity (K)"
text_color="White"
label_width="165"
layout="topleft"
@@ -90,11 +90,12 @@
<name_list
column_padding="0"
draw_stripes="true"
- height="220"
+ height="280"
left="20"
follows="left|top"
layout="topleft"
sort_column="complex_value"
+ short_names="true"
name="nearby_list"
name_column="name"
top_pad="10"
@@ -144,6 +145,70 @@
left="18"
width="256">
</check_box>
-
+ <view_border
+ bevel_style="in"
+ height="0"
+ layout="topleft"
+ name="border"
+ top_pad="15"
+ left="20"
+ width="540"/>
+ <check_box
+ height="16"
+ initial_value="true"
+ label="Hide avatars completely (good for landscape photos)"
+ layout="topleft"
+ name="hide_avatars"
+ top_delta="15"
+ left="18"
+ width="280">
+ </check_box>
+ <text
+ type="string"
+ length="1"
+ follows="left|top"
+ height="15"
+ layout="topleft"
+ left="20"
+ name="name_tags_textbox"
+ top_pad="10"
+ width="400">
+ Name tags:
+ </text>
+ <radio_group
+ control_name="AvatarNameTagMode"
+ height="20"
+ layout="topleft"
+ left="120"
+ top_delta="0"
+ name="name_tag_mode">
+ <radio_item
+ label="Off"
+ name="radio"
+ top_delta="20"
+ layout="topleft"
+ height="16"
+ left="0"
+ value="0"
+ width="75" />
+ <radio_item
+ label="On"
+ left_pad="0"
+ layout="topleft"
+ top_delta="0"
+ height="16"
+ name="radio2"
+ value="1"
+ width="75" />
+ <radio_item
+ label="Show briefly"
+ left_pad="0"
+ name="radio3"
+ height="16"
+ layout="topleft"
+ top_delta="0"
+ value="2"
+ width="160" />
+ </radio_group>
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_performance_preferences.xml b/indra/newview/skins/default/xui/en/panel_performance_preferences.xml
index fb62e7beb3..221dfa0222 100644
--- a/indra/newview/skins/default/xui/en/panel_performance_preferences.xml
+++ b/indra/newview/skins/default/xui/en/panel_performance_preferences.xml
@@ -2,7 +2,7 @@
<panel
bevel_style="none"
follows="left|top"
- height="630"
+ height="530"
width="580"
name="panel_performance_preferences"
layout="topleft"
@@ -44,11 +44,21 @@
width="300">
Graphics settings
</text>
+ <button
+ follows="top|left"
+ height="23"
+ label="Open Advanced Settings"
+ layout="topleft"
+ left="360"
+ name="advanced_btn"
+ top_delta="0"
+ width="200"/>
<view_border
bevel_style="in"
height="0"
layout="topleft"
name="border1"
+ left="20"
top_pad="8"
width="540"/>
<text
@@ -156,7 +166,7 @@
height="0"
layout="topleft"
name="border2"
- top_pad="15"
+ top_pad="5"
left="20"
width="540"/>
<text
@@ -238,7 +248,7 @@
height="0"
layout="topleft"
name="border3"
- top_pad="15"
+ top_pad="5"
left="20"
width="540"/>
<text
@@ -325,7 +335,7 @@
height="0"
layout="topleft"
name="border3"
- top_pad="15"
+ top_pad="7"
left="20"
width="540"/>
<text
@@ -418,7 +428,7 @@
height="0"
layout="topleft"
name="border4"
- top_pad="15"
+ top_pad="7"
left="20"
width="540"/>
<text
@@ -469,33 +479,6 @@
width="180">
(Enter value between 0.0 and 4.0)
</text>
- <check_box
- height="16"
- initial_value="true"
- label="Hide avatars completely (good for landscape photos)"
- layout="topleft"
- name="hide_avatars"
- top_delta="29"
- left="157"
- width="280">
- </check_box>
- <view_border
- bevel_style="in"
- height="0"
- layout="topleft"
- name="border5"
- top_pad="10"
- left="20"
- width="540"/>
- <button
- follows="top|left"
- height="23"
- label="Open Advanced Settings"
- layout="topleft"
- left="160"
- name="advanced_btn"
- top_pad="12"
- width="200"/>
<text
follows="left|top"
font="SansSerifSmall"
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index d115e09d5b..db6fbfe362 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -4271,7 +4271,7 @@ Try enclosing path to the editor with double quotes.
<string name="preset_combo_label">-Empty list-</string>
<string name="Default">Default</string>
<string name="none_paren_cap">(None)</string>
- <string name="no_limit">No Limit</string>
+ <string name="no_limit">No limit</string>
<string name="Mav_Details_MAV_FOUND_DEGENERATE_TRIANGLES">
The physics shape contains triangles which are too small. Try simplifying the physics model.