diff options
Diffstat (limited to 'indra/newview')
47 files changed, 260 insertions, 103 deletions
| diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 60ae8ac691..a2a6744722 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9562,6 +9562,17 @@        <key>Value</key>        <integer>0</integer>      </map> +    <key>RenderBalanceInSnapshot</key> +    <map> +      <key>Comment</key> +      <string>Display L$ balance in snapshot</string> +      <key>Persist</key> +      <integer>1</integer> +      <key>Type</key> +      <string>Boolean</string> +      <key>Value</key> +      <integer>1</integer> +    </map>      <key>RenderUIBuffer</key>      <map>        <key>Comment</key> diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 7653b5ee8e..dfe4a0c197 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -4540,6 +4540,7 @@ void LLAppViewer::saveFinalSnapshot()                                      false,                                      gSavedSettings.getBOOL("RenderHUDInSnapshot"),                                      true, +                                    false,                                      LLSnapshotModel::SNAPSHOT_TYPE_COLOR,                                      LLSnapshotModel::SNAPSHOT_FORMAT_PNG);          mSavedFinalSnapshot = true; diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp index 655674357f..50e765c236 100644 --- a/indra/newview/llfloaterimsessiontab.cpp +++ b/indra/newview/llfloaterimsessiontab.cpp @@ -39,6 +39,7 @@  #include "llchicletbar.h"  #include "lldraghandle.h"  #include "llemojidictionary.h" +#include "llemojihelper.h"  #include "llfloaterreg.h"  #include "llfloateremojipicker.h"  #include "llfloaterimsession.h" @@ -300,6 +301,8 @@ bool LLFloaterIMSessionTab::postBuild()      mEmojiPickerShowBtn = getChild<LLButton>("emoji_picker_show_btn");      mEmojiPickerShowBtn->setClickedCallback([this](LLUICtrl*, const LLSD&) { onEmojiPickerShowBtnClicked(); }); +    mEmojiPickerShowBtn->setMouseDownCallback([this](LLUICtrl*, const LLSD&) { onEmojiPickerShowBtnDown(); }); +    mEmojiCloseConn = LLEmojiHelper::instance().setCloseCallback([this](LLUICtrl*, const LLSD&) { onEmojiPickerClosed(); });      mGearBtn = getChild<LLButton>("gear_btn");      mAddBtn = getChild<LLButton>("add_btn"); @@ -532,8 +535,43 @@ void LLFloaterIMSessionTab::onEmojiRecentPanelToggleBtnClicked()  void LLFloaterIMSessionTab::onEmojiPickerShowBtnClicked()  { -    mInputEditor->setFocus(true); -    mInputEditor->showEmojiHelper(); +    if (!mEmojiPickerShowBtn->getToggleState()) +    { +        mInputEditor->hideEmojiHelper(); +        mInputEditor->setFocus(true); +        mInputEditor->showEmojiHelper(); +        mEmojiPickerShowBtn->setToggleState(true); // in case hideEmojiHelper closed a visible instance +    } +    else +    { +        mInputEditor->hideEmojiHelper(); +        mEmojiPickerShowBtn->setToggleState(false); +    } +} + +void LLFloaterIMSessionTab::onEmojiPickerShowBtnDown() +{ +    if (mEmojiHelperLastCallbackFrame == LLFrameTimer::getFrameCount()) +    { +        // Helper gets closed by focus lost event on Down before before onEmojiPickerShowBtnDown +        // triggers. +        // If this condition is true, user pressed button and it was 'toggled' during press, +        // restore 'toggled' state so that button will not reopen helper. +        mEmojiPickerShowBtn->setToggleState(true); +    } +} + +void LLFloaterIMSessionTab::onEmojiPickerClosed() +{ +    if (mEmojiPickerShowBtn->getToggleState()) +    { +        mEmojiPickerShowBtn->setToggleState(false); +        // Helper gets closed by focus lost event on Down before onEmojiPickerShowBtnDown +        // triggers. If mEmojiHelperLastCallbackFrame is set and matches Down, means close +        // was triggered by user's press. +        // A bit hacky, but I can't think of a better way to handle this without rewriting helper. +        mEmojiHelperLastCallbackFrame = LLFrameTimer::getFrameCount(); +    }  }  void LLFloaterIMSessionTab::initEmojiRecentPanel() diff --git a/indra/newview/llfloaterimsessiontab.h b/indra/newview/llfloaterimsessiontab.h index 367d988f26..6d04d622e1 100644 --- a/indra/newview/llfloaterimsessiontab.h +++ b/indra/newview/llfloaterimsessiontab.h @@ -235,6 +235,8 @@ private:      void onEmojiRecentPanelToggleBtnClicked();      void onEmojiPickerShowBtnClicked(); +    void onEmojiPickerShowBtnDown(); +    void onEmojiPickerClosed();      void initEmojiRecentPanel();      void onEmojiRecentPanelFocusReceived();      void onEmojiRecentPanelFocusLost(); @@ -249,6 +251,9 @@ private:      S32 mInputEditorPad;      S32 mChatLayoutPanelHeight;      S32 mFloaterHeight; + +    boost::signals2::connection mEmojiCloseConn; +    U32 mEmojiHelperLastCallbackFrame = { 0 };  }; diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index 68b9e758a1..faf7ed0d8c 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -60,12 +60,13 @@ LLPanelSnapshot* LLFloaterSnapshot::Impl::getActivePanel(LLFloaterSnapshotBase*  {      LLSideTrayPanelContainer* panel_container = floater->getChild<LLSideTrayPanelContainer>("panel_container");      LLPanelSnapshot* active_panel = dynamic_cast<LLPanelSnapshot*>(panel_container->getCurrentPanel()); -    if (!active_panel) -    { -        LL_WARNS() << "No snapshot active panel, current panel index: " << panel_container->getCurrentPanelIndex() << LL_ENDL; -    } +      if (!ok_if_not_found)      { +        if (!active_panel) +        { +            LL_WARNS() << "No snapshot active panel, current panel index: " << panel_container->getCurrentPanelIndex() << LL_ENDL; +        }          llassert_always(active_panel != NULL);      }      return active_panel; @@ -516,34 +517,13 @@ void LLFloaterSnapshotBase::ImplBase::onClickFilter(LLUICtrl *ctrl, void* data)  }  // static -void LLFloaterSnapshotBase::ImplBase::onClickUICheck(LLUICtrl *ctrl, void* data) +void LLFloaterSnapshotBase::ImplBase::onClickDisplaySetting(LLUICtrl* ctrl, void* data)  { -    LLCheckBoxCtrl *check = (LLCheckBoxCtrl *)ctrl; -    gSavedSettings.setBOOL( "RenderUIInSnapshot", check->get() ); - -    LLFloaterSnapshot *view = (LLFloaterSnapshot *)data; +    LLFloaterSnapshot* view = (LLFloaterSnapshot*)data;      if (view)      {          LLSnapshotLivePreview* previewp = view->getPreviewView(); -        if(previewp) -        { -            previewp->updateSnapshot(true, true); -        } -        view->impl->updateControls(view); -    } -} - -// static -void LLFloaterSnapshotBase::ImplBase::onClickHUDCheck(LLUICtrl *ctrl, void* data) -{ -    LLCheckBoxCtrl *check = (LLCheckBoxCtrl *)ctrl; -    gSavedSettings.setBOOL( "RenderHUDInSnapshot", check->get() ); - -    LLFloaterSnapshot *view = (LLFloaterSnapshot *)data; -    if (view) -    { -        LLSnapshotLivePreview* previewp = view->getPreviewView(); -        if(previewp) +        if (previewp)          {              previewp->updateSnapshot(true, true);          } @@ -1002,11 +982,9 @@ bool LLFloaterSnapshot::postBuild()      mSucceessLblPanel = getChild<LLUICtrl>("succeeded_panel");      mFailureLblPanel = getChild<LLUICtrl>("failed_panel"); -    childSetCommitCallback("ui_check", ImplBase::onClickUICheck, this); -    getChild<LLUICtrl>("ui_check")->setValue(gSavedSettings.getBOOL("RenderUIInSnapshot")); - -    childSetCommitCallback("hud_check", ImplBase::onClickHUDCheck, this); -    getChild<LLUICtrl>("hud_check")->setValue(gSavedSettings.getBOOL("RenderHUDInSnapshot")); +    childSetCommitCallback("ui_check", ImplBase::onClickDisplaySetting, this); +    childSetCommitCallback("balance_check", ImplBase::onClickDisplaySetting, this); +    childSetCommitCallback("hud_check", ImplBase::onClickDisplaySetting, this);      ((Impl*)impl)->setAspectRatioCheckboxValue(this, gSavedSettings.getBOOL("KeepAspectForSnapshot")); diff --git a/indra/newview/llfloatersnapshot.h b/indra/newview/llfloatersnapshot.h index 6df851b839..186d9c41cf 100644 --- a/indra/newview/llfloatersnapshot.h +++ b/indra/newview/llfloatersnapshot.h @@ -103,8 +103,7 @@ public:      static void onClickAutoSnap(LLUICtrl *ctrl, void* data);      static void onClickNoPost(LLUICtrl *ctrl, void* data);      static void onClickFilter(LLUICtrl *ctrl, void* data); -    static void onClickUICheck(LLUICtrl *ctrl, void* data); -    static void onClickHUDCheck(LLUICtrl *ctrl, void* data); +    static void onClickDisplaySetting(LLUICtrl *ctrl, void* data);      static void onCommitFreezeFrame(LLUICtrl* ctrl, void* data);      virtual LLPanelSnapshot* getActivePanel(LLFloaterSnapshotBase* floater, bool ok_if_not_found = true) = 0; diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp index 30ed723db6..a798ba31ee 100755 --- a/indra/newview/llfloaterworldmap.cpp +++ b/indra/newview/llfloaterworldmap.cpp @@ -486,8 +486,11 @@ void LLFloaterWorldMap::onOpen(const LLSD& key)          const LLUUID landmark_folder_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_LANDMARK);          LLInventoryModelBackgroundFetch::instance().start(landmark_folder_id); -        mLocationEditor->setFocus( true); -        gFocusMgr.triggerFocusFlash(); +        if (hasFocus()) +        { +            mLocationEditor->setFocus( true); +            gFocusMgr.triggerFocusFlash(); +        }          buildAvatarIDList();          buildLandmarkIDLists(); diff --git a/indra/newview/lllocalbitmaps.cpp b/indra/newview/lllocalbitmaps.cpp index f08582e860..75c77e9301 100644 --- a/indra/newview/lllocalbitmaps.cpp +++ b/indra/newview/lllocalbitmaps.cpp @@ -38,6 +38,7 @@  /* image compression headers. */  #include "llimagebmp.h"  #include "llimagetga.h" +#include "llimagej2c.h"  #include "llimagejpeg.h"  #include "llimagepng.h" @@ -106,6 +107,10 @@ LLLocalBitmap::LLLocalBitmap(std::string filename)      {          mExtension = ET_IMG_JPG;      } +    else if (temp_exten == "j2c" || temp_exten == "jp2") +    { +        mExtension = ET_IMG_J2C; +    }      else if (temp_exten == "png")      {          mExtension = ET_IMG_PNG; @@ -354,6 +359,21 @@ bool LLLocalBitmap::decodeBitmap(LLPointer<LLImageRaw> rawimg)              break;          } +        case ET_IMG_J2C: +        { +            LLPointer<LLImageJ2C> jpeg_image = new LLImageJ2C; +            if (jpeg_image->load(mFilename)) +            { +                jpeg_image->setDiscardLevel(0); +                if (jpeg_image->decode(rawimg, 0.0f)) +                { +                    rawimg->biasedScaleToPowerOfTwo(LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT); +                    decode_successful = true; +                } +            } +            break; +        } +          case ET_IMG_PNG:          {              LLPointer<LLImagePNG> png_image = new LLImagePNG; diff --git a/indra/newview/lllocalbitmaps.h b/indra/newview/lllocalbitmaps.h index de2dcb3467..6c9d65e3b6 100644 --- a/indra/newview/lllocalbitmaps.h +++ b/indra/newview/lllocalbitmaps.h @@ -89,6 +89,7 @@ class LLLocalBitmap              ET_IMG_BMP,              ET_IMG_TGA,              ET_IMG_JPG, +            ET_IMG_J2C,              ET_IMG_PNG          }; diff --git a/indra/newview/llmodelpreview.cpp b/indra/newview/llmodelpreview.cpp index 29ab4e38c0..5a8fd299bf 100644 --- a/indra/newview/llmodelpreview.cpp +++ b/indra/newview/llmodelpreview.cpp @@ -132,20 +132,21 @@ std::string getLodSuffix(S32 lod)      return suffix;  } -void FindModel(LLModelLoader::scene& scene, const std::string& name_to_match, LLModel*& baseModelOut, LLMatrix4& matOut) +static bool FindModel(const LLModelLoader::scene& scene, const std::string& name_to_match, LLModel*& baseModelOut, LLMatrix4& matOut)  { -    for (auto scene_iter = scene.begin(); scene_iter != scene.end(); scene_iter++) +    for (const auto& scene_pair : scene)      { -        for (auto model_iter = scene_iter->second.begin(); model_iter != scene_iter->second.end(); model_iter++) +        for (const auto& model_iter : scene_pair.second)          { -            if (model_iter->mModel && (model_iter->mModel->mLabel == name_to_match)) +            if (model_iter.mModel && (model_iter.mModel->mLabel == name_to_match))              { -                baseModelOut = model_iter->mModel; -                matOut = scene_iter->first; -                return; +                baseModelOut = model_iter.mModel; +                matOut = scene_pair.first; +                return true;              }          }      } +    return false;  }  //----------------------------------------------------------------------------- @@ -319,10 +320,8 @@ void LLModelPreview::rebuildUploadData()          mat *= scale_mat; -        for (auto model_iter = iter->second.begin(); model_iter != iter->second.end(); ++model_iter) -        { // for each instance with said transform applied -            LLModelInstance instance = *model_iter; - +        for (LLModelInstance& instance : iter->second) +        { //for each instance with said transform applied              LLModel* base_model = instance.mModel;              if (base_model && !requested_name.empty()) @@ -354,7 +353,7 @@ void LLModelPreview::rebuildUploadData()                      }                      else                      { -                        //Physics can be inherited from other LODs or loaded, so we need to adjust what extension we are searching for +                        // Physics can be inherited from other LODs or loaded, so we need to adjust what extension we are searching for                          extensionLOD = mPhysicsSearchLOD;                      } @@ -365,9 +364,9 @@ void LLModelPreview::rebuildUploadData()                          name_to_match += toAdd;                      } -                    FindModel(mScene[i], name_to_match, lod_model, transform); +                    bool found = FindModel(mScene[i], name_to_match, lod_model, transform); -                    if (!lod_model && i != LLModel::LOD_PHYSICS) +                    if (!found && i != LLModel::LOD_PHYSICS)                      {                          if (mImporterDebug)                          { @@ -380,7 +379,7 @@ void LLModelPreview::rebuildUploadData()                          }                          int searchLOD = (i > LLModel::LOD_HIGH) ? LLModel::LOD_HIGH : i; -                        while ((searchLOD <= LLModel::LOD_HIGH) && !lod_model) +                        for (; searchLOD <= LLModel::LOD_HIGH; ++searchLOD)                          {                              std::string name_to_match = instance.mLabel;                              llassert(!name_to_match.empty()); @@ -394,8 +393,8 @@ void LLModelPreview::rebuildUploadData()                              // See if we can find an appropriately named model in LOD 'searchLOD'                              // -                            FindModel(mScene[searchLOD], name_to_match, lod_model, transform); -                            searchLOD++; +                            if (FindModel(mScene[searchLOD], name_to_match, lod_model, transform)) +                                break;                          }                      }                  } @@ -1174,8 +1173,7 @@ void LLModelPreview::loadModelCallback(S32 loaded_lod)                          LLModel* found_model = NULL;                          LLMatrix4 transform; -                        FindModel(mBaseScene, loaded_name, found_model, transform); -                        if (found_model) +                        if (FindModel(mBaseScene, loaded_name, found_model, transform))                          { // don't rename correctly named models (even if they are placed in a wrong order)                              name_based = true;                          } diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index cc88d31aee..3d17446186 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -3139,6 +3139,8 @@ void LLSelectMgr::adjustTexturesByScale(bool send_to_sim, bool stretch)                      F32 scale_x = 1;                      F32 scale_y = 1; +                    F32 offset_x = 0; +                    F32 offset_y = 0;                      for (U32 i = 0; i < LLGLTFMaterial::GLTF_TEXTURE_INFO_COUNT; ++i)                      { @@ -3155,6 +3157,21 @@ void LLSelectMgr::adjustTexturesByScale(bool send_to_sim, bool stretch)                              scale_y = scale_ratio.mV[t_axis] * object_scale.mV[t_axis];                          }                          material->mTextureTransform[i].mScale.set(scale_x, scale_y); + +                        LLVector2 scales = selectNode->mGLTFScales[te_num][i]; +                        LLVector2 offsets = selectNode->mGLTFOffsets[te_num][i]; +                        F64 int_part = 0; +                        offset_x = (F32)modf((offsets[VX] + (scales[VX] - scale_x)) / 2, &int_part); +                        if (offset_x < 0) +                        { +                            offset_x++; +                        } +                        offset_y = (F32)modf((offsets[VY] + (scales[VY] - scale_y)) / 2, &int_part); +                        if (offset_y < 0) +                        { +                            offset_y++; +                        } +                        material->mTextureTransform[i].mOffset.set(offset_x, offset_y);                      }                      const LLGLTFMaterial* base_material = tep->getGLTFMaterial(); @@ -6905,6 +6922,8 @@ void LLSelectNode::saveTextureScaleRatios(LLRender::eTexIndex index_to_query)  {      mTextureScaleRatios.clear();      mGLTFScaleRatios.clear(); +    mGLTFScales.clear(); +    mGLTFOffsets.clear();      if (mObject.notNull())      { @@ -6945,6 +6964,8 @@ void LLSelectNode::saveTextureScaleRatios(LLRender::eTexIndex index_to_query)              F32 scale_x = 1;              F32 scale_y = 1;              std::vector<LLVector3> material_v_vec; +            std::vector<LLVector2> material_scales_vec; +            std::vector<LLVector2> material_offset_vec;              for (U32 i = 0; i < LLGLTFMaterial::GLTF_TEXTURE_INFO_COUNT; ++i)              {                  if (material) @@ -6952,12 +6973,16 @@ void LLSelectNode::saveTextureScaleRatios(LLRender::eTexIndex index_to_query)                      LLGLTFMaterial::TextureTransform& transform = material->mTextureTransform[i];                      scale_x = transform.mScale[VX];                      scale_y = transform.mScale[VY]; +                    material_scales_vec.push_back(transform.mScale); +                    material_offset_vec.push_back(transform.mOffset);                  }                  else                  {                      // Not having an override doesn't mean that there is no material                      scale_x = 1;                      scale_y = 1; +                    material_scales_vec.emplace_back(scale_x, scale_y); +                    material_offset_vec.emplace_back(0.f, 0.f);                  }                  if (tep->getTexGen() == LLTextureEntry::TEX_GEN_PLANAR) @@ -6973,6 +6998,8 @@ void LLSelectNode::saveTextureScaleRatios(LLRender::eTexIndex index_to_query)                  material_v_vec.push_back(material_v);              }              mGLTFScaleRatios.push_back(material_v_vec); +            mGLTFScales.push_back(material_scales_vec); +            mGLTFOffsets.push_back(material_offset_vec);          }      }  } diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h index 0dbdc133e3..792a37297f 100644 --- a/indra/newview/llselectmgr.h +++ b/indra/newview/llselectmgr.h @@ -242,6 +242,8 @@ public:      gltf_materials_vec_t mSavedGLTFOverrideMaterials;      std::vector<LLVector3>  mTextureScaleRatios;      std::vector< std::vector<LLVector3> >  mGLTFScaleRatios; +    std::vector< std::vector<LLVector2> >  mGLTFScales; +    std::vector< std::vector<LLVector2> >  mGLTFOffsets;      std::vector<LLVector3>  mSilhouetteVertices;    // array of vertices to render silhouette of object      std::vector<LLVector3>  mSilhouetteNormals; // array of normals to render silhouette of object      bool                    mSilhouetteExists;  // need to generate silhouette? diff --git a/indra/newview/llsnapshotlivepreview.cpp b/indra/newview/llsnapshotlivepreview.cpp index ea95d71b27..68b4ab381a 100644 --- a/indra/newview/llsnapshotlivepreview.cpp +++ b/indra/newview/llsnapshotlivepreview.cpp @@ -694,6 +694,7 @@ bool LLSnapshotLivePreview::onIdle( void* snapshot_preview )      static LLCachedControl<bool> freeze_time(gSavedSettings, "FreezeTime", false);      static LLCachedControl<bool> use_freeze_frame(gSavedSettings, "UseFreezeFrame", false);      static LLCachedControl<bool> render_ui(gSavedSettings, "RenderUIInSnapshot", false); +    static LLCachedControl<bool> render_balance(gSavedSettings, "RenderBalanceInSnapshot", false);      static LLCachedControl<bool> render_hud(gSavedSettings, "RenderHUDInSnapshot", false);      static LLCachedControl<bool> render_no_post(gSavedSettings, "RenderSnapshotNoPost", false); @@ -750,6 +751,7 @@ bool LLSnapshotLivePreview::onIdle( void* snapshot_preview )                  render_hud,                  false,                  render_no_post, +                render_balance,                  previewp->mSnapshotBufferType,                  previewp->getMaxImageSize()))          { diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index ecbbc4b2c5..8aa2058ae1 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -738,6 +738,10 @@ void LLStatusBar::updateBalancePanelPosition()      balance_bg_view->setShape(balance_bg_rect);  } +void LLStatusBar::setBalanceVisible(bool visible) +{ +    mBoxBalance->setVisible(visible); +}  // Implements secondlife:///app/balance/request to request a L$ balance  // update via UDP message system. JC diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h index 4c9d3e0c08..45cbda0ef1 100644 --- a/indra/newview/llstatusbar.h +++ b/indra/newview/llstatusbar.h @@ -93,6 +93,8 @@ public:      S32 getSquareMetersCommitted() const;      S32 getSquareMetersLeft() const; +    void setBalanceVisible(bool visible); +      LLPanelNearByMedia* getNearbyMediaPanel() { return mPanelNearByMedia; }  private: diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp index ce66dbc03f..9743ec0c59 100644 --- a/indra/newview/llviewermenufile.cpp +++ b/indra/newview/llviewermenufile.cpp @@ -932,6 +932,7 @@ class LLFileTakeSnapshotToDisk : public view_listener_t          bool render_ui = gSavedSettings.getBOOL("RenderUIInSnapshot");          bool render_hud = gSavedSettings.getBOOL("RenderHUDInSnapshot");          bool render_no_post = gSavedSettings.getBOOL("RenderSnapshotNoPost"); +        bool render_balance = gSavedSettings.getBOOL("RenderBalanceInSnapshot");          bool high_res = gSavedSettings.getBOOL("HighResSnapshot");          if (high_res) @@ -952,6 +953,7 @@ class LLFileTakeSnapshotToDisk : public view_listener_t                                         render_hud,                                         false,                                         render_no_post, +                                       render_balance,                                         LLSnapshotModel::SNAPSHOT_TYPE_COLOR,                                         high_res ? S32_MAX : MAX_SNAPSHOT_IMAGE_SIZE)) //per side          { diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 5fd820f91d..b274ba5abb 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5039,6 +5039,7 @@ bool attempt_standard_notification(LLMessageSystem* msgsystem)                                          false, //UI                                          gSavedSettings.getBOOL("RenderHUDInSnapshot"),                                          false, +                                        false,                                          LLSnapshotModel::SNAPSHOT_TYPE_COLOR,                                          LLSnapshotModel::SNAPSHOT_FORMAT_PNG);          } @@ -5144,6 +5145,7 @@ static void process_special_alert_messages(const std::string & message)                                      false,                                      gSavedSettings.getBOOL("RenderHUDInSnapshot"),                                      false, +                                    false,                                      LLSnapshotModel::SNAPSHOT_TYPE_COLOR,                                      LLSnapshotModel::SNAPSHOT_FORMAT_PNG);      } @@ -6641,7 +6643,6 @@ void process_initiate_download(LLMessageSystem* msg, void**)          (void**)new std::string(viewer_filename));  } -  void process_script_teleport_request(LLMessageSystem* msg, void**)  {      if (!gSavedSettings.getBOOL("ScriptsCanShowUI")) return; @@ -6655,6 +6656,11 @@ void process_script_teleport_request(LLMessageSystem* msg, void**)      msg->getString("Data", "SimName", sim_name);      msg->getVector3("Data", "SimPosition", pos);      msg->getVector3("Data", "LookAt", look_at); +    U32 flags = (BEACON_SHOW_MAP | BEACON_FOCUS_MAP); +    if (msg->has("Options")) +    { +        msg->getU32("Options", "Flags", flags); +    }      LLFloaterWorldMap* instance = LLFloaterWorldMap::getInstance();      if(instance) @@ -6665,7 +6671,13 @@ void process_script_teleport_request(LLMessageSystem* msg, void**)              << LL_ENDL;          instance->trackURL(sim_name, (S32)pos.mV[VX], (S32)pos.mV[VY], (S32)pos.mV[VZ]); -        LLFloaterReg::showInstance("world_map", "center"); +        if (flags & BEACON_SHOW_MAP) +        { +            bool old_auto_focus = instance->getAutoFocus(); +            instance->setAutoFocus(flags & BEACON_FOCUS_MAP); +            instance->openFloater("center"); +            instance->setAutoFocus(old_auto_focus); +        }      }      // remove above two lines and replace with below line diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index c5e81dd179..8d90187e91 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -2325,6 +2325,12 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,          // Set the rotation of the object followed by adjusting for the accumulated angular velocity (llSetTargetOmega)          setRotation(new_rot * mAngularVelocityRot); +        if ((mFlags & FLAGS_SERVER_AUTOPILOT) && asAvatar() && asAvatar()->isSelf()) +        { +            gAgent.resetAxes(); +            gAgent.rotate(new_rot); +            gAgentCamera.resetView(); +        }          setChanged(ROTATED | SILHOUETTE);      } diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 63d5a2d778..0d02dc034e 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -1437,6 +1437,15 @@ bool LLViewerTextureList::createUploadFile(const std::string& filename,          image->setLastError("Couldn't load the image to be uploaded.");          return false;      } + +    // calcDataSizeJ2C assumes maximum size is 2048 and for bigger images can +    // assign discard to bring imige to needed size, but upload does the scaling +    // as needed, so just reset discard. +    // Assume file is full and has 'discard' 0 data. +    // Todo: probably a better idea to have some setMaxDimentions in J2C +    // called when loading from a local file +    image->setDiscardLevel(0); +      // Decompress or expand it in a raw image structure      LLPointer<LLImageRaw> raw_image = new LLImageRaw;      if (!image->decode(raw_image, 0.0f)) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 93ff175967..d2685bcc48 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -4860,12 +4860,12 @@ void LLViewerWindow::movieSize(S32 new_width, S32 new_height)      }  } -bool LLViewerWindow::saveSnapshot(const std::string& filepath, S32 image_width, S32 image_height, bool show_ui, bool show_hud, bool do_rebuild, LLSnapshotModel::ESnapshotLayerType type, LLSnapshotModel::ESnapshotFormat format) +bool LLViewerWindow::saveSnapshot(const std::string& filepath, S32 image_width, S32 image_height, bool show_ui, bool show_hud, bool do_rebuild, bool show_balance, LLSnapshotModel::ESnapshotLayerType type, LLSnapshotModel::ESnapshotFormat format)  {      LL_INFOS() << "Saving snapshot to: " << filepath << LL_ENDL;      LLPointer<LLImageRaw> raw = new LLImageRaw; -    bool success = rawSnapshot(raw, image_width, image_height, true, false, show_ui, show_hud, do_rebuild); +    bool success = rawSnapshot(raw, image_width, image_height, true, false, show_ui, show_hud, do_rebuild, show_balance);      if (success)      { @@ -4926,14 +4926,14 @@ void LLViewerWindow::resetSnapshotLoc() const  bool LLViewerWindow::thumbnailSnapshot(LLImageRaw *raw, S32 preview_width, S32 preview_height, bool show_ui, bool show_hud, bool do_rebuild, bool no_post, LLSnapshotModel::ESnapshotLayerType type)  { -    return rawSnapshot(raw, preview_width, preview_height, false, false, show_ui, show_hud, do_rebuild, no_post, type); +    return rawSnapshot(raw, preview_width, preview_height, false, false, show_ui, show_hud, do_rebuild, no_post, gSavedSettings.getBOOL("RenderBalanceInSnapshot"), type);  }  // Saves the image from the screen to a raw image  // Since the required size might be bigger than the available screen, this method rerenders the scene in parts (called subimages) and copy  // the results over to the final raw image.  bool LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_height, -    bool keep_window_aspect, bool is_texture, bool show_ui, bool show_hud, bool do_rebuild, bool no_post, LLSnapshotModel::ESnapshotLayerType type, S32 max_size) +    bool keep_window_aspect, bool is_texture, bool show_ui, bool show_hud, bool do_rebuild, bool no_post, bool show_balance, LLSnapshotModel::ESnapshotLayerType type, S32 max_size)  {      if (!raw)      { @@ -4991,6 +4991,8 @@ bool LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei          // If the user wants the UI, limit the output size to the available screen size          image_width  = llmin(image_width, window_width);          image_height = llmin(image_height, window_height); + +        setBalanceVisible(show_balance);      }      S32 original_width = 0; @@ -5068,11 +5070,13 @@ bool LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei      }      else      { +        setBalanceVisible(true);          return false;      }      if (raw->isBufferInvalid())      { +        setBalanceVisible(true);          return false;      } @@ -5248,6 +5252,7 @@ bool LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei      {          send_agent_resume();      } +    setBalanceVisible(true);      return ret;  } @@ -5713,6 +5718,14 @@ void LLViewerWindow::setProgressCancelButtonVisible( bool b, const std::string&      }  } +void LLViewerWindow::setBalanceVisible(bool visible) +{ +    if (gStatusBar) +    { +        gStatusBar->setBalanceVisible(visible); +    } +} +  LLProgressView *LLViewerWindow::getProgressView() const  {      return mProgressView; diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index ac0dfa3fe4..d55c2d3817 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -364,9 +364,11 @@ public:      // snapshot functionality.      // perhaps some of this should move to llfloatershapshot?  -MG -    bool            saveSnapshot(const std::string&  filename, S32 image_width, S32 image_height, bool show_ui = true, bool show_hud = true, bool do_rebuild = false, LLSnapshotModel::ESnapshotLayerType type = LLSnapshotModel::SNAPSHOT_TYPE_COLOR, LLSnapshotModel::ESnapshotFormat format = LLSnapshotModel::SNAPSHOT_FORMAT_BMP); -    bool            rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_height, bool keep_window_aspect = true, bool is_texture = false, -        bool show_ui = true, bool show_hud = true, bool do_rebuild = false, bool no_post = false, LLSnapshotModel::ESnapshotLayerType type = LLSnapshotModel::SNAPSHOT_TYPE_COLOR, S32 max_size = MAX_SNAPSHOT_IMAGE_SIZE); +    bool saveSnapshot(const std::string&  filename, S32 image_width, S32 image_height, bool show_ui = true, bool show_hud = true, bool do_rebuild = false, bool show_balance = true, +                     LLSnapshotModel::ESnapshotLayerType type = LLSnapshotModel::SNAPSHOT_TYPE_COLOR, LLSnapshotModel::ESnapshotFormat format = LLSnapshotModel::SNAPSHOT_FORMAT_BMP); +    bool rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_height, bool keep_window_aspect = true, bool is_texture = false, +                     bool show_ui = true, bool show_hud = true, bool do_rebuild = false, bool no_post = false, bool show_balance = true, +                     LLSnapshotModel::ESnapshotLayerType type = LLSnapshotModel::SNAPSHOT_TYPE_COLOR, S32 max_size = MAX_SNAPSHOT_IMAGE_SIZE);      bool            simpleSnapshot(LLImageRaw *raw, S32 image_width, S32 image_height, const int num_render_passes); @@ -462,6 +464,8 @@ public:      void            calcDisplayScale();      static LLRect   calcScaledRect(const LLRect & rect, const LLVector2& display_scale); +    void setBalanceVisible(bool visible); +      static std::string getLastSnapshotDir();      LLView* getFloaterSnapRegion() { return mFloaterSnapRegion; } diff --git a/indra/newview/llviewerwindowlistener.cpp b/indra/newview/llviewerwindowlistener.cpp index da7e18af5c..3119c31613 100644 --- a/indra/newview/llviewerwindowlistener.cpp +++ b/indra/newview/llviewerwindowlistener.cpp @@ -100,7 +100,7 @@ void LLViewerWindowListener::saveSnapshot(const LLSD& event) const          }          type = found->second;      } -    bool ok = mViewerWindow->saveSnapshot(event["filename"], width, height, showui, showhud, rebuild, type); +    bool ok = mViewerWindow->saveSnapshot(event["filename"], width, height, showui, showhud, rebuild, true /*L$ Balance*/, type);      sendReply(LLSDMap("ok", ok), event);  } diff --git a/indra/newview/skins/default/xui/da/floater_about.xml b/indra/newview/skins/default/xui/da/floater_about.xml index 604eb7c58f..4ea34975e1 100644 --- a/indra/newview/skins/default/xui/da/floater_about.xml +++ b/indra/newview/skins/default/xui/da/floater_about.xml @@ -5,7 +5,7 @@  [[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]  	</floater.string>  	<floater.string name="AboutPosition"> -		Du er ved [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] i regionen [REGION] lokaliseret ved <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +		Du er ved [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] i regionen [REGION] lokaliseret ved <nolink>[HOSTNAME]</nolink>  [SERVER_VERSION]  [SERVER_RELEASE_NOTES_URL]  	</floater.string> diff --git a/indra/newview/skins/default/xui/de/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/de/panel_snapshot_inventory.xml index 602424821f..09447cbbaf 100644 --- a/indra/newview/skins/default/xui/de/panel_snapshot_inventory.xml +++ b/indra/newview/skins/default/xui/de/panel_snapshot_inventory.xml @@ -7,7 +7,7 @@  		<combo_box.item label="Klein (128x128)" name="Small(128x128)"/>  		<combo_box.item label="Mittel (256x256)" name="Medium(256x256)"/>  		<combo_box.item label="Groß (512x512)" name="Large(512x512)"/> -		<combo_box.item label="Aktuelles Fenster (512x512)" name="CurrentWindow"/> +		<combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/>  		<combo_box.item label="Benutzerdefiniert" name="Custom"/>  	</combo_box>  	<spinner label="Breite x Höhe" name="inventory_snapshot_width"/> diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index 486d604e9f..3f5fccf57f 100644 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -12,7 +12,7 @@  	<string name="StartupRequireDriverUpdate">Grafikinitialisierung fehlgeschlagen. Bitte aktualisieren Sie Ihren Grafiktreiber.</string>  	<string name="AboutHeader">[CHANNEL] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2].[VIEWER_VERSION_3] ([ADDRESS_SIZE]Bit) [[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]</string>  	<string name="BuildConfig">Build-Konfiguration [BUILD_CONFIG]</string> -	<string name="AboutPosition">Sie befinden sich an [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] in [REGION] auf <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +	<string name="AboutPosition">Sie befinden sich an [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] in [REGION] auf <nolink>[HOSTNAME]</nolink>  SLURL: <nolink>[SLURL]</nolink>  (globale Koordinaten [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])  [SERVER_VERSION] diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml index e6b780728c..acdccdc03a 100644 --- a/indra/newview/skins/default/xui/en/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml @@ -167,8 +167,19 @@           left="30"  		 height="16"           top_pad="8" -         width="180" +         width="80" +         control_name="RenderUIInSnapshot"           name="ui_check" /> +       <check_box +         label="L$ Balance" +         layout="topleft" +         left_pad="16" +         height="16" +         top_delta="0" +         width="80" +         control_name="RenderBalanceInSnapshot" +         enabled_control="RenderUIInSnapshot" +         name="balance_check" />          <check_box           label="HUDs"           layout="topleft" @@ -176,6 +187,7 @@           left="30"           top_pad="1"           width="180" +         control_name="RenderHUDInSnapshot"           name="hud_check" />          <check_box           label="Freeze frame (fullscreen)" diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index dba48012ac..509a8eec38 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -10326,6 +10326,14 @@ You are now the owner of object [OBJECT_NAME]    <notification     icon="alertmodal.tga" +   name="NowOwnObjectInv" +   type="notify"> +   <tag>fail</tag> +You are now the owner of object [OBJECT_NAME] and it has been placed in your inventory. +  </notification> + +    <notification +   icon="alertmodal.tga"     name="CantRezOnLand"     type="notify">     <tag>fail</tag> diff --git a/indra/newview/skins/default/xui/en/panel_settings_water.xml b/indra/newview/skins/default/xui/en/panel_settings_water.xml index 5e65b0e8a2..e062f1710b 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_water.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_water.xml @@ -378,7 +378,7 @@                              initial_value="0"                              layout="topleft"                              left_delta="5" -                            min_val="-0.5" +                            min_val="0"                              max_val="0.5"                              name="water_blur_multip"                              top_pad="5" diff --git a/indra/newview/skins/default/xui/en/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/en/panel_snapshot_inventory.xml index f8040b9a65..68878baa0d 100644 --- a/indra/newview/skins/default/xui/en/panel_snapshot_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_snapshot_inventory.xml @@ -60,7 +60,7 @@           name="Large(512x512)"           value="[i512,i512]" />          <combo_box.item -         label="Current Window(512x512)" +         label="Current Window"           name="CurrentWindow"           value="[i0,i0]" />          <combo_box.item diff --git a/indra/newview/skins/default/xui/en/panel_tools_texture.xml b/indra/newview/skins/default/xui/en/panel_tools_texture.xml index 9a19d06432..af6a9b94d9 100644 --- a/indra/newview/skins/default/xui/en/panel_tools_texture.xml +++ b/indra/newview/skins/default/xui/en/panel_tools_texture.xml @@ -729,8 +729,8 @@               label_width="205"               layout="topleft"               left="10" -             min_val="-100" -             max_val="100" +             min_val="-10000" +             max_val="10000"               name="TexScaleU"               top_pad="5"               width="265" /> @@ -742,8 +742,8 @@               label_width="205"               layout="topleft"               left="10" -             min_val="-100" -             max_val="100" +             min_val="-10000" +             max_val="10000"               name="TexScaleV"               width="265" />              <spinner @@ -805,8 +805,8 @@               label_width="205"               layout="topleft"               left="10" -             min_val="-100" -             max_val="100" +             min_val="-10000" +             max_val="10000"               name="bumpyScaleU"               top_delta="-115"               width="265" /> @@ -818,8 +818,8 @@               label_width="205"               layout="topleft"               left="10" -             min_val="-100" -             max_val="100" +             min_val="-10000" +             max_val="10000"               name="bumpyScaleV"               width="265" />             <spinner @@ -869,8 +869,8 @@               label_width="205"               layout="topleft"               left="10" -             min_val="-100" -             max_val="100" +             min_val="-10000" +             max_val="10000"               name="shinyScaleU"               top_delta="-115"               width="265" /> @@ -882,8 +882,8 @@               label_width="205"               layout="topleft"               left="10" -             min_val="-100" -             max_val="100" +             min_val="-10000" +             max_val="10000"               name="shinyScaleV"               width="265" />             <spinner diff --git a/indra/newview/skins/default/xui/es/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/es/panel_snapshot_inventory.xml index b5cf57ade7..c9eea9a58e 100644 --- a/indra/newview/skins/default/xui/es/panel_snapshot_inventory.xml +++ b/indra/newview/skins/default/xui/es/panel_snapshot_inventory.xml @@ -7,7 +7,7 @@  		Guardar una imagen en el inventario cuesta [UPLOAD_COST] L$. Para guardar una imagen como una textura, selecciona uno de los formatos cuadrados.  	</text>  	<combo_box label="Resolución" name="texture_size_combo"> -		<combo_box.item label="Ventana actual (512 × 512)" name="CurrentWindow"/> +		<combo_box.item label="Ventana actual" name="CurrentWindow"/>  		<combo_box.item label="Pequeña (128x128)" name="Small(128x128)"/>  		<combo_box.item label="Mediana (256x256)" name="Medium(256x256)"/>  		<combo_box.item label="Grande (512x512)" name="Large(512x512)"/> diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml index 9fcfc2daa5..ff1200e2b3 100644 --- a/indra/newview/skins/default/xui/es/strings.xml +++ b/indra/newview/skins/default/xui/es/strings.xml @@ -10,7 +10,7 @@  	<string name="AboutHeader">[CHANNEL] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2].[VIEWER_VERSION_3] ([ADDRESS_SIZE]bit)   [[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]</string>  	<string name="BuildConfig">Configuración de constitución [BUILD_CONFIG]</string> -	<string name="AboutPosition">Estás en la posición [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1], de [REGION], alojada en <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +	<string name="AboutPosition">Estás en la posición [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1], de [REGION], alojada en <nolink>[HOSTNAME]</nolink>  SLURL: <nolink>[SLURL]</nolink>  (coordenadas globales [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])  [SERVER_VERSION] diff --git a/indra/newview/skins/default/xui/fr/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/fr/panel_snapshot_inventory.xml index 3cf64583d2..a560ff8d5e 100644 --- a/indra/newview/skins/default/xui/fr/panel_snapshot_inventory.xml +++ b/indra/newview/skins/default/xui/fr/panel_snapshot_inventory.xml @@ -7,7 +7,7 @@  		L'enregistrement d'une image dans l'inventaire coûte [UPLOAD_COST] L$. Pour enregistrer votre image sous forme de texture, sélectionnez un format carré.  	</text>  	<combo_box label="Résolution" name="texture_size_combo"> -		<combo_box.item label="Fenêtre actuelle (512x512)" name="CurrentWindow"/> +		<combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/>  		<combo_box.item label="Petite (128 x 128)" name="Small(128x128)"/>  		<combo_box.item label="Moyenne (256 x 256)" name="Medium(256x256)"/>  		<combo_box.item label="Grande (512 x 512)" name="Large(512x512)"/> diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index 55f6209fe1..5307c8d561 100644 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -13,7 +13,7 @@  	<string name="AboutHeader">[CHANNEL] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2].[VIEWER_VERSION_3] ([ADDRESS_SIZE]bit)   [[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]</string>  	<string name="BuildConfig">Configuration de la construction [BUILD_CONFIG]</string> -	<string name="AboutPosition">Vous êtes à [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] dans [REGION], se trouvant à <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +	<string name="AboutPosition">Vous êtes à [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] dans [REGION], se trouvant à <nolink>[HOSTNAME]</nolink>  SLURL : <nolink>[SLURL]</nolink>  (coordonnées globales [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])  [SERVER_VERSION] diff --git a/indra/newview/skins/default/xui/it/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/it/panel_snapshot_inventory.xml index 75b5d64660..21b65e8e69 100644 --- a/indra/newview/skins/default/xui/it/panel_snapshot_inventory.xml +++ b/indra/newview/skins/default/xui/it/panel_snapshot_inventory.xml @@ -7,7 +7,7 @@  		Salvare un'immagine nell'inventario costa L$[UPLOAD_COST]. Per salvare l'immagine come texture, selezionare uno dei formati quadrati.  	</text>  	<combo_box label="Risoluzione" name="texture_size_combo"> -		<combo_box.item label="Finestra corrente (512x512)" name="CurrentWindow"/> +		<combo_box.item label="Finestra corrente" name="CurrentWindow"/>  		<combo_box.item label="Piccola (128x128)" name="Small(128x128)"/>  		<combo_box.item label="Media (256x256)" name="Medium(256x256)"/>  		<combo_box.item label="Grande (512x512)" name="Large(512x512)"/> diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index f77ab1062a..bb22ff788e 100644 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -12,7 +12,7 @@  	<string name="AboutHeader">[CHANNEL] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2].[VIEWER_VERSION_3] ([ADDRESS_SIZE]bit)   [[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]</string>  	<string name="BuildConfig">Configurazione struttura [BUILD_CONFIG]</string> -	<string name="AboutPosition">Tu sei a [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] in [REGION] che si trova a <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +	<string name="AboutPosition">Tu sei a [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] in [REGION] che si trova a <nolink>[HOSTNAME]</nolink>  SLURL: <nolink>[SLURL]</nolink>  (coordinate globali [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])  [SERVER_VERSION] diff --git a/indra/newview/skins/default/xui/ja/panel_settings_water.xml b/indra/newview/skins/default/xui/ja/panel_settings_water.xml index ead1ca9b2f..2510523897 100644 --- a/indra/newview/skins/default/xui/ja/panel_settings_water.xml +++ b/indra/newview/skins/default/xui/ja/panel_settings_water.xml @@ -63,7 +63,7 @@  					<text follows="left|top|right" font="SansSerif" height="16" layout="topleft" left_delta="-5" top_pad="5" width="215">  						ブラー乗数  					</text> -					<slider control_name="water_blur_multip" follows="left|top" height="16" increment="0.001" initial_value="0" layout="topleft" left_delta="5" min_val="-0.5" max_val="0.5" name="water_blur_multip" top_pad="5" width="200" can_edit_text="true"/> +					<slider control_name="water_blur_multip" follows="left|top" height="16" increment="0.001" initial_value="0" layout="topleft" left_delta="5" min_val="0" max_val="0.5" name="water_blur_multip" top_pad="5" width="200" can_edit_text="true"/>  				</layout_panel>  			</layout_stack>  		</layout_panel> diff --git a/indra/newview/skins/default/xui/ja/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/ja/panel_snapshot_inventory.xml index c55c11e928..30542378cc 100644 --- a/indra/newview/skins/default/xui/ja/panel_snapshot_inventory.xml +++ b/indra/newview/skins/default/xui/ja/panel_snapshot_inventory.xml @@ -6,7 +6,7 @@  	</text>  	<view_border name="hr"/>  	<combo_box label="解像度" name="texture_size_combo"> -		<combo_box.item label="現在のウィンドウ (512✕512)" name="CurrentWindow"/> +		<combo_box.item label="現在のウィンドウ" name="CurrentWindow"/>  		<combo_box.item label="小(128✕128)" name="Small(128x128)"/>  		<combo_box.item label="中(256✕256)" name="Medium(256x256)"/>  		<combo_box.item label="大(512✕512)" name="Large(512x512)"/> diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml index 71f7c1a034..df19f3678f 100644 --- a/indra/newview/skins/default/xui/ja/strings.xml +++ b/indra/newview/skins/default/xui/ja/strings.xml @@ -39,7 +39,7 @@  	</string>  	<string name="AboutPosition">  		あなたは、現在[REGION]の[POSITION_LOCAL_0,number,1],[POSITION_LOCAL_1,number,1],[POSITION_LOCAL_2,number,1]にいます。 -位置は、<nolink>[HOSTNAME]</nolink>です。([HOSTIP]) +位置は、<nolink>[HOSTNAME]</nolink>です。  SLURL:<nolink>[SLURL]</nolink>  (グローバル座標は、[POSITION_0,number,1],[POSITION_1,number,1],[POSITION_2,number,1]です。)  [SERVER_VERSION] diff --git a/indra/newview/skins/default/xui/pt/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/pt/panel_snapshot_inventory.xml index f3357026d5..28a5142baa 100644 --- a/indra/newview/skins/default/xui/pt/panel_snapshot_inventory.xml +++ b/indra/newview/skins/default/xui/pt/panel_snapshot_inventory.xml @@ -7,7 +7,7 @@  		Salvar uma imagem em seu inventário custa L$[UPLOAD_COST]. Para salvar sua imagem como uma textura, selecione um dos formatos quadrados.  	</text>  	<combo_box label="Resolução" name="texture_size_combo"> -		<combo_box.item label="Janela ativa (512x512)" name="CurrentWindow"/> +		<combo_box.item label="Janela ativa" name="CurrentWindow"/>  		<combo_box.item label="Pequeno (128x128)" name="Small(128x128)"/>  		<combo_box.item label="Médio (256x256)" name="Medium(256x256)"/>  		<combo_box.item label="Grande (512x512)" name="Large(512x512)"/> diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml index 4ce1e6d2ec..509b3d72a0 100644 --- a/indra/newview/skins/default/xui/pt/strings.xml +++ b/indra/newview/skins/default/xui/pt/strings.xml @@ -10,7 +10,7 @@  	<string name="AboutHeader">[CHANNEL] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2].[VIEWER_VERSION_3] ([ADDRESS_SIZE]bit)   [[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]</string>  	<string name="BuildConfig">Configuração do corpo [BUILD_CONFIG]</string> -	<string name="AboutPosition">Você está em [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] em [REGION] localizado em <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +	<string name="AboutPosition">Você está em [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] em [REGION] localizado em <nolink>[HOSTNAME]</nolink>  SLURL: <nolink>[SLURL]</nolink>  (coordenadas globais [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])  [SERVER_VERSION] diff --git a/indra/newview/skins/default/xui/ru/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/ru/panel_snapshot_inventory.xml index f07e12e0ed..adc612dfd8 100644 --- a/indra/newview/skins/default/xui/ru/panel_snapshot_inventory.xml +++ b/indra/newview/skins/default/xui/ru/panel_snapshot_inventory.xml @@ -7,7 +7,7 @@  		Сохранение изображения в инвентаре стоит L$[UPLOAD_COST]. Чтобы сохранить его как текстуру, выберите один из квадратных форматов.  	</text>  	<combo_box label="Размер" name="texture_size_combo"> -		<combo_box.item label="Текущее окно (512x512)" name="CurrentWindow"/> +		<combo_box.item label="Текущее окно" name="CurrentWindow"/>  		<combo_box.item label="Маленький (128x128)" name="Small(128x128)"/>  		<combo_box.item label="Средний (256x256)" name="Medium(256x256)"/>  		<combo_box.item label="Большой (512x512)" name="Large(512x512)"/> diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml index 0079309ba2..48eb7118aa 100644 --- a/indra/newview/skins/default/xui/ru/strings.xml +++ b/indra/newview/skins/default/xui/ru/strings.xml @@ -42,7 +42,7 @@  		Конфигурация построения [BUILD_CONFIG]  	</string>  	<string name="AboutPosition"> -		Вы в точке [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] в регионе «[REGION]», расположенном на <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +		Вы в точке [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] в регионе «[REGION]», расположенном на <nolink>[HOSTNAME]</nolink>  SLURL: <nolink>[SLURL]</nolink>  (глобальные координаты [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])  [SERVER_VERSION] diff --git a/indra/newview/skins/default/xui/tr/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/tr/panel_snapshot_inventory.xml index be5940c4b9..160cba8700 100644 --- a/indra/newview/skins/default/xui/tr/panel_snapshot_inventory.xml +++ b/indra/newview/skins/default/xui/tr/panel_snapshot_inventory.xml @@ -7,7 +7,7 @@  		Bir görüntüyü envanterinize kaydetmenin maliyeti L$[UPLOAD_COST] olur. Görüntünüzü bir doku olarak kaydetmek için kare formatlardan birini seçin.  	</text>  	<combo_box label="Çözünürlük" name="texture_size_combo"> -		<combo_box.item label="Mevcut Pencere(512x512)" name="CurrentWindow"/> +		<combo_box.item label="Mevcut Pencere" name="CurrentWindow"/>  		<combo_box.item label="Küçük (128x128)" name="Small(128x128)"/>  		<combo_box.item label="Orta (256x256)" name="Medium(256x256)"/>  		<combo_box.item label="Büyük (512x512)" name="Large(512x512)"/> diff --git a/indra/newview/skins/default/xui/tr/strings.xml b/indra/newview/skins/default/xui/tr/strings.xml index fa2fd3a802..92e5160e97 100644 --- a/indra/newview/skins/default/xui/tr/strings.xml +++ b/indra/newview/skins/default/xui/tr/strings.xml @@ -42,7 +42,7 @@  		Yapı Konfigürasyonu [BUILD_CONFIG]  	</string>  	<string name="AboutPosition"> -		<nolink>[HOSTNAME]</nolink> ([HOSTIP]) üzerinde bulunan [REGION] içerisinde [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] konumundasınız +		<nolink>[HOSTNAME]</nolink> üzerinde bulunan [REGION] içerisinde [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] konumundasınız  SLURL: <nolink>[SLURL]</nolink>  (küresel koordinatlar [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])  [SERVER_VERSION] diff --git a/indra/newview/skins/default/xui/zh/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/zh/panel_snapshot_inventory.xml index 094bf019b4..9c45c54a5e 100644 --- a/indra/newview/skins/default/xui/zh/panel_snapshot_inventory.xml +++ b/indra/newview/skins/default/xui/zh/panel_snapshot_inventory.xml @@ -7,7 +7,7 @@  		將圖像儲存到收納區的費用為 L$[UPLOAD_COST]。 若要將圖像存為材質,請選擇一個正方格式。  	</text>  	<combo_box label="解析度" name="texture_size_combo"> -		<combo_box.item label="目前視窗(512x512)" name="CurrentWindow"/> +		<combo_box.item label="目前視窗" name="CurrentWindow"/>  		<combo_box.item label="小(128x128)" name="Small(128x128)"/>  		<combo_box.item label="中(256x256)" name="Medium(256x256)"/>  		<combo_box.item label="大(512x512)" name="Large(512x512)"/> diff --git a/indra/newview/skins/default/xui/zh/strings.xml b/indra/newview/skins/default/xui/zh/strings.xml index d053d2b30d..8fae007429 100644 --- a/indra/newview/skins/default/xui/zh/strings.xml +++ b/indra/newview/skins/default/xui/zh/strings.xml @@ -42,7 +42,7 @@  		建製設置 [BUILD_CONFIG]  	</string>  	<string name="AboutPosition"> -		你的方位是 [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1],地區名:[REGION],主機:<nolink>[HOSTNAME]</nolink> ([HOSTIP]) +		你的方位是 [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1],地區名:[REGION],主機:<nolink>[HOSTNAME]</nolink>  第二人生URL:<nolink>[SLURL]</nolink>  (全域坐標:[POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])  [SERVER_VERSION] | 
