diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 87c1ee8e1f..76002c2885 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -16,3 +16,5 @@ e2e37cced861b98de8c1a7c9c0d3a50d2d90e433 # ignore some of the merges of ws silliness to restore blame reporting 5f1a19af725b90737d50a42a51a7bc1db12c7d13 a17fd2352a9746dd3116f956dcc554f95f17e770 +# ignore beq's formatting derp +f8204c43e89d65d981a52aebf033ead5b4b3495a diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index acdad15642..7d8039a64e 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -641,6 +641,11 @@ bool LLImageGL::setSize(S32 width, S32 height, S32 ncomponents, S32 discard_leve if(discard_level > 0) { mMaxDiscardLevel = llmax(mMaxDiscardLevel, (S8)discard_level); + // [FIRE-35361] RenderMaxTextureResolution caps texture resolution lower than intended + // 2K textures could set the mMaxDiscardLevel above MAX_DISCARD_LEVEL, which would + // cause them to not be down-scaled so they would get stuck at 0 discard all the time. + mMaxDiscardLevel = llmax(mMaxDiscardLevel, (S8)MAX_DISCARD_LEVEL); + // [FIRE-35361] } } else diff --git a/indra/llui/llurlentry.cpp b/indra/llui/llurlentry.cpp index eb9dc2f27f..01f1b8eb9a 100644 --- a/indra/llui/llurlentry.cpp +++ b/indra/llui/llurlentry.cpp @@ -1249,7 +1249,7 @@ void LLUrlEntryParcel::processParcelInfo(const LLParcelData& parcel_data) // LLUrlEntryPlace::LLUrlEntryPlace() { - mPattern = boost::regex("((hop://[-\\w\\.\\:\\@]+/)|((x-grid-location-info://[-\\w\\.]+/region/)|(secondlife://)))\\S+/?(\\d+/\\d+/\\d+|\\d+/\\d+)/?", // + mPattern = boost::regex("((hop://[-\\w\\.\\:\\@]+/)|((x-grid-location-info://[-\\w\\.]+/region/)|(secondlife://)))\\S+(?:/?(-?\\d+/-?\\d+/-?\\d+|-?\\d+/-?\\d+)/?)?", // boost::regex::perl|boost::regex::icase); mMenuName = "menu_url_slurl.xml"; mTooltip = LLTrans::getString("TooltipSLURL"); diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp index 26545a66bc..5dab7a07e2 100644 --- a/indra/newview/llfloaterworldmap.cpp +++ b/indra/newview/llfloaterworldmap.cpp @@ -57,6 +57,8 @@ #include "llnotificationsutil.h" #include "llregionhandle.h" #include "llscrolllistctrl.h" +#include "llviewernetwork.h" // Access to GridManager +#include "lfsimfeaturehandler.h" // hyperGridURL() #include "llslurl.h" #include "lltextbox.h" #include "lltoolbarview.h" @@ -77,6 +79,7 @@ #include "llmapimagetype.h" #include "llweb.h" #include "llsliderctrl.h" +#include "llspinctrl.h" // setMinValue #include "message.h" #include "llwindow.h" // copyTextToClipboard() #include @@ -396,9 +399,16 @@ bool LLFloaterWorldMap::postBuild() mLandmarkIcon = getChild("landmark_icon"); mLocationIcon = getChild("location_icon"); + // [FIRE-35333] OpenSim needs to be able to adjust the minValue + /* mTeleportCoordSpinX = getChild("teleport_coordinate_x"); mTeleportCoordSpinY = getChild("teleport_coordinate_y"); mTeleportCoordSpinZ = getChild("teleport_coordinate_z"); + */ + mTeleportCoordSpinX = getChild("teleport_coordinate_x"); + mTeleportCoordSpinY = getChild("teleport_coordinate_y"); + mTeleportCoordSpinZ = getChild("teleport_coordinate_z"); + // LLComboBox *avatar_combo = getChild("friend combo"); avatar_combo->selectFirstItem(); @@ -518,6 +528,15 @@ void LLFloaterWorldMap::onOpen(const LLSD& key) { centerOnTarget(false); } + + // [FIRE-35333] OpenSim allows Z coordinates to be negative based on MinSimHeight + if (!LLGridManager::getInstance()->isInSecondLife()) + { + LLViewerRegion* regionp = gAgent.getRegion(); + F32 min_sim_height = regionp ? regionp->getMinSimHeight() : 0.f; + mTeleportCoordSpinZ->setMinValue(min_sim_height); + } + // } // static @@ -1003,7 +1022,12 @@ void LLFloaterWorldMap::updateLocation() // Set the current SLURL // Aurora-sim var region teleports //mSLURL = LLSLURL(agent_sim_name, gAgent.getPositionGlobal()); - mSLURL = LLSLURL(agent_sim_name, gAgent.getPositionAgent()); + // [FIRE-35268] OpenSim support for when on other grids + if (LLGridManager::getInstance()->isInSecondLife()) + mSLURL = LLSLURL(agent_sim_name, gAgent.getPositionAgent()); + else + mSLURL = LLSLURL(LFSimFeatureHandler::instance().hyperGridURL(), agent_sim_name, gAgent.getPositionAgent()); + // // } } @@ -1056,7 +1080,12 @@ void LLFloaterWorldMap::updateLocation() // if ( gotSimName ) { // mSLURL = LLSLURL(sim_name, pos_global); - mSLURL = LLSLURL(sim_info->getName(), sim_info->getGlobalOrigin(), pos_global); + // [FIRE-35268] OpenSim support for when on other grids + if (LLGridManager::getInstance()->isInSecondLife()) + mSLURL = LLSLURL(sim_info->getName(), gAgent.getPositionAgent()); + else + mSLURL = LLSLURL(LFSimFeatureHandler::instance().hyperGridURL(), sim_info->getName(), gAgent.getPositionAgent()); + // } // else @@ -1079,7 +1108,18 @@ void LLFloaterWorldMap::updateLocation() void LLFloaterWorldMap::trackURL(const std::string& region_name, S32 x_coord, S32 y_coord, S32 z_coord) { LLSimInfo* sim_info = LLWorldMap::getInstance()->simInfoFromName(region_name); - z_coord = llclamp(z_coord, 0, 4096); + // [FIRE-35333] OpenSim allows Z coordinates to be negative based on MinSimHeight + if (!LLGridManager::getInstance()->isInSecondLife()) + { + LLViewerRegion* regionp = gAgent.getRegion(); + F32 min_sim_height = regionp ? regionp->getMinSimHeight() : 0.f; + z_coord = llclamp(z_coord, min_sim_height, 4096); + } + else + { + z_coord = llclamp(z_coord, 0, 4096); + } + // if (sim_info) { LLVector3 local_pos; diff --git a/indra/newview/llfloaterworldmap.h b/indra/newview/llfloaterworldmap.h index 6a6f0e898a..d71ae9e88c 100644 --- a/indra/newview/llfloaterworldmap.h +++ b/indra/newview/llfloaterworldmap.h @@ -245,9 +245,16 @@ private: LLUICtrl* mLocationIcon = nullptr; LLSearchEditor* mLocationEditor = nullptr; + // [FIRE-35333] OpenSim needs to be able to adjust the minValue + /* LLUICtrl* mTeleportCoordSpinX = nullptr; LLUICtrl* mTeleportCoordSpinY = nullptr; LLUICtrl* mTeleportCoordSpinZ = nullptr; + */ + LLSpinCtrl* mTeleportCoordSpinX = nullptr; + LLSpinCtrl* mTeleportCoordSpinY = nullptr; + LLSpinCtrl* mTeleportCoordSpinZ = nullptr; + // LLSliderCtrl* mZoomSlider = nullptr; diff --git a/indra/newview/lltracker.cpp b/indra/newview/lltracker.cpp index 3d3554ae17..13fa9137e8 100644 --- a/indra/newview/lltracker.cpp +++ b/indra/newview/lltracker.cpp @@ -546,7 +546,12 @@ void LLTracker::drawBeacon(LLVector3 pos_agent, std::string direction, LLColor4 height = pos_agent.mV[2]; } - nRows = (U32)ceil((BEACON_ROWS * height) / MAX_HEIGHT); + // [FIRE-35333] OpenSim allows Z coordinates to be negative based on MinSimHeight + if (height < 0.f) + nRows = 0; + else + nRows = (U32)ceil((BEACON_ROWS * height) / MAX_HEIGHT); + // if(nRows<2) nRows=2; rowHeight = height / nRows; @@ -557,7 +562,10 @@ void LLTracker::drawBeacon(LLVector3 pos_agent, std::string direction, LLColor4 F32 x = x_axis.mV[0]; F32 y = x_axis.mV[1]; - F32 z = 0.f; + // [FIRE-35333] OpenSim allows Z coordinates to be negative based on MinSimHeight + //F32 z = 0.f; + F32 z = llmin(height, 0.f); + // F32 z_next; F32 a,an; diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 4dcd19bf32..0e0b0891d6 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -1042,7 +1042,7 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY) // create an independent preview screen target {LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("PreviewScreenBuffer"); - mPreviewScreen.allocate(MAX_PREVIEW_WIDTH, MAX_PREVIEW_HEIGHT, GL_RGBA); + mPreviewScreen.allocate(MAX_PREVIEW_WIDTH, MAX_PREVIEW_HEIGHT, GL_RGBA, true); } // {LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("BakeMapBuffer");// create an independent preview screen target mBakeMap.allocate(LLAvatarAppearanceDefines::SCRATCH_TEX_WIDTH, LLAvatarAppearanceDefines::SCRATCH_TEX_HEIGHT, GL_RGBA); diff --git a/indra/newview/skins/default/xui/pl/floater_fs_poser.xml b/indra/newview/skins/default/xui/pl/floater_fs_poser.xml index 8bcd877ca1..12f86013f1 100644 --- a/indra/newview/skins/default/xui/pl/floater_fs_poser.xml +++ b/indra/newview/skins/default/xui/pl/floater_fs_poser.xml @@ -142,7 +142,10 @@ Lewa pierś Prawa pierś Ładuj pozę + Zapis pozy Ładuj różn. + Zapis różn. + Nadpisać? @@ -186,8 +189,8 @@ -