summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2024-08-19 20:36:17 +0800
committerErik Kundiman <erik@megapahit.org>2024-08-19 22:35:01 +0800
commitb7afbe59c42a3e6e92f712153172364f4ebaa5e2 (patch)
treeb10784783099c002ed1cc8fd694915ade40b6e67 /indra/newview
parent495f103000137b3288eaa05a4298fd33ceb3c2dc (diff)
parent135fcd19541f414c3278b25b02b7bd34fbc3065f (diff)
Merge branch 'webrtc-voice' into 2024.06-atlasaurus
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/CMakeLists.txt284
-rw-r--r--indra/newview/FixBundle.cmake.in5
-rw-r--r--indra/newview/FixPackage.cmake.in5
-rw-r--r--indra/newview/ViewerInstall.cmake58
-rw-r--r--indra/newview/app_settings/settings.xml4
-rw-r--r--indra/newview/fsfloatersearch.cpp2
-rw-r--r--indra/newview/llappviewer.cpp2
-rw-r--r--indra/newview/llavatarlist.cpp38
-rw-r--r--indra/newview/llavatarlist.h3
-rw-r--r--indra/newview/llavatarlistitem.cpp20
-rw-r--r--indra/newview/llavatarlistitem.h4
-rw-r--r--indra/newview/lllogininstance.cpp2
-rw-r--r--indra/newview/llvoiceclient.cpp2
-rw-r--r--indra/newview/skins/default/xui/en/floater_mp_performance.xml10
-rw-r--r--indra/newview/skins/default/xui/en/panel_avatar_list_item.xml11
-rw-r--r--indra/newview/skins/default/xui/en/panel_people.xml1
16 files changed, 296 insertions, 155 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index c3e46cc615..546e38b4d7 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -9,26 +9,24 @@ include(Linking)
include(Boost)
include(bugsplat)
-if (USE_AUTOBUILD_3P OR USE_CONAN)
+if (NOT USESYSTEMLIBS)
include(BuildPackagesInfo)
endif ()
include(BuildVersion)
include(CMakeCopyIfDifferent)
-if (USE_AUTOBUILD_3P OR USE_CONAN)
+if (NOT USESYSTEMLIBS)
include(CubemapToEquirectangularJS)
include(DBusGlib)
endif ()
include(DragDrop)
include(EXPAT)
include(Hunspell)
-if (USE_AUTOBUILD_3P OR USE_CONAN)
+if (NOT USESYSTEMLIBS)
include(JPEGEncoderBasic)
endif ()
include(LLAppearance)
include(LLAudio)
-if (USE_AUTOBUILD_3P OR USE_CONAN)
include(LLCA)
-endif ()
include(LLCommon)
include(LLCoreHttp)
include(LLImage)
@@ -50,7 +48,7 @@ endif ()
include(Tracy)
include(UI)
include(ViewerMiscLibs)
-if (USE_AUTOBUILD_3P OR USE_CONAN)
+if (NOT USESYSTEMLIBS)
include(ViewerManager)
endif ()
include(VisualLeakDetector)
@@ -58,15 +56,15 @@ include(VulkanGltf)
include(ZLIBNG)
include(URIPARSER)
include(LLPrimitive)
+
if (ENABLE_MEDIA_PLUGINS)
- include(LibVLCPlugin)
- if (DARWIN OR LINUX)
- include(CEFPlugin)
- endif (DARWIN OR LINUX)
+ include(LibVLCPlugin)
+ if (DARWIN OR LINUX)
+ include(CEFPlugin)
+ endif (DARWIN OR LINUX)
endif (ENABLE_MEDIA_PLUGINS)
-include(UnixInstall)
-if ((USE_AUTOBUILD_3P OR USE_CONAN) AND NOT HAVOK_TPV)
+if (NOT (USESYSTEMLIBS OR HAVOK_TPV))
# When using HAVOK_TPV, the library is precompiled, so no need for this
# Stub and probably havok lib itself is a hack, autobuild loads a 3p that really is a source tarball
@@ -87,7 +85,7 @@ if ((USE_AUTOBUILD_3P OR USE_CONAN) AND NOT HAVOK_TPV)
target_compile_options( llphysicsextensions PRIVATE -Wno-unused-local-typedef)
endif (DARWIN)
endif()
-endif ((USE_AUTOBUILD_3P OR USE_CONAN) AND NOT HAVOK_TPV)
+endif (NOT (USESYSTEMLIBS OR HAVOK_TPV))
set(viewer_SOURCE_FILES
gltfscenemanager.cpp
@@ -1416,21 +1414,18 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt"
"${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}\n")
set_source_files_properties(
- llversioninfo.cpp tests/llversioninfo_test.cpp
+ llversioninfo.cpp tests/llversioninfo_test.cpp
PROPERTIES
COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}" # see BuildVersion.cmake
)
if (DARWIN)
-# if (NOT USESYSTEMLIBS)
LIST(APPEND viewer_SOURCE_FILES llappviewermacosx.cpp)
LIST(APPEND viewer_SOURCE_FILES llappviewermacosx-objc.mm)
LIST(APPEND viewer_SOURCE_FILES llappviewermacosx-objc.h)
-# endif (NOT USESYSTEMLIBS)
LIST(APPEND viewer_SOURCE_FILES llfilepicker_mac.mm)
LIST(APPEND viewer_HEADER_FILES llfilepicker_mac.h)
-# if (NOT USESYSTEMLIBS)
# This should be compiled with the viewer.
LIST(APPEND viewer_SOURCE_FILES llappdelegate-objc.mm)
set_source_files_properties(
@@ -1445,7 +1440,6 @@ if (DARWIN)
# warnings.
COMPILE_FLAGS "-fmodules -fcxx-modules -Wno-nullability-completeness"
)
-# endif (NOT USESYSTEMLIBS)
# Add resource files to the project.
set(viewer_RESOURCE_FILES
@@ -1471,9 +1465,9 @@ if (USESYSTEMLIBS AND NOT DARWIN)
PROPERTIES
COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}"
)
- if (NOT (CMAKE_CXX_COMPILER_ID MATCHES "AppleClang"))
+ if (NOT CMAKE_CXX_COMPILER_ID MATCHES "AppleClang")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed")
- endif ()
+ endif ()
endif (USESYSTEMLIBS AND NOT DARWIN)
@@ -1622,7 +1616,7 @@ endif (WINDOWS)
file(GLOB_RECURSE viewer_XUI_FILES LIST_DIRECTORIES FALSE
${CMAKE_CURRENT_SOURCE_DIR}/skins/*.xml)
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/skins PREFIX "XUI Files" FILES ${viewer_XUI_FILES})
-set_source_files_properties(${viewer_XUI_FILES}
+set_source_files_properties(${viewer_XUI_FILES}
PROPERTIES HEADER_FILE_ONLY TRUE)
list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES})
@@ -1630,7 +1624,7 @@ list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES})
file(GLOB_RECURSE viewer_SHADER_FILES LIST_DIRECTORIES FALSE
${CMAKE_CURRENT_SOURCE_DIR}/app_settings/shaders/*.glsl)
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/app_settings/shaders PREFIX "Shaders" FILES ${viewer_SHADER_FILES})
-set_source_files_properties(${viewer_SHADER_FILES}
+set_source_files_properties(${viewer_SHADER_FILES}
PROPERTIES HEADER_FILE_ONLY TRUE)
list(APPEND viewer_SOURCE_FILES ${viewer_SHADER_FILES})
@@ -1662,8 +1656,8 @@ set(viewer_APPSETTINGS_FILES
featuretable_mac.txt
)
-if (NOT (USE_AUTOBUILD_3P OR USE_CONAN))
- list(REMOVE_ITEM viewer_APPSETTINGS_FILES packages-info.txt)
+if (USESYSTEMLIBS)
+ list(REMOVE_ITEM viewer_APPSETTINGS_FILES packages-info.txt)
endif ()
source_group("App Settings" FILES ${viewer_APPSETTINGS_FILES})
@@ -1915,7 +1909,7 @@ endif (WINDOWS)
# one of these being libz where you can find four or more versions in play
# at once. On Linux, libz can be found at link and run time via a number
# of paths:
-#
+#
# => -lfreetype
# => libz.so.1 (on install machine, not build)
# => -lSDL
@@ -1979,43 +1973,43 @@ set(ARTWORK_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH
"Path to artwork files.")
set_source_files_properties(llinventorygallery.cpp PROPERTIES COMPILE_FLAGS
- -Wno-unused-but-set-variable)
+ -Wno-unused-but-set-variable)
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
- set_source_files_properties(llappviewerlinux.cpp PROPERTIES
- COMPILE_FLAGS -Wno-dangling-gsl
- )
- set_source_files_properties(llviewerstats.cpp PROPERTIES
- COMPILE_FLAGS -Wno-unused-value)
+ set_source_files_properties(llappviewerlinux.cpp PROPERTIES
+ COMPILE_FLAGS -Wno-dangling-gsl
+ )
+ set_source_files_properties(llviewerstats.cpp PROPERTIES
+ COMPILE_FLAGS -Wno-unused-value)
elseif (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
- set_source_files_properties(
- llface.cpp
- llhttpretrypolicy.cpp
- llmodelpreview.cpp
- llpanelface.cpp
- lltexturefetch.cpp
- PROPERTIES COMPILE_FLAGS -Wno-maybe-uninitialized)
- set_source_files_properties(llfasttimerview.cpp PROPERTIES
- COMPILE_FLAGS -Wno-nonnull)
- set_source_files_properties(llinventorygallerymenu.cpp PROPERTIES
- COMPILE_FLAGS -Wno-uninitialized)
- set_source_files_properties(llviewerstats.cpp PROPERTIES
- COMPILE_FLAGS -Wno-unused-value)
- set_source_files_properties(llurl.cpp PROPERTIES COMPILE_FLAGS
- -Wno-stringop-truncation)
- set_source_files_properties(
- llfloaterimsessiontab.cpp
- llfloatersimplesnapshot.cpp
- llfloatersidepanelcontainer.cpp
- llinventorypanel.cpp
- llpanelmaininventory.cpp
- llpathfindingnavmesh.cpp
- llsidepanelinventory.cpp
- PROPERTIES COMPILE_FLAGS -Wno-dangling-reference
- )
- set_source_files_properties(
- gltf/animation.cpp
- gltf/primitive.cpp
- PROPERTIES COMPILE_FLAGS -Wno-unused-function)
+ set_source_files_properties(
+ llface.cpp
+ llhttpretrypolicy.cpp
+ llmodelpreview.cpp
+ llpanelface.cpp
+ lltexturefetch.cpp
+ PROPERTIES COMPILE_FLAGS -Wno-maybe-uninitialized)
+ set_source_files_properties(llfasttimerview.cpp PROPERTIES
+ COMPILE_FLAGS -Wno-nonnull)
+ set_source_files_properties(llinventorygallerymenu.cpp PROPERTIES
+ COMPILE_FLAGS -Wno-uninitialized)
+ set_source_files_properties(llviewerstats.cpp PROPERTIES
+ COMPILE_FLAGS -Wno-unused-value)
+ set_source_files_properties(llurl.cpp PROPERTIES COMPILE_FLAGS
+ -Wno-stringop-truncation)
+ set_source_files_properties(
+ llfloaterimsessiontab.cpp
+ llfloatersimplesnapshot.cpp
+ llfloatersidepanelcontainer.cpp
+ llinventorypanel.cpp
+ llpanelmaininventory.cpp
+ llpathfindingnavmesh.cpp
+ llsidepanelinventory.cpp
+ PROPERTIES COMPILE_FLAGS -Wno-dangling-reference
+ )
+ set_source_files_properties(
+ gltf/animation.cpp
+ gltf/primitive.cpp
+ PROPERTIES COMPILE_FLAGS -Wno-unused-function)
endif ()
message("Copying fonts")
@@ -2036,13 +2030,96 @@ foreach(elem ${country_codes})
set(emoji_mapping_src_file
"${emoji_mapping_src_folder}/${elem}/emoji_characters.xml")
set(emoji_mapping_dst_file
- "${emoji_mapping_dst_folder}/${elem}/emoji_characters.xml")
+ "${emoji_mapping_dst_folder}/${elem}/emoji_characters.xml")
configure_file(${emoji_mapping_src_file} ${emoji_mapping_dst_file} COPYONLY)
endforeach()
-if (NOT USESYSTEMLIBS)
+if (PACKAGE AND USESYSTEMLIBS)
+ set(CPACK_PACKAGE_NAME ${VIEWER_BINARY_NAME}
+ CACHE STRING "Viewer binary name.")
+ set(CPACK_PACKAGE_VERSION ${VIEWER_VERSION_MAJOR}.${VIEWER_VERSION_MINOR}.${VIEWER_VERSION_PATCH}.${VIEWER_VERSION_REVISION}
+ CACHE STRING "Viewer major.minor.patch.revision versions.")
+ set(VIEWER_PACKAGE_COMMENT
+ "A fork of the Second Life viewer"
+ )
+ set(VIEWER_PACKAGE_DESCRIPTION
+ "An entrance to virtual empires in only megabytes. A shelter for the metaverse refugees, especially those from less supported operating systems."
+ )
+ set(VIEWER_PACKAGE_DOMAIN_NAME
+ ${VIEWER_BINARY_NAME}.net
+ )
+endif (PACKAGE AND USESYSTEMLIBS)
if (LINUX)
+ if (USESYSTEMLIBS)
+ add_custom_command(
+ TARGET ${VIEWER_BINARY_NAME} POST_BUILD
+ COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
+ ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
+ ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
+ ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
+ ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
+ ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
+ ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/^ .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND sort
+ ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND paste
+ ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt
+ COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
+ ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt
+ )
+ if (PACKAGE)
+ if (${LINUX_DISTRO} MATCHES debian OR ${LINUX_DISTRO} MATCHES ubuntu)
+ set(CPACK_BINARY_DEB ON CACHE BOOL "Able to package Debian DEB.")
+ set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE
+ amd64
+ CACHE STRING "Debian package architecture.")
+ set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${VIEWER_PACKAGE_COMMENT}
+ CACHE STRING "Debian package description.")
+ set(CPACK_DEBIAN_PACKAGE_MAINTAINER
+ $ENV{USER}@${VIEWER_PACKAGE_DOMAIN_NAME}
+ CACHE STRING "Debian package maintainer.")
+ set(CPACK_DEBIAN_PACKAGE_SECTION net
+ CACHE STRING "Debian package section.")
+ if (${LINUX_DISTRO} MATCHES debian)
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS
+ "libalut0, libaprutil1, libboost-fiber1.81.0, libboost-filesystem1.81.0, libboost-program-options1.81.0, libboost-regex1.81.0, libboost-thread1.81.0, libcollada-dom2.5-dp0, libexpat1, libfltk1.3, libglu1-mesa, libhunspell-1.7-0, libmeshoptimizer2d (>= 0.18), libnghttp2-14, libsdl2-2.0-0, liburiparser1, libvlc5, libvorbisenc2, libvorbisfile3, libxmlrpc-epi0, vlc-plugin-base"
+ CACHE STRING "Debian package dependencies.")
+ elseif (${LINUX_DISTRO} MATCHES ubuntu)
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS
+ "libalut0, libaprutil1t64, libboost-fiber1.83.0, libboost-filesystem1.83.0, libboost-program-options1.83.0, libboost-regex1.83.0, libboost-thread1.83.0, libcollada-dom2.5-dp0, libexpat1, libfltk2.0-0t64, libglu1-mesa, libhunspell-1.7-0, libmeshoptimizer2d, libnghttp2-14, libsdl2-2.0-0, liburiparser1, libvlc5, libvorbisenc2, libvorbisfile3, libxmlrpc-epi0t64, vlc-plugin-base"
+ CACHE STRING "Debian package dependencies.")
+ endif (${LINUX_DISTRO} MATCHES debian)
+ elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed))
+ set(CPACK_BINARY_RPM ON CACHE BOOL "Able to package Fedora RPM.")
+ set(CPACK_RPM_PACKAGE_SUMMARY ${VIEWER_PACKAGE_COMMENT}
+ CACHE STRING "RPM package summary.")
+ set(CPACK_RPM_PACKAGE_ARCHITECTURE
+ ${CMAKE_SYSTEM_PROCESSOR}
+ CACHE STRING "RPM package architecture.")
+ set(CPACK_RPM_PACKAGE_LICENSE LGPL-2.1-only
+ CACHE STRING "RPM package license.")
+ set(CPACK_RPM_PACKAGE_VENDOR ${VIEWER_CHANNEL}
+ CACHE STRING "RPM package vendor.")
+ set(CPACK_RPM_PACKAGE_URL
+ https://${VIEWER_PACKAGE_DOMAIN_NAME}
+ CACHE STRING "RPM package URL.")
+ set(CPACK_RPM_PACKAGE_DESCRIPTION ${VIEWER_PACKAGE_DESCRIPTION}
+ CACHE STRING "RPM package description.")
+ if (${LINUX_DISTRO} MATCHES fedora)
+ set(CPACK_RPM_PACKAGE_REQUIRES
+ "apr-util, boost-fiber, boost-program-options, boost-regex, boost-thread, collada-dom, expat, fltk, mesa-libGLU, hunspell, libnghttp2, openjpeg2, SDL2, uriparser, vlc-libs, vlc-plugins-base, libvorbis, xmlrpc-epi"
+ CACHE STRING "RPM package requirements.")
+ elseif (${LINUX_DISTRO} MATCHES opensuse-tumbleweed)
+ endif (${LINUX_DISTRO} MATCHES fedora)
+ endif (${LINUX_DISTRO} MATCHES debian OR ${LINUX_DISTRO} MATCHES ubuntu)
+ endif (PACKAGE)
+ else (USESYSTEMLIBS)
set(product SecondLife-${ARCH}-${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION})
# These are the generated targets that are copied to package/
@@ -2115,10 +2192,51 @@ if (LINUX)
add_dependencies(llpackage copy_l_viewer_manifest)
check_message_template(llpackage)
endif (PACKAGE)
+ endif (USESYSTEMLIBS)
+elseif (USESYSTEMLIBS)
+ add_custom_command(
+ TARGET ${VIEWER_BINARY_NAME} POST_BUILD
+ COMMAND sed
+ ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND sed
+ ARGS -i '' -e '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND sed
+ ARGS -i '' -e '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND sed
+ ARGS -i '' -e '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND sed
+ ARGS -i '' -e '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND sed
+ ARGS -i '' -e '/^ .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND sort
+ ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
+ COMMAND paste
+ ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt
+ COMMAND sed
+ ARGS -i '' -e 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt
+ )
+ if (CMAKE_SYSTEM_NAME MATCHES FreeBSD AND PACKAGE)
+ set(CPACK_BINARY_FREEBSD ON CACHE BOOL "Able to package FreeBSD PKG.")
+ set(CPACK_FREEBSD_PACKAGE_COMMENT ${VIEWER_PACKAGE_COMMENT}
+ CACHE STRING "FreeBSD package comment.")
+ set(CPACK_FREEBSD_PACKAGE_DESCRIPTION ${VIEWER_PACKAGE_DESCRIPTION}
+ CACHE STRING "FreeBSD package description.")
+ set(CPACK_FREEBSD_PACKAGE_WWW
+ https://${VIEWER_PACKAGE_DOMAIN_NAME}
+ CACHE STRING "FreeBSD package WWW.")
+ set(CPACK_FREEBSD_PACKAGE_LICENSE LGPL21
+ CACHE STRING "FreeBSD package license.")
+ set(CPACK_FREEBSD_PACKAGE_MAINTAINER
+ $ENV{USER}@${VIEWER_PACKAGE_DOMAIN_NAME}
+ CACHE STRING "FreeBSD package maintainer.")
+ set(CPACK_FREEBSD_PACKAGE_ORIGIN net/${VIEWER_BINARY_NAME}
+ CACHE STRING "FreeBSD package origin.")
+ set(CPACK_FREEBSD_PACKAGE_DEPS
+ "audio/freealut;devel/collada-dom;graphics/libGLU;textproc/hunspell;misc/meshoptimizer;www/libnghttp2;graphics/openjpeg;net/uriparser;multimedia/vlc;audio/libvorbis;net/xmlrpc-epi"
+ CACHE STRING "FreeBSD package dependencies.")
+ endif (CMAKE_SYSTEM_NAME MATCHES FreeBSD AND PACKAGE)
endif (LINUX)
-endif (NOT USESYSTEMLIBS)
-
if (DARWIN)
# These all get set with PROPERTIES. It's not that the property names are
# magically known to CMake -- it's that these names are referenced in the
@@ -2132,13 +2250,13 @@ if (DARWIN)
set(MACOSX_BUNDLE_BUNDLE_NAME "Megapahit")
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}")
set(MACOSX_BUNDLE_BUNDLE_VERSION "${VIEWER_SHORT_VERSION}${VIEWER_MACOSX_PHASE}${VIEWER_REVISION}")
- set(MACOSX_BUNDLE_COPYRIGHT "Copyright © Megapahit. 2024")
+ set(MACOSX_BUNDLE_COPYRIGHT "Copyright © Megapahit 2024")
set(MACOSX_BUNDLE_NSMAIN_NIB_FILE "SecondLife.nib")
set(MACOSX_BUNDLE_NSPRINCIPAL_CLASS "LLApplication")
# https://blog.kitware.com/upcoming-in-cmake-2-8-12-osx-rpath-support/
set(CMAKE_MACOSX_RPATH 1)
-
+
set_target_properties(
${VIEWER_BINARY_NAME}
PROPERTIES
@@ -2150,6 +2268,7 @@ if (DARWIN)
LINK_FLAGS "-rpath @loader_path/../Frameworks"
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info-SecondLife.plist"
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "${MACOSX_BUNDLE_GUI_IDENTIFIER}"
+ MACOSX_BUNDLE TRUE
)
set(VIEWER_APP_BUNDLE "${CMAKE_CURRENT_BINARY_DIR}/$<IF:$<BOOL:${LL_GENERATOR_IS_MULTI_CONFIG}>,$<CONFIG>,>/${product}.app")
@@ -2160,9 +2279,19 @@ if (DARWIN)
"${VIEWER_APP_BUNDLE}/Contents/Info.plist"
)
- if (INSTALL)
- install(PROGRAMS ${VIEWER_APP_EXE} DESTINATION ../MacOS)
- else (INSTALL)
+ if (USESYSTEMLIBS)
+ configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/English.lproj/InfoPlist.strings
+ ${CMAKE_CURRENT_BINARY_DIR}/InfoPlist.strings
+ )
+ add_custom_command(
+ TARGET ${VIEWER_BINARY_NAME} POST_BUILD
+ COMMAND ${CMAKE_INSTALL_NAME_TOOL}
+ -change "/usr/local/lib/libxmlrpc-epi.0.dylib" "${AUTOBUILD_INSTALL_DIR}/lib/release/libxmlrpc-epi.0.dylib"
+ ${VIEWER_APP_EXE}
+ VERBATIM
+ )
+ else (USESYSTEMLIBS)
add_custom_command(
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
COMMAND ${PYTHON_EXECUTABLE}
@@ -2186,13 +2315,11 @@ if (DARWIN)
${VIEWER_BINARY_NAME}
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
)
- endif (INSTALL)
+ endif (USESYSTEMLIBS)
- if (ENABLE_MEDIA_PLUGINS)
+ if (ENABLE_MEDIA_PLUGINS)
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_libvlc media_plugin_cef)
- else (ENABLE_MEDIA_PLUGINS)
- add_dependencies(${VIEWER_BINARY_NAME} SLPlugin)
- endif (ENABLE_MEDIA_PLUGINS)
+ endif ()
if (ENABLE_SIGNING)
set(SIGNING_SETTING "--signature=${SIGNING_IDENTITY}")
@@ -2252,6 +2379,9 @@ endif (DARWIN)
if (INSTALL)
include(${CMAKE_CURRENT_SOURCE_DIR}/ViewerInstall.cmake)
endif (INSTALL)
+if (PACKAGE AND USESYSTEMLIBS)
+ include(CPack)
+endif (PACKAGE AND USESYSTEMLIBS)
if (PACKAGE AND (RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING) AND VIEWER_SYMBOL_FILE)
if (USE_BUGSPLAT)
@@ -2319,7 +2449,7 @@ if (LL_TESTS)
# llremoteparcelrequest.cpp
llviewerhelputil.cpp
llversioninfo.cpp
-# llvocache.cpp
+# llvocache.cpp
llworldmap.cpp
llworldmipmap.cpp
)
@@ -2328,7 +2458,7 @@ if (LL_TESTS)
llworldmap.cpp
llworldmipmap.cpp
PROPERTIES
- LL_TEST_ADDITIONAL_SOURCE_FILES
+ LL_TEST_ADDITIONAL_SOURCE_FILES
tests/llviewertexture_stub.cpp
#llviewertexturelist.cpp
)
@@ -2362,7 +2492,7 @@ if (LL_TESTS)
llworldmap.cpp
llworldmipmap.cpp
PROPERTIES
- LL_TEST_ADDITIONAL_SOURCE_FILES
+ LL_TEST_ADDITIONAL_SOURCE_FILES
tests/llviewertexture_stub.cpp
)
diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in
index 6d343680d9..b0d23c712c 100644
--- a/indra/newview/FixBundle.cmake.in
+++ b/indra/newview/FixBundle.cmake.in
@@ -32,11 +32,6 @@ file(CREATE_LINK
SYMBOLIC
)
file(CREATE_LINK
- "../../../../Frameworks/libmeshoptimizer.dylib"
- "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libmeshoptimizer.dylib"
- SYMBOLIC
- )
-file(CREATE_LINK
"../../../../Frameworks/libaprutil-1.0.dylib"
"${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libaprutil-1.0.dylib"
SYMBOLIC
diff --git a/indra/newview/FixPackage.cmake.in b/indra/newview/FixPackage.cmake.in
index 167519edd3..fc8cae1d19 100644
--- a/indra/newview/FixPackage.cmake.in
+++ b/indra/newview/FixPackage.cmake.in
@@ -32,11 +32,6 @@ file(CREATE_LINK
SYMBOLIC
)
file(CREATE_LINK
- "../../../../Frameworks/libmeshoptimizer.dylib"
- "${CMAKE_CACHEFILE_DIR}/_CPack_Packages/${CMAKE_SYSTEM_NAME}/Bundle/${CPACK_BUNDLE_NAME}-${CPACK_PACKAGE_VERSION}-${CMAKE_SYSTEM_NAME}/${CPACK_BUNDLE_NAME}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libmeshoptimizer.dylib"
- SYMBOLIC
- )
-file(CREATE_LINK
"../../../../Frameworks/libaprutil-1.0.dylib"
"${CMAKE_CACHEFILE_DIR}/_CPack_Packages/${CMAKE_SYSTEM_NAME}/Bundle/${CPACK_BUNDLE_NAME}-${CPACK_PACKAGE_VERSION}-${CMAKE_SYSTEM_NAME}/${CPACK_BUNDLE_NAME}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libaprutil-1.0.dylib"
SYMBOLIC
diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake
index b468f1af99..5c4c08dc9d 100644
--- a/indra/newview/ViewerInstall.cmake
+++ b/indra/newview/ViewerInstall.cmake
@@ -1,61 +1,7 @@
-if (LINUX)
- add_custom_command(
- OUTPUT contributors.txt
- COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
- ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
- ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
- ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
- ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
- ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
- ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/^ .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND sort
- ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND paste
- ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt
- COMMAND ${CMAKE_SYSROOT}/usr/bin/sed
- ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt
- )
-else (LINUX)
- add_custom_command(
- OUTPUT contributors.txt
- COMMAND sed
- ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND sed
- ARGS -i '' -e '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND sed
- ARGS -i '' -e '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND sed
- ARGS -i '' -e '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND sed
- ARGS -i '' -e '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND sed
- ARGS -i '' -e '/^ .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND sort
- ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt
- COMMAND paste
- ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt
- COMMAND sed
- ARGS -i '' -e 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt
- )
-endif (LINUX)
-
-add_custom_target(contributors ALL
- DEPENDS contributors.txt
- )
-
if (DARWIN)
- configure_file(
- ${CMAKE_CURRENT_SOURCE_DIR}/English.lproj/InfoPlist.strings
- ${VIEWER_APP_BUNDLE}/Contents/Resources/English.lproj/InfoPlist.strings
- )
-
install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/InfoPlist.strings
${CMAKE_CURRENT_SOURCE_DIR}/English.lproj/language.txt
DESTINATION English.lproj
)
@@ -184,7 +130,7 @@ if (LINUX)
install(FILES
${AUTOBUILD_INSTALL_DIR}/lib/release/libfmod.so
${AUTOBUILD_INSTALL_DIR}/lib/release/libfmod.so.13
- ${AUTOBUILD_INSTALL_DIR}/lib/release/libfmod.so.13.22
+ ${AUTOBUILD_INSTALL_DIR}/lib/release/libfmod.so.13.23
DESTINATION ${_LIB})
endif (USE_FMODSTUDIO)
install(PROGRAMS
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index cc4ac25a06..4d295eac53 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -13830,8 +13830,8 @@
OpenGL buffer mapping mode:
0:auto
1:normal
- 2:optimised
- 3:experimental.</string>
+ 2:MP optimised
+ 3:LL optimized.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
diff --git a/indra/newview/fsfloatersearch.cpp b/indra/newview/fsfloatersearch.cpp
index 3f79ee7f4b..7e0a873452 100644
--- a/indra/newview/fsfloatersearch.cpp
+++ b/indra/newview/fsfloatersearch.cpp
@@ -760,7 +760,7 @@ void FSFloaterSearch::onBtnTeleport()
{
if (!mParcelGlobal.isExactlyZero())
{
- gAgent.teleportViaLocation(mParcelGlobal);
+ gAgent.teleportViaLocationLookAt(mParcelGlobal);
LLFloaterWorldMap::getInstance()->trackLocation(mParcelGlobal);
/// <FS:CR> What should we do when when we teleport? The default (1) is to close the floater,
/// the user may elect to minimize the floater (2), or to do nothing (any other setting)
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index c93a3f6d0d..2459f49952 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -3309,7 +3309,7 @@ LLSD LLAppViewer::getViewerInfo() const
url = LLTrans::getString("RELEASE_NOTES_BASE_URL");
if (!LLStringUtil::endsWith(url, "/"))
url += "/";
- url += "#" + LLURI::escape(versionInfo.getVersion()); // + ".html";
+ url += LLURI::escape(versionInfo.getVersion()) + ".html";
}
info["VIEWER_RELEASE_NOTES_URL"] = url;
diff --git a/indra/newview/llavatarlist.cpp b/indra/newview/llavatarlist.cpp
index 8f858fe4e1..a7c718de82 100644
--- a/indra/newview/llavatarlist.cpp
+++ b/indra/newview/llavatarlist.cpp
@@ -36,6 +36,7 @@
#include "lltextutil.h"
// newview
+#include "llagent.h"
#include "llagentdata.h" // for comparator
#include "llavatariconctrl.h"
#include "llavatarnamecache.h"
@@ -47,6 +48,7 @@
#include "llvoiceclient.h"
#include "llviewercontrol.h" // for gSavedSettings
#include "lltooldraganddrop.h"
+#include "llworld.h"
static LLDefaultChildRegistry::Register<LLAvatarList> r("avatar_list");
@@ -119,6 +121,7 @@ static const LLFlatListView::ItemReverseComparator REVERSE_NAME_COMPARATOR(NAME_
LLAvatarList::Params::Params()
: ignore_online_status("ignore_online_status", false)
+, show_avatar_distance("show_avatar_distance", false)
, show_last_interaction_time("show_last_interaction_time", false)
, show_info_btn("show_info_btn", true)
, show_profile_btn("show_profile_btn", true)
@@ -131,6 +134,7 @@ LLAvatarList::LLAvatarList(const Params& p)
: LLFlatListViewEx(p)
, mIgnoreOnlineStatus(p.ignore_online_status)
, mShowLastInteractionTime(p.show_last_interaction_time)
+, mAvatarDistance(p.show_avatar_distance)
, mContextMenu(NULL)
, mDirty(true) // to force initial update
, mNeedUpdateNames(false)
@@ -147,7 +151,7 @@ LLAvatarList::LLAvatarList(const Params& p)
// Set default sort order.
setComparator(&NAME_COMPARATOR);
- if (mShowLastInteractionTime)
+ if (mShowLastInteractionTime || mAvatarDistance)
{
mLITUpdateTimer = new LLTimer();
mLITUpdateTimer->setTimerExpirySec(0); // zero to force initial update
@@ -196,9 +200,16 @@ void LLAvatarList::draw()
if (mDirty)
refresh();
- if (mShowLastInteractionTime && mLITUpdateTimer->hasExpired())
+ if ((mShowLastInteractionTime || mAvatarDistance) && mLITUpdateTimer->hasExpired())
{
+ if (mAvatarDistance)
+ {
+ updateAvatarDistance();
+ }
+ if (mShowLastInteractionTime)
+ {
updateLastInteractionTimes();
+ }
mLITUpdateTimer->setTimerExpirySec(LIT_UPDATE_PERIOD); // restart the timer
}
}
@@ -422,6 +433,7 @@ void LLAvatarList::addNewItem(const LLUUID& id, const std::string& name, bool is
// This sets the name as a side effect
item->setAvatarId(id, mSessionID, mIgnoreOnlineStatus);
item->setOnline(mIgnoreOnlineStatus ? true : is_online);
+ item->showAvatarDistance(mAvatarDistance);
item->showLastInteractionTime(mShowLastInteractionTime);
item->setAvatarIconVisible(mShowIcons);
@@ -528,6 +540,28 @@ void LLAvatarList::computeDifference(
LLCommonUtils::computeDifference(vnew_unsorted, vcur, vadded, vremoved);
}
+void LLAvatarList::updateAvatarDistance()
+{
+ std::vector<LLPanel*> items;
+ getItems(items);
+ auto uuids = getIDs();
+ std::vector<LLVector3d> positions;
+ auto me_pos = gAgent.getPositionGlobal();
+ LLWorld::getInstance()->getAvatars(&uuids, &positions, me_pos, gSavedSettings.getF32("MPVNearMeRange"));
+ std::map <LLUUID, LLVector3d> avatarsPositions;
+ auto pos_it = positions.begin();
+ auto id_it = uuids.begin();
+ for (;pos_it != positions.end() && id_it != uuids.end(); ++pos_it, ++id_it)
+ {
+ avatarsPositions[*id_it] = *pos_it;
+ }
+ for (auto it = items.begin(); it != items.end(); it++)
+ {
+ auto item = static_cast<LLAvatarListItem*>(*it);
+ item->setAvatarDistance(dist_vec(avatarsPositions[item->getAvatarId()], me_pos));
+ }
+}
+
// Refresh shown time of our last interaction with all listed avatars.
void LLAvatarList::updateLastInteractionTimes()
{
diff --git a/indra/newview/llavatarlist.h b/indra/newview/llavatarlist.h
index af5bfefcde..81486690c9 100644
--- a/indra/newview/llavatarlist.h
+++ b/indra/newview/llavatarlist.h
@@ -50,6 +50,7 @@ public:
struct Params : public LLInitParam::Block<Params, LLFlatListViewEx::Params>
{
Optional<bool> ignore_online_status, // show all items as online
+ show_avatar_distance,
show_last_interaction_time, // show most recent interaction time. *HACK: move this to a derived class
show_info_btn,
show_profile_btn,
@@ -110,6 +111,7 @@ protected:
const uuid_vec_t& vnew,
uuid_vec_t& vadded,
uuid_vec_t& vremoved);
+ void updateAvatarDistance();
void updateLastInteractionTimes();
void rebuildNames();
void onItemDoubleClicked(LLUICtrl* ctrl, S32 x, S32 y, MASK mask);
@@ -118,6 +120,7 @@ protected:
private:
bool mIgnoreOnlineStatus;
+ bool mAvatarDistance;
bool mShowLastInteractionTime;
bool mDirty;
bool mNeedUpdateNames;
diff --git a/indra/newview/llavatarlistitem.cpp b/indra/newview/llavatarlistitem.cpp
index 880910d18e..dd9365da57 100644
--- a/indra/newview/llavatarlistitem.cpp
+++ b/indra/newview/llavatarlistitem.cpp
@@ -65,6 +65,7 @@ LLAvatarListItem::LLAvatarListItem(bool not_from_ui_factory/* = true*/)
LLFriendObserver(),
mAvatarIcon(NULL),
mAvatarName(NULL),
+ mAvatarDistance(NULL),
mLastInteractionTime(NULL),
mIconPermissionOnline(NULL),
mIconPermissionMap(NULL),
@@ -107,6 +108,7 @@ bool LLAvatarListItem::postBuild()
{
mAvatarIcon = getChild<LLAvatarIconCtrl>("avatar_icon");
mAvatarName = getChild<LLTextBox>("avatar_name");
+ mAvatarDistance = getChild<LLTextBox>("avatar_distance");
mLastInteractionTime = getChild<LLTextBox>("last_interaction");
mIconPermissionOnline = getChild<LLIconCtrl>("permission_online_icon");
@@ -301,6 +303,17 @@ void LLAvatarListItem::setAvatarId(const LLUUID& id, const LLUUID& session_id, b
}
}
+void LLAvatarListItem::showAvatarDistance(bool show)
+{
+ mAvatarDistance->setVisible(show);
+ updateChildren();
+}
+
+void LLAvatarListItem::setAvatarDistance(F32 distance)
+{
+ mAvatarDistance->setValue(llformat("%.1f m", distance));
+}
+
void LLAvatarListItem::showLastInteractionTime(bool show)
{
mLastInteractionTime->setVisible(show);
@@ -538,6 +551,9 @@ void LLAvatarListItem::initChildrenWidths(LLAvatarListItem* avatar_item)
// last interaction time textbox width + padding
S32 last_interaction_time_width = avatar_item->mIconPermissionEditTheirs->getRect().mLeft - avatar_item->mLastInteractionTime->getRect().mLeft;
+ // avatar distance textbox width + padding
+ S32 avatar_distance_width = avatar_item->mAvatarDistance->getRect().mLeft - avatar_item->mAvatarName->getRect().mLeft;
+
// avatar icon width + padding
S32 icon_width = avatar_item->mAvatarName->getRect().mLeft - avatar_item->mAvatarIcon->getRect().mLeft;
@@ -546,6 +562,7 @@ void LLAvatarListItem::initChildrenWidths(LLAvatarListItem* avatar_item)
S32 index = ALIC_COUNT;
sChildrenWidths[--index] = icon_width;
sChildrenWidths[--index] = 0; // for avatar name we don't need its width, it will be calculated as "left available space"
+ sChildrenWidths[--index] = avatar_distance_width;
sChildrenWidths[--index] = last_interaction_time_width;
sChildrenWidths[--index] = permission_edit_theirs_width;
sChildrenWidths[--index] = permission_edit_mine_width;
@@ -666,6 +683,9 @@ LLView* LLAvatarListItem::getItemChildView(EAvatarListItemChildIndex child_view_
case ALIC_NAME:
child_view = mAvatarName;
break;
+ case ALIC_DISTANCE:
+ child_view = mAvatarDistance;
+ break;
case ALIC_INTERACTION_TIME:
child_view = mLastInteractionTime;
break;
diff --git a/indra/newview/llavatarlistitem.h b/indra/newview/llavatarlistitem.h
index 2e4c597d30..d49b131528 100644
--- a/indra/newview/llavatarlistitem.h
+++ b/indra/newview/llavatarlistitem.h
@@ -98,12 +98,14 @@ public:
void setHighlight(const std::string& highlight);
void setState(EItemState item_style);
void setAvatarId(const LLUUID& id, const LLUUID& session_id, bool ignore_status_changes = false, bool is_resident = true);
+ void setAvatarDistance(F32 distance);
void setLastInteractionTime(U32 secs_since);
//Show/hide profile/info btn, translating speaker indicator and avatar name coordinates accordingly
void setShowProfileBtn(bool show);
void setShowInfoBtn(bool show);
void showSpeakingIndicator(bool show);
void setShowPermissions(bool show) { mShowPermissions = show; };
+ void showAvatarDistance(bool show);
void showLastInteractionTime(bool show);
void setAvatarIconVisible(bool visible);
void setShowCompleteName(bool show) { mShowCompleteName = show;};
@@ -158,6 +160,7 @@ private:
ALIC_PERMISSION_EDIT_MINE,
ALIC_PERMISSION_EDIT_THEIRS,
ALIC_INTERACTION_TIME,
+ ALIC_DISTANCE,
ALIC_NAME,
ALIC_ICON,
ALIC_COUNT,
@@ -199,6 +202,7 @@ private:
LLView* getItemChildView(EAvatarListItemChildIndex child_index);
LLTextBox* mAvatarName;
+ LLTextBox* mAvatarDistance;
LLTextBox* mLastInteractionTime;
LLStyle::Params mAvatarNameStyle;
diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp
index a471daf24e..282a273be6 100644
--- a/indra/newview/lllogininstance.cpp
+++ b/indra/newview/lllogininstance.cpp
@@ -404,7 +404,7 @@ void LLLoginInstance::handleLoginFailure(const LLSD& event)
relnotes = LLTrans::getString("RELEASE_NOTES_BASE_URL");
if (!LLStringUtil::endsWith(relnotes, "/"))
relnotes += "/";
- relnotes += "#" + LLURI::escape(login_version); // + ".html";
+ relnotes += LLURI::escape(login_version) + ".html";
}
if (gViewerWindow)
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index e8d64cabf6..5fee254354 100644
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -289,7 +289,9 @@ void LLVoiceClient::setNonSpatialVoiceModule(const std::string &voice_server_typ
void LLVoiceClient::setHidden(bool hidden)
{
+#if !__FreeBSD__
LLWebRTCVoiceClient::getInstance()->setHidden(hidden);
+#endif
LLVivoxVoiceClient::getInstance()->setHidden(hidden);
}
diff --git a/indra/newview/skins/default/xui/en/floater_mp_performance.xml b/indra/newview/skins/default/xui/en/floater_mp_performance.xml
index 06dc4cabc6..d943a13f66 100644
--- a/indra/newview/skins/default/xui/en/floater_mp_performance.xml
+++ b/indra/newview/skins/default/xui/en/floater_mp_performance.xml
@@ -66,7 +66,7 @@
height="15"
left="2"
top="8">
- Buffer mapping
+ Optimisations:
(needs restart):
</text>
@@ -85,13 +85,13 @@
value="1" />
<combo_box.item
enabled="true"
- label="Optimized (Apple GPU)"
- name="Optimized"
+ label="Apple GPU (smoothie)"
+ name="Megapahit Optimisations"
value="2" />
<combo_box.item
enabled="true"
- label="Experimental"
- name="Experimental"
+ label="Apple GPU (LL)"
+ name="LL Optimisations"
value="3" />
</combo_box>
diff --git a/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml
index ca6e94397d..122b5ae508 100644
--- a/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml
+++ b/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml
@@ -66,6 +66,17 @@
value="(loading)"
width="180" />
<text
+ follows="left|right"
+ font="SansSerifSmall"
+ height="15"
+ layout="topleft"
+ left_pad="5"
+ name="avatar_distance"
+ top="6"
+ text_color="LtGray_50"
+ value="0m"
+ width="35" />
+ <text
follows="right"
font="SansSerifSmall"
height="15"
diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml
index c31e6c94ea..199609d57d 100644
--- a/indra/newview/skins/default/xui/en/panel_people.xml
+++ b/indra/newview/skins/default/xui/en/panel_people.xml
@@ -223,6 +223,7 @@ Learn about [https://community.secondlife.com/knowledgebase/joining-and-particip
keep_one_selected="false"
multi_select="true"
name="avatar_list"
+ show_avatar_distance="true"
right="-1"
top="2" />
</layout_panel>