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  | 
