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 @@
-
-
+
+
@@ -206,7 +209,7 @@
-
+
Czułość trackpada:
@@ -215,6 +218,7 @@
+
@@ -257,12 +261,12 @@
-
+
-
-
+
+
diff --git a/scripts/configure_firestorm.sh b/scripts/configure_firestorm.sh
index 73ebcfe17d..96af905f2e 100755
--- a/scripts/configure_firestorm.sh
+++ b/scripts/configure_firestorm.sh
@@ -309,38 +309,38 @@ if [ ! -d `dirname "$LOG"` ] ; then
mkdir -p `dirname "$LOG"`
fi
-echo -e "configure_firestorm.sh" > $LOG
-echo -e " PLATFORM: $TARGET_PLATFORM" | tee -a $LOG
-echo -e " KDU: `b2a $WANTS_KDU`" | tee -a $LOG
-echo -e " FMODSTUDIO: `b2a $WANTS_FMODSTUDIO`" | tee -a $LOG
-echo -e " OPENAL: `b2a $WANTS_OPENAL`" | tee -a $LOG
-echo -e " OPENSIM: `b2a $WANTS_OPENSIM`" | tee -a $LOG
+echo -e "configure_firestorm.sh" > "$LOG"
+echo -e " PLATFORM: $TARGET_PLATFORM" | tee -a "$LOG"
+echo -e " KDU: `b2a $WANTS_KDU`" | tee -a "$LOG"
+echo -e " FMODSTUDIO: `b2a $WANTS_FMODSTUDIO`" | tee -a "$LOG"
+echo -e " OPENAL: `b2a $WANTS_OPENAL`" | tee -a "$LOG"
+echo -e " OPENSIM: `b2a $WANTS_OPENSIM`" | tee -a "$LOG"
if [ $WANTS_SINGLEGRID -eq $TRUE ] ; then
- echo -e " SINGLEGRID: `b2a $WANTS_SINGLEGRID` ($SINGLEGRID_URI)" | tee -a $LOG
+ echo -e " SINGLEGRID: `b2a $WANTS_SINGLEGRID` ($SINGLEGRID_URI)" | tee -a "$LOG"
else
- echo -e " SINGLEGRID: `b2a $WANTS_SINGLEGRID`" | tee -a $LOG
+ echo -e " SINGLEGRID: `b2a $WANTS_SINGLEGRID`" | tee -a "$LOG"
fi
-echo -e " HAVOK: `b2a $WANTS_HAVOK`" | tee -a $LOG
-echo -e " AVX: `b2a $WANTS_AVX`" | tee -a $LOG
-echo -e " AVX2: `b2a $WANTS_AVX2`" | tee -a $LOG
-echo -e " TRACY: `b2a $WANTS_TRACY`" | tee -a $LOG
-echo -e " CRASHREPORTING: `b2a $WANTS_CRASHREPORTING`" | tee -a $LOG
+echo -e " HAVOK: `b2a $WANTS_HAVOK`" | tee -a "$LOG"
+echo -e " AVX: `b2a $WANTS_AVX`" | tee -a "$LOG"
+echo -e " AVX2: `b2a $WANTS_AVX2`" | tee -a "$LOG"
+echo -e " TRACY: `b2a $WANTS_TRACY`" | tee -a "$LOG"
+echo -e " CRASHREPORTING: `b2a $WANTS_CRASHREPORTING`" | tee -a "$LOG"
if [ $WANTS_TESTBUILD -eq $TRUE ] ; then
- echo -e " TESTBUILD: `b2a $WANTS_TESTBUILD` ($TESTBUILD_PERIOD days)" | tee -a $LOG
+ echo -e " TESTBUILD: `b2a $WANTS_TESTBUILD` ($TESTBUILD_PERIOD days)" | tee -a "$LOG"
else
- echo -e " TESTBUILD: `b2a $WANTS_TESTBUILD`" | tee -a $LOG
+ echo -e " TESTBUILD: `b2a $WANTS_TESTBUILD`" | tee -a "$LOG"
fi
-echo -e " PACKAGE: `b2a $WANTS_PACKAGE`" | tee -a $LOG
-echo -e " CLEAN: `b2a $WANTS_CLEAN`" | tee -a $LOG
-echo -e " BUILD: `b2a $WANTS_BUILD`" | tee -a $LOG
-echo -e " CONFIG: `b2a $WANTS_CONFIG`" | tee -a $LOG
-echo -e " NINJA: `b2a $WANTS_NINJA`" | tee -a $LOG
-echo -e " VSCODE: `b2a $WANTS_VSCODE`" | tee -a $LOG
-echo -e " COMPILER CACHE: `b2a $WANTS_CACHE`" | tee -a $LOG
-echo -e " PASSTHRU: $LL_ARGS_PASSTHRU" | tee -a $LOG
-echo -e " BTYPE: $BTYPE" | tee -a $LOG
+echo -e " PACKAGE: `b2a $WANTS_PACKAGE`" | tee -a "$LOG"
+echo -e " CLEAN: `b2a $WANTS_CLEAN`" | tee -a "$LOG"
+echo -e " BUILD: `b2a $WANTS_BUILD`" | tee -a "$LOG"
+echo -e " CONFIG: `b2a $WANTS_CONFIG`" | tee -a "$LOG"
+echo -e " NINJA: `b2a $WANTS_NINJA`" | tee -a "$LOG"
+echo -e " VSCODE: `b2a $WANTS_VSCODE`" | tee -a "$LOG"
+echo -e " COMPILER CACHE: `b2a $WANTS_CACHE`" | tee -a "$LOG"
+echo -e " PASSTHRU: $LL_ARGS_PASSTHRU" | tee -a "$LOG"
+echo -e " BTYPE: $BTYPE" | tee -a "$LOG"
if [ $TARGET_PLATFORM == "linux" -o $TARGET_PLATFORM == "darwin" ] ; then
- echo -e " JOBS: $JOBS" | tee -a $LOG
+ echo -e " JOBS: $JOBS" | tee -a "$LOG"
fi
echo -e " Logging to $LOG"
@@ -590,7 +590,7 @@ if [ $WANTS_CONFIG -eq $TRUE ] ; then
cmake -G "$TARGET" $CMAKE_ARCH ../indra $CHANNEL ${GITHASH} $FMODSTUDIO $OPENAL $KDU $OPENSIM $SINGLEGRID $HAVOK $AVX_OPTIMIZATION $AVX2_OPTIMIZATION $TRACY_PROFILER $TESTBUILD $PACKAGE \
$UNATTENDED -DLL_TESTS:BOOL=OFF -DADDRESS_SIZE:STRING=$AUTOBUILD_ADDRSIZE -DCMAKE_BUILD_TYPE:STRING=$BTYPE $CACHE_OPT \
- $CRASH_REPORTING -DVIEWER_SYMBOL_FILE:STRING="${VIEWER_SYMBOL_FILE:-}" $LL_ARGS_PASSTHRU ${VSCODE_FLAGS:-} | tee $LOG
+ $CRASH_REPORTING -DVIEWER_SYMBOL_FILE:STRING="${VIEWER_SYMBOL_FILE:-}" $LL_ARGS_PASSTHRU ${VSCODE_FLAGS:-} | tee "$LOG"
if [ $TARGET_PLATFORM == "windows" -a $USE_VSTOOL -eq $TRUE ] ; then
echo "Setting startup project via vstool"
@@ -610,16 +610,16 @@ if [ $WANTS_BUILD -eq $TRUE ] ; then
else
JOBS="-jobs $JOBS"
fi
- xcodebuild -configuration $BTYPE -project Firestorm.xcodeproj $JOBS 2>&1 | tee -a $LOG
+ xcodebuild -configuration $BTYPE -project Firestorm.xcodeproj $JOBS 2>&1 | tee -a "$LOG"
elif [ $TARGET_PLATFORM == "linux" ] ; then
if [ $JOBS == "0" ] ; then
JOBS=`cat /proc/cpuinfo | grep processor | wc -l`
echo $JOBS
fi
if [ $WANTS_NINJA -eq $TRUE ] ; then
- ninja -j $JOBS | tee -a $LOG
+ ninja -j $JOBS | tee -a "$LOG"
else
- make -j $JOBS | tee -a $LOG
+ make -j $JOBS | tee -a "$LOG"
fi
elif [ $TARGET_PLATFORM == "windows" ] ; then
msbuild.exe Firestorm.sln -p:Configuration=${BTYPE} -flp:LogFile="logs\\FirestormBuild_win-${AUTOBUILD_ADDRSIZE}.log" \