summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.hgtags2
-rw-r--r--autobuild.xml14
-rwxr-xr-xdoc/contributions.txt3
-rw-r--r--indra/llcommon/llerror.cpp6
-rw-r--r--indra/llinventory/llsettingsbase.cpp44
-rw-r--r--indra/llinventory/llsettingsbase.h19
-rw-r--r--indra/llinventory/llsettingsdaycycle.cpp1
-rw-r--r--indra/llinventory/llsettingssky.cpp12
-rw-r--r--indra/llinventory/llsettingssky.h1
-rw-r--r--indra/llinventory/llsettingswater.cpp8
-rw-r--r--indra/llinventory/llsettingswater.h1
-rw-r--r--indra/llmessage/lldispatcher.cpp106
-rw-r--r--indra/llmessage/lldispatcher.h6
-rw-r--r--indra/llmessage/message_prehash.cpp1
-rw-r--r--indra/llmessage/message_prehash.h2
-rw-r--r--indra/llui/lltextbox.cpp5
-rw-r--r--indra/llui/lltextbox.h3
-rw-r--r--indra/newview/VIEWER_VERSION.txt2
-rw-r--r--indra/newview/llenvironment.cpp338
-rw-r--r--indra/newview/llenvironment.h89
-rw-r--r--indra/newview/lleventpoll.cpp5
-rw-r--r--indra/newview/llfloatereditextdaycycle.cpp4
-rw-r--r--indra/newview/llfloaterpreference.cpp30
-rw-r--r--indra/newview/llfloaterpreference.h3
-rw-r--r--indra/newview/llfloaterscriptdebug.cpp5
-rw-r--r--indra/newview/llfloaterworldmap.cpp4
-rw-r--r--indra/newview/llfolderviewmodelinventory.cpp28
-rw-r--r--indra/newview/llinventorybridge.cpp15
-rw-r--r--indra/newview/llinventorymodel.cpp6
-rw-r--r--indra/newview/llinventorypanel.cpp19
-rw-r--r--indra/newview/llpanelface.cpp13
-rw-r--r--indra/newview/llstartup.cpp3
-rw-r--r--indra/newview/lltoastscripttextbox.cpp6
-rw-r--r--indra/newview/lltoastscripttextbox.h2
-rw-r--r--indra/newview/llviewergenericmessage.cpp24
-rw-r--r--indra/newview/llviewergenericmessage.h1
-rw-r--r--indra/newview/llviewerobject.cpp9
-rw-r--r--indra/newview/llviewerobjectlist.cpp4
-rw-r--r--indra/newview/llviewertexture.cpp11
-rw-r--r--indra/newview/llvoiceclient.cpp6
-rw-r--r--indra/newview/llvoiceclient.h2
-rw-r--r--indra/newview/llvoicevivox.cpp5
-rw-r--r--indra/newview/llvoicevivox.h2
-rw-r--r--indra/newview/llvovolume.cpp2
-rw-r--r--indra/newview/pipeline.cpp1
-rw-r--r--indra/newview/roles_constants.h3
-rw-r--r--indra/newview/skins/default/xui/de/floater_edit_sky_preset.xml4
-rw-r--r--indra/newview/skins/default/xui/de/floater_edit_water_preset.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_environment_settings.xml4
-rw-r--r--indra/newview/skins/default/xui/de/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/de/floater_tools.xml81
-rw-r--r--indra/newview/skins/default/xui/de/menu_object.xml2
-rw-r--r--indra/newview/skins/default/xui/de/menu_people_nearby_view.xml1
-rw-r--r--indra/newview/skins/default/xui/de/menu_viewer.xml2
-rw-r--r--indra/newview/skins/default/xui/de/notifications.xml21
-rw-r--r--indra/newview/skins/default/xui/de/strings.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_tos.xml2
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml10
-rw-r--r--indra/newview/skins/default/xui/en/panel_notify_textbox.xml58
-rw-r--r--indra/newview/skins/default/xui/en/role_actions.xml5
-rw-r--r--indra/newview/skins/default/xui/es/floater_edit_sky_preset.xml6
-rw-r--r--indra/newview/skins/default/xui/es/floater_environment_settings.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/es/floater_tools.xml81
-rw-r--r--indra/newview/skins/default/xui/es/menu_object.xml2
-rw-r--r--indra/newview/skins/default/xui/es/menu_people_nearby_view.xml1
-rw-r--r--indra/newview/skins/default/xui/es/notifications.xml21
-rw-r--r--indra/newview/skins/default/xui/es/strings.xml10
-rw-r--r--indra/newview/skins/default/xui/fr/floater_edit_sky_preset.xml30
-rw-r--r--indra/newview/skins/default/xui/fr/floater_edit_water_preset.xml22
-rw-r--r--indra/newview/skins/default/xui/fr/floater_environment_settings.xml10
-rw-r--r--indra/newview/skins/default/xui/fr/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/floater_tools.xml81
-rw-r--r--indra/newview/skins/default/xui/fr/menu_object.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_people_nearby_view.xml1
-rw-r--r--indra/newview/skins/default/xui/fr/notifications.xml21
-rw-r--r--indra/newview/skins/default/xui/fr/strings.xml8
-rw-r--r--indra/newview/skins/default/xui/it/floater_edit_sky_preset.xml22
-rw-r--r--indra/newview/skins/default/xui/it/floater_edit_water_preset.xml10
-rw-r--r--indra/newview/skins/default/xui/it/floater_environment_settings.xml4
-rw-r--r--indra/newview/skins/default/xui/it/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/it/floater_tools.xml81
-rw-r--r--indra/newview/skins/default/xui/it/menu_object.xml2
-rw-r--r--indra/newview/skins/default/xui/it/menu_people_nearby_view.xml1
-rw-r--r--indra/newview/skins/default/xui/it/notifications.xml21
-rw-r--r--indra/newview/skins/default/xui/it/strings.xml10
-rw-r--r--indra/newview/skins/default/xui/ja/floater_edit_sky_preset.xml8
-rw-r--r--indra/newview/skins/default/xui/ja/floater_edit_water_preset.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/floater_environment_settings.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/floater_tools.xml81
-rw-r--r--indra/newview/skins/default/xui/ja/menu_object.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/menu_people_nearby_view.xml1
-rw-r--r--indra/newview/skins/default/xui/ja/notifications.xml21
-rw-r--r--indra/newview/skins/default/xui/ja/strings.xml20
-rw-r--r--indra/newview/skins/default/xui/pt/floater_buy_currency.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_edit_sky_preset.xml66
-rw-r--r--indra/newview/skins/default/xui/pt/floater_edit_water_preset.xml40
-rw-r--r--indra/newview/skins/default/xui/pt/floater_environment_settings.xml20
-rw-r--r--indra/newview/skins/default/xui/pt/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/floater_tools.xml81
-rw-r--r--indra/newview/skins/default/xui/pt/menu_object.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/menu_people_nearby_view.xml1
-rw-r--r--indra/newview/skins/default/xui/pt/notifications.xml21
-rw-r--r--indra/newview/skins/default/xui/pt/strings.xml14
-rw-r--r--indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml42
-rw-r--r--indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml24
-rw-r--r--indra/newview/skins/default/xui/ru/floater_environment_settings.xml8
-rw-r--r--indra/newview/skins/default/xui/ru/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/ru/floater_tools.xml1
-rw-r--r--indra/newview/skins/default/xui/ru/floater_tos.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/menu_object.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/menu_people_nearby_view.xml1
-rw-r--r--indra/newview/skins/default/xui/ru/notifications.xml21
-rw-r--r--indra/newview/skins/default/xui/tr/floater_edit_sky_preset.xml32
-rw-r--r--indra/newview/skins/default/xui/tr/floater_edit_water_preset.xml20
-rw-r--r--indra/newview/skins/default/xui/tr/floater_environment_settings.xml10
-rw-r--r--indra/newview/skins/default/xui/tr/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/tr/floater_tools.xml1
-rw-r--r--indra/newview/skins/default/xui/tr/menu_object.xml2
-rw-r--r--indra/newview/skins/default/xui/tr/menu_people_nearby_view.xml1
-rw-r--r--indra/newview/skins/default/xui/tr/notifications.xml21
-rw-r--r--indra/newview/skins/default/xui/tr/strings.xml14
-rw-r--r--indra/newview/skins/default/xui/zh/floater_edit_sky_preset.xml8
-rw-r--r--indra/newview/skins/default/xui/zh/floater_environment_settings.xml2
-rw-r--r--indra/newview/skins/default/xui/zh/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/zh/floater_tools.xml1
-rw-r--r--indra/newview/skins/default/xui/zh/menu_object.xml2
-rw-r--r--indra/newview/skins/default/xui/zh/menu_people_nearby_view.xml1
-rw-r--r--indra/newview/skins/default/xui/zh/menu_viewer.xml2
-rw-r--r--indra/newview/skins/default/xui/zh/notifications.xml21
-rwxr-xr-xscripts/messages/message_template.msg24
-rwxr-xr-xscripts/messages/message_template.msg.sha12
133 files changed, 1257 insertions, 942 deletions
diff --git a/.hgtags b/.hgtags
index 06d289325d..105abb4fa5 100755
--- a/.hgtags
+++ b/.hgtags
@@ -541,3 +541,5 @@ ad0e15543836d64d6399d28b32852510435e344a 5.1.0-release
ac3b1332ad4f55b7182a8cbcc1254535a0069f75 5.1.7-release
23ea0fe36fadf009a60c080392ce80e4bf8af8d9 5.1.8-release
52422540bfe54b71155aa455360bee6e3ef1fd96 5.1.9-release
+821edfcd14919c0e95c590866171c61fb57e8623 6.0.0-release
+21b7604680ef6b6ea67f8bebaaa588d6e263bdc1 6.0.1-release
diff --git a/autobuild.xml b/autobuild.xml
index 6ab50ab183..dc928e7236 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -2592,9 +2592,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
- <string>bb8bed08fd5973a040c509ef8b545ec8</string>
+ <string>2c17cfd900c88914e06947fe0f1fdae4</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/490/1046/ogg_vorbis-1.2.2-1.3.2.500397-darwin64-500397.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/25395/199641/ogg_vorbis-1.3.3-1.3.6.520171-darwin64-520171.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
@@ -2628,9 +2628,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
- <string>f7edf86dcf2d9be7bee98c91256fa569</string>
+ <string>1818627d4d1f05b49709717e240bdcf4</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/512/1108/ogg_vorbis-1.2.2-1.3.2.500397-windows-500397.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/25396/199634/ogg_vorbis-1.3.3-1.3.6.520171-windows-520171.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
@@ -2640,16 +2640,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
- <string>497ec6ac26c2e136ee65acbed86cb2ef</string>
+ <string>d124788c798684c890c1803fca541a10</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/511/1105/ogg_vorbis-1.2.2-1.3.2.500397-windows64-500397.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/25397/199631/ogg_vorbis-1.3.3-1.3.6.520171-windows64-520171.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>version</key>
- <string>1.2.2-1.3.2.500397</string>
+ <string>1.3.3-1.3.6.520171</string>
</map>
<key>open-libndofdev</key>
<map>
diff --git a/doc/contributions.txt b/doc/contributions.txt
index 90bbb1c2c6..a09b6aff43 100755
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -342,6 +342,8 @@ Celierra Darling
Chantal Harvey
Charles Courtois
Charlie Sazaland
+Chaser Zaks
+ BUG-225599
Cherry Cheevers
ChickyBabes Zuzu
Christopher Organiser
@@ -366,6 +368,7 @@ Cinder Roxley
STORM-2037
STORM-2053
STORM-2113
+ STORM-2116
STORM-2127
STORM-2144
Clara Young
diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp
index 49ed8b495d..40eb7d9bac 100644
--- a/indra/llcommon/llerror.cpp
+++ b/indra/llcommon/llerror.cpp
@@ -1028,7 +1028,7 @@ namespace
}
}
- void writeToRecorders(const LLError::CallSite& site, const std::string& escaped_message, bool show_location = true, bool show_time = true, bool show_tags = true, bool show_level = true, bool show_function = true)
+ void writeToRecorders(const LLError::CallSite& site, const std::string& escaped_message)
{
LLError::ELevel level = site.mLevel;
LLError::SettingsConfigPtr s = LLError::Settings::getInstance()->getSettingsConfig();
@@ -1052,7 +1052,7 @@ namespace
}
message_stream << " ";
- if (show_level && r->wantsLevel())
+ if (r->wantsLevel())
{
message_stream << site.mLevelString;
}
@@ -1070,7 +1070,7 @@ namespace
}
message_stream << " ";
- if (show_function && r->wantsFunctionName())
+ if (r->wantsFunctionName())
{
message_stream << site.mFunctionString;
}
diff --git a/indra/llinventory/llsettingsbase.cpp b/indra/llinventory/llsettingsbase.cpp
index 7917fa96f1..5adb787048 100644
--- a/indra/llinventory/llsettingsbase.cpp
+++ b/indra/llinventory/llsettingsbase.cpp
@@ -60,6 +60,8 @@ const U32 LLSettingsBase::FLAG_NOCOPY(0x01 << 0);
const U32 LLSettingsBase::FLAG_NOMOD(0x01 << 1);
const U32 LLSettingsBase::FLAG_NOTRANS(0x01 << 2);
+const U32 LLSettingsBase::Validator::VALIDATION_PARTIAL(0x01 << 0);
+
//=========================================================================
LLSettingsBase::LLSettingsBase():
mSettings(LLSD::emptyMap()),
@@ -385,7 +387,7 @@ bool LLSettingsBase::validate()
return result["success"].asBoolean();
}
-LLSD LLSettingsBase::settingValidation(LLSD &settings, validation_list_t &validations)
+LLSD LLSettingsBase::settingValidation(LLSD &settings, validation_list_t &validations, bool partial)
{
static Validator validateName(SETTING_NAME, false, LLSD::TypeString, boost::bind(&Validator::verifyStringLength, _1, 32));
static Validator validateId(SETTING_ID, false, LLSD::TypeUUID);
@@ -398,44 +400,48 @@ LLSD LLSettingsBase::settingValidation(LLSD &settings, validation_list_t &valida
bool isValid(true);
LLSD errors(LLSD::emptyArray());
LLSD warnings(LLSD::emptyArray());
+ U32 flags(0);
+
+ if (partial)
+ flags |= Validator::VALIDATION_PARTIAL;
// Fields common to all settings.
- if (!validateName.verify(settings))
+ if (!validateName.verify(settings, flags))
{
errors.append( LLSD::String("Unable to validate 'name'.") );
isValid = false;
}
validated.insert(validateName.getName());
- if (!validateId.verify(settings))
+ if (!validateId.verify(settings, flags))
{
errors.append( LLSD::String("Unable to validate 'id'.") );
isValid = false;
}
validated.insert(validateId.getName());
- if (!validateHash.verify(settings))
+ if (!validateHash.verify(settings, flags))
{
errors.append( LLSD::String("Unable to validate 'hash'.") );
isValid = false;
}
validated.insert(validateHash.getName());
- if (!validateAssetId.verify(settings))
+ if (!validateAssetId.verify(settings, flags))
{
errors.append(LLSD::String("Invalid asset Id"));
isValid = false;
}
validated.insert(validateAssetId.getName());
- if (!validateType.verify(settings))
+ if (!validateType.verify(settings, flags))
{
errors.append( LLSD::String("Unable to validate 'type'.") );
isValid = false;
}
validated.insert(validateType.getName());
- if (!validateFlags.verify(settings))
+ if (!validateFlags.verify(settings, flags))
{
errors.append(LLSD::String("Unable to validate 'flags'."));
isValid = false;
@@ -453,7 +459,7 @@ LLSD LLSettingsBase::settingValidation(LLSD &settings, validation_list_t &valida
}
#endif
- if (!(*itv).verify(settings))
+ if (!(*itv).verify(settings, flags))
{
std::stringstream errtext;
@@ -498,10 +504,14 @@ LLSD LLSettingsBase::settingValidation(LLSD &settings, validation_list_t &valida
}
//=========================================================================
-bool LLSettingsBase::Validator::verify(LLSD &data)
+
+bool LLSettingsBase::Validator::verify(LLSD &data, U32 flags)
{
if (!data.has(mName) || (data.has(mName) && data[mName].isUndefined()))
{
+ if ((flags & VALIDATION_PARTIAL) != 0) // we are doing a partial validation. Do no attempt to set a default if missing (or fail even if required)
+ return true;
+
if (!mDefault.isUndefined())
{
data[mName] = mDefault;
@@ -667,7 +677,10 @@ bool LLSettingsBase::Validator::verifyStringLength(LLSD &value, S32 length)
//=========================================================================
void LLSettingsBlender::update(const LLSettingsBase::BlendFactor& blendf)
{
- setBlendFactor(blendf);
+ F64 res = setBlendFactor(blendf);
+
+ if ((res >= 0.0001) && (res < 1.0))
+ mTarget->update();
}
F64 LLSettingsBlender::setBlendFactor(const LLSettingsBase::BlendFactor& blendf_in)
@@ -688,7 +701,6 @@ F64 LLSettingsBlender::setBlendFactor(const LLSettingsBase::BlendFactor& blendf_
return blendf;
}
mTarget->blend(mFinal, blendf);
- mTarget->update();
}
else
{
@@ -715,7 +727,7 @@ LLSettingsBase::BlendFactor LLSettingsBlenderTimeDelta::calculateBlend(const LLS
return LLSettingsBase::BlendFactor(fmod((F64)spanpos, (F64)spanlen) / (F64)spanlen);
}
-void LLSettingsBlenderTimeDelta::applyTimeDelta(const LLSettingsBase::Seconds& timedelta)
+bool LLSettingsBlenderTimeDelta::applyTimeDelta(const LLSettingsBase::Seconds& timedelta)
{
mTimeSpent += timedelta;
mTimeDeltaPassed += timedelta;
@@ -724,12 +736,12 @@ void LLSettingsBlenderTimeDelta::applyTimeDelta(const LLSettingsBase::Seconds& t
{
mIgnoreTimeDelta = false;
triggerComplete();
- return;
+ return false;
}
if ((mTimeDeltaPassed < mTimeDeltaThreshold) && (!mIgnoreTimeDelta))
{
- return;
+ return false;
}
LLSettingsBase::BlendFactor blendf = calculateBlend(mTimeSpent, mBlendSpan);
@@ -737,10 +749,10 @@ void LLSettingsBlenderTimeDelta::applyTimeDelta(const LLSettingsBase::Seconds& t
if (fabs(mLastBlendF - blendf) < mBlendFMinDelta)
{
- return;
+ return false;
}
mLastBlendF = blendf;
-
update(blendf);
+ return true;
}
diff --git a/indra/llinventory/llsettingsbase.h b/indra/llinventory/llsettingsbase.h
index c7b685c6d5..87466e6570 100644
--- a/indra/llinventory/llsettingsbase.h
+++ b/indra/llinventory/llsettingsbase.h
@@ -266,6 +266,8 @@ public:
class Validator
{
public:
+ static const U32 VALIDATION_PARTIAL;
+
typedef boost::function<bool(LLSD &)> verify_pr;
Validator(std::string name, bool required, LLSD::Type type, verify_pr verify = verify_pr(), LLSD defval = LLSD()) :
@@ -280,7 +282,7 @@ public:
bool isRequired() const { return mRequired; }
LLSD::Type getType() const { return mType; }
- bool verify(LLSD &data);
+ bool verify(LLSD &data, U32 flags);
// Some basic verifications
static bool verifyColor(LLSD &value);
@@ -302,7 +304,7 @@ public:
};
typedef std::vector<Validator> validation_list_t;
- static LLSD settingValidation(LLSD &settings, validation_list_t &validations);
+ static LLSD settingValidation(LLSD &settings, validation_list_t &validations, bool partial = false);
inline void setAssetId(LLUUID value)
{ // note that this skips setLLSD
@@ -346,7 +348,7 @@ protected:
virtual stringset_t getSlerpKeys() const { return stringset_t(); }
// Calculate any custom settings that may need to be cached.
- virtual void updateSettings() { mDirty = false; mReplaced = false; };
+ virtual void updateSettings() { mDirty = false; mReplaced = false; }
virtual validation_list_t getValidationList() const = 0;
@@ -366,6 +368,12 @@ protected:
mBlendedFactor = blendfactor;
}
+ void replaceWith(LLSettingsBase::ptr_t other)
+ {
+ replaceSettings(other->cloneSettings());
+ setBlendFactor(other->getBlendFactor());
+ }
+
private:
bool mDirty;
bool mReplaced; // super dirty!
@@ -437,10 +445,11 @@ public:
}
virtual void update(const LLSettingsBase::BlendFactor& blendf);
- virtual void applyTimeDelta(const LLSettingsBase::Seconds& delta)
+ virtual bool applyTimeDelta(const LLSettingsBase::Seconds& timedelta)
{
llassert(false);
// your derived class needs to implement an override of this func
+ return false;
}
virtual F64 setBlendFactor(const LLSettingsBase::BlendFactor& position);
@@ -495,7 +504,7 @@ public:
mLastBlendF = LLSettingsBase::BlendFactor(-1.0f);
}
- virtual void applyTimeDelta(const LLSettingsBase::Seconds& timedelta) SETTINGS_OVERRIDE;
+ virtual bool applyTimeDelta(const LLSettingsBase::Seconds& timedelta) SETTINGS_OVERRIDE;
inline void setTimeDeltaThreshold(const LLSettingsBase::Seconds time)
{
diff --git a/indra/llinventory/llsettingsdaycycle.cpp b/indra/llinventory/llsettingsdaycycle.cpp
index ec497b4021..188e205176 100644
--- a/indra/llinventory/llsettingsdaycycle.cpp
+++ b/indra/llinventory/llsettingsdaycycle.cpp
@@ -203,7 +203,6 @@ bool LLSettingsDay::initialize(bool validate_frames)
if (mSettings.has(SETTING_ASSETID))
{
assetid = mSettings[SETTING_ASSETID].asUUID();
- LL_WARNS("LAPRAS") << "initializing daycycle with asset id " << assetid << LL_ENDL;
}
std::map<std::string, LLSettingsBase::ptr_t> used;
diff --git a/indra/llinventory/llsettingssky.cpp b/indra/llinventory/llsettingssky.cpp
index bd40760193..231077c217 100644
--- a/indra/llinventory/llsettingssky.cpp
+++ b/indra/llinventory/llsettingssky.cpp
@@ -431,6 +431,18 @@ void LLSettingsSky::replaceSettings(LLSD settings)
mNextHaloTextureId.setNull();
}
+void LLSettingsSky::replaceWithSky(LLSettingsSky::ptr_t pother)
+{
+ replaceWith(pother);
+
+ mNextSunTextureId = pother->mNextSunTextureId;
+ mNextMoonTextureId = pother->mNextMoonTextureId;
+ mNextCloudTextureId = pother->mNextCloudTextureId;
+ mNextBloomTextureId = pother->mNextBloomTextureId;
+ mNextRainbowTextureId = pother->mNextRainbowTextureId;
+ mNextHaloTextureId = pother->mNextHaloTextureId;
+}
+
void LLSettingsSky::blend(const LLSettingsBase::ptr_t &end, F64 blendf)
{
llassert(getSettingsType() == end->getSettingsType());
diff --git a/indra/llinventory/llsettingssky.h b/indra/llinventory/llsettingssky.h
index bac8b52e65..4d0d4268b2 100644
--- a/indra/llinventory/llsettingssky.h
+++ b/indra/llinventory/llsettingssky.h
@@ -118,6 +118,7 @@ public:
virtual void replaceSettings(LLSD settings) SETTINGS_OVERRIDE;
+ void replaceWithSky(LLSettingsSky::ptr_t pother);
static LLSD defaults(const LLSettingsBase::TrackPosition& position = 0.0f);
F32 getPlanetRadius() const;
diff --git a/indra/llinventory/llsettingswater.cpp b/indra/llinventory/llsettingswater.cpp
index 7cfff954a0..1780948f0a 100644
--- a/indra/llinventory/llsettingswater.cpp
+++ b/indra/llinventory/llsettingswater.cpp
@@ -197,6 +197,14 @@ void LLSettingsWater::replaceSettings(LLSD settings)
mNextTransparentTextureID.setNull();
}
+void LLSettingsWater::replaceWithWater(LLSettingsWater::ptr_t other)
+{
+ replaceWith(other);
+
+ mNextNormalMapID = other->mNextNormalMapID;
+ mNextTransparentTextureID = other->mNextTransparentTextureID;
+}
+
LLSettingsWater::validation_list_t LLSettingsWater::getValidationList() const
{
return LLSettingsWater::validationList();
diff --git a/indra/llinventory/llsettingswater.h b/indra/llinventory/llsettingswater.h
index 009a72eb24..118c515743 100644
--- a/indra/llinventory/llsettingswater.h
+++ b/indra/llinventory/llsettingswater.h
@@ -65,6 +65,7 @@ public:
virtual void blend(const LLSettingsBase::ptr_t &end, F64 blendf) SETTINGS_OVERRIDE;
virtual void replaceSettings(LLSD settings) SETTINGS_OVERRIDE;
+ void replaceWithWater(LLSettingsWater::ptr_t other);
static LLSD defaults(const LLSettingsBase::TrackPosition& position = 0.0f);
diff --git a/indra/llmessage/lldispatcher.cpp b/indra/llmessage/lldispatcher.cpp
index c40fe0d389..717ef10f70 100644
--- a/indra/llmessage/lldispatcher.cpp
+++ b/indra/llmessage/lldispatcher.cpp
@@ -101,48 +101,70 @@ LLDispatchHandler* LLDispatcher::addHandler(
// static
bool LLDispatcher::unpackMessage(
- LLMessageSystem* msg,
- LLDispatcher::key_t& method,
- LLUUID& invoice,
- LLDispatcher::sparam_t& parameters)
+ LLMessageSystem* msg,
+ LLDispatcher::key_t& method,
+ LLUUID& invoice,
+ LLDispatcher::sparam_t& parameters)
{
- char buf[MAX_STRING]; /*Flawfinder: ignore*/
- msg->getStringFast(_PREHASH_MethodData, _PREHASH_Method, method);
- msg->getUUIDFast(_PREHASH_MethodData, _PREHASH_Invoice, invoice);
- S32 size;
- S32 count = msg->getNumberOfBlocksFast(_PREHASH_ParamList);
- for (S32 i = 0; i < count; ++i)
- {
- // we treat the SParam as binary data (since it might be an
- // LLUUID in compressed form which may have embedded \0's,)
- size = msg->getSizeFast(_PREHASH_ParamList, i, _PREHASH_Parameter);
- if (size >= 0)
- {
- msg->getBinaryDataFast(
- _PREHASH_ParamList, _PREHASH_Parameter,
- buf, size, i, MAX_STRING-1);
+ char buf[MAX_STRING]; /*Flawfinder: ignore*/
+ msg->getStringFast(_PREHASH_MethodData, _PREHASH_Method, method);
+ msg->getUUIDFast(_PREHASH_MethodData, _PREHASH_Invoice, invoice);
+ S32 size;
+ S32 count = msg->getNumberOfBlocksFast(_PREHASH_ParamList);
+ for (S32 i = 0; i < count; ++i)
+ {
+ // we treat the SParam as binary data (since it might be an
+ // LLUUID in compressed form which may have embedded \0's,)
+ size = msg->getSizeFast(_PREHASH_ParamList, i, _PREHASH_Parameter);
+ if (size >= 0)
+ {
+ msg->getBinaryDataFast(
+ _PREHASH_ParamList, _PREHASH_Parameter,
+ buf, size, i, MAX_STRING - 1);
- // If the last byte of the data is 0x0, this is either a normally
- // packed string, or a binary packed UUID (which for these messages
- // are packed with a 17th byte 0x0). Unpack into a std::string
- // without the trailing \0, so "abc\0" becomes std::string("abc", 3)
- // which matches const char* "abc".
- if (size > 0
- && buf[size-1] == 0x0)
- {
- // special char*/size constructor because UUIDs may have embedded
- // 0x0 bytes.
- std::string binary_data(buf, size-1);
- parameters.push_back(binary_data);
- }
- else
- {
- // This is either a NULL string, or a string that was packed
- // incorrectly as binary data, without the usual trailing '\0'.
- std::string string_data(buf, size);
- parameters.push_back(string_data);
- }
- }
- }
- return true;
+ // If the last byte of the data is 0x0, this is either a normally
+ // packed string, or a binary packed UUID (which for these messages
+ // are packed with a 17th byte 0x0). Unpack into a std::string
+ // without the trailing \0, so "abc\0" becomes std::string("abc", 3)
+ // which matches const char* "abc".
+ if (size > 0
+ && buf[size - 1] == 0x0)
+ {
+ // special char*/size constructor because UUIDs may have embedded
+ // 0x0 bytes.
+ std::string binary_data(buf, size - 1);
+ parameters.push_back(binary_data);
+ }
+ else
+ {
+ // This is either a NULL string, or a string that was packed
+ // incorrectly as binary data, without the usual trailing '\0'.
+ std::string string_data(buf, size);
+ parameters.push_back(string_data);
+ }
+ }
+ }
+ return true;
+}
+
+// static
+bool LLDispatcher::unpackLargeMessage(
+ LLMessageSystem* msg,
+ LLDispatcher::key_t& method,
+ LLUUID& invoice,
+ LLDispatcher::sparam_t& parameters)
+{
+ msg->getStringFast(_PREHASH_MethodData, _PREHASH_Method, method);
+ msg->getUUIDFast(_PREHASH_MethodData, _PREHASH_Invoice, invoice);
+ S32 count = msg->getNumberOfBlocksFast(_PREHASH_ParamList);
+ for (S32 i = 0; i < count; ++i)
+ {
+ // This method treats all Parameter List params as strings and unpacks
+ // them regardless of length. If there is binary data it is the callers
+ // responsibility to decode it.
+ std::string param;
+ msg->getStringFast(_PREHASH_ParamList, _PREHASH_Parameter, param, i);
+ parameters.push_back(param);
+ }
+ return true;
}
diff --git a/indra/llmessage/lldispatcher.h b/indra/llmessage/lldispatcher.h
index 9d1751f588..43c63ac4df 100644
--- a/indra/llmessage/lldispatcher.h
+++ b/indra/llmessage/lldispatcher.h
@@ -105,6 +105,12 @@ public:
LLUUID& invoice,
sparam_t& parameters);
+ static bool unpackLargeMessage(
+ LLMessageSystem* msg,
+ key_t& method,
+ LLUUID& invoice,
+ sparam_t& parameters);
+
protected:
typedef std::map<key_t, LLDispatchHandler*> dispatch_map_t;
dispatch_map_t mHandlers;
diff --git a/indra/llmessage/message_prehash.cpp b/indra/llmessage/message_prehash.cpp
index ed2d580d48..fba5b7453d 100644
--- a/indra/llmessage/message_prehash.cpp
+++ b/indra/llmessage/message_prehash.cpp
@@ -1394,3 +1394,4 @@ char const* const _PREHASH_AppearanceHover = LLMessageStringTable::getInstance()
char const* const _PREHASH_HoverHeight = LLMessageStringTable::getInstance()->getString("HoverHeight");
char const* const _PREHASH_Experience = LLMessageStringTable::getInstance()->getString("Experience");
char const* const _PREHASH_ExperienceID = LLMessageStringTable::getInstance()->getString("ExperienceID");
+char const* const _PREHASH_LargeGenericMessage = LLMessageStringTable::getInstance()->getString("LargeGenericMessage");
diff --git a/indra/llmessage/message_prehash.h b/indra/llmessage/message_prehash.h
index d7eb04df57..4f72c01ddf 100644
--- a/indra/llmessage/message_prehash.h
+++ b/indra/llmessage/message_prehash.h
@@ -1394,4 +1394,6 @@ extern char const* const _PREHASH_AppearanceHover;
extern char const* const _PREHASH_HoverHeight;
extern char const* const _PREHASH_Experience;
extern char const* const _PREHASH_ExperienceID;
+extern char const* const _PREHASH_LargeGenericMessage;
+
#endif
diff --git a/indra/llui/lltextbox.cpp b/indra/llui/lltextbox.cpp
index d175204e6d..01fe82e45d 100644
--- a/indra/llui/lltextbox.cpp
+++ b/indra/llui/lltextbox.cpp
@@ -43,7 +43,8 @@ template class LLTextBox* LLView::getChild<class LLTextBox>(
LLTextBox::LLTextBox(const LLTextBox::Params& p)
: LLTextBase(p),
- mClickedCallback(NULL)
+ mClickedCallback(NULL),
+ mShowCursorHand(true)
{}
LLTextBox::~LLTextBox()
@@ -103,7 +104,7 @@ BOOL LLTextBox::handleMouseUp(S32 x, S32 y, MASK mask)
BOOL LLTextBox::handleHover(S32 x, S32 y, MASK mask)
{
BOOL handled = LLTextBase::handleHover(x, y, mask);
- if (!handled && mClickedCallback)
+ if (!handled && mClickedCallback && mShowCursorHand)
{
// Clickable text boxes change the cursor to a hand
LLUI::getWindow()->setCursor(UI_CURSOR_HAND);
diff --git a/indra/llui/lltextbox.h b/indra/llui/lltextbox.h
index 071e18c638..061d2dd23d 100644
--- a/indra/llui/lltextbox.h
+++ b/indra/llui/lltextbox.h
@@ -68,11 +68,14 @@ public:
/*virtual*/ LLSD getValue() const;
/*virtual*/ BOOL setTextArg( const std::string& key, const LLStringExplicit& text );
+ void setShowCursorHand(bool show_cursor) { mShowCursorHand = show_cursor; }
+
protected:
void onUrlLabelUpdated(const std::string &url, const std::string &label);
LLUIString mText;
callback_t mClickedCallback;
+ bool mShowCursorHand;
};
// Build time optimization, generate once in .cpp file
diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt
index 09b254e90c..9b9a244206 100644
--- a/indra/newview/VIEWER_VERSION.txt
+++ b/indra/newview/VIEWER_VERSION.txt
@@ -1 +1 @@
-6.0.0
+6.0.2
diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp
index d8095ad2ce..a8a386edee 100644
--- a/indra/newview/llenvironment.cpp
+++ b/indra/newview/llenvironment.cpp
@@ -281,7 +281,6 @@ namespace
virtual bool operator()(const LLDispatcher *, const std::string& key, const LLUUID& invoice, const sparam_t& strings) override
{
LLSD message;
-
sparam_t::const_iterator it = strings.begin();
if (it != strings.end())
@@ -293,8 +292,8 @@ namespace
LL_WARNS() << "LLExperienceLogDispatchHandler: Attempted to read parameter data into LLSD but failed:" << llsdRaw << LL_ENDL;
}
}
- message[KEY_EXPERIENCEID] = invoice;
+ message[KEY_EXPERIENCEID] = invoice;
// Object Name
if (it != strings.end())
{
@@ -352,7 +351,7 @@ void LLEnvironment::initSingleton()
LLSettingsSky::ptr_t p_default_sky = LLSettingsVOSky::buildDefaultSky();
LLSettingsWater::ptr_t p_default_water = LLSettingsVOWater::buildDefaultWater();
- mCurrentEnvironment = std::make_shared<DayInstance>();
+ mCurrentEnvironment = std::make_shared<DayInstance>(ENV_DEFAULT);
mCurrentEnvironment->setSky(p_default_sky);
mCurrentEnvironment->setWater(p_default_water);
@@ -386,6 +385,43 @@ bool LLEnvironment::canEdit() const
return true;
}
+LLSettingsSky::ptr_t LLEnvironment::getCurrentSky() const
+{
+ LLSettingsSky::ptr_t psky = mCurrentEnvironment->getSky();
+
+ if (!psky && mCurrentEnvironment->getEnvironmentSelection() >= ENV_EDIT)
+ {
+ for (int idx = 0; idx < ENV_END; ++idx)
+ {
+ if (mEnvironments[idx]->getSky())
+ {
+ psky = mEnvironments[idx]->getSky();
+ break;
+ }
+ }
+ }
+ return psky;
+}
+
+LLSettingsWater::ptr_t LLEnvironment::getCurrentWater() const
+{
+ LLSettingsWater::ptr_t pwater = mCurrentEnvironment->getWater();
+
+ if (!pwater && mCurrentEnvironment->getEnvironmentSelection() >= ENV_EDIT)
+ {
+ for (int idx = 0; idx < ENV_END; ++idx)
+ {
+ if (mEnvironments[idx]->getWater())
+ {
+ pwater = mEnvironments[idx]->getWater();
+ break;
+ }
+ }
+ }
+ return pwater;
+}
+
+
void LLEnvironment::getAtmosphericModelSettings(AtmosphericModelSettings& settingsOut, const LLSettingsSky::ptr_t &psky)
{
settingsOut.m_skyBottomRadius = psky->getSkyBottomRadius();
@@ -459,7 +495,7 @@ bool LLEnvironment::canAgentUpdateParcelEnvironment(LLParcel *parcel) const
if (!parcel->getRegionAllowEnvironmentOverride())
return false;
- return LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_OPTIONS);
+ return LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_ALLOW_ENVIRONMENT);
}
bool LLEnvironment::canAgentUpdateRegionEnvironment() const
@@ -483,7 +519,7 @@ bool LLEnvironment::isInventoryEnabled() const
void LLEnvironment::onRegionChange()
{
- clearEnvironment(ENV_PUSH);
+ clearExperienceEnvironment(LLUUID::null, TRANSITION_DEFAULT);
requestRegion();
}
@@ -545,10 +581,16 @@ bool LLEnvironment::hasEnvironment(LLEnvironment::EnvSelection_t env)
LLEnvironment::DayInstance::ptr_t LLEnvironment::getEnvironmentInstance(LLEnvironment::EnvSelection_t env, bool create /*= false*/)
{
DayInstance::ptr_t environment = mEnvironments[env];
-// if (!environment && create)
if (create)
{
- environment = std::make_shared<DayInstance>();
+ if (environment)
+ environment = environment->clone();
+ else
+ {
+ environment = std::make_shared<DayInstance>(env);
+ if (mMakeBackups && env > ENV_PUSH)
+ environment->setBackup(true);
+ }
mEnvironments[env] = environment;
}
@@ -586,17 +628,27 @@ void LLEnvironment::setEnvironment(LLEnvironment::EnvSelection_t env, LLEnvironm
DayInstance::ptr_t environment = getEnvironmentInstance(env, true);
- LLSettingsSky::ptr_t prev_sky = mEnvironments[ENV_DEFAULT]->getSky();
- LLSettingsWater::ptr_t prev_water = mEnvironments[ENV_DEFAULT]->getWater();
- if (mCurrentEnvironment && (ENV_EDIT == env))
- {
- prev_sky = mCurrentEnvironment->getSky() ? mCurrentEnvironment->getSky() : prev_sky;
- prev_water = mCurrentEnvironment->getWater() ? mCurrentEnvironment->getWater() : prev_water;
- }
+// LLSettingsSky::ptr_t prev_sky = mEnvironments[ENV_DEFAULT]->getSky();
+// LLSettingsWater::ptr_t prev_water = mEnvironments[ENV_DEFAULT]->getWater();
+// if (mCurrentEnvironment && (ENV_EDIT == env))
+// {
+// prev_sky = mCurrentEnvironment->getSky() ? mCurrentEnvironment->getSky() : prev_sky;
+// prev_water = mCurrentEnvironment->getWater() ? mCurrentEnvironment->getWater() : prev_water;
+// }
- environment->clear();
- environment->setSky((fixed.first) ? fixed.first : prev_sky);
- environment->setWater((fixed.second) ? fixed.second : prev_water);
+// environment->clear();
+// environment->setSky((fixed.first) ? fixed.first : prev_sky);
+// environment->setWater((fixed.second) ? fixed.second : prev_water);
+ if (fixed.first)
+ environment->setSky(fixed.first);
+ else if (!environment->getSky())
+ environment->setSky(mCurrentEnvironment->getSky());
+
+ if (fixed.second)
+ environment->setWater(fixed.second);
+ else if (!environment->getWater())
+ environment->setWater(mCurrentEnvironment->getWater());
+
if (!mSignalEnvChanged.empty())
@@ -635,19 +687,19 @@ void LLEnvironment::setEnvironment(LLEnvironment::EnvSelection_t env, const LLSe
else if (settings->getSettingsType() == "sky")
{
fixedEnvironment_t fixedenv(std::static_pointer_cast<LLSettingsSky>(settings), LLSettingsWater::ptr_t());
- if (environment)
- {
- fixedenv.second = environment->getWater();
- }
+// if (environment)
+// {
+// fixedenv.second = environment->getWater();
+// }
setEnvironment(env, fixedenv);
}
else if (settings->getSettingsType() == "water")
{
fixedEnvironment_t fixedenv(LLSettingsSky::ptr_t(), std::static_pointer_cast<LLSettingsWater>(settings));
- if (environment)
- {
- fixedenv.first = environment->getSky();
- }
+// if (environment)
+// {
+// fixedenv.first = environment->getSky();
+// }
setEnvironment(env, fixedenv);
}
}
@@ -810,6 +862,17 @@ LLEnvironment::DayInstance::ptr_t LLEnvironment::getSelectedEnvironmentInstance(
return mEnvironments[ENV_DEFAULT];
}
+LLEnvironment::DayInstance::ptr_t LLEnvironment::getSharedEnvironmentInstance()
+{
+ for (S32 idx = ENV_PARCEL; idx < ENV_DEFAULT; ++idx)
+ {
+ if (mEnvironments[idx])
+ return mEnvironments[idx];
+ }
+
+ return mEnvironments[ENV_DEFAULT];
+}
+
void LLEnvironment::updateEnvironment(LLSettingsBase::Seconds transition, bool forced)
{
DayInstance::ptr_t pinstance = getSelectedEnvironmentInstance();
@@ -936,6 +999,11 @@ void LLEnvironment::update(const LLViewerCamera * cam)
mCurrentEnvironment->applyTimeDelta(delta);
+ if (mCurrentEnvironment->getEnvironmentSelection() != ENV_LOCAL)
+ {
+ applyInjectedSettings(mCurrentEnvironment, delta);
+ }
+
// update clouds, sun, and general
updateCloudScroll();
@@ -1731,32 +1799,37 @@ void LLEnvironment::handleEnvironmentPushFull(LLUUID experience_id, LLSD &messag
void LLEnvironment::handleEnvironmentPushPartial(LLUUID experience_id, LLSD &message, F32 transition)
{
+ LLSD settings(message["settings"]);
+
+ if (settings.isUndefined())
+ return;
+ setExperienceEnvironment(experience_id, settings, LLSettingsBase::Seconds(transition));
}
void LLEnvironment::clearExperienceEnvironment(LLUUID experience_id, F32 transition_time)
{
bool update_env(false);
- if (mPushEnvironmentExpId == experience_id)
+ if (hasEnvironment(ENV_PUSH))
{
- mPushEnvironmentExpId.setNull();
-
- if (hasEnvironment(ENV_PUSH))
- {
- update_env |= true;
- clearEnvironment(ENV_PUSH);
- updateEnvironment(LLSettingsBase::Seconds(transition_time));
- }
-
+ update_env |= true;
+ clearEnvironment(ENV_PUSH);
+ updateEnvironment(LLSettingsBase::Seconds(transition_time));
}
- // clear the override queue too.
- // update |= true;
+ setInstanceBackup(false);
+ /*TODO blend these back out*/
+ mSkyExperienceBlends.clear();
+ mWaterExperienceBlends.clear();
+ mCurrentEnvironment->getSky();
- if (update_env)
- updateEnvironment(LLSettingsBase::Seconds(transition_time));
+ injectSettings(experience_id, mSkyExperienceBlends, mSkyOverrides, LLSettingsBase::Seconds(transition_time), false);
+ injectSettings(experience_id, mWaterExperienceBlends, mWaterOverrides, LLSettingsBase::Seconds(transition_time), false);
+
+ mSkyOverrides = LLSD::emptyMap();
+ mWaterOverrides = LLSD::emptyMap();
}
void LLEnvironment::setSharedEnvironment()
@@ -1782,10 +1855,110 @@ void LLEnvironment::setExperienceEnvironment(LLUUID experience_id, LLUUID asset_
void LLEnvironment::setExperienceEnvironment(LLUUID experience_id, LLSD data, F32 transition_time)
{
+ LLSD sky(data["sky"]);
+ LLSD water(data["water"]);
+
+ if (sky.isUndefined() && water.isUndefined())
+ {
+ clearExperienceEnvironment(experience_id, transition_time);
+ return;
+ }
+
+ setInstanceBackup(true);
+
+ if (!sky.isUndefined())
+ injectSettings(experience_id, mSkyExperienceBlends, sky, LLSettingsBase::Seconds(transition_time), true);
+ if (!water.isUndefined())
+ injectSettings(experience_id, mWaterExperienceBlends, water, LLSettingsBase::Seconds(transition_time), true);
+
+}
+
+
+void LLEnvironment::setInstanceBackup(bool dobackup)
+{
+ mMakeBackups = dobackup;
+ for (S32 idx = ENV_PARCEL; idx < ENV_DEFAULT; ++idx)
+ {
+ if (mEnvironments[idx])
+ mEnvironments[idx]->setBackup(dobackup);
+ }
+}
+
+void LLEnvironment::injectSettings(LLUUID experience_id, exerienceBlendValues_t &blends, LLSD injections, LLSettingsBase::Seconds transition, bool blendin)
+{
+ for (LLSD::map_iterator it = injections.beginMap(); it != injections.endMap(); ++it)
+ {
+ blends.push_back(ExpBlendValue(transition, (*it).first, (*it).second, blendin, -1));
+ }
+
+ std::stable_sort(blends.begin(), blends.end(), [](const ExpBlendValue &a, const ExpBlendValue &b) { return a.mTimeRemaining < b.mTimeRemaining; });
+}
+
+void LLEnvironment::applyInjectedSettings(DayInstance::ptr_t environment, F32Seconds delta)
+{
+ if ((mSkyOverrides.size() > 0) || (mSkyExperienceBlends.size() > 0))
+ {
+ LLSettingsSky::ptr_t psky = environment->getSky();
+ applyInjectedValues(psky, mSkyOverrides);
+ blendInjectedValues(psky, mSkyExperienceBlends, mSkyOverrides, delta);
+ }
+ if ((mWaterOverrides.size() > 0) || (mWaterExperienceBlends.size() > 0))
+ {
+ LLSettingsWater::ptr_t pwater = environment->getWater();
+ applyInjectedValues(pwater, mWaterOverrides);
+ blendInjectedValues(pwater, mWaterExperienceBlends, mWaterOverrides, delta);
+ }
+}
+
+
+void LLEnvironment::applyInjectedValues(LLSettingsBase::ptr_t psetting, LLSD injection)
+{
+ for (LLSD::map_iterator it = injection.beginMap(); it != injection.endMap(); ++it)
+ {
+ psetting->setValue((*it).first, (*it).second);
+ }
+}
+
+void LLEnvironment::blendInjectedValues(LLSettingsBase::ptr_t psetting, exerienceBlendValues_t &blends, LLSD &overrides, F32Seconds delta)
+{
+ LLSD settings = psetting->getSettings();
+ LLSettingsBase::parammapping_t mappings = psetting->getParameterMap();
+ LLSettingsBase::stringset_t slerps = psetting->getSlerpKeys();
+
+ if (blends.empty())
+ return;
+
+ for (auto &blend : blends)
+ {
+ blend.mTimeRemaining -= delta;
+ LLSettingsBase::BlendFactor mix = std::max(blend.mTimeRemaining / blend.mTransition, 0.0f);
+ if (blend.mBlendIn)
+ mix = 1.0 - mix;
+ mix = std::max(0.0, std::min(mix, 1.0));
+
+ if (blend.mValueInitial.isUndefined())
+ blend.mValueInitial = psetting->getValue(blend.mKeyName);
+ LLSD newvalue = psetting->interpolateSDValue(blend.mKeyName, blend.mValueInitial, blend.mValue, mappings, mix, slerps);
+
+ psetting->setValue(blend.mKeyName, newvalue);
+ }
+
+ auto it = blends.begin();
+ for (; it != blends.end(); ++it)
+ {
+ if ((*it).mTimeRemaining > F32Seconds(0.0f))
+ break;
+ if ((*it).mBlendIn)
+ overrides[(*it).mKeyName] = (*it).mValue;
+ }
+ if (it != blends.begin())
+ {
+ blends.erase(blends.begin(), it);
+ }
}
//=========================================================================
-LLEnvironment::DayInstance::DayInstance() :
+LLEnvironment::DayInstance::DayInstance(EnvSelection_t env) :
mDayCycle(),
mSky(),
mWater(),
@@ -1795,18 +1968,42 @@ LLEnvironment::DayInstance::DayInstance() :
mBlenderWater(),
mInitialized(false),
mType(TYPE_INVALID),
- mSkyTrack(1)
+ mSkyTrack(1),
+ mEnv(env),
+ mBackup(false)
{ }
+
+LLEnvironment::DayInstance::ptr_t LLEnvironment::DayInstance::clone() const
+{
+ ptr_t environment = std::make_shared<DayInstance>(mEnv);
+
+ environment->mDayCycle = mDayCycle;
+ environment->mSky = mSky;
+ environment->mWater = mWater;
+ environment->mDayLength = mDayLength;
+ environment->mDayOffset = mDayOffset;
+ environment->mBlenderSky = mBlenderSky;
+ environment->mBlenderWater = mBlenderWater;
+ environment->mInitialized = mInitialized;
+ environment->mType = mType;
+ environment->mSkyTrack = mSkyTrack;
+
+ return environment;
+}
+
void LLEnvironment::DayInstance::applyTimeDelta(const LLSettingsBase::Seconds& delta)
{
+ bool changed(false);
if (!mInitialized)
initialize();
if (mBlenderSky)
- mBlenderSky->applyTimeDelta(delta);
+ changed |= mBlenderSky->applyTimeDelta(delta);
if (mBlenderWater)
- mBlenderWater->applyTimeDelta(delta);
+ changed |= mBlenderWater->applyTimeDelta(delta);
+ if (mBackup && changed)
+ backup();
}
void LLEnvironment::DayInstance::setDay(const LLSettingsDay::ptr_t &pday, LLSettingsDay::Seconds daylength, LLSettingsDay::Seconds dayoffset)
@@ -1843,6 +2040,8 @@ void LLEnvironment::DayInstance::setSky(const LLSettingsSky::ptr_t &psky)
mSky->mReplaced |= different_sky;
mSky->update();
mBlenderSky.reset();
+ if (mBackup)
+ backup();
if (gAtmosphere)
{
@@ -1862,6 +2061,8 @@ void LLEnvironment::DayInstance::setWater(const LLSettingsWater::ptr_t &pwater)
mWater = pwater;
mWater->update();
mBlenderWater.reset();
+ if (mBackup)
+ backup();
}
void LLEnvironment::DayInstance::initialize()
@@ -1903,6 +2104,53 @@ void LLEnvironment::DayInstance::setBlenders(const LLSettingsBlender::ptr_t &sky
mBlenderWater = waterblend;
}
+
+void LLEnvironment::DayInstance::setBackup(bool backupval)
+{
+ if (backupval == mBackup)
+ return;
+
+ mBackup = backupval;
+ LLSettingsSky::ptr_t psky = getSky();
+ if (mBackup)
+ {
+ backup();
+ }
+ else
+ {
+ restore();
+ mBackupSky = LLSD();
+ mBackupWater = LLSD();
+ }
+}
+
+void LLEnvironment::DayInstance::backup()
+{
+ if (!mBackup)
+ return;
+
+ if (mSky)
+ {
+ mBackupSky = mSky->cloneSettings();
+ }
+ if (mWater)
+ {
+ mBackupWater = mWater->cloneSettings();
+ }
+}
+
+void LLEnvironment::DayInstance::restore()
+{
+ if (!mBackupSky.isUndefined() && mSky)
+ {
+ mSky->replaceSettings(mBackupSky);
+ }
+ if (!mBackupWater.isUndefined() && mWater)
+ {
+ mWater->replaceSettings(mBackupWater);
+ }
+}
+
LLSettingsBase::TrackPosition LLEnvironment::DayInstance::secondsToKeyframe(LLSettingsDay::Seconds seconds)
{
return convert_time_to_position(seconds, mDayLength);
@@ -1951,7 +2199,7 @@ void LLEnvironment::DayInstance::animate()
//-------------------------------------------------------------------------
LLEnvironment::DayTransition::DayTransition(const LLSettingsSky::ptr_t &skystart,
const LLSettingsWater::ptr_t &waterstart, LLEnvironment::DayInstance::ptr_t &end, LLSettingsDay::Seconds time) :
- DayInstance(),
+ DayInstance(ENV_NONE),
mStartSky(skystart),
mStartWater(waterstart),
mNextInstance(end),
@@ -2066,3 +2314,5 @@ F64 LLTrackBlenderLoopingManual::getSpanLength(const LLSettingsDay::TrackBound_t
{
return get_wrapping_distance((*bounds.first).first, (*bounds.second).first);
}
+
+//=========================================================================
diff --git a/indra/newview/llenvironment.h b/indra/newview/llenvironment.h
index c5ac43704a..47e0f0208b 100644
--- a/indra/newview/llenvironment.h
+++ b/indra/newview/llenvironment.h
@@ -124,8 +124,8 @@ public:
bool canAgentUpdateRegionEnvironment() const;
LLSettingsDay::ptr_t getCurrentDay() const { return mCurrentEnvironment->getDayCycle(); }
- LLSettingsSky::ptr_t getCurrentSky() const { return mCurrentEnvironment->getSky(); }
- LLSettingsWater::ptr_t getCurrentWater() const { return mCurrentEnvironment->getWater(); }
+ LLSettingsSky::ptr_t getCurrentSky() const;
+ LLSettingsWater::ptr_t getCurrentWater() const;
static void getAtmosphericModelSettings(AtmosphericModelSettings& settingsOut, const LLSettingsSky::ptr_t &psky);
@@ -221,13 +221,6 @@ public:
void handleEnvironmentPush(LLSD &message);
-protected:
- virtual void initSingleton();
-
-private:
- LLVector4 toCFR(const LLVector3 vec) const;
- LLVector4 toLightNorm(const LLVector3 vec) const;
-
class DayInstance
{
public:
@@ -239,14 +232,16 @@ private:
};
typedef std::shared_ptr<DayInstance> ptr_t;
- DayInstance();
+ DayInstance(EnvSelection_t env);
virtual ~DayInstance() { };
+ ptr_t clone() const;
+
virtual void applyTimeDelta(const LLSettingsBase::Seconds& delta);
- void setDay(const LLSettingsDay::ptr_t &pday, LLSettingsDay::Seconds daylength, LLSettingsDay::Seconds dayoffset);
- void setSky(const LLSettingsSky::ptr_t &psky);
- void setWater(const LLSettingsWater::ptr_t &pwater);
+ virtual void setDay(const LLSettingsDay::ptr_t &pday, LLSettingsDay::Seconds daylength, LLSettingsDay::Seconds dayoffset);
+ virtual void setSky(const LLSettingsSky::ptr_t &psky);
+ virtual void setWater(const LLSettingsWater::ptr_t &pwater);
void initialize();
bool isInitialized();
@@ -266,12 +261,24 @@ private:
void setBlenders(const LLSettingsBlender::ptr_t &skyblend, const LLSettingsBlender::ptr_t &waterblend);
+ EnvSelection_t getEnvironmentSelection() const { return mEnv; }
+
+ void setBackup(bool backup);
+ bool getBackup() const { return mBackup; }
+ bool hasBackupSky() const { return !mBackupSky.isUndefined() || !mBackupWater.isUndefined(); }
+ void backup();
+ void restore();
+
protected:
LLSettingsDay::ptr_t mDayCycle;
LLSettingsSky::ptr_t mSky;
LLSettingsWater::ptr_t mWater;
S32 mSkyTrack;
+ bool mBackup;
+ LLSD mBackupSky;
+ LLSD mBackupWater;
+
InstanceType_t mType;
bool mInitialized;
@@ -282,8 +289,21 @@ private:
LLSettingsBlender::ptr_t mBlenderSky;
LLSettingsBlender::ptr_t mBlenderWater;
+ EnvSelection_t mEnv;
+
LLSettingsBase::TrackPosition secondsToKeyframe(LLSettingsDay::Seconds seconds);
};
+
+ DayInstance::ptr_t getSelectedEnvironmentInstance();
+ DayInstance::ptr_t getSharedEnvironmentInstance();
+
+protected:
+ virtual void initSingleton();
+
+private:
+ LLVector4 toCFR(const LLVector3 vec) const;
+ LLVector4 toLightNorm(const LLVector3 vec) const;
+
typedef std::array<DayInstance::ptr_t, ENV_END> InstanceArray_t;
struct ExpEnvironmentEntry
@@ -337,9 +357,12 @@ private:
S32 mCurrentTrack;
altitude_list_t mTrackAltitudes;
- DayInstance::ptr_t getEnvironmentInstance(EnvSelection_t env, bool create = false);
+ LLSD mSkyOverrides;
+ LLSD mWaterOverrides;
+ LLSD mSkyOverrideBlends;
+ LLSD mWaterOverrideBlends;
- DayInstance::ptr_t getSelectedEnvironmentInstance();
+ DayInstance::ptr_t getEnvironmentInstance(EnvSelection_t env, bool create = false);
void updateCloudScroll();
@@ -376,6 +399,31 @@ private:
std::string mDayName;
};
+ struct ExpBlendValue
+ {
+ ExpBlendValue(F32Seconds transition, const std::string &keyname, LLSD value, bool blendin, S32 index = -1) :
+ mTransition(transition),
+ mTimeRemaining(transition),
+ mKeyName(keyname),
+ mValue(value),
+ mValueInitial(),
+ mIndex(index),
+ mBlendIn(blendin)
+ {}
+
+ F32Seconds mTransition;
+ F32Seconds mTimeRemaining;
+ std::string mKeyName;
+ LLSD mValue;
+ LLSD mValueInitial;
+ S32 mIndex;
+ bool mBlendIn;
+
+ typedef std::shared_ptr<ExpBlendValue> ptr_t;
+ };
+
+ typedef std::deque<ExpBlendValue> exerienceBlendValues_t;
+
void coroRequestEnvironment(S32 parcel_id, environment_apply_fn apply);
void coroUpdateEnvironment(S32 parcel_id, S32 track_no, UpdateInfo::ptr_t updates, environment_apply_fn apply);
void coroResetEnvironment(S32 parcel_id, S32 track_no, environment_apply_fn apply);
@@ -394,6 +442,17 @@ private:
void clearExperienceEnvironment(LLUUID experience_id, F32 transition_time);
void setExperienceEnvironment(LLUUID experience_id, LLUUID asset_id, F32 transition_time);
void setExperienceEnvironment(LLUUID experience_id, LLSD environment, F32 transition_time);
+ void setInstanceBackup(bool dobackup);
+
+ void injectSettings(LLUUID experience_id, exerienceBlendValues_t &blends, LLSD injections, LLSettingsBase::Seconds transition, bool blendin);
+
+ void applyInjectedSettings(DayInstance::ptr_t environment, F32Seconds delta);
+ void applyInjectedValues(LLSettingsBase::ptr_t psetting, LLSD injection);
+ void blendInjectedValues(LLSettingsBase::ptr_t psetting, exerienceBlendValues_t &blends, LLSD &overrides, F32Seconds delta);
+
+ exerienceBlendValues_t mSkyExperienceBlends;
+ exerienceBlendValues_t mWaterExperienceBlends;
+ bool mMakeBackups;
};
class LLTrackBlenderLoopingManual : public LLSettingsBlender
diff --git a/indra/newview/lleventpoll.cpp b/indra/newview/lleventpoll.cpp
index 5e0f3ab7f9..299fffd9ab 100644
--- a/indra/newview/lleventpoll.cpp
+++ b/indra/newview/lleventpoll.cpp
@@ -106,6 +106,7 @@ namespace Details
LLSD message;
message["sender"] = mSenderIp;
message["body"] = content["body"];
+
LLMessageSystem::dispatch(msg_name, message);
}
@@ -241,7 +242,7 @@ namespace Details
!result.get("events") ||
!result.get("id"))
{
- LL_WARNS("LLEventPollImpl") << " <" << counter << "> received event poll with no events or id key: " << LLSDXMLStreamer(result) << LL_ENDL;
+ LL_WARNS("LLEventPollImpl") << " <" << counter << "> received event poll with no events or id key: " << result << LL_ENDL;
continue;
}
@@ -254,7 +255,7 @@ namespace Details
}
// was LL_INFOS() but now that CoarseRegionUpdate is TCP @ 1/second, it'd be too verbose for viewer logs. -MG
- LL_DEBUGS("LLEventPollImpl") << " <" << counter << "> " << events.size() << "events (id " << LLSDXMLStreamer(acknowledge) << ")" << LL_ENDL;
+ LL_DEBUGS("LLEventPollImpl") << " <" << counter << "> " << events.size() << "events (id " << acknowledge << ")" << LL_ENDL;
LLSD::array_const_iterator i = events.beginArray();
LLSD::array_const_iterator end = events.endArray();
diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp
index f9f0ed1b95..7184d07ee3 100644
--- a/indra/newview/llfloatereditextdaycycle.cpp
+++ b/indra/newview/llfloatereditextdaycycle.cpp
@@ -1079,8 +1079,8 @@ void LLFloaterEditExtDayCycle::updateButtons()
//bool can_add = static_cast<bool>(settings);
//mAddFrameButton->setEnabled(can_add);
//mDeleteFrameButton->setEnabled(!can_add);
- mAddFrameButton->setEnabled(isAddingFrameAllowed() && mCanMod);
- mDeleteFrameButton->setEnabled(isRemovingFrameAllowed() && mCanMod);
+ mAddFrameButton->setEnabled(!mIsPlaying && isAddingFrameAllowed() && mCanMod);
+ mDeleteFrameButton->setEnabled(!mIsPlaying && isRemovingFrameAllowed() && mCanMod);
mLoadFrame->setEnabled(!mIsPlaying && mCanMod);
}
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 43b359e003..4eb2814dfb 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -530,13 +530,6 @@ void LLFloaterPreference::onDoNotDisturbResponseChanged()
LLFloaterPreference::~LLFloaterPreference()
{
- // clean up user data
- LLComboBox* ctrl_window_size = getChild<LLComboBox>("windowsize combo");
- for (S32 i = 0; i < ctrl_window_size->getItemCount(); i++)
- {
- ctrl_window_size->setCurrentByIndex(i);
- }
-
LLConversationLog::instance().removeObserver(this);
}
@@ -2341,12 +2334,21 @@ BOOL LLPanelPreference::postBuild()
{
getChild<LLCheckBoxCtrl>("voice_call_friends_only_check")->setCommitCallback(boost::bind(&showFriendsOnlyWarning, _1, _2));
}
+ if (hasChild("allow_multiple_viewer_check", TRUE))
+ {
+ getChild<LLCheckBoxCtrl>("allow_multiple_viewer_check")->setCommitCallback(boost::bind(&showMultipleViewersWarning, _1, _2));
+ }
if (hasChild("favorites_on_login_check", TRUE))
{
getChild<LLCheckBoxCtrl>("favorites_on_login_check")->setCommitCallback(boost::bind(&handleFavoritesOnLoginChanged, _1, _2));
bool show_favorites_at_login = LLPanelLogin::getShowFavorites();
getChild<LLCheckBoxCtrl>("favorites_on_login_check")->setValue(show_favorites_at_login);
}
+ if (hasChild("mute_chb_label", TRUE))
+ {
+ getChild<LLTextBox>("mute_chb_label")->setShowCursorHand(false);
+ getChild<LLTextBox>("mute_chb_label")->setClickedCallback(boost::bind(&toggleMuteWhenMinimized));
+ }
//////////////////////PanelAdvanced ///////////////////
if (hasChild("modifier_combo", TRUE))
@@ -2436,6 +2438,14 @@ void LLPanelPreference::saveSettings()
}
}
+void LLPanelPreference::showMultipleViewersWarning(LLUICtrl* checkbox, const LLSD& value)
+{
+ if (checkbox && checkbox->getValue())
+ {
+ LLNotificationsUtil::add("AllowMultipleViewers");
+ }
+}
+
void LLPanelPreference::showFriendsOnlyWarning(LLUICtrl* checkbox, const LLSD& value)
{
if (checkbox && checkbox->getValue())
@@ -2456,6 +2466,12 @@ void LLPanelPreference::handleFavoritesOnLoginChanged(LLUICtrl* checkbox, const
}
}
+void LLPanelPreference::toggleMuteWhenMinimized()
+{
+ std::string mute("MuteWhenMinimized");
+ gSavedSettings.setBOOL(mute, !gSavedSettings.getBOOL(mute));
+}
+
void LLPanelPreference::cancel()
{
for (control_values_map_t::iterator iter = mSavedValues.begin();
diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h
index 973ca25c37..e807038685 100644
--- a/indra/newview/llfloaterpreference.h
+++ b/indra/newview/llfloaterpreference.h
@@ -241,9 +241,12 @@ protected:
private:
//for "Only friends and groups can call or IM me"
static void showFriendsOnlyWarning(LLUICtrl*, const LLSD&);
+ //for "Allow Multiple Viewers"
+ static void showMultipleViewersWarning(LLUICtrl*, const LLSD&);
//for "Show my Favorite Landmarks at Login"
static void handleFavoritesOnLoginChanged(LLUICtrl* checkbox, const LLSD& value);
+ static void toggleMuteWhenMinimized();
typedef std::map<std::string, LLColor4> string_color_map_t;
string_color_map_t mSavedColors;
diff --git a/indra/newview/llfloaterscriptdebug.cpp b/indra/newview/llfloaterscriptdebug.cpp
index 468537e659..1ea3a07536 100644
--- a/indra/newview/llfloaterscriptdebug.cpp
+++ b/indra/newview/llfloaterscriptdebug.cpp
@@ -138,7 +138,10 @@ void LLFloaterScriptDebug::addScriptLine(const std::string &utf8mesg, const std:
{
if(objectp->isHUDAttachment())
{
- ((LLViewerObject*)gAgentAvatarp)->setIcon(LLViewerTextureManager::getFetchedTextureFromFile("script_error.j2c", FTT_LOCAL_FILE, TRUE, LLGLTexture::BOOST_UI));
+ if (isAgentAvatarValid())
+ {
+ ((LLViewerObject*)gAgentAvatarp)->setIcon(LLViewerTextureManager::getFetchedTextureFromFile("script_error.j2c", FTT_LOCAL_FILE, TRUE, LLGLTexture::BOOST_UI));
+ }
}
else
{
diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp
index 3c3b004d2c..1e9c9ce5e0 100644
--- a/indra/newview/llfloaterworldmap.cpp
+++ b/indra/newview/llfloaterworldmap.cpp
@@ -300,8 +300,8 @@ BOOL LLFloaterWorldMap::postBuild()
landmark_combo->setTextChangedCallback( boost::bind(&LLFloaterWorldMap::onComboTextEntry, this) );
mListLandmarkCombo = dynamic_cast<LLCtrlListInterface *>(landmark_combo);
- mCurZoomVal = log(LLWorldMapView::sMapScale)/log(2.f);
- getChild<LLUICtrl>("zoom slider")->setValue(LLWorldMapView::sMapScale);
+ mCurZoomVal = log(LLWorldMapView::sMapScale/256.f)/log(2.f);
+ getChild<LLUICtrl>("zoom slider")->setValue(mCurZoomVal);
setDefaultBtn(NULL);
diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp
index b93dfaf061..d40a7234e2 100644
--- a/indra/newview/llfolderviewmodelinventory.cpp
+++ b/indra/newview/llfolderviewmodelinventory.cpp
@@ -181,24 +181,26 @@ bool LLFolderViewModelItemInventory::filterChildItem( LLFolderViewModelItem* ite
S32 filter_generation = filter.getCurrentGeneration();
bool continue_filtering = true;
- if (item->getLastFilterGeneration() < filter_generation)
+ if (item)
{
- // Recursive application of the filter for child items (CHUI-849)
- continue_filtering = item->filter( filter );
- }
+ if (item->getLastFilterGeneration() < filter_generation)
+ {
+ // Recursive application of the filter for child items (CHUI-849)
+ continue_filtering = item->filter(filter);
+ }
- // Update latest generation to pass filter in parent and propagate up to root
- if (item->passedFilter())
- {
- LLFolderViewModelItemInventory* view_model = this;
-
- while(view_model && view_model->mMostFilteredDescendantGeneration < filter_generation)
+ // Update latest generation to pass filter in parent and propagate up to root
+ if (item->passedFilter())
{
- view_model->mMostFilteredDescendantGeneration = filter_generation;
- view_model = static_cast<LLFolderViewModelItemInventory*>(view_model->mParent);
+ LLFolderViewModelItemInventory* view_model = this;
+
+ while (view_model && view_model->mMostFilteredDescendantGeneration < filter_generation)
+ {
+ view_model->mMostFilteredDescendantGeneration = filter_generation;
+ view_model = static_cast<LLFolderViewModelItemInventory*>(view_model->mParent);
+ }
}
}
-
return continue_filtering;
}
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index f2d418fc9d..44927de75e 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -2486,12 +2486,14 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
const LLUUID &trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH, false);
const LLUUID &landmarks_id = model->findCategoryUUIDForType(LLFolderType::FT_LANDMARK, false);
const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
+ const LLUUID &lost_and_found_id = model->findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND, false);
const BOOL move_is_into_trash = (mUUID == trash_id) || model->isObjectDescendentOf(mUUID, trash_id);
const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
const BOOL move_is_into_current_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_CURRENT_OUTFIT);
const BOOL move_is_into_landmarks = (mUUID == landmarks_id) || model->isObjectDescendentOf(mUUID, landmarks_id);
+ const BOOL move_is_into_lost_and_found = model->isObjectDescendentOf(mUUID, lost_and_found_id);
//--------------------------------------------------------------------------------
// Determine if folder can be moved.
@@ -2541,6 +2543,10 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
{
is_movable = FALSE;
}
+ if (is_movable && move_is_into_lost_and_found)
+ {
+ is_movable = FALSE;
+ }
if (is_movable && (mUUID == model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE)))
{
is_movable = FALSE;
@@ -3654,12 +3660,14 @@ void LLFolderBridge::perform_pasteFromClipboard()
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE, false);
const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
+ const LLUUID &lost_and_found_id = model->findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND, false);
const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
const BOOL move_is_into_marketplacelistings = model->isObjectDescendentOf(mUUID, marketplacelistings_id);
const BOOL move_is_into_favorites = (mUUID == favorites_id);
+ const BOOL move_is_into_lost_and_found = model->isObjectDescendentOf(mUUID, lost_and_found_id);
std::vector<LLUUID> objects;
LLClipboard::instance().pasteFromClipboard(objects);
@@ -3726,6 +3734,13 @@ void LLFolderBridge::perform_pasteFromClipboard()
LLInventoryObject *obj = model->getObject(item_id);
if (obj)
{
+ if (move_is_into_lost_and_found)
+ {
+ if (LLAssetType::AT_CATEGORY == obj->getType())
+ {
+ return;
+ }
+ }
if (move_is_into_current_outfit || move_is_into_outfit)
{
if (item && can_move_to_outfit(item, move_is_into_current_outfit))
diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp
index 1c6d9fba9d..6046fbf2ab 100644
--- a/indra/newview/llinventorymodel.cpp
+++ b/indra/newview/llinventorymodel.cpp
@@ -2368,7 +2368,11 @@ void LLInventoryModel::buildParentChildMap()
}
// FIXME note that updateServer() fails with protected
// types, so this will not work as intended in that case.
- cat->updateServer(TRUE);
+ // UpdateServer uses AIS, AIS cat move is not implemented yet
+ // cat->updateServer(TRUE);
+
+ // MoveInventoryFolder message, intentionally per item
+ cat->updateParentOnServer(FALSE);
catsp = getUnlockedCatArray(cat->getParentUUID());
if(catsp)
{
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index 0dd37b6161..7fea502c0f 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -1155,12 +1155,16 @@ void LLInventoryPanel::onSelectionChange(const std::deque<LLFolderViewItem*>& it
mCompletionObserver->reset();
for (std::deque<LLFolderViewItem*>::const_iterator it = items.begin(); it != items.end(); ++it)
{
- LLUUID id = static_cast<LLFolderViewModelItemInventory*>((*it)->getViewModelItem())->getUUID();
- LLViewerInventoryItem* inv_item = mInventory->getItem(id);
-
- if (inv_item && !inv_item->isFinished())
+ LLFolderViewModelItemInventory* view_model = static_cast<LLFolderViewModelItemInventory*>((*it)->getViewModelItem());
+ if (view_model)
{
- mCompletionObserver->watchItem(id);
+ LLUUID id = view_model->getUUID();
+ LLViewerInventoryItem* inv_item = mInventory->getItem(id);
+
+ if (inv_item && !inv_item->isFinished())
+ {
+ mCompletionObserver->watchItem(id);
+ }
}
}
@@ -1186,6 +1190,11 @@ void LLInventoryPanel::onSelectionChange(const std::deque<LLFolderViewItem*>& it
LLFolderViewModelItemInventory* fve_listener = static_cast<LLFolderViewModelItemInventory*>(folder_item->getViewModelItem());
if (fve_listener && (fve_listener->getInventoryType() == LLInventoryType::IT_CATEGORY))
{
+ if (fve_listener->getInventoryObject() && fve_listener->getInventoryObject()->getIsLinkType())
+ {
+ return;
+ }
+
if(prev_folder_item)
{
LLFolderBridge* prev_bridge = (LLFolderBridge*)prev_folder_item->getViewModelItem();
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index 13ee7bb003..8d7865c8ba 100644
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -718,11 +718,12 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
bool identical_color = false;
if(mColorSwatch)
- {
+ {
LLSelectedTE::getColor(color, identical_color);
+ LLColor4 prev_color = mColorSwatch->get();
mColorSwatch->setOriginal(color);
- mColorSwatch->set(color, TRUE);
+ mColorSwatch->set(color, force_set_values || (prev_color != color) || !editable);
mColorSwatch->setValid(editable);
mColorSwatch->setEnabled( editable );
@@ -1318,8 +1319,12 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
//
if (!material->getSpecularID().isNull())
{
- getChild<LLColorSwatchCtrl>("shinycolorswatch")->setOriginal(material->getSpecularLightColor());
- getChild<LLColorSwatchCtrl>("shinycolorswatch")->set(material->getSpecularLightColor(),TRUE);
+ LLColorSwatchCtrl* shiny_swatch = getChild<LLColorSwatchCtrl>("shinycolorswatch");
+ LLColor4 new_color = material->getSpecularLightColor();
+ LLColor4 old_color = shiny_swatch->get();
+
+ shiny_swatch->setOriginal(new_color);
+ shiny_swatch->set(new_color, force_set_values || old_color != new_color || !editable);
}
// Bumpy (normal)
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index a9a0b89078..9c0e842c30 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -2532,7 +2532,8 @@ void register_viewer_callbacks(LLMessageSystem* msg)
msg->setHandlerFunc("InitiateDownload", process_initiate_download);
msg->setHandlerFunc("LandStatReply", LLFloaterTopObjects::handle_land_reply);
- msg->setHandlerFunc("GenericMessage", process_generic_message);
+ msg->setHandlerFunc("GenericMessage", process_generic_message);
+ msg->setHandlerFunc("LargeGenericMessage", process_large_generic_message);
msg->setHandlerFuncFast(_PREHASH_FeatureDisabled, process_feature_disabled_message);
}
diff --git a/indra/newview/lltoastscripttextbox.cpp b/indra/newview/lltoastscripttextbox.cpp
index 776ae2ece9..518c6c0ee4 100644
--- a/indra/newview/lltoastscripttextbox.cpp
+++ b/indra/newview/lltoastscripttextbox.cpp
@@ -28,6 +28,7 @@
#include "lltoastscripttextbox.h"
+#include "lldbstrings.h"
#include "lllslconstants.h"
#include "llnotifications.h"
#include "llstyle.h"
@@ -35,13 +36,16 @@
#include "llviewertexteditor.h"
const S32 LLToastScriptTextbox::DEFAULT_MESSAGE_MAX_LINE_COUNT= 14;
+// *TODO: magic numbers - copied from lltoastnotifypanel.cpp(50) which was copied from llnotify.cpp(250)
+const S32 MAX_LENGTH = 512 + 20 + DB_FIRST_NAME_BUF_SIZE + DB_LAST_NAME_BUF_SIZE + DB_INV_ITEM_NAME_BUF_SIZE;
LLToastScriptTextbox::LLToastScriptTextbox(const LLNotificationPtr& notification)
: LLToastPanel(notification)
{
buildFromFile( "panel_notify_textbox.xml");
- mInfoText = getChild<LLTextBox>("text_editor_box");
+ mInfoText = getChild<LLTextEditor>("text_editor_box");
+ mInfoText->setMaxTextLength(MAX_LENGTH);
mInfoText->setValue(notification->getMessage());
getChild<LLButton>("ignore_btn")->setClickedCallback(boost::bind(&LLToastScriptTextbox::onClickIgnore, this));
diff --git a/indra/newview/lltoastscripttextbox.h b/indra/newview/lltoastscripttextbox.h
index 7aee02dd00..a539124ef1 100644
--- a/indra/newview/lltoastscripttextbox.h
+++ b/indra/newview/lltoastscripttextbox.h
@@ -48,7 +48,7 @@ public:
private:
- LLTextBox* mInfoText;
+ LLTextEditor* mInfoText;
void onClickSubmit();
void onClickIgnore();
diff --git a/indra/newview/llviewergenericmessage.cpp b/indra/newview/llviewergenericmessage.cpp
index 3df53a4a30..d3de9d72bf 100644
--- a/indra/newview/llviewergenericmessage.cpp
+++ b/indra/newview/llviewergenericmessage.cpp
@@ -70,8 +70,6 @@ void send_generic_message(const std::string& method,
gAgent.sendReliableMessage();
}
-
-
void process_generic_message(LLMessageSystem* msg, void**)
{
LLUUID agent_id;
@@ -93,3 +91,25 @@ void process_generic_message(LLMessageSystem* msg, void**)
<< LL_ENDL;
}
}
+
+void process_large_generic_message(LLMessageSystem* msg, void**)
+{
+ LLUUID agent_id;
+ msg->getUUID("AgentData", "AgentID", agent_id);
+ if (agent_id != gAgent.getID())
+ {
+ LL_WARNS() << "GenericMessage for wrong agent" << LL_ENDL;
+ return;
+ }
+
+ std::string request;
+ LLUUID invoice;
+ LLDispatcher::sparam_t strings;
+ LLDispatcher::unpackLargeMessage(msg, request, invoice, strings);
+
+ if (!gGenericDispatcher.dispatch(request, invoice, strings))
+ {
+ LL_WARNS() << "GenericMessage " << request << " failed to dispatch"
+ << LL_ENDL;
+ }
+}
diff --git a/indra/newview/llviewergenericmessage.h b/indra/newview/llviewergenericmessage.h
index 9d451ec0bc..170f38a485 100644
--- a/indra/newview/llviewergenericmessage.h
+++ b/indra/newview/llviewergenericmessage.h
@@ -38,6 +38,7 @@ void send_generic_message(const std::string& method,
const LLUUID& invoice = LLUUID::null);
void process_generic_message(LLMessageSystem* msg, void**);
+void process_large_generic_message(LLMessageSystem* msg, void**);
extern LLDispatcher gGenericDispatcher;
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index dcd09f66c7..1e46a1cf9e 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -139,6 +139,7 @@ std::map<std::string, U32> LLViewerObject::sObjectDataMap;
const F32 PHYSICS_TIMESTEP = 1.f / 45.f;
const U32 MAX_INV_FILE_READ_FAILS = 25;
+const S32 MAX_OBJECT_BINARY_DATA_SIZE = 60 + 16;
static LLTrace::BlockTimerStatHandle FTM_CREATE_OBJECT("Create Object");
@@ -1182,7 +1183,9 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
// Use getPosition, not getPositionRegion, since this is what we're comparing directly against.
LLVector3 test_pos_parent = getPosition();
- U8 data[60+16]; // This needs to match the largest size below.
+ // This needs to match the largest size below. See switch(length)
+ U8 data[MAX_OBJECT_BINARY_DATA_SIZE];
+
#ifdef LL_BIG_ENDIAN
U16 valswizzle[4];
#endif
@@ -1249,7 +1252,7 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
mesgsys->getU8Fast( _PREHASH_ObjectData, _PREHASH_ClickAction, click_action, block_num);
mesgsys->getVector3Fast(_PREHASH_ObjectData, _PREHASH_Scale, new_scale, block_num );
length = mesgsys->getSizeFast(_PREHASH_ObjectData, block_num, _PREHASH_ObjectData);
- mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_ObjectData, data, length, block_num);
+ mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_ObjectData, data, length, block_num, MAX_OBJECT_BINARY_DATA_SIZE);
mTotalCRC = crc;
@@ -1557,7 +1560,7 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
LL_INFOS() << "TI:" << getID() << LL_ENDL;
#endif
length = mesgsys->getSizeFast(_PREHASH_ObjectData, block_num, _PREHASH_ObjectData);
- mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_ObjectData, data, length, block_num);
+ mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_ObjectData, data, length, block_num, MAX_OBJECT_BINARY_DATA_SIZE);
count = 0;
LLVector4 collision_plane;
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index fc06455c68..2aff71367e 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -479,8 +479,8 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys,
compressed_dp.reset();
uncompressed_length = mesgsys->getSizeFast(_PREHASH_ObjectData, i, _PREHASH_Data);
- LL_DEBUGS("ObjectUpdate") << "got binary data from message to compressed_dpbuffer" << LL_ENDL;
- mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_Data, compressed_dpbuffer, 0, i);
+ LL_DEBUGS("ObjectUpdate") << "got binary data from message to compressed_dpbuffer" << LL_ENDL;
+ mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_Data, compressed_dpbuffer, 0, i, 2048);
compressed_dp.assignBuffer(compressed_dpbuffer, uncompressed_length);
if (update_type != OUT_TERSE_IMPROVED) // OUT_FULL_COMPRESSED only?
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index 82932ef6ae..507936190a 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -111,9 +111,9 @@ const F32 desired_discard_bias_max = (F32)MAX_DISCARD_LEVEL; // max number of le
const F64 log_2 = log(2.0);
#if ADDRESS_SIZE == 32
-const U32 DESIRED_NORMAL_FETCHED_TEXTURE_SIZE = (U32)LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT / 2;
+const U32 DESIRED_NORMAL_TEXTURE_SIZE = (U32)LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT / 2;
#else
-const U32 DESIRED_NORMAL_FETCHED_TEXTURE_SIZE = (U32)LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT;
+const U32 DESIRED_NORMAL_TEXTURE_SIZE = (U32)LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT;
#endif
//----------------------------------------------------------------------------------------------
@@ -1586,10 +1586,6 @@ void LLViewerFetchedTexture::processTextureStats()
else
{
U32 desired_size = MAX_IMAGE_SIZE_DEFAULT; // MAX_IMAGE_SIZE_DEFAULT = 1024 and max size ever is 2048
- if (mBoostLevel <= LLGLTexture::BOOST_SCULPTED)
- {
- desired_size = DESIRED_NORMAL_FETCHED_TEXTURE_SIZE;
- }
if(!mKnownDrawWidth || !mKnownDrawHeight || mFullWidth <= mKnownDrawWidth || mFullHeight <= mKnownDrawHeight)
{
if (mFullWidth > desired_size || mFullHeight > desired_size)
@@ -3171,6 +3167,7 @@ void LLViewerLODTexture::processTextureStats()
if (mKnownDrawWidth && mKnownDrawHeight)
{
S32 draw_texels = mKnownDrawWidth * mKnownDrawHeight;
+ draw_texels = llclamp(draw_texels, MIN_IMAGE_AREA, MAX_IMAGE_AREA);
// Use log_4 because we're in square-pixel space, so an image
// with twice the width and twice the height will have mTexelsPerImage
@@ -3211,7 +3208,7 @@ void LLViewerLODTexture::processTextureStats()
U32 desired_size = MAX_IMAGE_SIZE_DEFAULT; // MAX_IMAGE_SIZE_DEFAULT = 1024 and max size ever is 2048
if (mBoostLevel <= LLGLTexture::BOOST_SCULPTED)
{
- desired_size = DESIRED_NORMAL_FETCHED_TEXTURE_SIZE;
+ desired_size = DESIRED_NORMAL_TEXTURE_SIZE;
}
if (mFullWidth > desired_size || mFullHeight > desired_size)
min_discard = 1.f;
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index e1dca4ae43..5c107cc10b 100644
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -839,7 +839,7 @@ void LLVoiceClient::addObserver(LLVoiceClientStatusObserver* observer)
void LLVoiceClient::removeObserver(LLVoiceClientStatusObserver* observer)
{
- if (mVoiceModule) mVoiceModule->removeObserver(observer);
+ if (mVoiceModule && mVoiceModule->singletoneInstanceExists()) mVoiceModule->removeObserver(observer);
}
void LLVoiceClient::addObserver(LLFriendObserver* observer)
@@ -849,7 +849,7 @@ void LLVoiceClient::addObserver(LLFriendObserver* observer)
void LLVoiceClient::removeObserver(LLFriendObserver* observer)
{
- if (mVoiceModule) mVoiceModule->removeObserver(observer);
+ if (mVoiceModule && mVoiceModule->singletoneInstanceExists()) mVoiceModule->removeObserver(observer);
}
void LLVoiceClient::addObserver(LLVoiceClientParticipantObserver* observer)
@@ -859,7 +859,7 @@ void LLVoiceClient::addObserver(LLVoiceClientParticipantObserver* observer)
void LLVoiceClient::removeObserver(LLVoiceClientParticipantObserver* observer)
{
- if (mVoiceModule) mVoiceModule->removeObserver(observer);
+ if (mVoiceModule && mVoiceModule->singletoneInstanceExists()) mVoiceModule->removeObserver(observer);
}
std::string LLVoiceClient::sipURIFromID(const LLUUID &id)
diff --git a/indra/newview/llvoiceclient.h b/indra/newview/llvoiceclient.h
index 337f01f3e5..758e9cecd7 100644
--- a/indra/newview/llvoiceclient.h
+++ b/indra/newview/llvoiceclient.h
@@ -121,6 +121,8 @@ public:
virtual const LLVoiceVersionInfo& getVersion()=0;
+ virtual bool singletoneInstanceExists()=0;
+
/////////////////////
/// @name Tuning
//@{
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp
index b039afa734..ee333bcee2 100644
--- a/indra/newview/llvoicevivox.cpp
+++ b/indra/newview/llvoicevivox.cpp
@@ -4726,6 +4726,11 @@ void LLVivoxVoiceClient::declineInvite(std::string &sessionHandle)
}
}
+bool LLVivoxVoiceClient::singletoneInstanceExists()
+{
+ return LLVivoxVoiceClient::instanceExists();
+}
+
void LLVivoxVoiceClient::leaveNonSpatialChannel()
{
LL_DEBUGS("Voice") << "Request to leave spacial channel." << LL_ENDL;
diff --git a/indra/newview/llvoicevivox.h b/indra/newview/llvoicevivox.h
index 50862cea1e..210c726452 100644
--- a/indra/newview/llvoicevivox.h
+++ b/indra/newview/llvoicevivox.h
@@ -73,6 +73,8 @@ public:
// Returns true if vivox has successfully logged in and is not in error state
virtual bool isVoiceWorking() const;
+
+ virtual bool singletoneInstanceExists();
/////////////////////
/// @name Tuning
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 2c9f6f02dc..9c761cc4a6 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -488,7 +488,7 @@ U32 LLVOVolume::processUpdateMessage(LLMessageSystem *mesgsys,
{
U8 tdpbuffer[1024];
LLDataPackerBinaryBuffer tdp(tdpbuffer, 1024);
- mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_TextureEntry, tdpbuffer, 0, block_num);
+ mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_TextureEntry, tdpbuffer, 0, block_num, 1024);
S32 result = unpackTEMessage(tdp);
if (result & teDirtyBits)
{
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index a6fb2fb5ba..b66b0bfd4c 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -4585,6 +4585,7 @@ void LLPipeline::renderGeom(LLCamera& camera, bool forceVBOUpdate)
// Render debugging beacons.
gObjectList.renderObjectBeacons();
gObjectList.resetObjectBeacons();
+ gSky.addSunMoonBeacons();
}
else
{
diff --git a/indra/newview/roles_constants.h b/indra/newview/roles_constants.h
index 24792dd731..fecf5f9d4a 100644
--- a/indra/newview/roles_constants.h
+++ b/indra/newview/roles_constants.h
@@ -52,7 +52,6 @@ enum LLRoleChangeType
//
// KNOWN HOLES: use these for any single bit powers you need
-// bit 0x1 << 46
// bit 0x1 << 52 and above
// These powers were removed to make group roles simpler
@@ -103,6 +102,7 @@ const U64 GP_LAND_ALLOW_CREATE = 0x1LL << 25; // Bypass Create/Edit Objects Re
const U64 GP_LAND_ALLOW_LANDMARK = 0x1LL << 26; // Bypass Landmark Restriction
const U64 GP_LAND_ALLOW_SET_HOME = 0x1LL << 28; // Bypass Set Home Point Restriction
const U64 GP_LAND_ALLOW_HOLD_EVENT = 0x1LL << 41; // Allowed to hold events on group-owned land
+const U64 GP_LAND_ALLOW_ENVIRONMENT = 0x1LL << 46; // Allowed to change the environment
// Parcel Access
const U64 GP_LAND_MANAGE_ALLOWED = 0x1LL << 29; // Manage Allowed List
@@ -164,6 +164,7 @@ const U64 GP_DEFAULT_OFFICER = GP_DEFAULT_MEMBER // Superset of GP_DEFAULT_MEMBE
| GP_LAND_ALLOW_EDIT_LAND
| GP_LAND_ALLOW_FLY
| GP_LAND_ALLOW_CREATE
+ | GP_LAND_ALLOW_ENVIRONMENT
| GP_LAND_ALLOW_LANDMARK
| GP_LAND_CHANGE_IDENTITY
| GP_LAND_CHANGE_MEDIA
diff --git a/indra/newview/skins/default/xui/de/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/de/floater_edit_sky_preset.xml
index ea4c5f7ebc..adb7e5e479 100644
--- a/indra/newview/skins/default/xui/de/floater_edit_sky_preset.xml
+++ b/indra/newview/skins/default/xui/de/floater_edit_sky_preset.xml
@@ -22,7 +22,7 @@
Name der Voreinstellung:
</text>
<text name="note">
- Hinweis: Wenn Sie den Namen Ihrer Voreinstellung ändern, entsteht eine neue Voreinstellung; die vorhandene Voreinstellung wird nicht geändert.
+ Hinweis: Wenn Sie den Namen Ihrer Voreinstellung ändern, erstellen Sie eine neue Voreinstellung. Die vorhandene Voreinstellung wird nicht geändert.
</text>
<tab_container name="WindLight Tabs">
<panel label="ATMOSPHÄRE" name="Atmosphere">
@@ -89,7 +89,7 @@
0:00
</text>
<text name="WL6am">
- 3:00
+ 6:00
</text>
<text name="WL12pmHash">
12:00
diff --git a/indra/newview/skins/default/xui/de/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/de/floater_edit_water_preset.xml
index 9b9d5e7d77..dc7a18acb8 100644
--- a/indra/newview/skins/default/xui/de/floater_edit_water_preset.xml
+++ b/indra/newview/skins/default/xui/de/floater_edit_water_preset.xml
@@ -22,7 +22,7 @@
Name der Voreinstellung:
</text>
<text name="note">
- Hinweis: Wenn Sie den Namen Ihrer Voreinstellung ändern, entsteht eine neue Voreinstellung; die vorhandene Voreinstellung wird nicht geändert.
+ Hinweis: Wenn Sie den Namen Ihrer Voreinstellung ändern, erstellen Sie eine neue Voreinstellung. Die vorhandene Voreinstellung wird nicht geändert.
</text>
<panel name="panel_water_preset">
<text name="water_color_label">
diff --git a/indra/newview/skins/default/xui/de/floater_environment_settings.xml b/indra/newview/skins/default/xui/de/floater_environment_settings.xml
index 946416980a..7ad26b23b5 100644
--- a/indra/newview/skins/default/xui/de/floater_environment_settings.xml
+++ b/indra/newview/skins/default/xui/de/floater_environment_settings.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Environment Editor Floater" title="UMGEBUNGSEINSTELLUNGEN">
<text name="note">
- Anhand der Optionen unten können Sie die Umgebungseinstellungen für Ihren Viewer anpassen.
+ Anhand der nachstehenden Optionen können Sie die Umgebungseinstellungen für Ihren Viewer anpassen.
</text>
<radio_group name="region_settings_radio_group">
<radio_item label="Regionseinstellungen verwenden" name="use_region_settings"/>
@@ -18,7 +18,7 @@
<combo_box.item label="-Voreinstellung auswählen-" name="item0"/>
</combo_box>
<text name="sky_dayc_settings_title">
- Himmel / Tageszyklus
+ Himmel/Tageszyklus
</text>
<radio_group name="sky_dayc_settings_radio_group">
<radio_item label="Fester Himmel" name="my_sky_settings"/>
diff --git a/indra/newview/skins/default/xui/de/floater_model_preview.xml b/indra/newview/skins/default/xui/de/floater_model_preview.xml
index 337fee8cb1..891d707f35 100644
--- a/indra/newview/skins/default/xui/de/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/de/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Fehler: Fehler beim DAE-Parsen – Details siehe Protokoll.
</string>
+ <string name="status_bind_shape_orientation">
+ Warnung: Verbundform-Matrix befindet sich nicht in Standard-X-Vorwärtsrichtung.
+ </string>
<string name="status_material_mismatch">
Fehler: Das Material des Modells ist keine Teilmenge des Referenzmodells.
</string>
diff --git a/indra/newview/skins/default/xui/de/floater_tools.xml b/indra/newview/skins/default/xui/de/floater_tools.xml
index 7dd5938601..563d179d4c 100644
--- a/indra/newview/skins/default/xui/de/floater_tools.xml
+++ b/indra/newview/skins/default/xui/de/floater_tools.xml
@@ -73,9 +73,6 @@
<button label="Link" name="link_btn" width="30"/>
<button label="Verknüpfung auflösen" name="unlink_btn" width="126"/>
<check_box label="Beide Seiten dehnen" name="checkbox uniform"/>
- <text label="Beide Seiten dehnen" name="checkbox uniform label">
- Beide Seiten dehnen
- </text>
<check_box initial_value="true" label="Texturen dehnen" name="checkbox stretch textures" top_pad="-5"/>
<check_box initial_value="true" label="Einrasten" name="checkbox snap to grid" top_pad="15"/>
<combo_box name="combobox grid mode" tool_tip="Wählen Sie das gewünschte Rasterlineal zum Positionieren des Objekts aus.">
@@ -375,6 +372,7 @@
<text name="edit_object">
Objekteigenschaften bearbeiten:
</text>
+ <check_box label="Animiertes Netz:" name="Animated Mesh Checkbox Ctrl" tool_tip="Ermöglicht die unabhängige Animation geriggter Netzobjekte"/>
<check_box label="Flexibler Pfad" name="Flexible1D Checkbox Ctrl" tool_tip="Bewirkt, dass sich das Objekt um die Z-Achse biegen kann. (Nur Client-Seite)"/>
<spinner label="Weichheit" name="FlexNumSections"/>
<spinner label="Schwerkraft" name="FlexGravity"/>
@@ -411,82 +409,7 @@
<spinner label="Dichte in 100 kg/m^3" name="Physics Density"/>
<spinner label="Restitution" name="Physics Restitution"/>
</panel>
- <panel label="Textur" name="Texture">
- <panel.string name="string repeats per meter">
- Kacheln pro Meter
- </panel.string>
- <panel.string name="string repeats per face">
- Wiederholungen pro Fläche
- </panel.string>
- <texture_picker label="Textur" name="texture control" tool_tip="Klicken, um ein Bild zu wählen"/>
- <color_swatch label="Farbe" name="colorswatch" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
- <text name="color trans">
- Transparenz %
- </text>
- <text name="glow label">
- Leuchten
- </text>
- <check_box label="Ganz hell" name="checkbox fullbright"/>
- <text name="tex gen">
- Zuordnung
- </text>
- <combo_box name="combobox texgen">
- <combo_box.item label="Standard" name="Default"/>
- <combo_box.item label="Eben" name="Planar"/>
- </combo_box>
- <text name="label shininess">
- Glanz
- </text>
- <combo_box name="combobox shininess">
- <combo_box.item label="Kein" name="None"/>
- <combo_box.item label="Niedrig" name="Low"/>
- <combo_box.item label="Mittel" name="Medium"/>
- <combo_box.item label="Hoch" name="High"/>
- </combo_box>
- <text name="label bumpiness">
- Holprigkeit
- </text>
- <combo_box name="combobox bumpiness">
- <combo_box.item label="Keine" name="None"/>
- <combo_box.item label="Helligkeit" name="Brightness"/>
- <combo_box.item label="Dunkelheit" name="Darkness"/>
- <combo_box.item label="Holzmaserung" name="woodgrain"/>
- <combo_box.item label="Rinde" name="bark"/>
- <combo_box.item label="Ziegel" name="bricks"/>
- <combo_box.item label="Karo" name="checker"/>
- <combo_box.item label="Beton" name="concrete"/>
- <combo_box.item label="verkrustete Fliesen" name="crustytile"/>
- <combo_box.item label="Steinplatten" name="cutstone"/>
- <combo_box.item label="Scheiben" name="discs"/>
- <combo_box.item label="Kies" name="gravel"/>
- <combo_box.item label="Petrischale" name="petridish"/>
- <combo_box.item label="Verkleidung" name="siding"/>
- <combo_box.item label="Steinfliesen" name="stonetile"/>
- <combo_box.item label="Stuck" name="stucco"/>
- <combo_box.item label="Saugen" name="suction"/>
- <combo_box.item label="gewoben" name="weave"/>
- </combo_box>
- <spinner label="Horizontal (U)" name="TexScaleU"/>
- <check_box label="Umkehren" name="checkbox flip s"/>
- <spinner label="Vertikal (V)" name="TexScaleV"/>
- <check_box label="Umkehren" name="checkbox flip t"/>
- <spinner label="Rotation˚" name="TexRot"/>
- <button label="Übernehmen" label_selected="Übernehmen" name="button apply"/>
- <text name="tex offset">
- Texture-Versatz
- </text>
- <spinner label="Horizontal (U)" name="TexOffsetU"/>
- <spinner label="Vertikal (V)" name="TexOffsetV"/>
- <panel name="Add_Media">
- <text name="media_tex">
- Medien
- </text>
- <button name="add_media" tool_tip="Medien hinzufügen"/>
- <button name="delete_media" tool_tip="Diese Medien-Textur löschen"/>
- <button name="edit_media" tool_tip="Diese Medien bearbeiten"/>
- <button label="Ausrichten" label_selected="Medien angleichen" name="button align" tool_tip="Medientexturen angleichen (müssen zunächst geladen werden)"/>
- </panel>
- </panel>
+ <panel label="Textur" name="Texture"/>
<panel label="Inhalt" name="Contents">
<button label="Neues Skript" label_selected="Neues Skript" name="button new script"/>
<button label="Berechtigungen" name="button permissions"/>
diff --git a/indra/newview/skins/default/xui/de/menu_object.xml b/indra/newview/skins/default/xui/de/menu_object.xml
index dbf78f406b..240d015159 100644
--- a/indra/newview/skins/default/xui/de/menu_object.xml
+++ b/indra/newview/skins/default/xui/de/menu_object.xml
@@ -30,4 +30,6 @@
<menu_item_call label="Kaufen" name="Buy..."/>
<menu_item_call label="Löschen" name="Delete"/>
<menu_item_call label="Partikeleigentümer blockieren" name="Mute Particle"/>
+ <menu_item_call label="XML ausgeben" name="Dump XML"/>
+ <menu_item_call label="Skelett zurücksetzen" name="Reset Skeleton"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/de/menu_people_nearby_view.xml b/indra/newview/skins/default/xui/de/menu_people_nearby_view.xml
index 61cc4fe098..75f20a7e00 100644
--- a/indra/newview/skins/default/xui/de/menu_people_nearby_view.xml
+++ b/indra/newview/skins/default/xui/de/menu_people_nearby_view.xml
@@ -3,6 +3,7 @@
<menu_item_check label="Nach letzten Sprechern sortieren" name="sort_by_recent_speakers"/>
<menu_item_check label="Nach Namen sortieren" name="sort_name"/>
<menu_item_check label="Nach Nähe sortieren" name="sort_distance"/>
+ <menu_item_check label="Nach letzter Ankunft sortieren" name="sort_arrival"/>
<menu_item_check label="Symbole für Personen anzeigen" name="view_icons"/>
<menu_item_check label="Karte anzeigen" name="view_map"/>
<menu_item_check label="Benutzernamen ausblenden" name="view_usernames"/>
diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml
index 208f457c57..b4d5b96803 100644
--- a/indra/newview/skins/default/xui/de/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/de/menu_viewer.xml
@@ -296,6 +296,7 @@
<menu_item_check label="Texturbereich" name="Texture Area"/>
<menu_item_check label="Oberflächenbereich" name="Face Area"/>
<menu_item_check label="Detailstufeninfos" name="LOD Info"/>
+ <menu_item_check label="Dreieckszähler" name="Triangle Count"/>
<menu_item_check label="Konstruktionswarteschlange" name="Build Queue"/>
<menu_item_check label="Lichter" name="Lights"/>
<menu_item_check label="Partikel" name="Particles"/>
@@ -402,6 +403,7 @@
<menu_item_check label="Gelenkpunkte anzeigen" name="Show Collision Skeleton"/>
<menu_item_check label="Knochen anzeigen" name="Show Bones"/>
<menu_item_check label="Agent-Ziel anzeigen" name="Display Agent Target"/>
+ <menu_item_check label="Umfang der vereinfachten Darstellung anzeigen" name="Show Impostor Extents"/>
<menu_item_call label="Anhänge ausgeben" name="Dump Attachments"/>
<menu_item_call label="Fehler in Avatar-Texturen beseitigen" name="Debug Avatar Textures"/>
<menu_item_call label="Lokale Texturen ausgeben" name="Dump Local Textures"/>
diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml
index 38e8152ee7..164ae7a9d4 100644
--- a/indra/newview/skins/default/xui/de/notifications.xml
+++ b/indra/newview/skins/default/xui/de/notifications.xml
@@ -3249,6 +3249,9 @@ Diese werden für ein paar Sekunden sicherheitshalber gesperrt.
<notification name="PresetNotSaved">
Fehler beim Speichern der Voreinstellung [NAME].
</notification>
+ <notification name="DefaultPresetNotSaved">
+ Die Standart-Voreinstellung kann nicht überschrieben werden.
+ </notification>
<notification name="PresetNotDeleted">
Fehler beim Löschen der Voreinstellung [NAME].
</notification>
@@ -4012,6 +4015,9 @@ Warten Sie kurz und versuchen Sie es noch einmal.
<notification name="CantCreateObjectRegionFull">
Angefordertes Objekt kann nicht erstellt werden. Die Region ist voll.
</notification>
+ <notification name="CantCreateAnimatedObjectTooLarge">
+ Das gewünschte animierte Objekt kann nicht erstellt werden, da es das Limit für geriggte Dreiecke überschreitet.
+ </notification>
<notification name="CantAttackMultipleObjOneSpot">
Sie können nicht mehrere Objekte an ein und derselben Stelle anhängen.
</notification>
@@ -4060,6 +4066,21 @@ Warten Sie kurz und versuchen Sie es noch einmal.
<notification name="CantChangeShape">
Sie können diese Form nicht ändern.
</notification>
+ <notification name="NoPermsTooManyAttachedAnimatedObjects">
+ Durch den Vorgang würde die Anzahl der angehängten animierten Objekte das zulässige Limit überschreiten.
+ </notification>
+ <notification name="NoPermsLinkAnimatedObjectTooLarge">
+ Diese Objekte können nicht verknüpft werden, da das hieraus resultierende animierte Objekt das Limit für geriggte Dreiecke überschreiten würde.
+ </notification>
+ <notification name="NoPermsSetFlagAnimatedObjectTooLarge">
+ Dieses Objekt kann nicht in ein animiertes Objekt umgewandelt werden, da es das Limit für geriggte Dreiecke überschreiten würde.
+ </notification>
+ <notification name="CantChangeAnimatedObjectStateInsufficientLand">
+ Der Status der animierten Objekte für dieses Objekt kann nicht geändert werden, da hierdurch die Parzellenlimits überschritten würden.
+ </notification>
+ <notification name="ErrorNoMeshData">
+ Serverfehler: Dieser Vorgang kann nicht abgeschlossen werden, da die Netzdaten nicht geladen sind.
+ </notification>
<notification name="NoAccessToClaimObjects">
Ihr Zugangsberechtigungen gestatten nicht das Beanspruchen von Objekten an dieser Stelle.
</notification>
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index f91a13c210..f80b1ee1ec 100644
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -65,7 +65,7 @@ Grafikkarte: [GRAPHICS_CARD]
</string>
<string name="AboutSettings">
Fenstergröße: [WINDOW_WIDTH]x[WINDOW_HEIGHT]
-Schriftgrößenanpassung [FONT_SIZE_ADJUSTMENT] Pt
+Schriftgrößenanpassung: [FONT_SIZE_ADJUSTMENT] pt
UI-Skalierung: [UI_SCALE]
Sichtweite: [DRAW_DISTANCE] m
Bandbreite: [NET_BANDWITH] kbit/s
diff --git a/indra/newview/skins/default/xui/en/floater_tos.xml b/indra/newview/skins/default/xui/en/floater_tos.xml
index 8976d2a78f..a8db0aca4e 100644
--- a/indra/newview/skins/default/xui/en/floater_tos.xml
+++ b/indra/newview/skins/default/xui/en/floater_tos.xml
@@ -86,7 +86,7 @@
layout="topleft"
left="484"
name="Continue"
- top_delta="35"
+ top_delta="55"
width="100" />
<button
height="20"
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 54c209fb6a..5c08bf50f6 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -616,6 +616,16 @@ Save all changes to clothing/body parts?
<notification
icon="alertmodal.tga"
+ name="AllowMultipleViewers"
+ type="alertmodal">
+ Running multiple Second Life viewers is not supported. It can lead to texture cache collisions, corruption and degraded visuals and performance.
+ <usetemplate
+ name="okbutton"
+ yestext="OK"/>
+ </notification>
+
+ <notification
+ icon="alertmodal.tga"
name="GrantModifyRights"
type="alertmodal">
Granting modify rights to another Resident allows them to change, delete or take ANY objects you may have in-world. Be VERY careful when handing out this permission.
diff --git a/indra/newview/skins/default/xui/en/panel_notify_textbox.xml b/indra/newview/skins/default/xui/en/panel_notify_textbox.xml
index a679ca7f8c..6dc1bf9e9e 100644
--- a/indra/newview/skins/default/xui/en/panel_notify_textbox.xml
+++ b/indra/newview/skins/default/xui/en/panel_notify_textbox.xml
@@ -11,33 +11,39 @@
<string
name="message_max_lines_count"
value="14" />
+ <!-- THIS PANEL CONTROLS TOAST HEIGHT? -->
<panel
- bevel_style="none"
- follows="all"
- height="120"
- label="info_panel"
- layout="topleft"
- left="0"
- name="info_panel"
- top="0"
- width="305">
- <text
- follows="all"
- font="SansSerif"
- height="110"
- layout="topleft"
- left="10"
- mouse_opaque="false"
- name="text_editor_box"
- read_only="true"
- text_color="white"
- text_readonly_color="white"
- top="0"
- width="285"
- wrap="true"
- parse_highlights="true"
- parse_urls="true"/>
- </panel>
+ bevel_style="none"
+ follows="all"
+ height="120"
+ label="info_panel"
+ layout="topleft"
+ left="0"
+ name="info_panel"
+ top="0"
+ width="305">
+ <text_editor
+ bg_readonly_color="Transparent"
+ border_visible="false"
+ embedded_items="false"
+ enabled="true"
+ follows="all"
+ font="SansSerif"
+ height="120"
+ layout="topleft"
+ left="10"
+ mouse_opaque="false"
+ name="text_editor_box"
+ read_only="true"
+ text_color="White"
+ text_readonly_color="White"
+ top="0"
+ visible="true"
+ width="285"
+ wrap="true"
+ parse_highlights="true"
+ parse_urls="true"/>
+ </panel>
<panel
bevel_style="none"
follows="left|right|bottom"
diff --git a/indra/newview/skins/default/xui/en/role_actions.xml b/indra/newview/skins/default/xui/en/role_actions.xml
index f79d752fdb..bda08f3421 100644
--- a/indra/newview/skins/default/xui/en/role_actions.xml
+++ b/indra/newview/skins/default/xui/en/role_actions.xml
@@ -92,7 +92,10 @@
<action description="Toggle various About Land &gt; Options settings"
longdescription="Toggle &apos;Safe (no damage)&apos;, &apos;Fly&apos;, and allow other Residents to: &apos;Edit Terrain&apos;, &apos;Build&apos;, &apos;Create Landmarks&apos;, and &apos;Run Scripts&apos; on group-owned land in About Land &gt; Options tab."
name="land options" value="22" />
- </action_set>
+ <action description="Modify environment settings and day cycle."
+ longdescription="Change the environment settings and day cycle from the About Land &gt; Environment tab."
+ name="land change environment" value="46" />
+ </action_set>
<action_set
description="These Abilities include powers which allow Members to bypass restrictions on group-owned parcels."
name="Parcel Powers">
diff --git a/indra/newview/skins/default/xui/es/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/es/floater_edit_sky_preset.xml
index d2197b80fa..bbb9d64c6c 100644
--- a/indra/newview/skins/default/xui/es/floater_edit_sky_preset.xml
+++ b/indra/newview/skins/default/xui/es/floater_edit_sky_preset.xml
@@ -100,7 +100,7 @@
<text name="WL12am2">
12 AM
</text>
- <time name="WLDayTime" value="6:00 AM"/>
+ <time name="WLDayTime" value="6 AM"/>
<text name="WLEastAngleText">
Ángulo de elevación
</text>
@@ -130,11 +130,11 @@
<text name="WLCloudScrollXText">
Velocidad de las nubes: X
</text>
- <check_box label="Lock" name="WLCloudLockX"/>
+ <check_box label="Bloquear" name="WLCloudLockX"/>
<text name="WLCloudScrollYText">
Velocidad de las nubes: Y
</text>
- <check_box label="Lock" name="WLCloudLockY"/>
+ <check_box label="Bloquear" name="WLCloudLockY"/>
</panel>
</tab_container>
<check_box label="Convertir este valor predefinido en mi nueva configuración de cielo" name="make_default_cb"/>
diff --git a/indra/newview/skins/default/xui/es/floater_environment_settings.xml b/indra/newview/skins/default/xui/es/floater_environment_settings.xml
index a9c5705d52..7f48a26def 100644
--- a/indra/newview/skins/default/xui/es/floater_environment_settings.xml
+++ b/indra/newview/skins/default/xui/es/floater_environment_settings.xml
@@ -9,7 +9,7 @@
</radio_group>
<panel name="user_environment_settings">
<text name="note">
- Nota: La configuración personalizada no estará visible para otros usuarios.
+ Nota: Tu configuración personalizada no estará visible para otros usuarios.
</text>
<text name="water_settings_title">
Configuración de agua
diff --git a/indra/newview/skins/default/xui/es/floater_model_preview.xml b/indra/newview/skins/default/xui/es/floater_model_preview.xml
index a269add08a..2119b93488 100644
--- a/indra/newview/skins/default/xui/es/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/es/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Error: Problema de análisis de DAE - consulta los datos en el registro.
</string>
+ <string name="status_bind_shape_orientation">
+ Atención: la matriz de forma unida no está en orientación X-forward estándar.
+ </string>
<string name="status_material_mismatch">
Error: el material del modelo no es un subconjunto del modelo de referencia.
</string>
diff --git a/indra/newview/skins/default/xui/es/floater_tools.xml b/indra/newview/skins/default/xui/es/floater_tools.xml
index 159619decc..d95b2e41af 100644
--- a/indra/newview/skins/default/xui/es/floater_tools.xml
+++ b/indra/newview/skins/default/xui/es/floater_tools.xml
@@ -58,9 +58,6 @@
<button label="Enlazar" name="link_btn"/>
<button label="Desenlazar" name="unlink_btn" width="95"/>
<check_box label="Estirar ambos lados" name="checkbox uniform"/>
- <text label="Estirar ambos lados" name="checkbox uniform label">
- Estirar ambos lados
- </text>
<check_box initial_value="true" label="Estirar las texturas" name="checkbox stretch textures"/>
<check_box initial_value="true" label="Intervalo" name="checkbox snap to grid"/>
<button label="Opciones..." label_selected="Opciones..." name="Options..." tool_tip="Ver más opciones de la cuadrícula"/>
@@ -352,6 +349,7 @@
<text name="edit_object">
Editar las características del objeto:
</text>
+ <check_box label="Malla animada" name="Animated Mesh Checkbox Ctrl" tool_tip="Permite que los objetos de malla aparejados estén animados de manera independiente"/>
<check_box label="Flexibilidad" name="Flexible1D Checkbox Ctrl" tool_tip="Permite que el objeto flexione en el eje Z (sólo del lado del cliente)"/>
<spinner label="Blandura" name="FlexNumSections"/>
<spinner label="Gravedad" name="FlexGravity"/>
@@ -388,82 +386,7 @@
<spinner label="Densidad en 100 kg/m^3" name="Physics Density"/>
<spinner label="Reemplazo" name="Physics Restitution"/>
</panel>
- <panel label="Textura" name="Texture">
- <panel.string name="string repeats per meter">
- Repeticiones por m.
- </panel.string>
- <panel.string name="string repeats per face">
- Repeticiones por cara
- </panel.string>
- <texture_picker label="Textura" name="texture control" tool_tip="Pulse para elegir una imagen"/>
- <color_swatch label="Color" name="colorswatch" tool_tip="Pulsa para abrir el selector de color"/>
- <text name="color trans">
- Transparencia %
- </text>
- <text name="glow label">
- Resplandor
- </text>
- <check_box bottom_delta="-21" label="Brillo al máximo" name="checkbox fullbright"/>
- <text name="tex gen">
- Detallado
- </text>
- <combo_box name="combobox texgen">
- <combo_box.item label="Por defecto" name="Default"/>
- <combo_box.item label="Plano" name="Planar"/>
- </combo_box>
- <text name="label shininess">
- Brillantez
- </text>
- <combo_box name="combobox shininess">
- <combo_box.item label="Ninguna" name="None"/>
- <combo_box.item label="Baja" name="Low"/>
- <combo_box.item label="Media" name="Medium"/>
- <combo_box.item label="Alta" name="High"/>
- </combo_box>
- <text name="label bumpiness">
- Relieve
- </text>
- <combo_box name="combobox bumpiness">
- <combo_box.item label="Ninguno" name="None"/>
- <combo_box.item label="Brillo" name="Brightness"/>
- <combo_box.item label="Oscuro" name="Darkness"/>
- <combo_box.item label="grano de madera" name="woodgrain"/>
- <combo_box.item label="corteza" name="bark"/>
- <combo_box.item label="ladrillos" name="bricks"/>
- <combo_box.item label="cajero" name="checker"/>
- <combo_box.item label="cemento" name="concrete"/>
- <combo_box.item label="azulejería" name="crustytile"/>
- <combo_box.item label="piedra cortada" name="cutstone"/>
- <combo_box.item label="discos" name="discs"/>
- <combo_box.item label="grava" name="gravel"/>
- <combo_box.item label="placa de Petri" name="petridish"/>
- <combo_box.item label="revestimiento" name="siding"/>
- <combo_box.item label="baldosa de piedra" name="stonetile"/>
- <combo_box.item label="estuco" name="stucco"/>
- <combo_box.item label="succión" name="suction"/>
- <combo_box.item label="tejido" name="weave"/>
- </combo_box>
- <spinner label="Horizontal (U)" name="TexScaleU"/>
- <check_box label="Voltear" name="checkbox flip s"/>
- <spinner label="Vertical (V)" name="TexScaleV"/>
- <check_box label="Voltear" name="checkbox flip t"/>
- <spinner label="Rotación" name="TexRot"/>
- <button label="Aplicar" label_selected="Aplicar" name="button apply"/>
- <text name="tex offset">
- Desplazar
- </text>
- <spinner label="Horizontal (U)" name="TexOffsetU"/>
- <spinner label="Vertical (V)" name="TexOffsetV"/>
- <panel name="Add_Media">
- <text name="media_tex">
- Media
- </text>
- <button name="add_media" tool_tip="Añadir un media"/>
- <button name="delete_media" tool_tip="Borrar esta textura para media"/>
- <button name="edit_media" tool_tip="Editar este media"/>
- <button label="Centrar" label_selected="Centrar los media" name="button align" tool_tip="Centrar esta textura para media (primero debe cargarse)"/>
- </panel>
- </panel>
+ <panel label="Textura" name="Texture"/>
<panel label="Contenido " name="Contents">
<button label="Script nuevo" label_selected="Script nuevo" name="button new script"/>
<button label="Permisos" name="button permissions"/>
diff --git a/indra/newview/skins/default/xui/es/menu_object.xml b/indra/newview/skins/default/xui/es/menu_object.xml
index 0de9907660..9ecf88f664 100644
--- a/indra/newview/skins/default/xui/es/menu_object.xml
+++ b/indra/newview/skins/default/xui/es/menu_object.xml
@@ -30,4 +30,6 @@
<menu_item_call label="Comprar" name="Buy..."/>
<menu_item_call label="Borrar" name="Delete"/>
<menu_item_call label="Ignorar al propietario de la partícula" name="Mute Particle"/>
+ <menu_item_call label="Volcar XML" name="Dump XML"/>
+ <menu_item_call label="Restablecer esqueleto" name="Reset Skeleton"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_people_nearby_view.xml b/indra/newview/skins/default/xui/es/menu_people_nearby_view.xml
index c51047f04a..e51c96393f 100644
--- a/indra/newview/skins/default/xui/es/menu_people_nearby_view.xml
+++ b/indra/newview/skins/default/xui/es/menu_people_nearby_view.xml
@@ -3,6 +3,7 @@
<menu_item_check label="Ordenar según las intervenciones recientes" name="sort_by_recent_speakers"/>
<menu_item_check label="Ordenar alfabéticamente" name="sort_name"/>
<menu_item_check label="Ordenar según distancia" name="sort_distance"/>
+ <menu_item_check label="Ordenar según Llegada reciente" name="sort_arrival"/>
<menu_item_check label="Ver los iconos de la gente" name="view_icons"/>
<menu_item_check label="Ver mapa" name="view_map"/>
<menu_item_check label="Ocultar nombres de usuario" name="view_usernames"/>
diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml
index 567b78d21b..f4f0d0a3ed 100644
--- a/indra/newview/skins/default/xui/es/notifications.xml
+++ b/indra/newview/skins/default/xui/es/notifications.xml
@@ -3232,6 +3232,9 @@ Por tu seguridad, serán bloqueadas durante unos segundos.
<notification name="PresetNotSaved">
Error al guardar el valor predefinido [NAME].
</notification>
+ <notification name="DefaultPresetNotSaved">
+ No se puede sobrescribir el valor predefinido.
+ </notification>
<notification name="PresetNotDeleted">
Error al eliminar el valor predefinido [NAME].
</notification>
@@ -3994,6 +3997,9 @@ Prueba otra vez dentro de un minuto.
<notification name="CantCreateObjectRegionFull">
No se puede crear el objeto solicitado. La región está llena.
</notification>
+ <notification name="CantCreateAnimatedObjectTooLarge">
+ No se puede crear el objeto animado solicitado ya que supera el límite de triángulo aparejado.
+ </notification>
<notification name="CantAttackMultipleObjOneSpot">
No puedes anexar varios objetos a un solo lugar.
</notification>
@@ -4042,6 +4048,21 @@ Prueba otra vez dentro de un minuto.
<notification name="CantChangeShape">
No tienes permiso para cambiar esta forma.
</notification>
+ <notification name="NoPermsTooManyAttachedAnimatedObjects">
+ Esta operación provocaría que la cantidad de objetos animados adjuntos supere el límite.
+ </notification>
+ <notification name="NoPermsLinkAnimatedObjectTooLarge">
+ No se puede establecer un enlace entre estos objetos porque el objeto animado resultante superaría el límite de triángulo aparejado.
+ </notification>
+ <notification name="NoPermsSetFlagAnimatedObjectTooLarge">
+ No se puede transformar este objeto en un objeto animado ya que superaría el límite de triángulo aparejado.
+ </notification>
+ <notification name="CantChangeAnimatedObjectStateInsufficientLand">
+ No se puede cambiar el estado de objeto animado para este objeto porque provocaría que se exceda el límite de parcela.
+ </notification>
+ <notification name="ErrorNoMeshData">
+ Error del servidor: no se puede completar esta operación ya que los datos de malla no han sido cargados.
+ </notification>
<notification name="NoAccessToClaimObjects">
Tus privilegios de acceso no te permiten reclamar objetos aquí.
</notification>
diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml
index 06796d42fe..a6bda0dabe 100644
--- a/indra/newview/skins/default/xui/es/strings.xml
+++ b/indra/newview/skins/default/xui/es/strings.xml
@@ -57,15 +57,15 @@ Tarjeta gráfica: [GRAPHICS_CARD]
</string>
<string name="AboutSettings">
Tamaño de la ventana: [WINDOW_WIDTH]x[WINDOW_HEIGHT]
-Ajuste de tamaño de fuente: [FONT_SIZE_ADJUSTMENT]pt
-Ajuste de escala de IU: [UI_SCALE]
+Ajuste del tamaño de fuente: [FONT_SIZE_ADJUSTMENT]pt
+Escala UI: [UI_SCALE]
Distancia de dibujo: [DRAW_DISTANCE]m
Ancho de banda: [NET_BANDWITH]kbit/s
-Factor de LOD: [LOD_FACTOR]
-Calidad de renderizado: [RENDER_QUALITY]
+Factor LOD: [LOD_FACTOR]
+Calidad de renderización: [RENDER_QUALITY]
Modelo de iluminación avanzado: [GPU_SHADERS]
Memoria de textura: [TEXTURE_MEMORY]MB
-Tiempo de creación de VFS (caché): [VFS_TIME]
+VFS (cache) hora de creación: [VFS_TIME]
</string>
<string name="AboutLibs">
Versión de descodificador J2C: [J2C_VERSION]
diff --git a/indra/newview/skins/default/xui/fr/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/fr/floater_edit_sky_preset.xml
index 4ec9bbb3dd..47293a6342 100644
--- a/indra/newview/skins/default/xui/fr/floater_edit_sky_preset.xml
+++ b/indra/newview/skins/default/xui/fr/floater_edit_sky_preset.xml
@@ -7,36 +7,36 @@
Modifier un préréglage du ciel
</string>
<string name="hint_new">
- Donnez un nom à votre préréglage, ajustez les contrôles afin de le créer, puis cliquez sur Enregistrer.
+ Donnez un nom à votre préréglage, ajustez les contrôles afin de le créer, puis cliquez sur &quot;Enregistrer&quot;.
</string>
<string name="hint_edit">
- Pour modifier le préréglage du ciel, ajustez les contrôles, puis cliquez sur Enregistrer.
+ Pour modifier le préréglage du ciel, ajustez les contrôles, puis cliquez sur &quot;Enregistrer&quot;.
</string>
<string name="combo_label">
- -Effectuer une sélection-
+ -Sélectionner un préréglage-
</string>
<text name="hint">
- Pour modifier le préréglage, ajustez les contrôles, puis cliquez sur Enregistrer.
+ Pour modifier le préréglage, ajustez les contrôles, puis cliquez sur &quot;Enregistrer&quot;.
</text>
<text name="label">
Nom du préréglage :
</text>
<text name="note">
- Remarque : si vous changez votre préréglage de nom, un nouveau préréglage sera créé et celui existant restera tel quel.
+ Remarque : Si vous changez votre préréglage de nom, un nouveau préréglage sera créé et celui existant restera tel quel.
</text>
<tab_container name="WindLight Tabs">
<panel label="ATMOSPHÈRE" name="Atmosphere">
<text name="BHText">
- Bleu de l&apos;horizon
+ Horizon bleu
</text>
<text name="BDensText">
- Quantité de brume
+ Horizon brumeux
</text>
<text name="BDensText2">
- Densité du bleu
+ Densité bleue
</text>
<text name="HDText">
- Densité de la brume
+ Densité brumeuse
</text>
<text name="DensMultText">
Multiplicateur de densité
@@ -53,7 +53,7 @@
Couleur soleil/lune
</text>
<text name="WLAmbientText">
- Éclairage ambiant
+ Ambiante
</text>
<text name="SunGlowText">
Rayonnement du soleil
@@ -122,19 +122,19 @@
Altitude des nuages
</text>
<text name="WLCloudDetailText">
- Détails des nuages - XY/Densité
+ Détails des nuages (XY/Densité)
</text>
<slider label="X" name="WLCloudDetailX"/>
<slider label="Y" name="WLCloudDetailY"/>
<slider label="D" name="WLCloudDetailDensity"/>
<text name="WLCloudScrollXText">
- Direction et vitesse X
+ Défilement des nuages X
</text>
- <check_box label="Verrouiller" name="WLCloudLockX"/>
+ <check_box label="Verrouillage" name="WLCloudLockX"/>
<text name="WLCloudScrollYText">
- Direction et vitesse Y
+ Défilement des nuages Y
</text>
- <check_box label="Verrouiller" name="WLCloudLockY"/>
+ <check_box label="Verrouillage" name="WLCloudLockY"/>
</panel>
</tab_container>
<check_box label="Appliquer ce nouveau préréglage pour le ciel" name="make_default_cb"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/fr/floater_edit_water_preset.xml
index 81d9d34cfb..08dced834d 100644
--- a/indra/newview/skins/default/xui/fr/floater_edit_water_preset.xml
+++ b/indra/newview/skins/default/xui/fr/floater_edit_water_preset.xml
@@ -7,32 +7,32 @@
Modifier un préréglage de l&apos;eau
</string>
<string name="hint_new">
- Donnez un nom à votre préréglage, ajustez les contrôles afin de le créer, puis cliquez sur Enregistrer.
+ Donnez un nom à votre préréglage, ajustez les contrôles afin de le créer, puis cliquez sur &quot;Enregistrer&quot;.
</string>
<string name="hint_edit">
- Pour modifier le préréglage de l&apos;eau, ajustez les contrôles, puis cliquez sur Enregistrer.
+ Pour modifier le préréglage de l&apos;eau, ajustez les contrôles, puis cliquez sur &quot;Enregistrer&quot;.
</string>
<string name="combo_label">
- -Effectuer une sélection-
+ -Sélectionner un préréglage-
</string>
<text name="hint">
- Pour modifier le préréglage, ajustez les contrôles, puis cliquez sur Enregistrer.
+ Pour modifier le préréglage, ajustez les contrôles, puis cliquez sur &quot;Enregistrer&quot;.
</text>
<text name="label">
Nom du préréglage :
</text>
<text name="note">
- Remarque : si vous changez votre préréglage de nom, un nouveau préréglage sera créé et celui existant restera tel quel.
+ Remarque : Si vous changez votre préréglage de nom, un nouveau préréglage sera créé et celui existant restera tel quel.
</text>
<panel name="panel_water_preset">
<text name="water_color_label">
Couleur du brouillard dans l&apos;eau
</text>
<text name="water_fog_density_label">
- Densité du brouillard
+ Exposant densité de brouillard
</text>
<text name="underwater_fog_modifier_label">
- Brouillard sous-marin
+ Modificateurs de brouillard sous-marin
</text>
<text name="BHText">
Direction grande vague
@@ -40,7 +40,7 @@
<slider label="X" name="WaterWave1DirX"/>
<slider label="Y" name="WaterWave1DirY"/>
<text name="BDensText">
- Échelle des vaguelettes
+ Échelle d&apos;ondelettes à réflexion
</text>
<text name="HDText">
Échelle Fresnel
@@ -54,16 +54,16 @@
<slider label="X" name="WaterWave2DirX"/>
<slider label="Y" name="WaterWave2DirY"/>
<text name="DensMultText">
- Réfraction au-dessus
+ Échelle de réfraction au-dessus
</text>
<text name="WaterScaleBelowText">
- Réfraction en dessous
+ Échelle de réfraction en-dessous
</text>
<text name="MaxAltText">
Multiplicateur de flou
</text>
<text name="BHText3">
- Normal Map
+ Carte normale
</text>
</panel>
<check_box label="Appliquer ce nouveau préréglage pour l&apos;eau" name="make_default_cb"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_environment_settings.xml b/indra/newview/skins/default/xui/fr/floater_environment_settings.xml
index ea12749d27..e438fcbf42 100644
--- a/indra/newview/skins/default/xui/fr/floater_environment_settings.xml
+++ b/indra/newview/skins/default/xui/fr/floater_environment_settings.xml
@@ -9,26 +9,26 @@
</radio_group>
<panel name="user_environment_settings">
<text name="note">
- Remarque : les autres utilisateurs ne pourront pas voir votre configuration personnalisée.
+ Remarque : Les autres utilisateurs ne pourront pas voir votre configuration personnalisée.
</text>
<text name="water_settings_title">
Réglage de l&apos;eau
</text>
<combo_box name="water_settings_preset_combo">
- <combo_box.item label="-Effectuer une sélection-" name="item0"/>
+ <combo_box.item label="-Sélectionner un préréglage-" name="item0"/>
</combo_box>
<text name="sky_dayc_settings_title">
- Ciel/Cycle du jour
+ Ciel / Cycle du jour
</text>
<radio_group name="sky_dayc_settings_radio_group">
<radio_item label="Ciel fixe" name="my_sky_settings"/>
<radio_item label="Cycle du jour" name="my_dayc_settings"/>
</radio_group>
<combo_box name="sky_settings_preset_combo">
- <combo_box.item label="-Effectuer une sélection-" name="item0"/>
+ <combo_box.item label="-Sélectionner un préréglage-" name="item0"/>
</combo_box>
<combo_box name="dayc_settings_preset_combo">
- <combo_box.item label="-Effectuer une sélection-" name="item0"/>
+ <combo_box.item label="-Sélectionner un préréglage-" name="item0"/>
</combo_box>
</panel>
<button label="OK" name="ok_btn"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_model_preview.xml b/indra/newview/skins/default/xui/fr/floater_model_preview.xml
index 4ebc196fd1..e4bbf31e4b 100644
--- a/indra/newview/skins/default/xui/fr/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/fr/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Erreur : Problème d&apos;analyse de fichier .dae ; reportez-vous au journal pour plus de détails.
</string>
+ <string name="status_bind_shape_orientation">
+ Avertissement : la matrice de formes de reliure n&apos;est pas dans l&apos;orientation standard X-avant.
+ </string>
<string name="status_material_mismatch">
Erreur : le matériau du modèle ne correspond pas à un sous-ensemble du modèle de référence.
</string>
diff --git a/indra/newview/skins/default/xui/fr/floater_tools.xml b/indra/newview/skins/default/xui/fr/floater_tools.xml
index b254a178f9..90c2bde6f4 100644
--- a/indra/newview/skins/default/xui/fr/floater_tools.xml
+++ b/indra/newview/skins/default/xui/fr/floater_tools.xml
@@ -73,9 +73,6 @@
<button label="Lien" name="link_btn"/>
<button label="Annuler le lien" name="unlink_btn"/>
<check_box label="Étirer les deux côtés" name="checkbox uniform"/>
- <text label="Étirer les deux côtés" name="checkbox uniform label">
- Étirer les deux côtés
- </text>
<check_box initial_value="true" label="Étirer les textures" name="checkbox stretch textures"/>
<check_box initial_value="true" label="Fixer" name="checkbox snap to grid"/>
<combo_box name="combobox grid mode" tool_tip="Choisir le type d&apos;axe de grille pour le positionnement de l&apos;objet.">
@@ -372,6 +369,7 @@
<text name="edit_object">
Modifier les attributs de l&apos;objet :
</text>
+ <check_box label="Maillage animé" name="Animated Mesh Checkbox Ctrl" tool_tip="Permet aux objets maillés calés d&apos;être animés indépendamment"/>
<check_box label="Flexibilité" name="Flexible1D Checkbox Ctrl" tool_tip="Permet à l&apos;objet de se plier le long de l&apos;axe Z (côté client uniquement)"/>
<spinner label="Souplesse" name="FlexNumSections"/>
<spinner label="Gravité" name="FlexGravity"/>
@@ -408,82 +406,7 @@
<spinner label="Densité en 100 kg/m^3" name="Physics Density"/>
<spinner label="Restitution" name="Physics Restitution"/>
</panel>
- <panel label="Texture" name="Texture">
- <panel.string name="string repeats per meter">
- Répétitions au mètre
- </panel.string>
- <panel.string name="string repeats per face">
- Répétitions par face
- </panel.string>
- <texture_picker label="Texture" name="texture control" tool_tip="Cliquez pour sélectionner une image"/>
- <color_swatch label="Couleur" name="colorswatch" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs"/>
- <text name="color trans" width="88">
- Transparence
- </text>
- <text name="glow label">
- Rayonnement
- </text>
- <check_box label="Lumineux" name="checkbox fullbright"/>
- <text name="tex gen">
- Application
- </text>
- <combo_box name="combobox texgen">
- <combo_box.item label="Par défaut" name="Default"/>
- <combo_box.item label="Plan" name="Planar"/>
- </combo_box>
- <text name="label shininess">
- Brillance
- </text>
- <combo_box name="combobox shininess">
- <combo_box.item label="Aucune" name="None"/>
- <combo_box.item label="Faible" name="Low"/>
- <combo_box.item label="Moyenne" name="Medium"/>
- <combo_box.item label="Élevée" name="High"/>
- </combo_box>
- <text name="label bumpiness">
- Relief
- </text>
- <combo_box name="combobox bumpiness">
- <combo_box.item label="Aucun" name="None"/>
- <combo_box.item label="Luminosité" name="Brightness"/>
- <combo_box.item label="Obscurité" name="Darkness"/>
- <combo_box.item label="Aggloméré" name="woodgrain"/>
- <combo_box.item label="Écorce" name="bark"/>
- <combo_box.item label="Briques" name="bricks"/>
- <combo_box.item label="Damier" name="checker"/>
- <combo_box.item label="Béton" name="concrete"/>
- <combo_box.item label="Carrelage" name="crustytile"/>
- <combo_box.item label="Pierre de taille" name="cutstone"/>
- <combo_box.item label="Disques" name="discs"/>
- <combo_box.item label="Gravier" name="gravel"/>
- <combo_box.item label="Boîte de Petri" name="petridish"/>
- <combo_box.item label="Lattes" name="siding"/>
- <combo_box.item label="Carreaux" name="stonetile"/>
- <combo_box.item label="Stuc" name="stucco"/>
- <combo_box.item label="Ventouses" name="suction"/>
- <combo_box.item label="Tissage" name="weave"/>
- </combo_box>
- <spinner label="Horizontal (U)" name="TexScaleU"/>
- <check_box label="Inverser" name="checkbox flip s"/>
- <spinner label="Vertical (V)" name="TexScaleV"/>
- <check_box label="Inverser" name="checkbox flip t"/>
- <spinner label="Rotation˚" name="TexRot"/>
- <button label="Appliquer" label_selected="Appliquer" name="button apply"/>
- <text name="tex offset">
- Décalage de la texture
- </text>
- <spinner label="Horizontal (U)" name="TexOffsetU"/>
- <spinner label="Vertical (V)" name="TexOffsetV"/>
- <panel name="Add_Media">
- <text name="media_tex">
- Média
- </text>
- <button name="add_media" tool_tip="Ajouter un média"/>
- <button name="delete_media" tool_tip="Supprimer cette texture de média"/>
- <button name="edit_media" tool_tip="Modifier ce média"/>
- <button label="Aligner" label_selected="Aligner le média" name="button align" tool_tip="Ajuster la texture du média (le chargement doit d&apos;abord se terminer)"/>
- </panel>
- </panel>
+ <panel label="Texture" name="Texture"/>
<panel label="Contenu" name="Contents">
<button label="Nouveau script" label_selected="Nouveau script" name="button new script"/>
<button label="Droits" name="button permissions"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_object.xml b/indra/newview/skins/default/xui/fr/menu_object.xml
index 27e801d959..8c12920255 100644
--- a/indra/newview/skins/default/xui/fr/menu_object.xml
+++ b/indra/newview/skins/default/xui/fr/menu_object.xml
@@ -30,4 +30,6 @@
<menu_item_call label="Acheter" name="Buy..."/>
<menu_item_call label="Supprimer" name="Delete"/>
<menu_item_call label="Ignorer le propriétaire des particules" name="Mute Particle"/>
+ <menu_item_call label="Dump XML" name="Dump XML"/>
+ <menu_item_call label="Réinitialiser le squelette" name="Reset Skeleton"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_people_nearby_view.xml b/indra/newview/skins/default/xui/fr/menu_people_nearby_view.xml
index 9da915fcc5..1038be4661 100644
--- a/indra/newview/skins/default/xui/fr/menu_people_nearby_view.xml
+++ b/indra/newview/skins/default/xui/fr/menu_people_nearby_view.xml
@@ -3,6 +3,7 @@
<menu_item_check label="Trier par intervenants récents" name="sort_by_recent_speakers"/>
<menu_item_check label="Trier par nom" name="sort_name"/>
<menu_item_check label="Trier par distance" name="sort_distance"/>
+ <menu_item_check label="Trier par arrivée récente" name="sort_arrival"/>
<menu_item_check label="Afficher les icônes des résidents" name="view_icons"/>
<menu_item_check label="Afficher la carte" name="view_map"/>
<menu_item_check label="Masquer les noms d’utilisateur" name="view_usernames"/>
diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml
index 1acdd6ba62..dd6fe2f3db 100644
--- a/indra/newview/skins/default/xui/fr/notifications.xml
+++ b/indra/newview/skins/default/xui/fr/notifications.xml
@@ -3233,6 +3233,9 @@ Elles vont être bloquées pendant quelques secondes pour votre sécurité.
<notification name="PresetNotSaved">
Erreur d’enregistrement du préréglage [NAME].
</notification>
+ <notification name="DefaultPresetNotSaved">
+ Impossible de remplacer le préréglage par défaut.
+ </notification>
<notification name="PresetNotDeleted">
Erreur de suppression du préréglage [NAME].
</notification>
@@ -3997,6 +4000,9 @@ Veuillez réessayer dans une minute.
<notification name="CantCreateObjectRegionFull">
Création de l&apos;objet demandé impossible. La région est pleine.
</notification>
+ <notification name="CantCreateAnimatedObjectTooLarge">
+ Impossible de créer l&apos;objet animé demandé car il dépasserait la limite de triangle calé.
+ </notification>
<notification name="CantAttackMultipleObjOneSpot">
Vous ne pouvez pas attacher plusieurs objets au même endroit.
</notification>
@@ -4045,6 +4051,21 @@ Veuillez réessayer dans une minute.
<notification name="CantChangeShape">
Vous n’êtes pas autorisé à modifier cette forme.
</notification>
+ <notification name="NoPermsTooManyAttachedAnimatedObjects">
+ Une opération entraînerait le dépassement du nombre d&apos;objets animés attachés.
+ </notification>
+ <notification name="NoPermsLinkAnimatedObjectTooLarge">
+ Impossible de lier ces objets car l&apos;objet animé résultant dépasserait la limite de triangle calé.
+ </notification>
+ <notification name="NoPermsSetFlagAnimatedObjectTooLarge">
+ Impossible de transformer cet objet en objet animé car il dépasserait la limite de triangle calé.
+ </notification>
+ <notification name="CantChangeAnimatedObjectStateInsufficientLand">
+ Impossible de modifier l&apos;état de l&apos;objet animé pour cet objet, car cela entraînerait un dépassement de la limite de parcelles.
+ </notification>
+ <notification name="ErrorNoMeshData">
+ Erreur de serveur : impossible d&apos;effectuer cette opération car les données de maillage ne sont pas chargées.
+ </notification>
<notification name="NoAccessToClaimObjects">
Vos privilèges d&apos;accès ne vous autorisent pas à revendiquer des objets ici.
</notification>
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index c03c8427c5..5cd3c563bf 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -65,16 +65,16 @@ Carte graphique : [GRAPHICS_CARD]
Version OpenGL : [OPENGL_VERSION]
</string>
<string name="AboutSettings">
- Taille de la fenêtre : [WINDOW_WIDTH]x[WINDOW_HEIGHT]
-Ajustement de la taille de la police : [FONT_SIZE_ADJUSTMENT] pts
+ Taille de la fenêtre: [WINDOW_WIDTH]x[WINDOW_HEIGHT]
+Ajustement de la taille de la police : [FONT_SIZE_ADJUSTMENT]pt
Échelle de l’interface : [UI_SCALE]
-Limite d’affichage : [DRAW_DISTANCE] m
+Distance de dessin : [DRAW_DISTANCE]m
Bande passante : [NET_BANDWITH] kbit/s
Facteur LOD (niveau de détail) : [LOD_FACTOR]
Qualité de rendu : [RENDER_QUALITY]
Modèle d’éclairage avancé : [GPU_SHADERS]
Mémoire textures : [TEXTURE_MEMORY] Mo
-Durée de création VFS (cache) : [VFS_TIME]
+Heure de création VFS (cache) : [VFS_TIME]
</string>
<string name="AboutLibs">
J2C Decoder Version: [J2C_VERSION]
diff --git a/indra/newview/skins/default/xui/it/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/it/floater_edit_sky_preset.xml
index 571027fd29..e2dda7da9d 100644
--- a/indra/newview/skins/default/xui/it/floater_edit_sky_preset.xml
+++ b/indra/newview/skins/default/xui/it/floater_edit_sky_preset.xml
@@ -1,22 +1,22 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Edit Sky Preset" title="Modifica predefiniti cielo">
+<floater name="Edit Sky Preset" title="Modifica valore predefinito cielo">
<string name="title_new">
- Crea un nuovo valore predefinito per il cielo
+ Crea un nuovo valore predefinito cielo
</string>
<string name="title_edit">
- Modifica predefiniti cielo
+ Modifica valore predefinito cielo
</string>
<string name="hint_new">
- Dai un nome al valore predefinito, modifica i controlli per crearlo e fai clic su &quot;Salva&quot;.
+ Dai un nome al valore predefinito, regola i comandi per crearlo e fai clic su &quot;Salva&quot;.
</string>
<string name="hint_edit">
- Per modificare il valore predefinito per il cielo, modifica i controlli e fai clic su &quot;Salva&quot;.
+ Per modificare il valore predefinito cielo, regola i comandi e fai clic su &quot;Salva&quot;.
</string>
<string name="combo_label">
-Seleziona un valore predefinito-
</string>
<text name="hint">
- Per modificare i valori predefiniti, modifica i controlli e quindi fai clic su &quot;Salva&quot;
+ Per modificare il valore predefinito, regola i comandi e quindi fai clic su &quot;Salva&quot;
</text>
<text name="label">
Nome predefinito:
@@ -61,7 +61,7 @@
<slider label="Centro focale" name="WLGlowB"/>
<slider label="Dimensioni" name="WLGlowR"/>
<text name="WLStarText">
- Luminosità cielo
+ Luminosità stella
</text>
<text name="SceneGammaText">
Gamma scena
@@ -89,18 +89,18 @@
00:00
</text>
<text name="WL6am">
- 06:00:00
+ 06.00
</text>
<text name="WL12pmHash">
- 12:00:00
+ 12:00
</text>
<text name="WL6pm">
- 18:00:00
+ 18:00
</text>
<text name="WL12am2">
00:00
</text>
- <time name="WLDayTime" value="06:00:00"/>
+ <time name="WLDayTime" value="06:00"/>
<text name="WLEastAngleText">
Angolo est
</text>
diff --git a/indra/newview/skins/default/xui/it/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/it/floater_edit_water_preset.xml
index 7bffc60ba2..19eb6566c9 100644
--- a/indra/newview/skins/default/xui/it/floater_edit_water_preset.xml
+++ b/indra/newview/skins/default/xui/it/floater_edit_water_preset.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Edit Water Preset" title="Modifica un valore predefinito acqua">
+<floater name="Edit Water Preset" title="Modifica valore predefinito acqua">
<string name="title_new">
Crea un nuovo valore predefinito per l&apos;acqua
</string>
@@ -7,16 +7,16 @@
Modifica un valore predefinito per l&apos;acqua
</string>
<string name="hint_new">
- Dai un nome al valore predefinito, modifica i controlli per crearlo e fai clic su &quot;Salva&quot;.
+ Dai un nome al valore predefinito, regola i comandi per crearlo e fai clic su &quot;Salva&quot;.
</string>
<string name="hint_edit">
- Per modificare il valore predefinito per l&apos;acqua, modifica i controlli e fai clic su &quot;Salva&quot;.
+ Per modificare il valore predefinito per l’acqua, regola i comandi e fai clic su &quot;Salva&quot;.
</string>
<string name="combo_label">
-Seleziona un valore predefinito-
</string>
<text name="hint">
- Per modificare i valori predefiniti, modifica i controlli e quindi fai clic su &quot;Salva&quot;
+ Per modificare il valore predefinito, regola i comandi e quindi fai clic su &quot;Salva&quot;
</text>
<text name="label">
Nome predefinito:
@@ -60,7 +60,7 @@
Scala wavelet sotto
</text>
<text name="MaxAltText">
- Fattore moltiplicativo blu
+ Fattore moltiplicativo sfocatura
</text>
<text name="BHText3">
Mappa normale
diff --git a/indra/newview/skins/default/xui/it/floater_environment_settings.xml b/indra/newview/skins/default/xui/it/floater_environment_settings.xml
index f191078fad..a7ed5f9e67 100644
--- a/indra/newview/skins/default/xui/it/floater_environment_settings.xml
+++ b/indra/newview/skins/default/xui/it/floater_environment_settings.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Environment Editor Floater" title="IMPOSTAZIONI AMBIENTE">
<text name="note">
- Usa le opzioni seguenti per personalizzare le impostazioni dell&apos;ambiente per il tuo viewer.
+ Usa le opzioni seguenti per personalizzare le impostazioni dell&apos;ambiente per il tuo viewer.
</text>
<radio_group name="region_settings_radio_group">
<radio_item label="Usa impostazioni regione" name="use_region_settings"/>
@@ -18,7 +18,7 @@
<combo_box.item label="-Seleziona un valore predefinito-" name="item0"/>
</combo_box>
<text name="sky_dayc_settings_title">
- Ciclo giornata / cielo
+ Ciclo cielo / giornata
</text>
<radio_group name="sky_dayc_settings_radio_group">
<radio_item label="Cielo fisso" name="my_sky_settings"/>
diff --git a/indra/newview/skins/default/xui/it/floater_model_preview.xml b/indra/newview/skins/default/xui/it/floater_model_preview.xml
index 95fe4aaf4c..8e42dc07e8 100644
--- a/indra/newview/skins/default/xui/it/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/it/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Errore: Errore elaborazione Dae - vedere il registro per informazioni dettagliate.
</string>
+ <string name="status_bind_shape_orientation">
+ Attenzione: la matrice bind shape non ha un’orientazione standard X in avanti.
+ </string>
<string name="status_material_mismatch">
Errore: il materiale del modello non è un sottoinsieme del modello di riferimento.
</string>
diff --git a/indra/newview/skins/default/xui/it/floater_tools.xml b/indra/newview/skins/default/xui/it/floater_tools.xml
index efd1ea808a..1ebb45d02b 100644
--- a/indra/newview/skins/default/xui/it/floater_tools.xml
+++ b/indra/newview/skins/default/xui/it/floater_tools.xml
@@ -73,9 +73,6 @@
<button label="Collegamento" name="link_btn"/>
<button label="Scollega" name="unlink_btn"/>
<check_box label="Allunga entrambi i lati" name="checkbox uniform"/>
- <text label="Allunga entrambi i lati" name="checkbox uniform label">
- Allunga entrambi i lati
- </text>
<check_box initial_value="true" label="Ridimensiona le texture" name="checkbox stretch textures"/>
<check_box initial_value="true" label="Scatto" name="checkbox snap to grid"/>
<combo_box name="combobox grid mode" tool_tip="Scegli il tipo di righello per posizionare l&apos;oggetto">
@@ -379,6 +376,7 @@
<text name="edit_object">
Modifica le caratteristiche dell&apos;oggetto:
</text>
+ <check_box label="Mesh animato" name="Animated Mesh Checkbox Ctrl" tool_tip="Permetti agli oggetti mesh con rig di essere animati in modo indipendente"/>
<check_box label="Flessibilità" name="Flexible1D Checkbox Ctrl" tool_tip="Consenti all&apos;oggetto di flettersi lungo l&apos;asse Z (solo lato client)"/>
<spinner label="Morbidezza" name="FlexNumSections"/>
<spinner label="Gravità" name="FlexGravity"/>
@@ -415,82 +413,7 @@
<spinner label="Densità in 100 kg/m^3" name="Physics Density"/>
<spinner label="Restituzione" name="Physics Restitution"/>
</panel>
- <panel label="Texture" name="Texture">
- <panel.string name="string repeats per meter">
- Ripetizioni per metro
- </panel.string>
- <panel.string name="string repeats per face">
- Ripetizioni per faccia
- </panel.string>
- <texture_picker label="Texture" name="texture control" tool_tip="Clicca per scegliere un&apos;immagine"/>
- <color_swatch label="Colore" name="colorswatch" tool_tip="Clicca per aprire il selettore dei colori"/>
- <text name="color trans">
- Trasparenza %
- </text>
- <text name="glow label">
- Bagliore
- </text>
- <check_box label="Massima luminosità" name="checkbox fullbright"/>
- <text name="tex gen">
- Applicazione
- </text>
- <combo_box name="combobox texgen">
- <combo_box.item label="Default" name="Default"/>
- <combo_box.item label="Planare" name="Planar"/>
- </combo_box>
- <text name="label shininess">
- Brillantezza
- </text>
- <combo_box name="combobox shininess">
- <combo_box.item label="Nessuna" name="None"/>
- <combo_box.item label="Bassa" name="Low"/>
- <combo_box.item label="Media" name="Medium"/>
- <combo_box.item label="Alta" name="High"/>
- </combo_box>
- <text name="label bumpiness">
- Rilievo
- </text>
- <combo_box name="combobox bumpiness">
- <combo_box.item label="Nessuna" name="None"/>
- <combo_box.item label="Luminoso" name="Brightness"/>
- <combo_box.item label="Scuro" name="Darkness"/>
- <combo_box.item label="Venature del legno" name="woodgrain"/>
- <combo_box.item label="Corteccia" name="bark"/>
- <combo_box.item label="Mattoni" name="bricks"/>
- <combo_box.item label="Scacchi" name="checker"/>
- <combo_box.item label="Cemento" name="concrete"/>
- <combo_box.item label="Mattonella incrostata" name="crustytile"/>
- <combo_box.item label="Mosaico in pietra" name="cutstone"/>
- <combo_box.item label="Dischi" name="discs"/>
- <combo_box.item label="Ghiaia" name="gravel"/>
- <combo_box.item label="Sassi" name="petridish"/>
- <combo_box.item label="Listoni" name="siding"/>
- <combo_box.item label="Mattonelle in pietra" name="stonetile"/>
- <combo_box.item label="Stucco" name="stucco"/>
- <combo_box.item label="Cerchi rialzati" name="suction"/>
- <combo_box.item label="Trama" name="weave"/>
- </combo_box>
- <spinner label="Orizzontale (U)" name="TexScaleU"/>
- <check_box label="Inverti" name="checkbox flip s"/>
- <spinner label="Verticale (V)" name="TexScaleV"/>
- <check_box label="Inverti" name="checkbox flip t"/>
- <spinner label="Rotazione˚" name="TexRot"/>
- <button label="Applica" label_selected="Applica" name="button apply"/>
- <text name="tex offset">
- Bilanciamento della texture
- </text>
- <spinner label="Orizzontale (U)" name="TexOffsetU"/>
- <spinner label="Verticale (V)" name="TexOffsetV"/>
- <panel name="Add_Media">
- <text name="media_tex">
- Multimediale
- </text>
- <button name="add_media" tool_tip="Aggiungi media"/>
- <button name="delete_media" tool_tip="Cancella questa media texture"/>
- <button name="edit_media" tool_tip="Modifica questo media"/>
- <button label="Alllinea" label_selected="Allinea media" name="button align" tool_tip="Allinea texture del media (il caricamento deve prima essere completato)"/>
- </panel>
- </panel>
+ <panel label="Texture" name="Texture"/>
<panel label="Contenuto" name="Contents">
<button label="Nuovo Script" label_selected="Nuovo script" name="button new script"/>
<button label="Permessi" name="button permissions"/>
diff --git a/indra/newview/skins/default/xui/it/menu_object.xml b/indra/newview/skins/default/xui/it/menu_object.xml
index 537cc2dd8e..774fe57f5c 100644
--- a/indra/newview/skins/default/xui/it/menu_object.xml
+++ b/indra/newview/skins/default/xui/it/menu_object.xml
@@ -30,4 +30,6 @@
<menu_item_call label="Acquista" name="Buy..."/>
<menu_item_call label="Elimina" name="Delete"/>
<menu_item_call label="Blocca proprietario particella" name="Mute Particle"/>
+ <menu_item_call label="Dump XML" name="Dump XML"/>
+ <menu_item_call label="Ripristina scheletro" name="Reset Skeleton"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/it/menu_people_nearby_view.xml b/indra/newview/skins/default/xui/it/menu_people_nearby_view.xml
index d0891903f5..994ebc645a 100644
--- a/indra/newview/skins/default/xui/it/menu_people_nearby_view.xml
+++ b/indra/newview/skins/default/xui/it/menu_people_nearby_view.xml
@@ -3,6 +3,7 @@
<menu_item_check label="Ordina in base a intervenuti recenti" name="sort_by_recent_speakers"/>
<menu_item_check label="Ordina in base al nome" name="sort_name"/>
<menu_item_check label="Ordina in base alla distanza" name="sort_distance"/>
+ <menu_item_check label="Ordina in base all’arrivo" name="sort_arrival"/>
<menu_item_check label="Mostra le icone delle persone" name="view_icons"/>
<menu_item_check label="Mostra mappa" name="view_map"/>
<menu_item_check label="Nascondi nomi utenti" name="view_usernames"/>
diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml
index a6df0f8e1b..c0f7df5227 100644
--- a/indra/newview/skins/default/xui/it/notifications.xml
+++ b/indra/newview/skins/default/xui/it/notifications.xml
@@ -3236,6 +3236,9 @@ Per sicurezza, verranno bloccati per alcuni secondi.
<notification name="PresetNotSaved">
Errore durante il salvataggio del valore predefinito [NAME].
</notification>
+ <notification name="DefaultPresetNotSaved">
+ Impossibile sovrascrivere l’impostazione predefinita.
+ </notification>
<notification name="PresetNotDeleted">
Errore durante l&apos;eliminazione del valore predefinito [NAME].
</notification>
@@ -3996,6 +3999,9 @@ Riprova tra un minuto.
<notification name="CantCreateObjectRegionFull">
Impossibile creare l&apos;oggetto richiesto. La regione è piena.
</notification>
+ <notification name="CantCreateAnimatedObjectTooLarge">
+ Impossibile unire questi oggetti poichè l’oggetto animato che ne risulterebbe sarebbe superiore al limite triangolo con rig.
+ </notification>
<notification name="CantAttackMultipleObjOneSpot">
Non puoi collegare più oggetti a un singolo luogo.
</notification>
@@ -4044,6 +4050,21 @@ Riprova tra un minuto.
<notification name="CantChangeShape">
Non ti è consentito modificare questa forma.
</notification>
+ <notification name="NoPermsTooManyAttachedAnimatedObjects">
+ L’operazione farebbe superare il limite consentito al numero di oggetti animati allegati.
+ </notification>
+ <notification name="NoPermsLinkAnimatedObjectTooLarge">
+ Impossibile unire questi oggetti poichè l’oggetto animato che ne risulterebbe sarebbe superiore al limite triangolo con rig.
+ </notification>
+ <notification name="NoPermsSetFlagAnimatedObjectTooLarge">
+ Impossibile unire questi oggetti poichè l’oggetto animato che ne risulterebbe sarebbe superiore al limite triangolo con rig.
+ </notification>
+ <notification name="CantChangeAnimatedObjectStateInsufficientLand">
+ Impossibile cambiare lo stato dell’oggetto animato poichè andrebbe oltre il limite del lotto.
+ </notification>
+ <notification name="ErrorNoMeshData">
+ Errore del server: impossibile completare l’operazione poichè i dati mesh non sono stati caricati.
+ </notification>
<notification name="NoAccessToClaimObjects">
Le tue autorizzazioni di accesso non ti permettono di richiedere oggetti in questa posizione.
</notification>
diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml
index 3071f4c99e..455ccf87eb 100644
--- a/indra/newview/skins/default/xui/it/strings.xml
+++ b/indra/newview/skins/default/xui/it/strings.xml
@@ -62,15 +62,15 @@ Scheda grafica: [GRAPHICS_CARD]
Versione OpenGL: [OPENGL_VERSION]
</string>
<string name="AboutSettings">
- Dimensione finestra: [WINDOW_WIDTH] x [WINDOW_HEIGHT]
-Regolazione dimensioni carattere: [FONT_SIZE_ADJUSTMENT] punti
+ Dimensione finestra: [WINDOW_WIDTH]x[WINDOW_HEIGHT]
+Regolazione dimensioni carattere: [FONT_SIZE_ADJUSTMENT]pt
Scala UI: [UI_SCALE]
-Distanza visualizzazione: [DRAW_DISTANCE] m
-Larghezza banda: [NET_BANDWITH] kbit/s
+Distanza visualizzazione: [DRAW_DISTANCE]m
+Larghezza banda: [NET_BANDWITH]kbit/s
Fattore livello di dettaglio: [LOD_FACTOR]
Qualità di rendering: [RENDER_QUALITY]
Modello illuminazione avanzato: [GPU_SHADERS]
-Memoria texture: [TEXTURE_MEMORY] MB
+Memoria texture: [TEXTURE_MEMORY]MB
Data/ora creazione VFS (cache): [VFS_TIME]
</string>
<string name="AboutLibs">
diff --git a/indra/newview/skins/default/xui/ja/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/ja/floater_edit_sky_preset.xml
index 68d0c70baa..2d74bdeeb9 100644
--- a/indra/newview/skins/default/xui/ja/floater_edit_sky_preset.xml
+++ b/indra/newview/skins/default/xui/ja/floater_edit_sky_preset.xml
@@ -22,7 +22,7 @@
事前設定の名前:
</text>
<text name="note">
- 注意:自分で作成した事前設定の名前を変更すると、新しい事前設定が別に作成されるだけで、元の事前設定は変更されません。
+ 注記: 自分で作成した事前設定の名前を変更すると、新しい事前設定が別に作成されるだけで、元の事前設定は変更されません。
</text>
<tab_container name="WindLight Tabs">
<panel label="大気" name="Atmosphere">
@@ -53,7 +53,7 @@
太陽/月の色
</text>
<text name="WLAmbientText">
- 風
+ アンビエント
</text>
<text name="SunGlowText">
太陽の輝き
@@ -132,12 +132,12 @@
</text>
<check_box label="ロック" name="WLCloudLockX"/>
<text name="WLCloudScrollYText">
- 雲の移動速度(Y 方向)
+ 雲の移動速度(Y方向)
</text>
<check_box label="ロック" name="WLCloudLockY"/>
</panel>
</tab_container>
<check_box label="この事前設定を新しい空の設定にする" name="make_default_cb"/>
<button label="保存" name="save"/>
- <button label="取り消し" name="cancel"/>
+ <button label="キャンセル" name="cancel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/ja/floater_edit_water_preset.xml
index eddfbd4298..691aed35d0 100644
--- a/indra/newview/skins/default/xui/ja/floater_edit_water_preset.xml
+++ b/indra/newview/skins/default/xui/ja/floater_edit_water_preset.xml
@@ -22,7 +22,7 @@
事前設定の名前:
</text>
<text name="note">
- 注意:自分で作成した事前設定の名前を変更すると、新しい事前設定が別に作成されるだけで、元の事前設定は変更されません。
+ 注記: 自分で作成した事前設定の名前を変更すると、新しい事前設定が別に作成されるだけで、元の事前設定は変更されません。
</text>
<panel name="panel_water_preset">
<text name="water_color_label">
@@ -68,5 +68,5 @@
</panel>
<check_box label="この事前設定を新しい水の設定にする" name="make_default_cb"/>
<button label="保存" name="save"/>
- <button label="取り消し" name="cancel"/>
+ <button label="キャンセル" name="cancel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_environment_settings.xml b/indra/newview/skins/default/xui/ja/floater_environment_settings.xml
index 0e3803119f..f9290971c6 100644
--- a/indra/newview/skins/default/xui/ja/floater_environment_settings.xml
+++ b/indra/newview/skins/default/xui/ja/floater_environment_settings.xml
@@ -9,7 +9,7 @@
</radio_group>
<panel name="user_environment_settings">
<text name="note">
- 注意:カスタム設定は他のユーザーには見えません。
+ 注記: カスタム設定は他のユーザーには見えません。
</text>
<text name="water_settings_title">
水の設定
@@ -32,5 +32,5 @@
</combo_box>
</panel>
<button label="OK" name="ok_btn"/>
- <button label="取り消し" name="cancel_btn"/>
+ <button label="キャンセル" name="cancel_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_model_preview.xml b/indra/newview/skins/default/xui/ja/floater_model_preview.xml
index c22aaaf4c4..9292433cd2 100644
--- a/indra/newview/skins/default/xui/ja/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/ja/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
エラー:Dae に問題が見つかりました - 詳細についてはログをご参照ください。
</string>
+ <string name="status_bind_shape_orientation">
+ 警告: バインドシェイプマトリックスは、標準の X 軸正方向にはありません。
+ </string>
<string name="status_material_mismatch">
エラー:モデルの材料は参考モデルのサブセットではありません。
</string>
diff --git a/indra/newview/skins/default/xui/ja/floater_tools.xml b/indra/newview/skins/default/xui/ja/floater_tools.xml
index eeaa361649..a67916b50f 100644
--- a/indra/newview/skins/default/xui/ja/floater_tools.xml
+++ b/indra/newview/skins/default/xui/ja/floater_tools.xml
@@ -73,9 +73,6 @@
<button label="リンク" name="link_btn"/>
<button label="リンクを外す" name="unlink_btn"/>
<check_box label="両側を引き伸ばす" name="checkbox uniform"/>
- <text label="両側を延ばす" name="checkbox uniform label">
- 両側を延ばす
- </text>
<check_box initial_value="true" label="テクスチャを引き延ばす" name="checkbox stretch textures"/>
<check_box initial_value="true" label="スナップ" name="checkbox snap to grid"/>
<combo_box name="combobox grid mode" tool_tip="オブジェクトの配置に使うグリッドルーラの種類を選択">
@@ -378,6 +375,7 @@
<text name="edit_object">
オブジェクトの特徴を編集:
</text>
+ <check_box label="アニメーションメッシュ" name="Animated Mesh Checkbox Ctrl" tool_tip="リグ入りメッシュオブジェクトをそれぞれアニメーションさせることができるようになります"/>
<check_box label="フレキシブルパス" name="Flexible1D Checkbox Ctrl" tool_tip="Z 軸を中心にオブジェクトの屈曲を有効にします(クライアント側のみ)"/>
<spinner label="柔軟性" name="FlexNumSections"/>
<spinner label="重力" name="FlexGravity"/>
@@ -414,82 +412,7 @@
<spinner label="密度(100 kg/m^3)" name="Physics Density"/>
<spinner label="復元" name="Physics Restitution"/>
</panel>
- <panel label="材質" name="Texture">
- <panel.string name="string repeats per meter">
- メートルごとに繰り返す
- </panel.string>
- <panel.string name="string repeats per face">
- 面ごとに繰り返す
- </panel.string>
- <texture_picker label="テクスチャ" name="texture control" tool_tip="写真をクリックして選択します"/>
- <color_swatch label="色" name="colorswatch" tool_tip="クリックしてカラーピッカーを開きます"/>
- <text name="color trans">
- 透過度 %
- </text>
- <text name="glow label">
- グロー
- </text>
- <check_box label="明るさ全開" name="checkbox fullbright"/>
- <text name="tex gen">
- マッピング
- </text>
- <combo_box name="combobox texgen">
- <combo_box.item label="デフォルト" name="Default"/>
- <combo_box.item label="平面" name="Planar"/>
- </combo_box>
- <text name="label shininess">
- 輝き
- </text>
- <combo_box name="combobox shininess">
- <combo_box.item label="なし" name="None"/>
- <combo_box.item label="低" name="Low"/>
- <combo_box.item label="中" name="Medium"/>
- <combo_box.item label="高" name="High"/>
- </combo_box>
- <text name="label bumpiness">
- 凹凸
- </text>
- <combo_box name="combobox bumpiness">
- <combo_box.item label="なし" name="None"/>
- <combo_box.item label="明るさ" name="Brightness"/>
- <combo_box.item label="暗さ" name="Darkness"/>
- <combo_box.item label="木目調" name="woodgrain"/>
- <combo_box.item label="木の皮" name="bark"/>
- <combo_box.item label="レンガ" name="bricks"/>
- <combo_box.item label="チェッカー" name="checker"/>
- <combo_box.item label="コンクリート" name="concrete"/>
- <combo_box.item label="クラスティ・タイル" name="crustytile"/>
- <combo_box.item label="カットストーン" name="cutstone"/>
- <combo_box.item label="ディスク" name="discs"/>
- <combo_box.item label="砂利" name="gravel"/>
- <combo_box.item label="ペトリ" name="petridish"/>
- <combo_box.item label="羽目板" name="siding"/>
- <combo_box.item label="ストーン・タイル" name="stonetile"/>
- <combo_box.item label="しっくい" name="stucco"/>
- <combo_box.item label="吸い込み" name="suction"/>
- <combo_box.item label="織目" name="weave"/>
- </combo_box>
- <spinner label="水平(U)" name="TexScaleU"/>
- <check_box label="反転" name="checkbox flip s"/>
- <spinner label="垂直(V)" name="TexScaleV"/>
- <check_box label="反転" name="checkbox flip t"/>
- <spinner label="回転˚" name="TexRot"/>
- <button label="適用" label_selected="適用" name="button apply"/>
- <text name="tex offset">
- テクスチャのズレ
- </text>
- <spinner label="水平(U)" name="TexOffsetU"/>
- <spinner label="垂直(V)" name="TexOffsetV"/>
- <panel name="Add_Media">
- <text name="media_tex">
- メディア
- </text>
- <button name="add_media" tool_tip="メディアを追加します"/>
- <button name="delete_media" tool_tip="このメディアテクスチャを削除します"/>
- <button name="edit_media" tool_tip="このメディアを編集します"/>
- <button label="揃える" label_selected="メディアを一列に揃えます" name="button align" tool_tip="メディアテクスチャを一列に揃えます(最初に読み込む必要があります)"/>
- </panel>
- </panel>
+ <panel label="材質" name="Texture"/>
<panel label="中身" name="Contents">
<button label="新しいスクリプト" label_selected="新規スクリプト" name="button new script"/>
<button label="権限" name="button permissions"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_object.xml b/indra/newview/skins/default/xui/ja/menu_object.xml
index ae02edefe2..8da1d5d000 100644
--- a/indra/newview/skins/default/xui/ja/menu_object.xml
+++ b/indra/newview/skins/default/xui/ja/menu_object.xml
@@ -30,4 +30,6 @@
<menu_item_call label="買う" name="Buy..."/>
<menu_item_call label="削除" name="Delete"/>
<menu_item_call label="パーティクル所有者をブロック" name="Mute Particle"/>
+ <menu_item_call label="ダンプ XML" name="Dump XML"/>
+ <menu_item_call label="スケルトンをリセット" name="Reset Skeleton"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_people_nearby_view.xml b/indra/newview/skins/default/xui/ja/menu_people_nearby_view.xml
index 9330a8e484..2217288987 100644
--- a/indra/newview/skins/default/xui/ja/menu_people_nearby_view.xml
+++ b/indra/newview/skins/default/xui/ja/menu_people_nearby_view.xml
@@ -3,6 +3,7 @@
<menu_item_check label="最近の発言者で並べ替え" name="sort_by_recent_speakers"/>
<menu_item_check label="名前で並べ替え" name="sort_name"/>
<menu_item_check label="距離で並べ替え" name="sort_distance"/>
+ <menu_item_check label="到着した順に並べ替え" name="sort_arrival"/>
<menu_item_check label="人のアイコン表示" name="view_icons"/>
<menu_item_check label="地図を表示" name="view_map"/>
<menu_item_check label="ユーザー名を非表示" name="view_usernames"/>
diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml
index 4b2df6372a..7bdae9c2bc 100644
--- a/indra/newview/skins/default/xui/ja/notifications.xml
+++ b/indra/newview/skins/default/xui/ja/notifications.xml
@@ -3274,6 +3274,9 @@ M キーを押して変更します。
<notification name="PresetNotSaved">
プリセット [NAME] の保存エラー。
</notification>
+ <notification name="DefaultPresetNotSaved">
+ デフォルトの事前設定を上書きすることはできません。
+ </notification>
<notification name="PresetNotDeleted">
プリセット [NAME] の削除エラー。
</notification>
@@ -4032,6 +4035,9 @@ M キーを押して変更します。
<notification name="CantCreateObjectRegionFull">
リクエストされたオブジェクトを作成できません。リージョンが埋まっています。
</notification>
+ <notification name="CantCreateAnimatedObjectTooLarge">
+ リグ入三角形の限度数を超えるため、リクエストされたアニメーションオブジェクトを作成することができません。
+ </notification>
<notification name="CantAttackMultipleObjOneSpot">
1 つの場所に複数のオブジェクトを着用することはできません。
</notification>
@@ -4080,6 +4086,21 @@ M キーを押して変更します。
<notification name="CantChangeShape">
あなたにはこのシェイプを変更する許可がありません。
</notification>
+ <notification name="NoPermsTooManyAttachedAnimatedObjects">
+ この操作を行うと、装着されたアニメーションオブジェクトが限度数を超えます。
+ </notification>
+ <notification name="NoPermsLinkAnimatedObjectTooLarge">
+ 結果として、アニメーションオブジェクトがリグ入り三角形の限度数を超えるため、これらのオブジェクトを結合できません。
+ </notification>
+ <notification name="NoPermsSetFlagAnimatedObjectTooLarge">
+ リグ入り三角形の限度数を超えるため、このオブジェクトをアニメーションオブジェクトにすることはできません。
+ </notification>
+ <notification name="CantChangeAnimatedObjectStateInsufficientLand">
+ このオブジェクトをアニメーションオブジェクトの状態に変えると、区画の限度数を超えるため変更できません。
+ </notification>
+ <notification name="ErrorNoMeshData">
+ サーバーエラー: メッシュデータが読み込まれていないため、この操作を完了できません。
+ </notification>
<notification name="NoAccessToClaimObjects">
現在のアクセス権限では、ここにオブジェクトを取得できません。
</notification>
diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml
index 62c0533e1e..80fa306157 100644
--- a/indra/newview/skins/default/xui/ja/strings.xml
+++ b/indra/newview/skins/default/xui/ja/strings.xml
@@ -65,16 +65,16 @@ OS バージョン:[OS_VERSION]
OpenGL バージョン:[OPENGL_VERSION]
</string>
<string name="AboutSettings">
- ウィンドウサイズ: [WINDOW_WIDTH]x[WINDOW_HEIGHT]
-フォントサイズの調整: [FONT_SIZE_ADJUSTMENT]pt
-UI スケーリング: [UI_SCALE]
-描画距離:[DRAW_DISTANCE]m
-帯域幅:[NET_BANDWITH]kbit/s
-LOD 係数: [LOD_FACTOR]
-表示品質: [RENDER_QUALITY]
-高度なライティングモデル: [GPU_SHADERS]
-テクスチャメモリ: [TEXTURE_MEMORY]MB
-VFS(キャッシュ)作成時間: [VFS_TIME]
+ ウィンドウサイズ: [WINDOW_WIDTH]x[WINDOW_HEIGHT]
+フォントサイズ調整: [FONT_SIZE_ADJUSTMENT]pt
+UI スケーリング: [UI_SCALE]
+描画距離: [DRAW_DISTANCE]m
+帯域幅: [NET_BANDWITH]kbit/s
+LOD 係数: [LOD_FACTOR]
+描画の質: [RENDER_QUALITY]
+高度なライティングモデル: [GPU_SHADERS]
+テクスチャメモリ: [TEXTURE_MEMORY]MB
+VFS(キャッシュ)作成時間: [VFS_TIME]
</string>
<string name="AboutLibs">
J2C デコーダバージョン: [J2C_VERSION]
diff --git a/indra/newview/skins/default/xui/pt/floater_buy_currency.xml b/indra/newview/skins/default/xui/pt/floater_buy_currency.xml
index 2845a29e1d..513400954b 100644
--- a/indra/newview/skins/default/xui/pt/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/pt/floater_buy_currency.xml
@@ -59,7 +59,7 @@
</text>
<button label="Comprar já!" name="buy_btn"/>
<button label="Fechar" name="cancel_btn"/>
- <text name="info_cannot_buy">
+ <text name="info_cannot_buy" font="SansSerifBig">
Transação incompleta
</text>
<button label="Prosseguir para a web" name="error_web"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/pt/floater_edit_sky_preset.xml
index 1f1fbcce7e..6c663e2da8 100644
--- a/indra/newview/skins/default/xui/pt/floater_edit_sky_preset.xml
+++ b/indra/newview/skins/default/xui/pt/floater_edit_sky_preset.xml
@@ -1,28 +1,28 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Edit Sky Preset" title="Editar pré-configuração do céu">
+<floater name="Edit Sky Preset" title="Editar predefinição de céu">
<string name="title_new">
- Criar nova pré-configuração de céu
+ Criar uma nova predefinição de céu
</string>
<string name="title_edit">
- Editar pré-configuração do céu
+ Editar predefinição de céu
</string>
<string name="hint_new">
- Dê um nome à sua pré-configuração, ajuste os controles para criá-la e clique em &quot;Salvar&quot;.
+ Nomeie sua predefinição, ajuste os controles para criá-la e clique em “Salvar”.
</string>
<string name="hint_edit">
- Para editar sua pré-configuração do céu, ajuste os controles e clique em &quot;Salvar&quot;.
+ Para editar a sua predefinição de céu, ajuste os controles e clique em “Salvar”.
</string>
<string name="combo_label">
- -Selecione uma pré-configuração-
+ -Selecionar uma prefefinição-
</string>
<text name="hint">
- Para editar sua pré-configuração do céu, ajuste os controles e clique em &quot;Salvar&quot;.
+ Para editar a sua predefinição, ajuste os controles e clique em “Salvar”.
</text>
<text name="label">
- Nome:
+ Nome predefinido:
</text>
<text name="note">
- Observação: trocar o nome de uma pré-configuração criará uma nova sem modificar a pré-configuração atual.
+ Note: se você alterar o nome da sua predefinição, você criará uma nova predefinição e a predefinição existente não será alterada.
</text>
<tab_container name="WindLight Tabs">
<panel label="ATMOSFERA" name="Atmosphere">
@@ -30,22 +30,22 @@
Horizonte azul
</text>
<text name="BDensText">
- Horizonte com névoa
+ Horizonte de neblina
</text>
<text name="BDensText2">
Densidade azul
</text>
<text name="HDText">
- Densidade da névoa
+ Densidade da neblina
</text>
<text name="DensMultText">
- Multiplicador de densidade
+ Múltipla densidade
</text>
<text name="WLDistanceMultText">
- Multiplicador de distância
+ Múltipla distância
</text>
<text name="MaxAltText">
- Altitude máxima
+ Altitude máx.
</text>
</panel>
<panel label="ILUMINAÇÃO" name="Lighting">
@@ -58,13 +58,13 @@
<text name="SunGlowText">
Brilho do sol
</text>
- <slider label="Foco" name="WLGlowB"/>
+ <slider label="Enfocar" name="WLGlowB"/>
<slider label="Tamanho" name="WLGlowR"/>
<text name="WLStarText">
- Brilho das estrelas
+ Brilho da estrela
</text>
<text name="SceneGammaText">
- Raios gama
+ Gama da cena
</text>
<text name="TODText">
Posição do sol/lua
@@ -86,58 +86,58 @@
|
</text>
<text name="WL12am">
- 24:00
+ 12am
</text>
<text name="WL6am">
- 06:00
+ 6am
</text>
<text name="WL12pmHash">
- 12:00
+ 12pm
</text>
<text name="WL6pm">
- 18:00
+ 6pm
</text>
<text name="WL12am2">
- 24:00
+ 12am
</text>
- <time name="WLDayTime" value="06:00"/>
+ <time name="WLDayTime" value="6:00 AM"/>
<text name="WLEastAngleText">
Ângulo leste
</text>
</panel>
<panel label="NUVENS" name="Clouds">
<text name="WLCloudColorText">
- Cor das nuvens
+ Cor da nuvem
</text>
<text name="WLCloudColorText2">
- XY / densidade das nuvens
+ Nuvem XY/Densidade
</text>
<slider label="X" name="WLCloudX"/>
<slider label="Y" name="WLCloudY"/>
<slider label="D" name="WLCloudDensity"/>
<text name="WLCloudCoverageText">
- Cobertura das nuvens
+ Cobertura da nuvem
</text>
<text name="WLCloudScaleText">
- Escala das nuvens
+ Escala da nuvem
</text>
<text name="WLCloudDetailText">
- Detalhe das nuvens (XY / densidade)
+ Detalhe da Nuvem (XY/Densidade)
</text>
<slider label="X" name="WLCloudDetailX"/>
<slider label="Y" name="WLCloudDetailY"/>
<slider label="D" name="WLCloudDetailDensity"/>
<text name="WLCloudScrollXText">
- Passagem das nuvens X
+ Rolagem na nuvem X
</text>
- <check_box label="Fixar" name="WLCloudLockX"/>
+ <check_box label="Bloquear" name="WLCloudLockX"/>
<text name="WLCloudScrollYText">
- Passagem das nuvens Y
+ Rolagem na nuvem Y
</text>
- <check_box label="Fixar" name="WLCloudLockY"/>
+ <check_box label="Bloquear" name="WLCloudLockY"/>
</panel>
</tab_container>
- <check_box label="Usar esta pré-configuração como meu novo céu" name="make_default_cb"/>
+ <check_box label="Tornar esta predefinição minha nova configuração de céu" name="make_default_cb"/>
<button label="Salvar" name="save"/>
<button label="Cancelar" name="cancel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/pt/floater_edit_water_preset.xml
index 7bde22851e..f94f78c8ae 100644
--- a/indra/newview/skins/default/xui/pt/floater_edit_water_preset.xml
+++ b/indra/newview/skins/default/xui/pt/floater_edit_water_preset.xml
@@ -1,72 +1,72 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Edit Water Preset" title="Editar pré-configuração da água">
+<floater name="Edit Water Preset" title="Editar predefinição da água">
<string name="title_new">
- Criar nova pré-configuração de água
+ Criar uma nova predefinição da água
</string>
<string name="title_edit">
- Editar pré-configuração da água
+ Editar uma predefinição da água
</string>
<string name="hint_new">
- Dê um nome à sua pré-configuração, ajuste os controles para criá-la e clique em &quot;Salvar&quot;.
+ Nomeie sua predefinição, ajuste os controles para criá-la e clique em “Salvar”.
</string>
<string name="hint_edit">
- Para editar sua pré-configuração de água, ajuste os controles e clique em &quot;Salvar&quot;.
+ Para editar a sua predefinição da água, ajuste os controles e clique em “Salvar”.
</string>
<string name="combo_label">
- -Selecione uma pré-configuração-
+ -Selecionar uma prefefinição-
</string>
<text name="hint">
- Para editar sua pré-configuração, ajuste os controles e clique em &quot;Salvar&quot;.
+ Para editar a sua predefinição, ajuste os controles e clique em “Salvar”.
</text>
<text name="label">
- Nome da pré-configuração:
+ Nome predefinido:
</text>
<text name="note">
- Observação: trocar o nome de uma pré-configuração criará uma nova sem modificar a configuração atual.
+ Note: se você alterar o nome da sua predefinição, você criará uma nova predefinição e a predefinição existente não será alterada.
</text>
<panel name="panel_water_preset">
<text name="water_color_label">
Cor da névoa da água
</text>
<text name="water_fog_density_label">
- Expoente da densidade da névoa
+ Exponente de densidade da névoa
</text>
<text name="underwater_fog_modifier_label">
- Modificador de névoa submerso
+ Modificador da névoa embaixo da água
</text>
<text name="BHText">
- Direção de onda grande
+ Direção da grande onda
</text>
<slider label="X" name="WaterWave1DirX"/>
<slider label="Y" name="WaterWave1DirY"/>
<text name="BDensText">
- Escala de ondas de reflexo
+ Escala da reflexão da onda
</text>
<text name="HDText">
- Escala de Fresnel
+ Escala fresnel
</text>
<text name="FresnelOffsetText">
- Recuo de Fresnel
+ Offset fresnel
</text>
<text name="BHText2">
- Direção de onda pequena
+ Direção da pequena onda
</text>
<slider label="X" name="WaterWave2DirX"/>
<slider label="Y" name="WaterWave2DirY"/>
<text name="DensMultText">
- Escala de refração acima
+ Escala de Refratar Acima
</text>
<text name="WaterScaleBelowText">
- Escala de refração abaixo
+ Escala de Refratar Abaixo
</text>
<text name="MaxAltText">
- Multiplicador de distorção
+ Múltiplo desfoque
</text>
<text name="BHText3">
Mapa normal
</text>
</panel>
- <check_box label="Usar esta pré-configuração na minha água" name="make_default_cb"/>
+ <check_box label="Tornar esta predefinição minha nova configuração da água" name="make_default_cb"/>
<button label="Salvar" name="save"/>
<button label="Cancelar" name="cancel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_environment_settings.xml b/indra/newview/skins/default/xui/pt/floater_environment_settings.xml
index 4055ba97ef..40be4dbff4 100644
--- a/indra/newview/skins/default/xui/pt/floater_environment_settings.xml
+++ b/indra/newview/skins/default/xui/pt/floater_environment_settings.xml
@@ -1,34 +1,34 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Environment Editor Floater" title="AMBIENTE">
+<floater name="Environment Editor Floater" title="CONFIGURAÇÕES DE AMBIENTE">
<text name="note">
- Use as opções abaixo para personalizar as configurações de ambiente no visualizador.
+ Use a opção abaixo para personalizar as configurações de ambiente para o seu visualizador.
</text>
<radio_group name="region_settings_radio_group">
- <radio_item label="Usar configurações da região" name="use_region_settings"/>
+ <radio_item label="Use as configurações da região" name="use_region_settings"/>
<radio_item label="Personalizar meu ambiente" name="use_my_settings"/>
</radio_group>
<panel name="user_environment_settings">
<text name="note">
- Observação: suas configurações não se aplicam aos outros usuários.
+ Nota: suas configurações personalizadas não estarão visíveis para outros usuários.
</text>
<text name="water_settings_title">
- Configuração de água
+ Configurações da água
</text>
<combo_box name="water_settings_preset_combo">
- <combo_box.item label="-Selecione uma pré-configuração-" name="item0"/>
+ <combo_box.item label="-Selecionar uma prefefinição-" name="item0"/>
</combo_box>
<text name="sky_dayc_settings_title">
- Ciclo céu / dia
+ Céu / Ciclo de dias
</text>
<radio_group name="sky_dayc_settings_radio_group">
<radio_item label="Céu fixo" name="my_sky_settings"/>
- <radio_item label="Ciclo dia" name="my_dayc_settings"/>
+ <radio_item label="Ciclos de dias" name="my_dayc_settings"/>
</radio_group>
<combo_box name="sky_settings_preset_combo">
- <combo_box.item label="-Selecione uma pré-configuração-" name="item0"/>
+ <combo_box.item label="-Selecionar uma prefefinição-" name="item0"/>
</combo_box>
<combo_box name="dayc_settings_preset_combo">
- <combo_box.item label="-Selecione uma pré-configuração-" name="item0"/>
+ <combo_box.item label="-Selecionar uma prefefinição-" name="item0"/>
</combo_box>
</panel>
<button label="OK" name="ok_btn"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_model_preview.xml b/indra/newview/skins/default/xui/pt/floater_model_preview.xml
index 70ba647d30..6e1c103183 100644
--- a/indra/newview/skins/default/xui/pt/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/pt/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Erro: Problema ao analisar .dae - consulte log para obter detalhes.
</string>
+ <string name="status_bind_shape_orientation">
+ Aviso: matriz de forma vincular não está na orientação X adiante padrão.
+ </string>
<string name="status_material_mismatch">
Erro: o material do modelo não é um subconjunto do modelo de referência.
</string>
diff --git a/indra/newview/skins/default/xui/pt/floater_tools.xml b/indra/newview/skins/default/xui/pt/floater_tools.xml
index 356063a94f..0c17624aa5 100644
--- a/indra/newview/skins/default/xui/pt/floater_tools.xml
+++ b/indra/newview/skins/default/xui/pt/floater_tools.xml
@@ -73,9 +73,6 @@
<button label="Link" name="link_btn"/>
<button label="Desconectar links" name="unlink_btn"/>
<check_box label="Esticar ambos lados" name="checkbox uniform"/>
- <text label="Esticar ambos lados" name="checkbox uniform label">
- Esticar ambos lados
- </text>
<check_box initial_value="true" label="Esticar texturas" name="checkbox stretch textures"/>
<check_box initial_value="true" label="Ajustar" name="checkbox snap to grid"/>
<combo_box name="combobox grid mode" tool_tip="Selecione o tipo de régua da grade onde o objeto será colocado">
@@ -372,6 +369,7 @@
<text name="edit_object">
Editar características do objeto:
</text>
+ <check_box label="Malha animada" name="Animated Mesh Checkbox Ctrl" tool_tip="Permite que objetos de malha manipulados sejam animados independentemente"/>
<check_box label="Flexibilidade" name="Flexible1D Checkbox Ctrl" tool_tip="Allows object to flex about the Z axis (Client-side only)"/>
<spinner label="Suavidade" name="FlexNumSections"/>
<spinner label="Gravidade" name="FlexGravity"/>
@@ -408,82 +406,7 @@
<spinner label="Densidade em 100 kg/m^3" name="Physics Density"/>
<spinner label="Restituição" name="Physics Restitution"/>
</panel>
- <panel label="Textura" name="Texture">
- <panel.string name="string repeats per meter">
- Repetir por Metro
- </panel.string>
- <panel.string name="string repeats per face">
- Repetir por Face
- </panel.string>
- <texture_picker label="Textura" name="texture control" tool_tip="Clique para escolher uma imagem"/>
- <color_swatch label="Cor" name="colorswatch" tool_tip="Selecionar a cor"/>
- <text name="color trans" width="100">
- Transparência %
- </text>
- <text name="glow label">
- Brilho
- </text>
- <check_box label="Claridade" name="checkbox fullbright"/>
- <text name="tex gen">
- Mapeamento
- </text>
- <combo_box name="combobox texgen">
- <combo_box.item label="Padrão" name="Default"/>
- <combo_box.item label="Planar" name="Planar"/>
- </combo_box>
- <text name="label shininess">
- Brilho
- </text>
- <combo_box name="combobox shininess">
- <combo_box.item label="Nenhum" name="None"/>
- <combo_box.item label="Baixo" name="Low"/>
- <combo_box.item label="Médio" name="Medium"/>
- <combo_box.item label="Alto" name="High"/>
- </combo_box>
- <text name="label bumpiness">
- Ondulação
- </text>
- <combo_box name="combobox bumpiness" width="100">
- <combo_box.item label="Nenhum" name="None"/>
- <combo_box.item label="Claridade" name="Brightness"/>
- <combo_box.item label="Escuridão" name="Darkness"/>
- <combo_box.item label="Granulação" name="woodgrain"/>
- <combo_box.item label="Casca" name="bark"/>
- <combo_box.item label="Tijolos" name="bricks"/>
- <combo_box.item label="Caixa" name="checker"/>
- <combo_box.item label="Concreto" name="concrete"/>
- <combo_box.item label="Encaroçado" name="crustytile"/>
- <combo_box.item label="Pedra Cortante" name="cutstone"/>
- <combo_box.item label="Discos" name="discs"/>
- <combo_box.item label="Cascalho" name="gravel"/>
- <combo_box.item label="Pedrisco" name="petridish"/>
- <combo_box.item label="Revestimento" name="siding"/>
- <combo_box.item label="Empedrado" name="stonetile"/>
- <combo_box.item label="Grafiato" name="stucco"/>
- <combo_box.item label="Sulcos" name="suction"/>
- <combo_box.item label="Weave" name="weave"/>
- </combo_box>
- <spinner label="Horizontal (U)" name="TexScaleU"/>
- <check_box label="Inverter" name="checkbox flip s"/>
- <spinner label="Vertical (V)" name="TexScaleV"/>
- <check_box label="Inverter" name="checkbox flip t"/>
- <spinner label="Rotação˚" name="TexRot"/>
- <button label="Aplicar" label_selected="Aplicar" name="button apply"/>
- <text name="tex offset">
- Offset de textura
- </text>
- <spinner label="Horizontal (U)" name="TexOffsetU"/>
- <spinner label="Vertical (V)" name="TexOffsetV"/>
- <panel name="Add_Media">
- <text name="media_tex">
- Mídia
- </text>
- <button name="add_media" tool_tip="Adicionar mídia"/>
- <button name="delete_media" tool_tip="Excluir esta textura de mídia"/>
- <button name="edit_media" tool_tip="Editar esta mídia"/>
- <button label="Alinhar" label_selected="Alinhar mídias" name="button align" tool_tip="Alinhar textura da mídia (após carregar mídia)"/>
- </panel>
- </panel>
+ <panel label="Textura" name="Texture"/>
<panel label="Conteúdo" name="Contents">
<button label="Novo script" label_selected="Novo script" name="button new script"/>
<button label="Autorizações" name="button permissions"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_object.xml b/indra/newview/skins/default/xui/pt/menu_object.xml
index 47b08a170c..0eb08b40b8 100644
--- a/indra/newview/skins/default/xui/pt/menu_object.xml
+++ b/indra/newview/skins/default/xui/pt/menu_object.xml
@@ -30,4 +30,6 @@
<menu_item_call label="Comprar" name="Buy..."/>
<menu_item_call label="Excluir" name="Delete"/>
<menu_item_call label="Bloquear proprietário da partícula" name="Mute Particle"/>
+ <menu_item_call label="Descartar XML" name="Dump XML"/>
+ <menu_item_call label="Redefinir esqueleto" name="Reset Skeleton"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_people_nearby_view.xml b/indra/newview/skins/default/xui/pt/menu_people_nearby_view.xml
index 2c49f5e2fd..5577b9f106 100644
--- a/indra/newview/skins/default/xui/pt/menu_people_nearby_view.xml
+++ b/indra/newview/skins/default/xui/pt/menu_people_nearby_view.xml
@@ -3,6 +3,7 @@
<menu_item_check label="Ordenar por conversas mais recentes" name="sort_by_recent_speakers"/>
<menu_item_check label="Ordenar por nome" name="sort_name"/>
<menu_item_check label="Ordenar por distância" name="sort_distance"/>
+ <menu_item_check label="Ordenar por chegadas recentes" name="sort_arrival"/>
<menu_item_check label="Exibir ícones de pessoas" name="view_icons"/>
<menu_item_check label="Exibir mapa" name="view_map"/>
<menu_item_check label="Ocultar nomes de usuários" name="view_usernames"/>
diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml
index d794eb713d..75c3b0ec58 100644
--- a/indra/newview/skins/default/xui/pt/notifications.xml
+++ b/indra/newview/skins/default/xui/pt/notifications.xml
@@ -3221,6 +3221,9 @@ Para sua segurança, os SLurls serão bloqueados por alguns instantes.
<notification name="PresetNotSaved">
Erro ao salvar predefinição [NAME].
</notification>
+ <notification name="DefaultPresetNotSaved">
+ Não é possível sobrescrever o padrão definido.
+ </notification>
<notification name="PresetNotDeleted">
Erro ao excluir a predefinição [NAME].
</notification>
@@ -3984,6 +3987,9 @@ Tente novamente em instantes.
<notification name="CantCreateObjectRegionFull">
Não foi possível criar o objeto solicitado. A região está cheia.
</notification>
+ <notification name="CantCreateAnimatedObjectTooLarge">
+ Não é possível criar o objeto animado solicitado porque excede o limite triangular manipulado.
+ </notification>
<notification name="CantAttackMultipleObjOneSpot">
Não é possível anexar vários objetos a um local.
</notification>
@@ -4032,6 +4038,21 @@ Tente novamente em instantes.
<notification name="CantChangeShape">
Você não está autorizado a alterar essa forma.
</notification>
+ <notification name="NoPermsTooManyAttachedAnimatedObjects">
+ A operação faria com que o número de objetos animados anexados excedesse o limite.
+ </notification>
+ <notification name="NoPermsLinkAnimatedObjectTooLarge">
+ Não é possível vincular esses objetos porque o objeto animado resultante excederia o limite triangular manipulado.
+ </notification>
+ <notification name="NoPermsSetFlagAnimatedObjectTooLarge">
+ Não é possível tornar este objeto em animado porque excederia o limite triangular manipulado.
+ </notification>
+ <notification name="CantChangeAnimatedObjectStateInsufficientLand">
+ Não é possível mudar o estado do objeto animado para este objeto, porque faria o limite do lote ser excedido.
+ </notification>
+ <notification name="ErrorNoMeshData">
+ Erro do servidor: não foi possível completar esta operação porque os dados mesh não está carregado.
+ </notification>
<notification name="NoAccessToClaimObjects">
Seus privilégios de acesso não permitem que você reivindique objetos aqui.
</notification>
diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml
index 8648da6149..4c23e48b89 100644
--- a/indra/newview/skins/default/xui/pt/strings.xml
+++ b/indra/newview/skins/default/xui/pt/strings.xml
@@ -57,15 +57,15 @@ Placa gráfica: [GRAPHICS_CARD]
</string>
<string name="AboutSettings">
Tamanho da janela: [WINDOW_WIDTH]x[WINDOW_HEIGHT]
-Ajuste do tamanho de fonte: [FONT_SIZE_ADJUSTMENT]pt
-Escala de interface: [UI_SCALE]
-Dist. máxima: [DRAW_DISTANCE]m
-Largura de banda: [NET_BANDWITH]kbit/s
-Fator LOD: [LOD_FACTOR]
+Ajuste do tamanho da fonte: [FONT_SIZE_ADJUSTMENT]pt
+UI Escala: [UI_SCALE]
+Estabelecer a distância: [DRAW_DISTANCE]m
+Largura da banda: [NET_BANDWITH]kbit/s
+LOD fator: [LOD_FACTOR]
Qualidade de renderização: [RENDER_QUALITY]
-Modelo de iluminação avançado: [GPU_SHADERS]
+Modelo avançado de luzes: [GPU_SHADERS]
Memória de textura: [TEXTURE_MEMORY]MB
-Tempo de criação de VFS (cache): [VFS_TIME]
+VFS (cache) tempo de criação: [VFS_TIME]
</string>
<string name="AboutLibs">
Versão do J2C Decoder: [J2C_VERSION]
diff --git a/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml
index 354120ea72..041474f659 100644
--- a/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml
+++ b/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml
@@ -22,7 +22,7 @@
Имя настройки:
</text>
<text name="note">
- Примечание. Если изменить имя настройки, будет создана новая настройка, а изменения в существующей не будут сохранены.
+ Примечание: если изменить имя настройки, будет создана новая настройка, а существующая настройка останется без изменения.
</text>
<tab_container name="WindLight Tabs">
<panel label="АТМОСФЕРА" name="Atmosphere">
@@ -53,7 +53,7 @@
Цвет солнца/луны
</text>
<text name="WLAmbientText">
- Рассеянное
+ Окружающая среда
</text>
<text name="SunGlowText">
Сияние солнца
@@ -86,55 +86,55 @@
|
</text>
<text name="WL12am">
- 12 ночи
+ 12 часов ночи
</text>
<text name="WL6am">
- 6 утра
+ 6 часов утра
</text>
<text name="WL12pmHash">
- 12 дня
+ 12 часов пополудни
</text>
<text name="WL6pm">
- 6 вечера
+ 6 часов вечера
</text>
<text name="WL12am2">
- 12 ночи
+ 12 часов ночи
</text>
- <time name="WLDayTime" value="6:00"/>
+ <time name="WLDayTime" value="6:00 часов утра"/>
<text name="WLEastAngleText">
- Смещение отн. востока
+ Смещение относительно востока
</text>
</panel>
<panel label="ОБЛАКА" name="Clouds">
<text name="WLCloudColorText">
- Цвет
+ Цвет облака
</text>
<text name="WLCloudColorText2">
- Положение и плотность
+ Координаты XY/плотность облака
</text>
- <slider label="X" name="WLCloudX"/>
+ <slider label="Х" name="WLCloudX"/>
<slider label="Y" name="WLCloudY"/>
- <slider label="П" name="WLCloudDensity"/>
+ <slider label="D" name="WLCloudDensity"/>
<text name="WLCloudCoverageText">
Облачность
</text>
<text name="WLCloudScaleText">
- Размеры
+ Шкала облачности
</text>
<text name="WLCloudDetailText">
- Детали (положение/плотность)
+ Детализация облака (координаты XY/плотность)
</text>
- <slider label="X" name="WLCloudDetailX"/>
+ <slider label="Х" name="WLCloudDetailX"/>
<slider label="Y" name="WLCloudDetailY"/>
- <slider label="П" name="WLCloudDetailDensity"/>
+ <slider label="D" name="WLCloudDetailDensity"/>
<text name="WLCloudScrollXText">
- Скорость по X
+ Перемещение облака по координате X
</text>
- <check_box label="На месте" name="WLCloudLockX"/>
+ <check_box label="Фиксация" name="WLCloudLockX"/>
<text name="WLCloudScrollYText">
- Скорость по Y
+ Перемещение облака по координате Y
</text>
- <check_box label="На месте" name="WLCloudLockY"/>
+ <check_box label="Фиксация" name="WLCloudLockY"/>
</panel>
</tab_container>
<check_box label="Применить эту настройку неба" name="make_default_cb"/>
diff --git a/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml
index f6def86380..2ebbb11fce 100644
--- a/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml
+++ b/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Edit Water Preset" title="Изменить настройку воды">
<string name="title_new">
- Создать настройку воды
+ Создать новую настройку воды
</string>
<string name="title_edit">
Изменение настройки воды
@@ -22,28 +22,28 @@
Имя настройки:
</text>
<text name="note">
- Примечание. Если изменить имя настройки, будет создана новая настройка, а изменения в существующей не будут сохранены.
+ Примечание: если изменить имя настройки, будет создана новая настройка, а существующая настройка останется без изменения.
</text>
<panel name="panel_water_preset">
<text name="water_color_label">
- Оттенок
+ Цвет водяного тумана
</text>
<text name="water_fog_density_label">
- Прозрачность
+ Показатель плотности тумана
</text>
<text name="underwater_fog_modifier_label">
- Изменение прозрачности
+ Модификатор тумана подземных вод
</text>
<text name="BHText">
Направление больших волн
</text>
- <slider label="X" name="WaterWave1DirX"/>
+ <slider label="Х" name="WaterWave1DirX"/>
<slider label="Y" name="WaterWave1DirY"/>
<text name="BDensText">
- Степень отражения зыби
+ Масштаб отражённого импульса
</text>
<text name="HDText">
- Отражение
+ Френелевский масштаб
</text>
<text name="FresnelOffsetText">
Угловая зависимость
@@ -51,7 +51,7 @@
<text name="BHText2">
Направление ряби
</text>
- <slider label="X" name="WaterWave2DirX"/>
+ <slider label="Х" name="WaterWave2DirX"/>
<slider label="Y" name="WaterWave2DirY"/>
<text name="DensMultText">
Преломление (над водой)
@@ -60,13 +60,13 @@
Преломление (под водой)
</text>
<text name="MaxAltText">
- Размытие
+ Коэффициент размытия
</text>
<text name="BHText3">
- Карта поверхности
+ Карта нормалей
</text>
</panel>
- <check_box label="Применить эту настройку воды" name="make_default_cb"/>
+ <check_box label="Применить эту новую настройку воды" name="make_default_cb"/>
<button label="Сохранить" name="save"/>
<button label="Отмена" name="cancel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_environment_settings.xml b/indra/newview/skins/default/xui/ru/floater_environment_settings.xml
index d752c08cbb..226f07face 100644
--- a/indra/newview/skins/default/xui/ru/floater_environment_settings.xml
+++ b/indra/newview/skins/default/xui/ru/floater_environment_settings.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Environment Editor Floater" title="НАСТРОЙКИ СРЕДЫ">
<text name="note">
- Приведенные ниже параметры позволяют настроить среду клиента.
+ Приведенные ниже параметры позволяют настроить окружающую среду для средства просмотра.
</text>
<radio_group name="region_settings_radio_group">
<radio_item label="Использовать настройки региона" name="use_region_settings"/>
@@ -9,7 +9,7 @@
</radio_group>
<panel name="user_environment_settings">
<text name="note">
- Примечание. Ваши персональные настройки не видны другим пользователям.
+ Примечание: ваши настройки не будут видны другим пользователям.
</text>
<text name="water_settings_title">
Настройка воды
@@ -18,10 +18,10 @@
<combo_box.item label="-Выбор настройки-" name="item0"/>
</combo_box>
<text name="sky_dayc_settings_title">
- Небо и суточный цикл
+ Небо/суточный цикл
</text>
<radio_group name="sky_dayc_settings_radio_group">
- <radio_item label="Небо не меняется" name="my_sky_settings"/>
+ <radio_item label="Зафиксированное небо" name="my_sky_settings"/>
<radio_item label="Суточный цикл" name="my_dayc_settings"/>
</radio_group>
<combo_box name="sky_settings_preset_combo">
diff --git a/indra/newview/skins/default/xui/ru/floater_model_preview.xml b/indra/newview/skins/default/xui/ru/floater_model_preview.xml
index 94aa721856..3cf26fafa2 100644
--- a/indra/newview/skins/default/xui/ru/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/ru/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Ошибка. Проблема при анализе файла DAE – см. подробности в журнале.
</string>
+ <string name="status_bind_shape_orientation">
+ Предупреждение: форма матрицы стандартно не ориентирована по координате X.
+ </string>
<string name="status_material_mismatch">
Ошибка. Материал модели не входит в эталонную модель.
</string>
diff --git a/indra/newview/skins/default/xui/ru/floater_tools.xml b/indra/newview/skins/default/xui/ru/floater_tools.xml
index a67745534c..74c27ce162 100644
--- a/indra/newview/skins/default/xui/ru/floater_tools.xml
+++ b/indra/newview/skins/default/xui/ru/floater_tools.xml
@@ -372,6 +372,7 @@
<text name="edit_object">
Изменение особенностей объекта:
</text>
+ <check_box label="Анимированная сетка" name="Animated Mesh Checkbox Ctrl" tool_tip="Позволяет анимировать риг-структурированные объекты с форматом сетки независимо друг от друга"/>
<check_box label="Гибкость" name="Flexible1D Checkbox Ctrl" tool_tip="Объект может изгибаться по оси Z (настройки на стороне клиента)"/>
<spinner label="Мягкость" name="FlexNumSections"/>
<spinner label="Гравитация" name="FlexGravity"/>
diff --git a/indra/newview/skins/default/xui/ru/floater_tos.xml b/indra/newview/skins/default/xui/ru/floater_tos.xml
index 7196a04de1..3f2b5747d5 100644
--- a/indra/newview/skins/default/xui/ru/floater_tos.xml
+++ b/indra/newview/skins/default/xui/ru/floater_tos.xml
@@ -16,6 +16,6 @@
<text name="agree_list">
Я прочитал и согласен с Условиями и положениями по конфиденциальности Пользовательского соглашения, включая требования по разрешению разногласий Second Life.
</text>
- <button label="Продолжить" label_selected="Продолжить" name="Continue" top_delta="45"/>
+ <button label="Продолжить" label_selected="Продолжить" name="Continue"/>
<button label="Отмена" label_selected="Отмена" name="Cancel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ru/menu_object.xml b/indra/newview/skins/default/xui/ru/menu_object.xml
index 5f31941b2b..c0b33653f7 100644
--- a/indra/newview/skins/default/xui/ru/menu_object.xml
+++ b/indra/newview/skins/default/xui/ru/menu_object.xml
@@ -28,4 +28,6 @@
<menu_item_call label="Купить" name="Buy..."/>
<menu_item_call label="Удалить" name="Delete"/>
<menu_item_call label="Блокировать владельца участка" name="Mute Particle"/>
+ <menu_item_call label="Вывод XML" name="Dump XML"/>
+ <menu_item_call label="Возврат скелета в исходное положение" name="Reset Skeleton"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/ru/menu_people_nearby_view.xml b/indra/newview/skins/default/xui/ru/menu_people_nearby_view.xml
index 0e949cedff..4bd3d4ffcf 100644
--- a/indra/newview/skins/default/xui/ru/menu_people_nearby_view.xml
+++ b/indra/newview/skins/default/xui/ru/menu_people_nearby_view.xml
@@ -3,6 +3,7 @@
<menu_item_check label="Сортировать по недавно говорившим" name="sort_by_recent_speakers"/>
<menu_item_check label="Сортировать по имени" name="sort_name"/>
<menu_item_check label="Сортировать по расстоянию" name="sort_distance"/>
+ <menu_item_check label="Сортировать по недавно поступившим" name="sort_arrival"/>
<menu_item_check label="Показывать значки людей" name="view_icons"/>
<menu_item_check label="Смотреть карту" name="view_map"/>
<menu_item_check label="Скрывать имена пользователей" name="view_usernames"/>
diff --git a/indra/newview/skins/default/xui/ru/notifications.xml b/indra/newview/skins/default/xui/ru/notifications.xml
index 6ce436f6e3..e46e569a39 100644
--- a/indra/newview/skins/default/xui/ru/notifications.xml
+++ b/indra/newview/skins/default/xui/ru/notifications.xml
@@ -3232,6 +3232,9 @@
<notification name="PresetNotSaved">
Ошибка при сохранении пресета [NAME].
</notification>
+ <notification name="DefaultPresetNotSaved">
+ Невозможно изменить настройку по умолчанию.
+ </notification>
<notification name="PresetNotDeleted">
Ошибка при удалении пресета [NAME].
</notification>
@@ -3997,6 +4000,9 @@
<notification name="CantCreateObjectRegionFull">
Невозможно создать запрошенный объект. Регион уже заполнен.
</notification>
+ <notification name="CantCreateAnimatedObjectTooLarge">
+ Невозможно создать необходимый анимированный объект, так как он превышает предел риг-структурированных треугольников.
+ </notification>
<notification name="CantAttackMultipleObjOneSpot">
Нельзя присоединить несколько объектов к одной точке.
</notification>
@@ -4045,6 +4051,21 @@
<notification name="CantChangeShape">
Вам не разрешено изменять эту фигуру.
</notification>
+ <notification name="NoPermsTooManyAttachedAnimatedObjects">
+ Действие приведёт к превышению лимита по количеству добавленных анимированных объектов.
+ </notification>
+ <notification name="NoPermsLinkAnimatedObjectTooLarge">
+ Невозможно связать эти объекты, поскольку полученный анимированный объект превысит предел риг-структурированных треугольников.
+ </notification>
+ <notification name="NoPermsSetFlagAnimatedObjectTooLarge">
+ Невозможно преобразовать этот объект в анимированный объект, потому что будет превышен лимит риг-структурированных треугольников.
+ </notification>
+ <notification name="CantChangeAnimatedObjectStateInsufficientLand">
+ Невозможно изменить состояние анимированного объекта для этого объекта, так как это приведет к превышению лимита участка.
+ </notification>
+ <notification name="ErrorNoMeshData">
+ Ошибка сервера: не удается завершить действие, так как данные сетки не загружается.
+ </notification>
<notification name="NoAccessToClaimObjects">
Ваши привилегии доступа не разрешают претендовать на объекты на этом месте.
</notification>
diff --git a/indra/newview/skins/default/xui/tr/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/tr/floater_edit_sky_preset.xml
index 0e9f86148d..b09115332b 100644
--- a/indra/newview/skins/default/xui/tr/floater_edit_sky_preset.xml
+++ b/indra/newview/skins/default/xui/tr/floater_edit_sky_preset.xml
@@ -1,28 +1,28 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Edit Sky Preset" title="Gökyüzü Ön Ayarını Düzenle">
<string name="title_new">
- Yeni Gökyüzü Ön Ayarı Oluştur
+ Yeni bir Gökyüzü Ön Ayarı Oluştur
</string>
<string name="title_edit">
Gökyüzü Ön Ayarını Düzenle
</string>
<string name="hint_new">
- Ön ayarınızı adlandırın, bunu oluşturmak için denetimleri ayarlayın ve &quot;Kaydet&quot; üzerine tıklayın.
+ Ön ayarınızı adlandırın, bunu oluşturmak için denetimleri ayarlayın ve &quot;Kaydet&quot; düğmesine tıklayın.
</string>
<string name="hint_edit">
- Gökyüzü ön ayarınızı düzenlemek için denetimleri ayarlayın ve &quot;Kaydet&quot; üzerine tıklayın.
+ Gökyüzü ön ayarınızı düzenlemek için, denetimleri ayarlayın ve &quot;Kaydet&quot; düğmesine tıklayın.
</string>
<string name="combo_label">
-Bir ön ayar seçin-
</string>
<text name="hint">
- Ön ayarınızı düzenlemek için denetimleri ayarlayın, sonra &quot;Kaydet&quot; üzerine tıklayın.
+ Ön ayarınızı düzenlemek için, denetimleri ayarlayın, sonra &quot;Kaydet» düğmesine tıklayın.
</text>
<text name="label">
Ön Ayar Adı:
</text>
<text name="note">
- Not: Ön ayarınızın adını değiştirirseniz, yeni bir ön ayar oluşturursunuz ve mevcut ön ayar değişmez.
+ Not: ön ayarınızın adını değiştirirseniz, yeni bir ön ayar oluşturursunuz ve mevcut ön ayar değişmez.
</text>
<tab_container name="WindLight Tabs">
<panel label="ATMOSFER" name="Atmosphere">
@@ -45,7 +45,7 @@
Mesafe Çarpanı
</text>
<text name="MaxAltText">
- Maks İrtifa
+ Maks. İrtifa
</text>
</panel>
<panel label="AYDINLATMA" name="Lighting">
@@ -56,7 +56,7 @@
Ortam
</text>
<text name="SunGlowText">
- Güneş Parlaması
+ Güneş Parıltısı
</text>
<slider label="Odak" name="WLGlowB"/>
<slider label="Büyüklük" name="WLGlowR"/>
@@ -64,7 +64,7 @@
Yıldız Parlaklığı
</text>
<text name="SceneGammaText">
- Sahne Gaması
+ Sahne Gama Ayarı
</text>
<text name="TODText">
Güneş/Ay Konumu
@@ -86,21 +86,21 @@
|
</text>
<text name="WL12am">
- 12
+ 00:00
</text>
<text name="WL6am">
- 6
+ 06:00
</text>
<text name="WL12pmHash">
- 24
+ 12:00
</text>
<text name="WL6pm">
- 18
+ 18:00
</text>
<text name="WL12am2">
- 12
+ 00:00
</text>
- <time name="WLDayTime" value="6:00"/>
+ <time name="WLDayTime" value="06:00"/>
<text name="WLEastAngleText">
Doğu Açısı
</text>
@@ -119,7 +119,7 @@
Bulut Örtüsü
</text>
<text name="WLCloudScaleText">
- Bulut Yüksekliği
+ Bulut Hacmi
</text>
<text name="WLCloudDetailText">
Bulut Ayrıntısı (XY/Yoğunluğu)
@@ -139,5 +139,5 @@
</tab_container>
<check_box label="Bu ön ayarı yeni gökyüzü ayarım yap" name="make_default_cb"/>
<button label="Kaydet" name="save"/>
- <button label="İptal" name="cancel"/>
+ <button label="İptal Et" name="cancel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/tr/floater_edit_water_preset.xml
index 2ddee32bad..f44af3c6e6 100644
--- a/indra/newview/skins/default/xui/tr/floater_edit_water_preset.xml
+++ b/indra/newview/skins/default/xui/tr/floater_edit_water_preset.xml
@@ -1,38 +1,38 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Edit Water Preset" title="Su Ön Ayarını Düzenle">
<string name="title_new">
- Yeni Bir Su Ön Ayarı Oluştur
+ Yeni bir Su Ön Ayarı Oluştur
</string>
<string name="title_edit">
Bir Su Ön Ayarını Düzenle
</string>
<string name="hint_new">
- Ön ayarınızı adlandırın, bunu oluşturmak için denetimleri ayarlayın ve &quot;Kaydet&quot; üzerine tıklayın.
+ Ön ayarınızı adlandırın, bunu oluşturmak için denetimleri ayarlayın ve &quot;Kaydet&quot; düğmesine tıklayın.
</string>
<string name="hint_edit">
- Su ön ayarınızı düzenlemek için denetimleri ayarlayın ve &quot;Kaydet&quot; üzerine tıklayın.
+ Su ön ayarınızı düzenlemek için, denetimleri ayarlayın ve &quot;Kaydet&quot; düğmesine tıklayın.
</string>
<string name="combo_label">
-Bir ön ayar seçin-
</string>
<text name="hint">
- Ön ayarınızı düzenlemek için denetimleri ayarlayın, sonra &quot;Kaydet&quot; üzerine tıklayın.
+ Ön ayarınızı düzenlemek için, denetimleri ayarlayın, sonra &quot;Kaydet» düğmesine tıklayın.
</text>
<text name="label">
Ön Ayar Adı:
</text>
<text name="note">
- Not: Ön ayarınızın adını değiştirirseniz, yeni bir ön ayar oluşturursunuz ve mevcut ön ayar değişmez.
+ Not: ön ayarınızın adını değiştirirseniz, yeni bir ön ayar oluşturursunuz ve mevcut ön ayar değişmez.
</text>
<panel name="panel_water_preset">
<text name="water_color_label">
- Su Pus Rengi
+ Su Sisi Rengi
</text>
<text name="water_fog_density_label">
- Pus Yoğunluk Üssü
+ Sis Yoğunluğu Üssü
</text>
<text name="underwater_fog_modifier_label">
- Sualtı Pus Değiştiricisi
+ Sualtı Sis Değiştiricisi
</text>
<text name="BHText">
Büyük Dalga Yönü
@@ -46,7 +46,7 @@
Fresnel Ölçeği
</text>
<text name="FresnelOffsetText">
- Fresnel Dengeleyicisi
+ Fresnel Dengeleme
</text>
<text name="BHText2">
Küçük Dalga Yönü
@@ -68,5 +68,5 @@
</panel>
<check_box label="Bu ön ayarı yeni su ayarım yap" name="make_default_cb"/>
<button label="Kaydet" name="save"/>
- <button label="İptal" name="cancel"/>
+ <button label="İptal Et" name="cancel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_environment_settings.xml b/indra/newview/skins/default/xui/tr/floater_environment_settings.xml
index e702da7e1b..0ddd46994b 100644
--- a/indra/newview/skins/default/xui/tr/floater_environment_settings.xml
+++ b/indra/newview/skins/default/xui/tr/floater_environment_settings.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Environment Editor Floater" title="ORTAM AYARLARI">
<text name="note">
- Görüntüleyiciniz için ortam ayarlarını özelleştirmek isterseniz aşağıdaki seçenekleri kullanın.
+ Görüntüleyicinizin ortam ayarlarını özelleştirmek için aşağıdaki seçenekleri kullanın.
</text>
<radio_group name="region_settings_radio_group">
- <radio_item label="Bölge ayarlarını kullanın" name="use_region_settings"/>
+ <radio_item label="Bölge ayarlarını kullan" name="use_region_settings"/>
<radio_item label="Ortamımı özelleştir" name="use_my_settings"/>
</radio_group>
<panel name="user_environment_settings">
<text name="note">
- Not: Özel ayarlarınız diğer kullanıcılar tarafından görülmez.
+ Not: özel ayarlarınız diğer kullanıcılar tarafından görülmez.
</text>
<text name="water_settings_title">
Su Ayarı
@@ -18,7 +18,7 @@
<combo_box.item label="-Bir ön ayar seçin-" name="item0"/>
</combo_box>
<text name="sky_dayc_settings_title">
- Gökyüzü/Gün Dön.
+ Gökyüzü / Gün Döngüsü
</text>
<radio_group name="sky_dayc_settings_radio_group">
<radio_item label="Sabit gökyüzü" name="my_sky_settings"/>
@@ -32,5 +32,5 @@
</combo_box>
</panel>
<button label="Tamam" name="ok_btn"/>
- <button label="İptal" name="cancel_btn"/>
+ <button label="İptal Et" name="cancel_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_model_preview.xml b/indra/newview/skins/default/xui/tr/floater_model_preview.xml
index 3c00b67c50..1e5787a94a 100644
--- a/indra/newview/skins/default/xui/tr/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/tr/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Hata: Tarih ayrıştırma sorunu - ayrıntılar için günlüğe bakın.
</string>
+ <string name="status_bind_shape_orientation">
+ Uyarı: bağlama şekli matrisi standart X-ileri yönünde değildir.
+ </string>
<string name="status_material_mismatch">
Hata: Modelin malzemesi, referans modelin bir alt kümesi değil.
</string>
diff --git a/indra/newview/skins/default/xui/tr/floater_tools.xml b/indra/newview/skins/default/xui/tr/floater_tools.xml
index 56df06f83b..0c26f717af 100644
--- a/indra/newview/skins/default/xui/tr/floater_tools.xml
+++ b/indra/newview/skins/default/xui/tr/floater_tools.xml
@@ -372,6 +372,7 @@
<text name="edit_object">
Nesne özelliklerini düzenleyin:
</text>
+ <check_box label="Animasyonlu Ağ" name="Animated Mesh Checkbox Ctrl" tool_tip="Ağ stili giydirilmiş nesnelere bağımsız olarak animasyon eklenmesine olanak sağlar."/>
<check_box label="Esnek Yol" name="Flexible1D Checkbox Ctrl" tool_tip="Nesnelerin Z ekseni etrafında esnemesine imkan tanır (sadece istemci tarafında)"/>
<spinner label="Yumuşaklık" name="FlexNumSections"/>
<spinner label="Yerçekimi" name="FlexGravity"/>
diff --git a/indra/newview/skins/default/xui/tr/menu_object.xml b/indra/newview/skins/default/xui/tr/menu_object.xml
index cfc9515d8f..41f38f9b8e 100644
--- a/indra/newview/skins/default/xui/tr/menu_object.xml
+++ b/indra/newview/skins/default/xui/tr/menu_object.xml
@@ -28,4 +28,6 @@
<menu_item_call label="Satın Al" name="Buy..."/>
<menu_item_call label="Sil" name="Delete"/>
<menu_item_call label="Parçacık Sahibini Engelle" name="Mute Particle"/>
+ <menu_item_call label="XML Dökümü Al" name="Dump XML"/>
+ <menu_item_call label="İskeleti Sıfırla" name="Reset Skeleton"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/tr/menu_people_nearby_view.xml b/indra/newview/skins/default/xui/tr/menu_people_nearby_view.xml
index 5c1fe09524..c28953b6a2 100644
--- a/indra/newview/skins/default/xui/tr/menu_people_nearby_view.xml
+++ b/indra/newview/skins/default/xui/tr/menu_people_nearby_view.xml
@@ -3,6 +3,7 @@
<menu_item_check label="Son Konuşanlara Göre Sırala" name="sort_by_recent_speakers"/>
<menu_item_check label="Ada Göre Sırala" name="sort_name"/>
<menu_item_check label="Mesafeye Göre Sırala" name="sort_distance"/>
+ <menu_item_check label="Son gelenlere göre sırala" name="sort_arrival"/>
<menu_item_check label="Kişi Simgelerini Göster" name="view_icons"/>
<menu_item_check label="Haritayı Göster" name="view_map"/>
<menu_item_check label="Kullanıcı adlarını gizle" name="view_usernames"/>
diff --git a/indra/newview/skins/default/xui/tr/notifications.xml b/indra/newview/skins/default/xui/tr/notifications.xml
index c8ed1c7ba4..7651e4078b 100644
--- a/indra/newview/skins/default/xui/tr/notifications.xml
+++ b/indra/newview/skins/default/xui/tr/notifications.xml
@@ -3232,6 +3232,9 @@ Güvenliğiniz için birkaç saniye engellenecek.
<notification name="PresetNotSaved">
Ön ayar ([NAME]) kaydedilirken hata oluştu.
</notification>
+ <notification name="DefaultPresetNotSaved">
+ Varsayılan ön ayarın üzerine yazılamıyor.
+ </notification>
<notification name="PresetNotDeleted">
Ön ayar ([NAME]) silinirken hata oluştu.
</notification>
@@ -3990,6 +3993,9 @@ Lütfen bir dakika sonra tekrar deneyin.
<notification name="CantCreateObjectRegionFull">
Talep edilen nesne oluşturulamıyor. Bölge dolu.
</notification>
+ <notification name="CantCreateAnimatedObjectTooLarge">
+ Giydirilmiş üçgen limitini aştığından dolayı istenen animasyonlu nesne oluşturulamıyor.
+ </notification>
<notification name="CantAttackMultipleObjOneSpot">
Tek bir noktaya birden fazla nesne iliştiremezsiniz.
</notification>
@@ -4038,6 +4044,21 @@ Lütfen bir dakika sonra tekrar deneyin.
<notification name="CantChangeShape">
Bu şekli değiştirmenize izin verilmiyor.
</notification>
+ <notification name="NoPermsTooManyAttachedAnimatedObjects">
+ İşlem, ekli animasyonlu nesne sayısının limiti aşmasına neden olabilir.
+ </notification>
+ <notification name="NoPermsLinkAnimatedObjectTooLarge">
+ Elde edilen animasyonlu nesne giydirilmiş üçgen limitini aşacağından dolayı bu nesneler birleştirilemez.
+ </notification>
+ <notification name="NoPermsSetFlagAnimatedObjectTooLarge">
+ Giydirilmiş üçgen limitini aşacağından dolayı bu nesne bir animasyonlu nesneye dönüştürülemez.
+ </notification>
+ <notification name="CantChangeAnimatedObjectStateInsufficientLand">
+ Parsel limitinin aşılmasına neden olacağından dolayı bu nesnenin animasyonlu nesne durumu değiştirilemez.
+ </notification>
+ <notification name="ErrorNoMeshData">
+ Sunucu hatası: ağ verileri yüklenmediğinden dolayı bu işlem tamamlanamıyor.
+ </notification>
<notification name="NoAccessToClaimObjects">
Erişim ayrıcalıklarınız burada nesneler üzerinde hak talebinde bulunmanıza izin vermiyor.
</notification>
diff --git a/indra/newview/skins/default/xui/tr/strings.xml b/indra/newview/skins/default/xui/tr/strings.xml
index c5ea6e93ea..16bad98bc4 100644
--- a/indra/newview/skins/default/xui/tr/strings.xml
+++ b/indra/newview/skins/default/xui/tr/strings.xml
@@ -65,16 +65,16 @@ Grafik Kartı: [GRAPHICS_CARD]
OpenGL Sürümü: [OPENGL_VERSION]
</string>
<string name="AboutSettings">
- Pencere büyüklüğü: [WINDOW_WIDTH]x[WINDOW_HEIGHT]
-Font Büyüklüğü Ayarı: [FONT_SIZE_ADJUSTMENT] pt
-Kullanıcı Arayüzü Ölçekleme: [UI_SCALE]
-Çizme mesafesi: [DRAW_DISTANCE] m
-Bant genişliği: [NET_BANDWITH] kbit/sn
-Ayrıntı seviyesi faktörü: [LOD_FACTOR]
+ Pencere boyutu: [WINDOW_WIDTH]x[WINDOW_HEIGHT]
+Yazı Tipi Boyutu Ayarı: [FONT_SIZE_ADJUSTMENT]pt
+UI Ölçeklendirme: [UI_SCALE]
+Çizim mesafesi: [DRAW_DISTANCE]m
+Bant genişliği: [NET_BANDWITH]kbit/s
+LOD faktörü: [LOD_FACTOR]
İşleme kalitesi: [RENDER_QUALITY]
Gelişmiş Aydınlatma Modeli: [GPU_SHADERS]
Doku belleği: [TEXTURE_MEMORY]MB
-VFS (önbellek) oluşturma zamanı: [VFS_TIME]
+VFS (önbellek) oluşturma saati: [VFS_TIME]
</string>
<string name="AboutLibs">
J2C Kod Çözücü Sürümü: [J2C_VERSION]
diff --git a/indra/newview/skins/default/xui/zh/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/zh/floater_edit_sky_preset.xml
index 1ff832cdc4..18e6cfb9d2 100644
--- a/indra/newview/skins/default/xui/zh/floater_edit_sky_preset.xml
+++ b/indra/newview/skins/default/xui/zh/floater_edit_sky_preset.xml
@@ -53,7 +53,7 @@
日/月 顏色
</text>
<text name="WLAmbientText">
- 環境
+ 環境光
</text>
<text name="SunGlowText">
太陽光輝
@@ -67,7 +67,7 @@
場景 Gamma 值
</text>
<text name="TODText">
- 日/月 位置
+ 日/月位置
</text>
<multi_slider initial_value="0" name="WLSunPos"/>
<text name="WL12amHash">
@@ -110,7 +110,7 @@
雲彩顏色
</text>
<text name="WLCloudColorText2">
- 雲彩 XY 軸 / 密度
+ 雲彩 XY 軸/密度
</text>
<slider label="X" name="WLCloudX"/>
<slider label="Y" name="WLCloudY"/>
@@ -122,7 +122,7 @@
雲彩規模
</text>
<text name="WLCloudDetailText">
- 雲彩細節(XY 軸 / 密度)
+ 雲彩細節(XY 軸/密度)
</text>
<slider label="X" name="WLCloudDetailX"/>
<slider label="Y" name="WLCloudDetailY"/>
diff --git a/indra/newview/skins/default/xui/zh/floater_environment_settings.xml b/indra/newview/skins/default/xui/zh/floater_environment_settings.xml
index 1c6f2f936d..862c576dc0 100644
--- a/indra/newview/skins/default/xui/zh/floater_environment_settings.xml
+++ b/indra/newview/skins/default/xui/zh/floater_environment_settings.xml
@@ -18,7 +18,7 @@
<combo_box.item label="-選擇一個自訂配置-" name="item0"/>
</combo_box>
<text name="sky_dayc_settings_title">
- 天空 / 日循環
+ 天空/日循環
</text>
<radio_group name="sky_dayc_settings_radio_group">
<radio_item label="固定天空" name="my_sky_settings"/>
diff --git a/indra/newview/skins/default/xui/zh/floater_model_preview.xml b/indra/newview/skins/default/xui/zh/floater_model_preview.xml
index 4223b76d90..d66141b0d0 100644
--- a/indra/newview/skins/default/xui/zh/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/zh/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
錯誤:剖析 dae 時出錯,詳見記錄檔。
</string>
+ <string name="status_bind_shape_orientation">
+ 警告:綁定形狀矩陣並未處於標準的「X-向前」方位。
+ </string>
<string name="status_material_mismatch">
錯誤:模型材料並非參考模型的子集合。
</string>
diff --git a/indra/newview/skins/default/xui/zh/floater_tools.xml b/indra/newview/skins/default/xui/zh/floater_tools.xml
index 175e2bf7a4..f51f7a8ae2 100644
--- a/indra/newview/skins/default/xui/zh/floater_tools.xml
+++ b/indra/newview/skins/default/xui/zh/floater_tools.xml
@@ -372,6 +372,7 @@
<text name="edit_object">
編輯物件特性:
</text>
+ <check_box label="動作網面" name="Animated Mesh Checkbox Ctrl" tool_tip="允許架設網面物件獨立動作"/>
<check_box label="彈性路徑" name="Flexible1D Checkbox Ctrl" tool_tip="允許物件繞 Z 軸伸展(僅限客戶端)"/>
<spinner label="柔軟" name="FlexNumSections"/>
<spinner label="重力" name="FlexGravity"/>
diff --git a/indra/newview/skins/default/xui/zh/menu_object.xml b/indra/newview/skins/default/xui/zh/menu_object.xml
index 4e4e55e6f4..5849d95f42 100644
--- a/indra/newview/skins/default/xui/zh/menu_object.xml
+++ b/indra/newview/skins/default/xui/zh/menu_object.xml
@@ -28,4 +28,6 @@
<menu_item_call label="購買" name="Buy..."/>
<menu_item_call label="刪除" name="Delete"/>
<menu_item_call label="封鎖粒子所有人" name="Mute Particle"/>
+ <menu_item_call label="傾印 XML" name="Dump XML"/>
+ <menu_item_call label="重設骨架" name="Reset Skeleton"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/zh/menu_people_nearby_view.xml b/indra/newview/skins/default/xui/zh/menu_people_nearby_view.xml
index 9c82e20497..ef62bc02de 100644
--- a/indra/newview/skins/default/xui/zh/menu_people_nearby_view.xml
+++ b/indra/newview/skins/default/xui/zh/menu_people_nearby_view.xml
@@ -3,6 +3,7 @@
<menu_item_check label="依最近說話者排序" name="sort_by_recent_speakers"/>
<menu_item_check label="依名稱排序" name="sort_name"/>
<menu_item_check label="依距離排序" name="sort_distance"/>
+ <menu_item_check label="依最近到達時間排序" name="sort_arrival"/>
<menu_item_check label="察看人群圖示" name="view_icons"/>
<menu_item_check label="察看地圖" name="view_map"/>
<menu_item_check label="隱藏使用者名稱" name="view_usernames"/>
diff --git a/indra/newview/skins/default/xui/zh/menu_viewer.xml b/indra/newview/skins/default/xui/zh/menu_viewer.xml
index 63c1dd7896..39d4a7c4f7 100644
--- a/indra/newview/skins/default/xui/zh/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/zh/menu_viewer.xml
@@ -294,6 +294,7 @@
<menu_item_check label="材質區域" name="Texture Area"/>
<menu_item_check label="臉區域" name="Face Area"/>
<menu_item_check label="細節層次資訊" name="LOD Info"/>
+ <menu_item_check label="三角數量" name="Triangle Count"/>
<menu_item_check label="建製佇列" name="Build Queue"/>
<menu_item_check label="燈光" name="Lights"/>
<menu_item_check label="粒子效果" name="Particles"/>
@@ -406,6 +407,7 @@
<menu_item_check label="顯示碰撞骨架" name="Show Collision Skeleton"/>
<menu_item_check label="顯示骨頭" name="Show Bones"/>
<menu_item_check label="顯示用戶目標" name="Display Agent Target"/>
+ <menu_item_check label="顯示假冒者的範圍" name="Show Impostor Extents"/>
<menu_item_call label="傾印附件" name="Dump Attachments"/>
<menu_item_call label="除錯化身材質" name="Debug Avatar Textures"/>
<menu_item_call label="傾印本地材質" name="Dump Local Textures"/>
diff --git a/indra/newview/skins/default/xui/zh/notifications.xml b/indra/newview/skins/default/xui/zh/notifications.xml
index 38eb005162..186a850a15 100644
--- a/indra/newview/skins/default/xui/zh/notifications.xml
+++ b/indra/newview/skins/default/xui/zh/notifications.xml
@@ -3228,6 +3228,9 @@ SHA1 指紋:[MD5_DIGEST]
<notification name="PresetNotSaved">
儲存預設名稱[NAME]時出錯。
</notification>
+ <notification name="DefaultPresetNotSaved">
+ 無法覆蓋預先設定。
+ </notification>
<notification name="PresetNotDeleted">
刪除預設名稱[NAME]時出錯。
</notification>
@@ -3990,6 +3993,9 @@ SHA1 指紋:[MD5_DIGEST]
<notification name="CantCreateObjectRegionFull">
無法建立要求的物件。 地區已滿載。
</notification>
+ <notification name="CantCreateAnimatedObjectTooLarge">
+ 無法建立所求的動作物件,因為超過架設三角形的限制。
+ </notification>
<notification name="CantAttackMultipleObjOneSpot">
你不能將多個物件附著到同一個點。
</notification>
@@ -4038,6 +4044,21 @@ SHA1 指紋:[MD5_DIGEST]
<notification name="CantChangeShape">
你無權變更這個形狀。
</notification>
+ <notification name="NoPermsTooManyAttachedAnimatedObjects">
+ 操作會導致附著的動作物件數目超過限制。
+ </notification>
+ <notification name="NoPermsLinkAnimatedObjectTooLarge">
+ 無法連結這些物件,因為連結後的動作物件會超過架設三角形的限制。
+ </notification>
+ <notification name="NoPermsSetFlagAnimatedObjectTooLarge">
+ 無法使這物件變為動作物件,因為會超過架設三角形的限制。
+ </notification>
+ <notification name="CantChangeAnimatedObjectStateInsufficientLand">
+ 無法改變這一物件的動作物件狀態,因為會超過地段的限制。
+ </notification>
+ <notification name="ErrorNoMeshData">
+ 伺服器出錯:無法完成操作,因為網面資料未載入。
+ </notification>
<notification name="NoAccessToClaimObjects">
你權限不夠,無法在此收取物件。
</notification>
diff --git a/scripts/messages/message_template.msg b/scripts/messages/message_template.msg
index ed32804bef..635227ccf3 100755
--- a/scripts/messages/message_template.msg
+++ b/scripts/messages/message_template.msg
@@ -6,7 +6,7 @@ version 2.0
// numbers. Each message must be numbered relative to the
// other messages of that type. The current highest number
// for each type is listed below:
-// Low: 423
+// Low: 430
// Medium: 18
// High: 30
// PLEASE UPDATE THIS WHEN YOU ADD A NEW MESSAGE!
@@ -5780,6 +5780,28 @@ version 2.0
}
}
+// LargeGenericMessage
+// Similar to the above messages, but can handle larger payloads and serialized
+// LLSD. Uses HTTP transport
+{
+ LargeGenericMessage Low 430 NotTrusted Unencoded UDPDeprecated
+ {
+ AgentData Single
+ { AgentID LLUUID }
+ { SessionID LLUUID }
+ { TransactionID LLUUID }
+ }
+ {
+ MethodData Single
+ { Method Variable 1 }
+ { Invoice LLUUID }
+ }
+ {
+ ParamList Variable
+ { Parameter Variable 2 }
+ }
+}
+
// ***************************************************************************
// Requests for possessions, acquisition, money, etc
// ***************************************************************************
diff --git a/scripts/messages/message_template.msg.sha1 b/scripts/messages/message_template.msg.sha1
index c9ef0217f3..bf45b08f93 100755
--- a/scripts/messages/message_template.msg.sha1
+++ b/scripts/messages/message_template.msg.sha1
@@ -1 +1 @@
-e492dec0fcdb4e234f94ddc32f4d7af0290ca72b \ No newline at end of file
+be964beb7a2cd060a438c89fd5cb25e2f687d45e \ No newline at end of file