diff options
133 files changed, 1257 insertions, 942 deletions
@@ -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 > Options settings" longdescription="Toggle 'Safe (no damage)', 'Fly', and allow other Residents to: 'Edit Terrain', 'Build', 'Create Landmarks', and 'Run Scripts' on group-owned land in About Land > 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 > 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 "Enregistrer". </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 "Enregistrer". </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 "Enregistrer". </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'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'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 "Enregistrer". </string> <string name="hint_edit"> - Pour modifier le préréglage de l'eau, ajustez les contrôles, puis cliquez sur Enregistrer. + Pour modifier le préréglage de l'eau, ajustez les contrôles, puis cliquez sur "Enregistrer". </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 "Enregistrer". </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'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'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'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'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'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'est pas dans l'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'axe de grille pour le positionnement de l'objet."> @@ -372,6 +369,7 @@ <text name="edit_object"> Modifier les attributs de l'objet : </text> + <check_box label="Maillage animé" name="Animated Mesh Checkbox Ctrl" tool_tip="Permet aux objets maillés calés d'être animés indépendamment"/> <check_box label="Flexibilité" name="Flexible1D Checkbox Ctrl" tool_tip="Permet à l'objet de se plier le long de l'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'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'objet demandé impossible. La région est pleine. </notification> + <notification name="CantCreateAnimatedObjectTooLarge"> + Impossible de créer l'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'objets animés attachés. + </notification> + <notification name="NoPermsLinkAnimatedObjectTooLarge"> + Impossible de lier ces objets car l'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'état de l'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'effectuer cette opération car les données de maillage ne sont pas chargées. + </notification> <notification name="NoAccessToClaimObjects"> Vos privilèges d'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 "Salva". + Dai un nome al valore predefinito, regola i comandi per crearlo e fai clic su "Salva". </string> <string name="hint_edit"> - Per modificare il valore predefinito per il cielo, modifica i controlli e fai clic su "Salva". + Per modificare il valore predefinito cielo, regola i comandi e fai clic su "Salva". </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 "Salva" + Per modificare il valore predefinito, regola i comandi e quindi fai clic su "Salva" </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'acqua </string> @@ -7,16 +7,16 @@ Modifica un valore predefinito per l'acqua </string> <string name="hint_new"> - Dai un nome al valore predefinito, modifica i controlli per crearlo e fai clic su "Salva". + Dai un nome al valore predefinito, regola i comandi per crearlo e fai clic su "Salva". </string> <string name="hint_edit"> - Per modificare il valore predefinito per l'acqua, modifica i controlli e fai clic su "Salva". + Per modificare il valore predefinito per l’acqua, regola i comandi e fai clic su "Salva". </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 "Salva" + Per modificare il valore predefinito, regola i comandi e quindi fai clic su "Salva" </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'ambiente per il tuo viewer. + Usa le opzioni seguenti per personalizzare le impostazioni dell'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'oggetto"> @@ -379,6 +376,7 @@ <text name="edit_object"> Modifica le caratteristiche dell'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'oggetto di flettersi lungo l'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'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'eliminazione del valore predefinito [NAME]. </notification> @@ -3996,6 +3999,9 @@ Riprova tra un minuto. <notification name="CantCreateObjectRegionFull"> Impossibile creare l'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 "Salvar". + 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 "Salvar". + 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 "Salvar". + 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 "Salvar". + 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 "Salvar". + 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 "Salvar". + 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 "Kaydet" üzerine tıklayın. + Ön ayarınızı adlandırın, bunu oluşturmak için denetimleri ayarlayın ve "Kaydet" 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 "Kaydet" üzerine tıklayın. + Gökyüzü ön ayarınızı düzenlemek için, denetimleri ayarlayın ve "Kaydet" 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 "Kaydet" üzerine tıklayın. + Ön ayarınızı düzenlemek için, denetimleri ayarlayın, sonra "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 "Kaydet" üzerine tıklayın. + Ön ayarınızı adlandırın, bunu oluşturmak için denetimleri ayarlayın ve "Kaydet" düğmesine tıklayın. </string> <string name="hint_edit"> - Su ön ayarınızı düzenlemek için denetimleri ayarlayın ve "Kaydet" üzerine tıklayın. + Su ön ayarınızı düzenlemek için, denetimleri ayarlayın ve "Kaydet" 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 "Kaydet" üzerine tıklayın. + Ön ayarınızı düzenlemek için, denetimleri ayarlayın, sonra "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 |