diff --git a/.gitignore b/.gitignore index a299c3d6c..dc5b9dab7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,10 +3,12 @@ *.aps *.suo *.vshost.exe +*/.vs /bin/ /bin-release/ /bin /bin-release +/indra/out/ /indra/viewer-* /indra/newview/vivox-runtime/ /indra/newview/dbghelp.dll diff --git a/autobuild.xml b/autobuild.xml index c3841bd8b..31d81cd87 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -47,40 +47,6 @@ version 1.2.15 - abseil-cpp - - canonical_repo - https://bitbucket.org/alchemyviewer/3p-abseil-src - copyright - Copyright 2018 The Abseil Authors. - description - Abseil Common Libraries - license - Apache 2.0 - license_file - LICENSES/abseil-cpp.txt - name - abseil-cpp - platforms - - common - - archive - - hash - b82d5aa8380926240f3415279480c831 - hash_algorithm - md5 - url - https://pkg.alchemyviewer.org/repository/autobuild-external/abseil-cpp/common/abseil_cpp-ac78ffc.1-common-1.tar.bz2 - - name - common - - - version - ac78ffc.1 - apr_suite copyright diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index ab77f9e96..6b5c80cf0 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -19,6 +19,7 @@ set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") include(Variables) include(00-Common) include(BuildVersion) +include(CTest) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -28,9 +29,8 @@ if (NOT CMAKE_BUILD_TYPE) "Build type. One of: Debug Release RelWithDebInfo" FORCE) endif (NOT CMAKE_BUILD_TYPE) -include(Abseil-CPP) -# Dependencies -add_subdirectory(${ABSEIL_SRC_DIR} ${ABSEIL_BIN_DIR}) +add_subdirectory(deps) + add_subdirectory(cmake) add_subdirectory(${LIBS_OPEN_PREFIX}aistatemachine) add_subdirectory(${LIBS_OPEN_PREFIX}llaudio) diff --git a/indra/cmake/Abseil-CPP.cmake b/indra/cmake/Abseil-CPP.cmake deleted file mode 100644 index c7bb0f763..000000000 --- a/indra/cmake/Abseil-CPP.cmake +++ /dev/null @@ -1,8 +0,0 @@ -# -*- cmake -*- -include(Prebuilt) - -set(BUILD_TESTING OFF) -use_prebuilt_binary(abseil-cpp) -set(ABSEIL_SRC_DIR ${LIBS_PREBUILT_DIR}/abseil-cpp) -set(ABSEIL_BIN_DIR ${CMAKE_BINARY_DIR}/abseil-cpp) - diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 04ae8dc00..0431ff6bb 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -8,7 +8,6 @@ set(cmake_SOURCE_FILES CMakeLists.txt 00-Common.cmake - Abseil-CPP.cmake AIStateMachine.cmake APR.cmake Audio.cmake @@ -43,6 +42,7 @@ set(cmake_SOURCE_FILES FindXmlRpcEpi.cmake FMODSTUDIO.cmake FreeType.cmake + GeneratePrecompiledHeader.cmake GLOD.cmake GStreamer010Plugin.cmake Glui.cmake diff --git a/indra/cmake/GeneratePrecompiledHeader.cmake b/indra/cmake/GeneratePrecompiledHeader.cmake new file mode 100644 index 000000000..9ff2062ed --- /dev/null +++ b/indra/cmake/GeneratePrecompiledHeader.cmake @@ -0,0 +1,116 @@ +# -*- cmake -*- + +# Distributed under the MIT Software License +# Copyright (c) 2015-2017 Borislav Stanimirov +# Modifications Copyright (c) 2019 Cinder Roxley. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +# target_precompiled_header +# +# Sets a precompiled header for a given target +# Args: +# TARGET_NAME - Name of the target. Only valid after add_library or add_executable +# PRECOMPILED_HEADER - Header file to precompile +# PRECOMPILED_SOURCE - MSVC specific source to do the actual precompilation. Ignored on other platforms +# + +macro(target_precompiled_header TARGET_NAME PRECOMPILED_HEADER PRECOMPILED_SOURCE) + get_filename_component(PRECOMPILED_HEADER_NAME ${PRECOMPILED_HEADER} NAME) + + if(MSVC) + get_filename_component(PRECOMPILED_SOURCE_NAME ${PRECOMPILED_SOURCE} NAME) + get_filename_component(PRECOMPILED_HEADER_PATH ${PRECOMPILED_HEADER} DIRECTORY) + target_include_directories(${TARGET_NAME} PRIVATE ${PRECOMPILED_HEADER_PATH}) # fixes occasional IntelliSense glitches + + get_filename_component(PRECOMPILED_HEADER_WE ${PRECOMPILED_HEADER} NAME_WE) + if(GEN_IS_MULTI_CONFIG) + set(PRECOMPILED_BINARY "$(IntDir)/${PRECOMPILED_HEADER_WE}.pch") + else() + set(PRECOMPILED_BINARY "${CMAKE_CURRENT_BINARY_DIR}/${PRECOMPILED_HEADER_WE}.pch") + endif() + + set_source_files_properties(${PRECOMPILED_SOURCE} PROPERTIES + COMPILE_OPTIONS "/Yc${PRECOMPILED_HEADER_NAME};/Fp${PRECOMPILED_BINARY}" + OBJECT_OUTPUTS "${PRECOMPILED_BINARY}") + + get_target_property(TARGET_SOURCES ${TARGET_NAME} SOURCES) + foreach(src ${TARGET_SOURCES}) + if(${src} MATCHES \\.\(cpp|cxx|cc\)$) + set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/${src}" PROPERTIES + COMPILE_OPTIONS "/Yu${PRECOMPILED_HEADER_NAME};/FI${PRECOMPILED_HEADER_NAME};/Fp${PRECOMPILED_BINARY}" + OBJECT_DEPENDS "${PRECOMPILED_BINARY}" + ) + endif() + endforeach() + #set_target_properties(${TARGET_NAME} PROPERTIES + # COMPILE_OPTIONS "/Yu${PRECOMPILED_HEADER_NAME};/FI${PRECOMPILED_HEADER_NAME};/Fp${PRECOMPILED_BINARY}") + + target_sources(${TARGET_NAME} PRIVATE ${PRECOMPILED_SOURCE} ${PRECOMPILED_HEADER}) + elseif(CMAKE_GENERATOR STREQUAL Xcode) + set_target_properties( + ${TARGET_NAME} + PROPERTIES + XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${PRECOMPILED_HEADER}" + XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER "YES" + ) + elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + # Create and set output directory. + set(OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${PRECOMPILED_HEADER_NAME}.gch") + make_directory(${OUTPUT_DIR}) + set(OUTPUT_NAME "${OUTPUT_DIR}/${PRECOMPILED_HEADER_NAME}.gch") + + # Export compiler flags via a generator to a response file + set(PCH_FLAGS_FILE "${OUTPUT_DIR}/${PRECOMPILED_HEADER_NAME}.rsp") + set(_include_directories "$") + set(_compile_definitions "$") + set(_compile_flags "$") + set(_compile_options "$") + set(_include_directories "$<$:-I$\n>") + set(_compile_definitions "$<$:-D$\n>") + set(_compile_flags "$<$:$\n>") + set(_compile_options "$<$:$\n>") + file(GENERATE OUTPUT "${PCH_FLAGS_FILE}" CONTENT "${_compile_definitions}${_include_directories}${_compile_flags}${_compile_options}\n") + + # Gather global compiler options, definitions, etc. + string(TOUPPER "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}" CXX_FLAGS) + set(COMPILER_FLAGS "${${CXX_FLAGS}} ${CMAKE_CXX_FLAGS}") + separate_arguments(COMPILER_FLAGS) + + # Add a custom target for building the precompiled header. + add_custom_command( + OUTPUT ${OUTPUT_NAME} + COMMAND ${CMAKE_CXX_COMPILER} @${PCH_FLAGS_FILE} ${COMPILER_FLAGS} -x c++-header -std=${CXX_STD} -o ${OUTPUT_NAME} ${PRECOMPILED_HEADER} + DEPENDS ${PRECOMPILED_HEADER}) + add_custom_target(${TARGET_NAME}_gch DEPENDS ${OUTPUT_NAME}) + add_dependencies(${TARGET_NAME} ${TARGET_NAME}_gch) + + # set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_FLAGS "-include ${PRECOMPILED_HEADER_NAME} -Winvalid-pch") + get_target_property(SOURCE_FILES ${TARGET_NAME} SOURCES) + get_target_property(asdf ${TARGET_NAME} COMPILE_FLAGS) + foreach(SOURCE_FILE ${SOURCE_FILES}) + if(SOURCE_FILE MATCHES \\.\(c|cc|cxx|cpp\)$) + set_source_files_properties(${SOURCE_FILE} PROPERTIES + COMPILE_FLAGS "-include ${OUTPUT_DIR}/${PRECOMPILED_HEADER_NAME} -Winvalid-pch" + ) + endif() + endforeach() + else() + message(FATAL_ERROR "Unknown generator for target_precompiled_header. [${CMAKE_CXX_COMPILER_ID}]") + endif() +endmacro(target_precompiled_header) + diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index 43ec796dd..2a8bf40dd 100644 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -27,15 +27,15 @@ endif (WINDOWS) # windows) and CMAKE_BUILD_TYPE on Makefile based generators (like linux). The reason for this is # that CMAKE_BUILD_TYPE is essentially meaningless at configuration time for IDE generators and # CMAKE_CFG_INTDIR is meaningless at build time for Makefile generators -if(WINDOWS OR DARWIN) +if(GEN_IS_MULTI_CONFIG) # the cmake xcode and VS generators implicitly append ${CMAKE_CFG_INTDIR} to the library paths for us # fortunately both windows and darwin are case insensitive filesystems so this works. set(AUTOBUILD_LIBS_INSTALL_DIRS "${AUTOBUILD_INSTALL_DIR}/lib/") -else(WINDOWS OR DARWIN) +else() # else block is for linux and any other makefile based generators string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER) set(AUTOBUILD_LIBS_INSTALL_DIRS ${AUTOBUILD_INSTALL_DIR}/lib/${CMAKE_BUILD_TYPE_LOWER}) -endif(WINDOWS OR DARWIN) +endif() if (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Release") # When we're building something other than Release, append the diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 119c4815b..189efe536 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -19,12 +19,17 @@ endif(NOT DEFINED COMMON_CMAKE_DIR) set_property(GLOBAL PROPERTY USE_FOLDERS ON) +get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +option(GEN_IS_MULTI_CONFIG "" ${_isMultiConfig}) +mark_as_advanced(GEN_IS_MULTI_CONFIG) + set(LIBS_CLOSED_PREFIX) set(LIBS_OPEN_PREFIX) set(SCRIPTS_PREFIX ../scripts) set(VIEWER_PREFIX) set(INTEGRATION_TESTS_PREFIX) option(LL_TESTS "Build and run unit and integration tests (disable for build timing runs to reduce variation" OFF) +option(BUILD_TESTING "Build test suite" OFF) option(INCREMENTAL_LINK "Use incremental linking on win32 builds (enable for faster links on some machines)" OFF) option(USE_PRECOMPILED_HEADERS "Enable use of precompiled header directives where supported." ON) @@ -94,34 +99,32 @@ elseif (ADDRESS_SIZE EQUAL 64) #message(STATUS "ADDRESS_SIZE is 64") set(ARCH x86_64) else (ADDRESS_SIZE EQUAL 32) - #message(STATUS "ADDRESS_SIZE is UNRECOGNIZED: '${ADDRESS_SIZE}'") - # Use Python's platform.machine() since uname -m isn't available everywhere. - # Even if you can assume cygwin uname -m, the answer depends on whether - # you're running 32-bit cygwin or 64-bit cygwin! But even 32-bit Python will - # report a 64-bit processor. - execute_process(COMMAND - "${Python2_EXECUTABLE}" "-c" - "import platform; print platform.machine()" - OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) - # We expect values of the form i386, i686, x86_64, AMD64. - # In CMake, expressing ARCH.endswith('64') is awkward: - string(LENGTH "${ARCH}" ARCH_LENGTH) - math(EXPR ARCH_LEN_2 "${ARCH_LENGTH} - 2") - string(SUBSTRING "${ARCH}" ${ARCH_LEN_2} 2 ARCH_LAST_2) - if (ARCH_LAST_2 STREQUAL 64) - #message(STATUS "ARCH is detected as 64; ARCH is ${ARCH}") - set(ADDRESS_SIZE 64) - else() - #message(STATUS "ARCH is detected as 32; ARCH is ${ARCH}") - set(ADDRESS_SIZE 32) - endif () + #message(STATUS "ADDRESS_SIZE is UNDEFINED") + if (CMAKE_SIZEOF_VOID_P EQUAL 8) + message(STATUS "Size of void pointer is detected as 8; ARCH is 64-bit") + set(ARCH x86_64) + set(ADDRESS_SIZE 64) + elseif (CMAKE_SIZEOF_VOID_P EQUAL 4) + message(STATUS "Size of void pointer is detected as 4; ARCH is 32-bit") + set(ADDRESS_SIZE 32) + set(ARCH i686) + else() + message(FATAL_ERROR "Unkown Architecture!") + endif() endif (ADDRESS_SIZE EQUAL 32) -if (${CMAKE_SYSTEM_NAME} MATCHES "Windows") +if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") set(WINDOWS ON BOOL FORCE) + if (ADDRESS_SIZE EQUAL 64) + set(LL_ARCH ${ARCH}_win64) + set(LL_ARCH_DIR ${ARCH}-win64) + elseif (ADDRESS_SIZE EQUAL 32) set(LL_ARCH ${ARCH}_win32) set(LL_ARCH_DIR ${ARCH}-win32) -endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") + else() + message(FATAL_ERROR "Unkown Architecture!") + endif () +endif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(LINUX ON BOOL FORCE) diff --git a/indra/deps/CMakeLists.txt b/indra/deps/CMakeLists.txt new file mode 100644 index 000000000..3525203d6 --- /dev/null +++ b/indra/deps/CMakeLists.txt @@ -0,0 +1,44 @@ +project(deps) + +include(FetchContent) + +set(CMAKE_FOLDER "Third Party") + +FetchContent_Declare( + Catch2 + GIT_REPOSITORY https://github.com/catchorg/Catch2.git + GIT_TAG v2.10.0 + ) +FetchContent_Declare( + fmt + GIT_REPOSITORY https://github.com/fmtlib/fmt.git + GIT_TAG 7512a55aa3ae309587ca89668ef9ec4074a51a1f + ) +FetchContent_Declare( + absl + GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git + GIT_TAG ab3552a18964e7063c8324f45b3896a6a20b08a8 +) + +# This is a hack because absl has dumb cmake +set(OLD_BUILD_TEST ${BUILD_TESTING}) +set(BUILD_TESTING OFF) +FetchContent_MakeAvailable(absl) +set(BUILD_TESTING ${OLD_BUILD_TEST}) + +# Supress warnings inside abseil under MSVC +if(WINDOWS) + target_compile_options(absl_strings PRIVATE /wd4018) + target_compile_options(absl_str_format_internal PRIVATE /wd4018) + target_compile_options(absl_flags_usage_internal PRIVATE /wd4018) +endif() + + +if (BUILD_TESTING) + FetchContent_MakeAvailable(Catch2) +endif() + +#Download the rest of the libraries +#FetchContent_MakeAvailable(fmt) + +set(CMAKE_FOLDER "") diff --git a/indra/llappearance/llavatarappearance.cpp b/indra/llappearance/llavatarappearance.cpp index dc12493b8..6de031c91 100644 --- a/indra/llappearance/llavatarappearance.cpp +++ b/indra/llappearance/llavatarappearance.cpp @@ -1565,6 +1565,21 @@ BOOL LLAvatarAppearance::teToColorParams( ETextureIndex te, U32 *param_name ) param_name[1] = 1072; //"tattoo_green"; param_name[2] = 1073; //"tattoo_blue"; break; + case TEX_HEAD_UNIVERSAL_TATTOO: + case TEX_UPPER_UNIVERSAL_TATTOO: + case TEX_LOWER_UNIVERSAL_TATTOO: + case TEX_SKIRT_TATTOO: + case TEX_HAIR_TATTOO: + case TEX_EYES_TATTOO: + case TEX_LEFT_ARM_TATTOO: + case TEX_LEFT_LEG_TATTOO: + case TEX_AUX1_TATTOO: + case TEX_AUX2_TATTOO: + case TEX_AUX3_TATTOO: + param_name[0] = 1238; //"tattoo_universal_red"; + param_name[1] = 1239; //"tattoo_universal_green"; + param_name[2] = 1240; //"tattoo_universal_blue"; + break; default: llassert(0); diff --git a/indra/llappearance/llavatarappearancedefines.cpp b/indra/llappearance/llavatarappearancedefines.cpp index 4d1ad10e2..5f3c7cdaa 100644 --- a/indra/llappearance/llavatarappearancedefines.cpp +++ b/indra/llappearance/llavatarappearancedefines.cpp @@ -27,8 +27,11 @@ #include "linden_common.h" #include "llavatarappearancedefines.h" -const S32 LLAvatarAppearanceDefines::SCRATCH_TEX_WIDTH = 512; -const S32 LLAvatarAppearanceDefines::SCRATCH_TEX_HEIGHT = 512; +#include "indra_constants.h" +#include + +const S32 LLAvatarAppearanceDefines::SCRATCH_TEX_WIDTH = 1024; +const S32 LLAvatarAppearanceDefines::SCRATCH_TEX_HEIGHT = 1024; const S32 LLAvatarAppearanceDefines::IMPOSTOR_PERIOD = 2; using namespace LLAvatarAppearanceDefines; @@ -65,12 +68,30 @@ LLAvatarAppearanceDictionary::Textures::Textures() addEntry(TEX_UPPER_TATTOO, new TextureEntry("upper_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO)); addEntry(TEX_LOWER_TATTOO, new TextureEntry("lower_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO)); + addEntry(TEX_HEAD_UNIVERSAL_TATTOO, new TextureEntry("head_universal_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_UNIVERSAL)); + addEntry(TEX_UPPER_UNIVERSAL_TATTOO, new TextureEntry("upper_universal_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_UNIVERSAL)); + addEntry(TEX_LOWER_UNIVERSAL_TATTOO, new TextureEntry("lower_universal_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_UNIVERSAL)); + addEntry(TEX_SKIRT_TATTOO, new TextureEntry("skirt_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_UNIVERSAL)); + addEntry(TEX_HAIR_TATTOO, new TextureEntry("hair_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_UNIVERSAL)); + addEntry(TEX_EYES_TATTOO, new TextureEntry("eyes_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_UNIVERSAL)); + addEntry(TEX_LEFT_ARM_TATTOO, new TextureEntry("leftarm_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_UNIVERSAL)); + addEntry(TEX_LEFT_LEG_TATTOO, new TextureEntry("leftleg_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_UNIVERSAL)); + addEntry(TEX_AUX1_TATTOO, new TextureEntry("aux1_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_UNIVERSAL)); + addEntry(TEX_AUX2_TATTOO, new TextureEntry("aux2_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_UNIVERSAL)); + addEntry(TEX_AUX3_TATTOO, new TextureEntry("aux3_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_UNIVERSAL)); + + addEntry(TEX_HEAD_BAKED, new TextureEntry("head-baked", FALSE, BAKED_HEAD, "head")); addEntry(TEX_UPPER_BAKED, new TextureEntry("upper-baked", FALSE, BAKED_UPPER, "upper")); addEntry(TEX_LOWER_BAKED, new TextureEntry("lower-baked", FALSE, BAKED_LOWER, "lower")); addEntry(TEX_EYES_BAKED, new TextureEntry("eyes-baked", FALSE, BAKED_EYES, "eyes")); addEntry(TEX_HAIR_BAKED, new TextureEntry("hair-baked", FALSE, BAKED_HAIR, "hair")); addEntry(TEX_SKIRT_BAKED, new TextureEntry("skirt-baked", FALSE, BAKED_SKIRT, "skirt")); + addEntry(TEX_LEFT_ARM_BAKED, new TextureEntry("leftarm-baked", FALSE, BAKED_LEFT_ARM, "leftarm")); + addEntry(TEX_LEFT_LEG_BAKED, new TextureEntry("leftleg-baked", FALSE, BAKED_LEFT_LEG, "leftleg")); + addEntry(TEX_AUX1_BAKED, new TextureEntry("aux1-baked", FALSE, BAKED_AUX1, "aux1")); + addEntry(TEX_AUX2_BAKED, new TextureEntry("aux2-baked", FALSE, BAKED_AUX2, "aux2")); + addEntry(TEX_AUX3_BAKED, new TextureEntry("aux3-baked", FALSE, BAKED_AUX3, "aux3")); } LLAvatarAppearanceDictionary::BakedTextures::BakedTextures() @@ -78,35 +99,60 @@ LLAvatarAppearanceDictionary::BakedTextures::BakedTextures() // Baked textures addEntry(BAKED_HEAD, new BakedEntry(TEX_HEAD_BAKED, "head", "a4b9dc38-e13b-4df9-b284-751efb0566ff", - 3, TEX_HEAD_BODYPAINT, TEX_HEAD_TATTOO, TEX_HEAD_ALPHA, - 5, LLWearableType::WT_SHAPE, LLWearableType::WT_SKIN, LLWearableType::WT_HAIR, LLWearableType::WT_TATTOO, LLWearableType::WT_ALPHA)); + 4, TEX_HEAD_BODYPAINT, TEX_HEAD_TATTOO, TEX_HEAD_ALPHA, TEX_HEAD_UNIVERSAL_TATTOO, + 6, LLWearableType::WT_SHAPE, LLWearableType::WT_SKIN, LLWearableType::WT_HAIR, LLWearableType::WT_TATTOO, LLWearableType::WT_ALPHA, LLWearableType::WT_UNIVERSAL)); addEntry(BAKED_UPPER, new BakedEntry(TEX_UPPER_BAKED, "upper_body", "5943ff64-d26c-4a90-a8c0-d61f56bd98d4", - 7, TEX_UPPER_SHIRT,TEX_UPPER_BODYPAINT, TEX_UPPER_JACKET, - TEX_UPPER_GLOVES, TEX_UPPER_UNDERSHIRT, TEX_UPPER_TATTOO, TEX_UPPER_ALPHA, - 8, LLWearableType::WT_SHAPE, LLWearableType::WT_SKIN, LLWearableType::WT_SHIRT, LLWearableType::WT_JACKET, LLWearableType::WT_GLOVES, LLWearableType::WT_UNDERSHIRT, LLWearableType::WT_TATTOO, LLWearableType::WT_ALPHA)); + 8, TEX_UPPER_SHIRT,TEX_UPPER_BODYPAINT, TEX_UPPER_JACKET, + TEX_UPPER_GLOVES, TEX_UPPER_UNDERSHIRT, TEX_UPPER_TATTOO, TEX_UPPER_ALPHA, TEX_UPPER_UNIVERSAL_TATTOO, + 9, LLWearableType::WT_SHAPE, LLWearableType::WT_SKIN, LLWearableType::WT_SHIRT, LLWearableType::WT_JACKET, LLWearableType::WT_GLOVES, LLWearableType::WT_UNDERSHIRT, LLWearableType::WT_TATTOO, LLWearableType::WT_ALPHA, LLWearableType::WT_UNIVERSAL)); addEntry(BAKED_LOWER, new BakedEntry(TEX_LOWER_BAKED, "lower_body", "2944ee70-90a7-425d-a5fb-d749c782ed7d", - 8, TEX_LOWER_PANTS,TEX_LOWER_BODYPAINT,TEX_LOWER_SHOES, TEX_LOWER_SOCKS, - TEX_LOWER_JACKET, TEX_LOWER_UNDERPANTS, TEX_LOWER_TATTOO, TEX_LOWER_ALPHA, - 9, LLWearableType::WT_SHAPE, LLWearableType::WT_SKIN, LLWearableType::WT_PANTS, LLWearableType::WT_SHOES, LLWearableType::WT_SOCKS, LLWearableType::WT_JACKET, LLWearableType::WT_UNDERPANTS, LLWearableType::WT_TATTOO, LLWearableType::WT_ALPHA)); + 9, TEX_LOWER_PANTS,TEX_LOWER_BODYPAINT,TEX_LOWER_SHOES, TEX_LOWER_SOCKS, + TEX_LOWER_JACKET, TEX_LOWER_UNDERPANTS, TEX_LOWER_TATTOO, TEX_LOWER_ALPHA, TEX_LOWER_UNIVERSAL_TATTOO, + 10, LLWearableType::WT_SHAPE, LLWearableType::WT_SKIN, LLWearableType::WT_PANTS, LLWearableType::WT_SHOES, LLWearableType::WT_SOCKS, LLWearableType::WT_JACKET, LLWearableType::WT_UNDERPANTS, LLWearableType::WT_TATTOO, LLWearableType::WT_ALPHA, LLWearableType::WT_UNIVERSAL)); addEntry(BAKED_EYES, new BakedEntry(TEX_EYES_BAKED, "eyes", "27b1bc0f-979f-4b13-95fe-b981c2ba9788", - 2, TEX_EYES_IRIS, TEX_EYES_ALPHA, - 2, LLWearableType::WT_EYES, LLWearableType::WT_ALPHA)); + 3, TEX_EYES_IRIS, TEX_EYES_TATTOO, TEX_EYES_ALPHA, + 3, LLWearableType::WT_EYES, LLWearableType::WT_UNIVERSAL, LLWearableType::WT_ALPHA)); addEntry(BAKED_SKIRT, new BakedEntry(TEX_SKIRT_BAKED, "skirt", "03e7e8cb-1368-483b-b6f3-74850838ba63", - 1, TEX_SKIRT, - 1, LLWearableType::WT_SKIRT)); + 2, TEX_SKIRT, TEX_SKIRT_TATTOO, + 2, LLWearableType::WT_SKIRT, LLWearableType::WT_UNIVERSAL )); addEntry(BAKED_HAIR, new BakedEntry(TEX_HAIR_BAKED, "hair", "a60e85a9-74e8-48d8-8a2d-8129f28d9b61", - 2, TEX_HAIR, TEX_HAIR_ALPHA, - 2, LLWearableType::WT_HAIR, LLWearableType::WT_ALPHA)); + 3, TEX_HAIR, TEX_HAIR_TATTOO, TEX_HAIR_ALPHA, + 3, LLWearableType::WT_HAIR, LLWearableType::WT_UNIVERSAL, LLWearableType::WT_ALPHA)); + + addEntry(BAKED_LEFT_ARM, new BakedEntry(TEX_LEFT_ARM_BAKED, + "leftarm", "9f39febf-22d7-0087-79d1-e9e8c6c9ed19", + 1, TEX_LEFT_ARM_TATTOO, + 1, LLWearableType::WT_UNIVERSAL)); + + addEntry(BAKED_LEFT_LEG, new BakedEntry(TEX_LEFT_LEG_BAKED, + "leftleg", "054a7a58-8ed5-6386-0add-3b636fb28b78", + 1, TEX_LEFT_LEG_TATTOO, + 1, LLWearableType::WT_UNIVERSAL)); + + addEntry(BAKED_AUX1, new BakedEntry(TEX_AUX1_BAKED, + "aux1", "790c11be-b25c-c17e-b4d2-6a4ad786b752", + 1, TEX_AUX1_TATTOO, + 1, LLWearableType::WT_UNIVERSAL)); + + addEntry(BAKED_AUX2, new BakedEntry(TEX_AUX2_BAKED, + "aux2", "d78c478f-48c7-5928-5864-8d99fb1f521e", + 1, TEX_AUX2_TATTOO, + 1, LLWearableType::WT_UNIVERSAL)); + + addEntry(BAKED_AUX3, new BakedEntry(TEX_AUX3_BAKED, + "aux3", "6a95dd53-edd9-aac8-f6d3-27ed99f3c3eb", + 1, TEX_AUX3_TATTOO, + 1, LLWearableType::WT_UNIVERSAL)); } LLAvatarAppearanceDictionary::MeshEntries::MeshEntries() @@ -267,3 +313,112 @@ LLWearableType::EType LLAvatarAppearanceDictionary::getTEWearableType(ETextureIn return getInstance()->getTexture(index)->mWearableType; } +// static +BOOL LLAvatarAppearanceDictionary::isBakedImageId(const LLUUID& id) +{ + if ((id == IMG_USE_BAKED_EYES) || (id == IMG_USE_BAKED_HAIR) || (id == IMG_USE_BAKED_HEAD) || (id == IMG_USE_BAKED_LOWER) || (id == IMG_USE_BAKED_SKIRT) || (id == IMG_USE_BAKED_UPPER) + || (id == IMG_USE_BAKED_LEFTARM) || (id == IMG_USE_BAKED_LEFTLEG) || (id == IMG_USE_BAKED_AUX1) || (id == IMG_USE_BAKED_AUX2) || (id == IMG_USE_BAKED_AUX3) ) + { + return TRUE; + } + + return FALSE; +} + +// static +EBakedTextureIndex LLAvatarAppearanceDictionary::assetIdToBakedTextureIndex(const LLUUID& id) +{ + if (id == IMG_USE_BAKED_EYES) + { + return BAKED_EYES; + } + else if (id == IMG_USE_BAKED_HAIR) + { + return BAKED_HAIR; + } + else if (id == IMG_USE_BAKED_HEAD) + { + return BAKED_HEAD; + } + else if (id == IMG_USE_BAKED_LOWER) + { + return BAKED_LOWER; + } + else if (id == IMG_USE_BAKED_SKIRT) + { + return BAKED_SKIRT; + } + else if (id == IMG_USE_BAKED_UPPER) + { + return BAKED_UPPER; + } + else if (id == IMG_USE_BAKED_LEFTARM) + { + return BAKED_LEFT_ARM; + } + else if (id == IMG_USE_BAKED_LEFTLEG) + { + return BAKED_LEFT_LEG; + } + else if (id == IMG_USE_BAKED_AUX1) + { + return BAKED_AUX1; + } + else if (id == IMG_USE_BAKED_AUX2) + { + return BAKED_AUX2; + } + else if (id == IMG_USE_BAKED_AUX3) + { + return BAKED_AUX3; + } + + return BAKED_NUM_INDICES; +} + +//static +LLUUID LLAvatarAppearanceDictionary::localTextureIndexToMagicId(ETextureIndex t) +{ + LLUUID id = LLUUID::null; + + switch (t) + { + case LLAvatarAppearanceDefines::TEX_HEAD_BAKED: + id = IMG_USE_BAKED_HEAD; + break; + case LLAvatarAppearanceDefines::TEX_UPPER_BAKED: + id = IMG_USE_BAKED_UPPER; + break; + case LLAvatarAppearanceDefines::TEX_LOWER_BAKED: + id = IMG_USE_BAKED_LOWER; + break; + case LLAvatarAppearanceDefines::TEX_EYES_BAKED: + id = IMG_USE_BAKED_EYES; + break; + case LLAvatarAppearanceDefines::TEX_SKIRT_BAKED: + id = IMG_USE_BAKED_SKIRT; + break; + case LLAvatarAppearanceDefines::TEX_HAIR_BAKED: + id = IMG_USE_BAKED_HAIR; + break; + case LLAvatarAppearanceDefines::TEX_LEFT_ARM_BAKED: + id = IMG_USE_BAKED_LEFTARM; + break; + case LLAvatarAppearanceDefines::TEX_LEFT_LEG_BAKED: + id = IMG_USE_BAKED_LEFTLEG; + break; + case LLAvatarAppearanceDefines::TEX_AUX1_BAKED: + id = IMG_USE_BAKED_AUX1; + break; + case LLAvatarAppearanceDefines::TEX_AUX2_BAKED: + id = IMG_USE_BAKED_AUX2; + break; + case LLAvatarAppearanceDefines::TEX_AUX3_BAKED: + id = IMG_USE_BAKED_AUX3; + break; + default: + break; + } + + return id; +} diff --git a/indra/llappearance/llavatarappearancedefines.h b/indra/llappearance/llavatarappearancedefines.h index 51d75dbb0..444af9c05 100644 --- a/indra/llappearance/llavatarappearancedefines.h +++ b/indra/llappearance/llavatarappearancedefines.h @@ -1,3 +1,4 @@ + /** * @file llavatarappearancedefines.h * @brief Various LLAvatarAppearance related definitions @@ -78,6 +79,22 @@ enum ETextureIndex TEX_HEAD_TATTOO, TEX_UPPER_TATTOO, TEX_LOWER_TATTOO, + TEX_HEAD_UNIVERSAL_TATTOO, + TEX_UPPER_UNIVERSAL_TATTOO, + TEX_LOWER_UNIVERSAL_TATTOO, + TEX_SKIRT_TATTOO, + TEX_HAIR_TATTOO, + TEX_EYES_TATTOO, + TEX_LEFT_ARM_TATTOO, + TEX_LEFT_LEG_TATTOO, + TEX_AUX1_TATTOO, + TEX_AUX2_TATTOO, + TEX_AUX3_TATTOO, + TEX_LEFT_ARM_BAKED, // Pre-composited + TEX_LEFT_LEG_BAKED, // Pre-composited + TEX_AUX1_BAKED, // Pre-composited + TEX_AUX2_BAKED, // Pre-composited + TEX_AUX3_BAKED, // Pre-composited TEX_NUM_INDICES }; @@ -89,6 +106,11 @@ enum EBakedTextureIndex BAKED_EYES, BAKED_SKIRT, BAKED_HAIR, + BAKED_LEFT_ARM, + BAKED_LEFT_LEG, + BAKED_AUX1, + BAKED_AUX2, + BAKED_AUX3, BAKED_NUM_INDICES }; @@ -224,6 +246,9 @@ public: // Given a texture entry, determine which wearable type owns it. static LLWearableType::EType getTEWearableType(ETextureIndex index); + static BOOL isBakedImageId(const LLUUID& id); + static EBakedTextureIndex assetIdToBakedTextureIndex(const LLUUID& id); + static LLUUID localTextureIndexToMagicId(ETextureIndex t); }; // End LLAvatarAppearanceDictionary } // End namespace LLAvatarAppearanceDefines diff --git a/indra/llappearance/llwearable.cpp b/indra/llappearance/llwearable.cpp index aa2363489..5761c3535 100644 --- a/indra/llappearance/llwearable.cpp +++ b/indra/llappearance/llwearable.cpp @@ -438,6 +438,12 @@ LLWearable::EImportResult LLWearable::importStream( std::istream& input_stream, return LLWearable::FAILURE; } + if (te >= ETextureIndex::TEX_NUM_INDICES) //createLayers() converts to ETextureIndex + { + LL_WARNS() << "Bad Wearable asset: bad texture index: " << te << LL_ENDL; + return LLWearable::FAILURE; + } + if( !LLUUID::validate( uuid_buffer ) ) { LL_WARNS() << "Bad Wearable asset: bad texture uuid: " diff --git a/indra/llappearance/llwearabletype.cpp b/indra/llappearance/llwearabletype.cpp index ea783c968..b14107f9e 100644 --- a/indra/llappearance/llwearabletype.cpp +++ b/indra/llappearance/llwearabletype.cpp @@ -98,6 +98,7 @@ LLWearableDictionary::LLWearableDictionary() addEntry(LLWearableType::WT_SKIRT, new WearableEntry("skirt", "New Skirt", LLAssetType::AT_CLOTHING, LLInventoryType::ICONNAME_CLOTHING_SKIRT, FALSE, TRUE)); addEntry(LLWearableType::WT_ALPHA, new WearableEntry("alpha", "New Alpha", LLAssetType::AT_CLOTHING, LLInventoryType::ICONNAME_CLOTHING_ALPHA, FALSE, TRUE)); addEntry(LLWearableType::WT_TATTOO, new WearableEntry("tattoo", "New Tattoo", LLAssetType::AT_CLOTHING, LLInventoryType::ICONNAME_CLOTHING_TATTOO, FALSE, TRUE)); + addEntry(LLWearableType::WT_UNIVERSAL, new WearableEntry("universal", "New Universal", LLAssetType::AT_CLOTHING, LLInventoryType::ICONNAME_CLOTHING_UNIVERSAL, FALSE, TRUE)); // [SL:KB] - Patch: Appearance-Misc | Checked: 2011-05-29 (Catznip-2.6) addEntry(LLWearableType::WT_PHYSICS, new WearableEntry("physics", "New Physics", LLAssetType::AT_CLOTHING, LLInventoryType::ICONNAME_CLOTHING_PHYSICS, TRUE, FALSE)); diff --git a/indra/llappearance/llwearabletype.h b/indra/llappearance/llwearabletype.h index a7887fa9a..6dec79fcb 100644 --- a/indra/llappearance/llwearabletype.h +++ b/indra/llappearance/llwearabletype.h @@ -54,10 +54,11 @@ public: WT_ALPHA = 13, WT_TATTOO = 14, WT_PHYSICS = 15, - WT_UNKNOWN = 16, // Singu note: used for corrupt wearables that do not have their type set in the inventory database. + WT_UNIVERSAL = 16, + WT_UNKNOWN = 17, // Singu note: used for corrupt wearables that do not have their type set in the inventory database. // While all the above values are serialized and stored in the database, this value is local only: - // When a new item with value 16 is added by upstream, just increase this value to 17 (and WT_COUNT to 18). - WT_COUNT = 17, + // When a new item with value 17 is added by upstream, just increase this value to 18 (and WT_COUNT to 19). + WT_COUNT = 18, WT_INVALID = 255, WT_NONE = -1, diff --git a/indra/llcommon/indra_constants.cpp b/indra/llcommon/indra_constants.cpp index 64cbb1131..daef52756 100644 --- a/indra/llcommon/indra_constants.cpp +++ b/indra/llcommon/indra_constants.cpp @@ -45,3 +45,15 @@ const LLUUID GOVERNOR_LINDEN_ID("3d6181b0-6a4b-97ef-18d8-722652995cf1"); const LLUUID REALESTATE_LINDEN_ID("3d6181b0-6a4b-97ef-18d8-722652995cf1"); // Maintenance's group id. const LLUUID MAINTENANCE_GROUP_ID("dc7b21cd-3c89-fcaa-31c8-25f9ffd224cd"); + +const LLUUID IMG_USE_BAKED_HEAD ("5a9f4a74-30f2-821c-b88d-70499d3e7183"); +const LLUUID IMG_USE_BAKED_UPPER ("ae2de45c-d252-50b8-5c6e-19f39ce79317"); +const LLUUID IMG_USE_BAKED_LOWER ("24daea5f-0539-cfcf-047f-fbc40b2786ba"); +const LLUUID IMG_USE_BAKED_EYES ("52cc6bb6-2ee5-e632-d3ad-50197b1dcb8a"); +const LLUUID IMG_USE_BAKED_SKIRT ("43529ce8-7faa-ad92-165a-bc4078371687"); +const LLUUID IMG_USE_BAKED_HAIR ("09aac1fb-6bce-0bee-7d44-caac6dbb6c63"); +const LLUUID IMG_USE_BAKED_LEFTARM ("ff62763f-d60a-9855-890b-0c96f8f8cd98"); +const LLUUID IMG_USE_BAKED_LEFTLEG ("8e915e25-31d1-cc95-ae08-d58a47488251"); +const LLUUID IMG_USE_BAKED_AUX1 ("9742065b-19b5-297c-858a-29711d539043"); +const LLUUID IMG_USE_BAKED_AUX2 ("03642e83-2bd1-4eb9-34b4-4c47ed586d2d"); +const LLUUID IMG_USE_BAKED_AUX3 ("edd51b77-fc10-ce7a-4b3d-011dfc349e4f"); diff --git a/indra/llcommon/indra_constants.h b/indra/llcommon/indra_constants.h index 9936dfd33..142f47e2a 100644 --- a/indra/llcommon/indra_constants.h +++ b/indra/llcommon/indra_constants.h @@ -1,3 +1,4 @@ + /** * @file indra_constants.h * @brief some useful short term constants for Indra @@ -294,6 +295,19 @@ const U32 START_LOCATION_ID_COUNT = 6; // group constants const U32 GROUP_MIN_SIZE = 2; + +LL_COMMON_API extern const LLUUID IMG_USE_BAKED_HEAD; +LL_COMMON_API extern const LLUUID IMG_USE_BAKED_UPPER; +LL_COMMON_API extern const LLUUID IMG_USE_BAKED_LOWER; +LL_COMMON_API extern const LLUUID IMG_USE_BAKED_EYES; +LL_COMMON_API extern const LLUUID IMG_USE_BAKED_SKIRT; +LL_COMMON_API extern const LLUUID IMG_USE_BAKED_HAIR; +LL_COMMON_API extern const LLUUID IMG_USE_BAKED_LEFTARM; +LL_COMMON_API extern const LLUUID IMG_USE_BAKED_LEFTLEG; +LL_COMMON_API extern const LLUUID IMG_USE_BAKED_AUX1; +LL_COMMON_API extern const LLUUID IMG_USE_BAKED_AUX2; +LL_COMMON_API extern const LLUUID IMG_USE_BAKED_AUX3; + // radius within which a chat message is fully audible const F32 CHAT_WHISPER_RADIUS = 10.f; const F32 CHAT_NORMAL_RADIUS = 20.f; diff --git a/indra/llcommon/llmemory.cpp b/indra/llcommon/llmemory.cpp index f843f3c96..1b73507a1 100644 --- a/indra/llcommon/llmemory.cpp +++ b/indra/llcommon/llmemory.cpp @@ -102,39 +102,47 @@ void LLMemory::initMaxHeapSizeGB(F32Gigabytes max_heap_size, BOOL prevent_heap_f //static void LLMemory::updateMemoryInfo() { -#if LL_WINDOWS - HANDLE self = GetCurrentProcess(); - PROCESS_MEMORY_COUNTERS counters; - - if (!GetProcessMemoryInfo(self, &counters, sizeof(counters))) +#if LL_WINDOWS + PROCESS_MEMORY_COUNTERS_EX counters; + counters.cb = sizeof(counters); + + if (!GetProcessMemoryInfo(GetCurrentProcess(), (PROCESS_MEMORY_COUNTERS*) &counters, sizeof(counters))) { LL_WARNS() << "GetProcessMemoryInfo failed" << LL_ENDL; - return ; + return; } - sAllocatedMemInKB = (U32Bytes)(counters.WorkingSetSize) ; - sAllocatedPageSizeInKB = (U32Bytes)(counters.PagefileUsage) ; + sAllocatedMemInKB = U64Bytes(counters.WorkingSetSize); + sAllocatedPageSizeInKB = (counters.PagefileUsage != 0) ? U64Bytes(counters.PagefileUsage) : U64Bytes(counters.PrivateUsage); - U32Kilobytes avail_phys, avail_virtual; - LLMemoryInfo::getAvailableMemoryKB(avail_phys, avail_virtual) ; - sMaxPhysicalMemInKB = llmin(avail_phys + sAllocatedMemInKB, sMaxHeapSizeInKB); - - if(sMaxPhysicalMemInKB > sAllocatedMemInKB) + MEMORYSTATUSEX memorystat; + memorystat.dwLength = sizeof(memorystat); + if (!GlobalMemoryStatusEx(&memorystat)) { - sAvailPhysicalMemInKB = sMaxPhysicalMemInKB - sAllocatedMemInKB ; + LL_WARNS() << "GlobalMemoryStatusEx failed" << LL_ENDL; + return; + } +#if (defined(_WIN64) || defined(__amd64__) || defined(__x86_64__)) + sMaxPhysicalMemInKB = U64Bytes(memorystat.ullTotalPhys); + sAvailPhysicalMemInKB = U64Bytes(memorystat.ullAvailPhys); +#else + sMaxPhysicalMemInKB = llmin(U32Kilobytes(U64Bytes(memorystat.ullTotalPhys)), sMaxHeapSizeInKB); + if (sMaxPhysicalMemInKB > sAllocatedMemInKB) + { + sAvailPhysicalMemInKB = U64Bytes(memorystat.ullAvailPhys);; } else { sAvailPhysicalMemInKB = U32Kilobytes(0); } -#else - //not valid for other systems for now. - sAllocatedMemInKB = (U32Bytes)LLMemory::getCurrentRSS(); - sMaxPhysicalMemInKB = (U32Bytes)U32_MAX ; - sAvailPhysicalMemInKB = (U32Bytes)U32_MAX ; #endif - return ; +#else + //not valid for other systems for now. + sAllocatedMemInKB = U64Bytes(LLMemory::getCurrentRSS()); + sMaxPhysicalMemInKB = U64Bytes(U32_MAX); + sAvailPhysicalMemInKB = U64Bytes(U32_MAX); +#endif } // @@ -158,7 +166,7 @@ void* LLMemory::tryToAlloc(void* address, U32 size) return address ; #else return (void*)0x01 ; //skip checking -#endif +#endif } //static @@ -233,31 +241,31 @@ bool LLMemory::isMemoryPoolLow() //static U32Kilobytes LLMemory::getAvailableMemKB() { - return sAvailPhysicalMemInKB ; + return sAvailPhysicalMemInKB; } //static U32Kilobytes LLMemory::getMaxMemKB() { - return sMaxPhysicalMemInKB ; + return sMaxPhysicalMemInKB; } //static U32Kilobytes LLMemory::getAllocatedMemKB() { - return sAllocatedMemInKB ; + return sAllocatedMemInKB; } //---------------------------------------------------------------------------- #if defined(LL_WINDOWS) +//static U64 LLMemory::getCurrentRSS() { - HANDLE self = GetCurrentProcess(); PROCESS_MEMORY_COUNTERS counters; - - if (!GetProcessMemoryInfo(self, &counters, sizeof(counters))) + + if (!GetProcessMemoryInfo(GetCurrentProcess(), &counters, sizeof(counters))) { LL_WARNS() << "GetProcessMemoryInfo failed" << LL_ENDL; return 0; @@ -266,35 +274,7 @@ U64 LLMemory::getCurrentRSS() return counters.WorkingSetSize; } -//static -U32 LLMemory::getWorkingSetSize() -{ - PROCESS_MEMORY_COUNTERS pmc ; - U32 ret = 0 ; - - if (GetProcessMemoryInfo( GetCurrentProcess(), &pmc, sizeof(pmc)) ) - { - ret = pmc.WorkingSetSize ; - } - - return ret ; -} - #elif defined(LL_DARWIN) - -/* - The API used here is not capable of dealing with 64-bit memory sizes, but is available before 10.4. - - Once we start requiring 10.4, we can use the updated API, which looks like this: - - task_basic_info_64_data_t basicInfo; - mach_msg_type_number_t basicInfoCount = TASK_BASIC_INFO_64_COUNT; - if (task_info(mach_task_self(), TASK_BASIC_INFO_64, (task_info_t)&basicInfo, &basicInfoCount) == KERN_SUCCESS) - - Of course, this doesn't gain us anything unless we start building the viewer as a 64-bit executable, since that's the only way - for our memory allocation to exceed 2^32. -*/ - // if (sysctl(ctl, 2, &page_size, &size, NULL, 0) == -1) // { // LL_WARNS() << "Couldn't get page size" << LL_ENDL; @@ -307,16 +287,15 @@ U32 LLMemory::getWorkingSetSize() U64 LLMemory::getCurrentRSS() { U64 residentSize = 0; - task_basic_info_data_t basicInfo; - mach_msg_type_number_t basicInfoCount = TASK_BASIC_INFO_COUNT; - if (task_info(mach_task_self(), TASK_BASIC_INFO, (task_info_t)&basicInfo, &basicInfoCount) == KERN_SUCCESS) + mach_task_basic_info_data_t basicInfo; + mach_msg_type_number_t basicInfoCount = MACH_TASK_BASIC_INFO_COUNT; + if (task_info(mach_task_self(), MACH_TASK_BASIC_INFO, (task_info_t)&basicInfo, &basicInfoCount) == KERN_SUCCESS) { - residentSize = basicInfo.resident_size; - - // If we ever wanted it, the process virtual size is also available as: - // virtualSize = basicInfo.virtual_size; - -// LL_INFOS() << "resident size is " << residentSize << LL_ENDL; +// residentSize = basicInfo.resident_size; + // Although this method is defined to return the "resident set size," + // in fact what callers want from it is the total virtual memory + // consumed by the application. + residentSize = basicInfo.virtual_size; } else { @@ -326,11 +305,6 @@ U64 LLMemory::getCurrentRSS() return residentSize; } -U32 LLMemory::getWorkingSetSize() -{ - return 0 ; -} - #elif defined(LL_LINUX) U64 LLMemory::getCurrentRSS() @@ -342,7 +316,7 @@ U64 LLMemory::getCurrentRSS() if (fp == NULL) { LL_WARNS() << "couldn't open " << statPath << LL_ENDL; - goto bail; + return rss; } // Eee-yew! See Documentation/filesystems/proc.txt in your @@ -361,49 +335,8 @@ U64 LLMemory::getCurrentRSS() fclose(fp); -bail: return rss; } - -U32 LLMemory::getWorkingSetSize() -{ - return 0 ; -} - -#elif LL_SOLARIS -#include -#include -#include -#define _STRUCTURED_PROC 1 -#include - -U64 LLMemory::getCurrentRSS() -{ - char path [LL_MAX_PATH]; /* Flawfinder: ignore */ - - sprintf(path, "/proc/%d/psinfo", (int)getpid()); - int proc_fd = -1; - if((proc_fd = open(path, O_RDONLY)) == -1){ - LL_WARNS() << "LLmemory::getCurrentRSS() unable to open " << path << ". Returning 0 RSS!" << LL_ENDL; - return 0; - } - psinfo_t proc_psinfo; - if(read(proc_fd, &proc_psinfo, sizeof(psinfo_t)) != sizeof(psinfo_t)){ - LL_WARNS() << "LLmemory::getCurrentRSS() Unable to read from " << path << ". Returning 0 RSS!" << LL_ENDL; - close(proc_fd); - return 0; - } - - close(proc_fd); - - return((U64)proc_psinfo.pr_rssize * 1024); -} - -U32 LLMemory::getWorkingSetSize() -{ - return 0 ; -} - #else U64 LLMemory::getCurrentRSS() @@ -411,11 +344,6 @@ U64 LLMemory::getCurrentRSS() return 0; } -U32 LLMemory::getWorkingSetSize() -{ - return 0; -} - #endif //-------------------------------------------------------------------------------------------------- @@ -427,7 +355,7 @@ LLMemTracker* LLMemTracker::sInstance = NULL ; LLMemTracker::LLMemTracker() { - mLastAllocatedMem = LLMemory::getWorkingSetSize() ; + mLastAllocatedMem = LLMemory::getCurrentRSS() ; mCapacity = 128 ; mCurIndex = 0 ; mCounter = 0 ; @@ -480,7 +408,7 @@ void LLMemTracker::track(const char* function, const int line) return ; } - U32 allocated_mem = LLMemory::getWorkingSetSize() ; + U64 allocated_mem = LLMemory::getCurrentRSS() ; LLMutexLock lock(mMutexp) ; diff --git a/indra/llcommon/llmemory.h b/indra/llcommon/llmemory.h index efd61590a..18af01f65 100644 --- a/indra/llcommon/llmemory.h +++ b/indra/llcommon/llmemory.h @@ -133,11 +133,15 @@ template T* LL_NEXT_ALIGNED_ADDRESS_64(T* address) #if defined(LL_WINDOWS) return _aligned_malloc(size, align); #else + char* aligned = NULL; void* mem = malloc( size + (align - 1) + sizeof(void*) ); - char* aligned = ((char*)mem) + sizeof(void*); - aligned += align - ((uintptr_t)aligned & (align - 1)); + if (mem) + { + aligned = ((char*)mem) + sizeof(void*); + aligned += align - ((uintptr_t)aligned & (align - 1)); - ((void**)aligned)[-1] = mem; + ((void**)aligned)[-1] = mem; + } return aligned; #endif } @@ -365,7 +369,6 @@ public: // Return the resident set size of the current process, in bytes. // Return value is zero if not known. static U64 getCurrentRSS(); - static U32 getWorkingSetSize(); static void* tryToAlloc(void* address, U32 size); static void initMaxHeapSizeGB(F32Gigabytes max_heap_size, BOOL prevent_heap_failure); static void updateMemoryInfo() ; diff --git a/indra/llcommon/llstreamtools.cpp b/indra/llcommon/llstreamtools.cpp index b7f27c8b6..b3c83dadc 100644 --- a/indra/llcommon/llstreamtools.cpp +++ b/indra/llcommon/llstreamtools.cpp @@ -139,7 +139,7 @@ bool skip_to_end_of_next_keyword(const char* keyword, std::istream& input_stream } else { - int key_index = 1; + size_t key_index = 1; while ( key_index < key_length && keyword[key_index - 1] == c && input_stream.good()) diff --git a/indra/llcommon/llstring.cpp b/indra/llcommon/llstring.cpp index f01615cc2..baf0c028d 100644 --- a/indra/llcommon/llstring.cpp +++ b/indra/llcommon/llstring.cpp @@ -577,7 +577,7 @@ std::string utf8str_truncate(const std::string& utf8str, const S32 max_len) } // [RLVa:KB] - Checked: RLVa-2.1.0 -std::string utf8str_substr(const std::string& utf8str, const S32 index, const S32 max_len) +std::string utf8str_substr(const std::string& utf8str, const size_t index, const size_t max_len) { if (0 == max_len) { @@ -589,7 +589,7 @@ std::string utf8str_substr(const std::string& utf8str, const S32 index, const S3 } else { - S32 cur_char = max_len; + size_t cur_char = max_len; // If we're ASCII, we don't need to do anything if ((U8)utf8str[index + cur_char] > 0x7f) @@ -648,7 +648,7 @@ void utf8str_split(std::list& split_list, const std::string& utf8st } // [/RLVa:KB] -std::string utf8str_symbol_truncate(const std::string& utf8str, const S32 symbol_len) +std::string utf8str_symbol_truncate(const std::string& utf8str, const size_t symbol_len) { if (0 == symbol_len) { @@ -660,7 +660,7 @@ std::string utf8str_symbol_truncate(const std::string& utf8str, const S32 symbol } else { - int len = 0, byteIndex = 0; + size_t len = 0, byteIndex = 0; const char* aStr = utf8str.c_str(); size_t origSize = utf8str.size(); diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp index c1249984f..ba69408a7 100644 --- a/indra/llcommon/llsys.cpp +++ b/indra/llcommon/llsys.cpp @@ -702,28 +702,10 @@ LLMemoryInfo::LLMemoryInfo() refresh(); } -#if LL_WINDOWS -static U32Kilobytes LLMemoryAdjustKBResult(U32Kilobytes inKB) -{ - // Moved this here from llfloaterabout.cpp - - //! \bug - // For some reason, the reported amount of memory is always wrong. - // The original adjustment assumes it's always off by one meg, however - // errors of as much as 2520 KB have been observed in the value - // returned from the GetMemoryStatusEx function. Here we keep the - // original adjustment from llfoaterabout.cpp until this can be - // fixed somehow. - inKB += U32Megabytes(1); - - return inKB; -} -#endif - U32Kilobytes LLMemoryInfo::getPhysicalMemoryKB() const { #if LL_WINDOWS - return LLMemoryAdjustKBResult(U32Kilobytes(mStatsMap["Total Physical KB"].asInteger())); + return U32Kilobytes(mStatsMap["Total Physical KB"].asInteger()); #elif LL_DARWIN // This might work on Linux as well. Someone check... @@ -740,43 +722,22 @@ U32Kilobytes LLMemoryInfo::getPhysicalMemoryKB() const phys = (U64)(getpagesize()) * (U64)(get_phys_pages()); return U64Bytes(phys); -#elif LL_SOLARIS - U64 phys = 0; - phys = (U64)(getpagesize()) * (U64)(sysconf(_SC_PHYS_PAGES)); - return U64Bytes(phys); - #else return 0; #endif } -U32Bytes LLMemoryInfo::getPhysicalMemoryClamped() const -{ - // Return the total physical memory in bytes, but clamp it - // to no more than U32_MAX - - U32Kilobytes phys_kb = getPhysicalMemoryKB(); - if (phys_kb >= U32Gigabytes(4)) - { - return U32Bytes(U32_MAX); - } - else - { - return phys_kb; - } -} - //static void LLMemoryInfo::getAvailableMemoryKB(U32Kilobytes& avail_physical_mem_kb, U32Kilobytes& avail_virtual_mem_kb) { #if LL_WINDOWS - // Sigh, this shouldn't be a static method, then we wouldn't have to - // reload this data separately from refresh() - LLSD statsMap(loadStatsMap()); + MEMORYSTATUSEX state; + state.dwLength = sizeof(state); + GlobalMemoryStatusEx(&state); - avail_physical_mem_kb = (U32Kilobytes)statsMap["Avail Physical KB"].asInteger(); - avail_virtual_mem_kb = (U32Kilobytes)statsMap["Avail Virtual KB"].asInteger(); + avail_physical_mem_kb = U64Bytes(state.ullAvailPhys); + avail_virtual_mem_kb = U64Bytes(state.ullAvailVirtual); #elif LL_DARWIN // mStatsMap is derived from vm_stat, look for (e.g.) "kb free": @@ -924,7 +885,7 @@ LLSD LLMemoryInfo::loadStatsMap() DWORDLONG div = 1024; - stats.add("Percent Memory use", state.dwMemoryLoad/div); + stats.add("Percent Memory use", state.dwMemoryLoad); stats.add("Total Physical KB", state.ullTotalPhys/div); stats.add("Avail Physical KB", state.ullAvailPhys/div); stats.add("Total page KB", state.ullTotalPageFile/div); @@ -973,27 +934,33 @@ LLSD LLMemoryInfo::loadStatsMap() stats.add("PrivateUsage KB", pmem.PrivateUsage/div); #elif LL_DARWIN - - const vm_size_t pagekb(vm_page_size / 1024); + vm_size_t page_size_kb; + if (host_page_size(mach_host_self(), &page_size_kb) != KERN_SUCCESS) + { + LL_WARNS() << "Unable to get host page size. Using default value." << LL_ENDL; + page_size_kb = 4096; + } + page_size_kb = page_size_kb / 1024; + // // Collect the vm_stat's // { - vm_statistics_data_t vmstat; - mach_msg_type_number_t vmstatCount = HOST_VM_INFO_COUNT; + vm_statistics64_data_t vmstat; + mach_msg_type_number_t vmstatCount = HOST_VM_INFO64_COUNT; - if (host_statistics(mach_host_self(), HOST_VM_INFO, (host_info_t) &vmstat, &vmstatCount) != KERN_SUCCESS) + if (host_statistics64(mach_host_self(), HOST_VM_INFO64, (host_info64_t) &vmstat, &vmstatCount) != KERN_SUCCESS) { LL_WARNS("LLMemoryInfo") << "Unable to collect memory information" << LL_ENDL; } else { - stats.add("Pages free KB", pagekb * vmstat.free_count); - stats.add("Pages active KB", pagekb * vmstat.active_count); - stats.add("Pages inactive KB", pagekb * vmstat.inactive_count); - stats.add("Pages wired KB", pagekb * vmstat.wire_count); + stats.add("Pages free KB", page_size_kb * vmstat.free_count); + stats.add("Pages active KB", page_size_kb * vmstat.active_count); + stats.add("Pages inactive KB", page_size_kb * vmstat.inactive_count); + stats.add("Pages wired KB", page_size_kb * vmstat.wire_count); stats.add("Pages zero fill", vmstat.zero_fill_count); stats.add("Page reactivations", vmstat.reactivations); @@ -1042,20 +1009,20 @@ LLSD LLMemoryInfo::loadStatsMap() // { - task_basic_info_64_data_t taskinfo; - unsigned taskinfoSize = sizeof(taskinfo); - - if (task_info(mach_task_self(), TASK_BASIC_INFO_64, (task_info_t) &taskinfo, &taskinfoSize) != KERN_SUCCESS) + mach_task_basic_info_data_t taskinfo; + mach_msg_type_number_t task_count = MACH_TASK_BASIC_INFO_COUNT; + if (task_info(mach_task_self(), MACH_TASK_BASIC_INFO, (task_info_t) &taskinfo, &task_count) != KERN_SUCCESS) { - LL_WARNS("LLMemoryInfo") << "Unable to collect task information" << LL_ENDL; - } - else - { - stats.add("Basic suspend count", taskinfo.suspend_count); - stats.add("Basic virtual memory KB", taskinfo.virtual_size / 1024); - stats.add("Basic resident memory KB", taskinfo.resident_size / 1024); - stats.add("Basic new thread policy", taskinfo.policy); - } + LL_WARNS("LLMemoryInfo") << "Unable to collect task information" << LL_ENDL; + } + else + { + stats.add("Basic virtual memory KB", taskinfo.virtual_size / 1024); + stats.add("Basic resident memory KB", taskinfo.resident_size / 1024); + stats.add("Basic max resident memory KB", taskinfo.resident_size_max / 1024); + stats.add("Basic new thread policy", taskinfo.policy); + stats.add("Basic suspend count", taskinfo.suspend_count); + } } #elif LL_SOLARIS diff --git a/indra/llcommon/llsys.h b/indra/llcommon/llsys.h index accdbb5d2..d96319941 100644 --- a/indra/llcommon/llsys.h +++ b/indra/llcommon/llsys.h @@ -114,11 +114,6 @@ public: U32Kilobytes getPhysicalMemoryKB() const; - /*! Memory size in bytes, if total memory is >= 4GB then U32_MAX will - ** be returned. - */ - U32Bytes getPhysicalMemoryClamped() const; ///< Memory size in clamped bytes - //get the available memory infomation in KiloBytes. static void getAvailableMemoryKB(U32Kilobytes& avail_physical_mem_kb, U32Kilobytes& avail_virtual_mem_kb); diff --git a/indra/llinventory/llinventorytype.h b/indra/llinventory/llinventorytype.h index 2350867b4..a7aa1dfbf 100644 --- a/indra/llinventory/llinventorytype.h +++ b/indra/llinventory/llinventorytype.h @@ -100,6 +100,7 @@ public: ICONNAME_CLOTHING_SKIRT, ICONNAME_CLOTHING_ALPHA, ICONNAME_CLOTHING_TATTOO, + ICONNAME_CLOTHING_UNIVERSAL, ICONNAME_ANIMATION, ICONNAME_GESTURE, diff --git a/indra/llinventory/llsettingsdaycycle.cpp b/indra/llinventory/llsettingsdaycycle.cpp index 25516ec6e..b170abfbc 100644 --- a/indra/llinventory/llsettingsdaycycle.cpp +++ b/indra/llinventory/llsettingsdaycycle.cpp @@ -608,7 +608,7 @@ LLSettingsDay::validation_list_t LLSettingsDay::validationList() return validation; } -LLSettingsDay::CycleTrack_t& LLSettingsDay::getCycleTrack(S32 track) +LLSettingsDay::CycleTrack_t& LLSettingsDay::getCycleTrack(size_t track) { static CycleTrack_t emptyTrack; if (mDayTracks.size() <= track) @@ -617,7 +617,7 @@ LLSettingsDay::CycleTrack_t& LLSettingsDay::getCycleTrack(S32 track) return mDayTracks[track]; } -const LLSettingsDay::CycleTrack_t& LLSettingsDay::getCycleTrackConst(S32 track) const +const LLSettingsDay::CycleTrack_t& LLSettingsDay::getCycleTrackConst(size_t track) const { static CycleTrack_t emptyTrack; if (mDayTracks.size() <= track) diff --git a/indra/llinventory/llsettingsdaycycle.h b/indra/llinventory/llsettingsdaycycle.h index 8776f6725..bc5f03fa1 100644 --- a/indra/llinventory/llsettingsdaycycle.h +++ b/indra/llinventory/llsettingsdaycycle.h @@ -118,8 +118,8 @@ public: virtual LLSettingsWaterPtr_t buildWater(LLSD) const = 0; void setInitialized(bool value = true) { mInitialized = value; } - CycleTrack_t & getCycleTrack(S32 track); - const CycleTrack_t & getCycleTrackConst(S32 track) const; + CycleTrack_t & getCycleTrack(size_t track); + const CycleTrack_t & getCycleTrackConst(size_t track) const; bool clearCycleTrack(S32 track); bool replaceCycleTrack(S32 track, const CycleTrack_t &source); bool isTrackEmpty(S32 track) const; diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index 744423a67..a97439044 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -6331,7 +6331,9 @@ void LLVolumeFace::allocateIndices(S32 num_indices, bool copy) S32 new_size = ((num_indices * sizeof(U16)) + 0xF) & ~0xF; if (copy && num_indices && mIndices && mNumIndices) { +#if !LL_USE_TCMALLOC S32 old_size = ((mNumIndices * sizeof(U16)) + 0xF) & ~0xF; +#endif mIndices = (U16*)ll_aligned_realloc_16(mIndices, new_size, old_size); diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt index b00081882..11b8c800e 100644 --- a/indra/llui/CMakeLists.txt +++ b/indra/llui/CMakeLists.txt @@ -24,6 +24,7 @@ include_directories( ) set(llui_SOURCE_FILES + lfidbearer.cpp llaccordionctrl.cpp llaccordionctrltab.cpp llalertdialog.cpp @@ -101,6 +102,7 @@ set(llui_HEADER_FILES CMakeLists.txt ailist.h + lfidbearer.h llaccordionctrl.h llaccordionctrltab.h llalertdialog.h diff --git a/indra/llui/lfidbearer.cpp b/indra/llui/lfidbearer.cpp new file mode 100644 index 000000000..cc7a3f988 --- /dev/null +++ b/indra/llui/lfidbearer.cpp @@ -0,0 +1,33 @@ +/* Copyright (C) 2019 Liru Færs + * + * LFIDBearer is a class that holds an ID or IDs that menus can use + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA */ + +#include "linden_common.h" +#include "lfidbearer.h" +#include "llmenugl.h" + +std::vector LFIDBearer::sMenus = {}; +LFIDBearer* LFIDBearer::sActive = nullptr; + +void LFIDBearer::showMenu(LLView* self, LLMenuGL* menu, S32 x, S32 y) +{ + sActive = this; // Menu listeners rely on this + menu->buildDrawLabels(); + menu->updateParent(LLMenuGL::sMenuContainer); + LLMenuGL::showPopup(self, menu, x, y); +} diff --git a/indra/llui/lfidbearer.h b/indra/llui/lfidbearer.h new file mode 100644 index 000000000..8b4c7684d --- /dev/null +++ b/indra/llui/lfidbearer.h @@ -0,0 +1,45 @@ +/* Copyright (C) 2019 Liru Færs + * + * LFIDBearer is a class that holds an ID or IDs that menus can use + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA */ + +#pragma once + +#include "lluuid.h" + +class LLMenuGL; +class LLView; + +struct LFIDBearer +{ + virtual ~LFIDBearer() { if (sActive == this) sActive = nullptr; } + virtual LLUUID getStringUUIDSelectedItem() const = 0; + virtual uuid_vec_t getSelectedIDs() const = 0; + virtual S32 getNumSelected() const = 0; + + template static T* getActive() { return static_cast(sActive); } + static LLUUID getActiveSelectedID() { return sActive->getStringUUIDSelectedItem(); } + static uuid_vec_t getActiveSelectedIDs() { return sActive->getSelectedIDs(); } + static S32 getActiveNumSelected() { return sActive->getNumSelected(); } + + void showMenu(LLView* self, LLMenuGL* menu, S32 x, S32 y); + static void addCommonMenu(LLMenuGL* menu) { sMenus.push_back(menu); } + +protected: + static std::vector sMenus; // Menus that recur, such as general avatars or groups menus + static LFIDBearer* sActive; +}; diff --git a/indra/llui/lllineeditor.cpp b/indra/llui/lllineeditor.cpp index b6279a468..9916c9465 100644 --- a/indra/llui/lllineeditor.cpp +++ b/indra/llui/lllineeditor.cpp @@ -178,18 +178,9 @@ LLLineEditor::LLLineEditor(const std::string& name, const LLRect& rect, sImage = LLUI::getUIImage("sm_rounded_corners_simple.tga"); } mImage = sImage; + // make the popup menu available - //LLMenuGL* menu = LLUICtrlFactory::getInstance()->buildMenu("menu_texteditor.xml", parent_view); - LLMenuGL* menu = new LLMenuGL("wot"); - /*if (!menu) - { - menu = new LLMenuGL(LLStringUtil::null); - }*/ - menu->addChild(new LLMenuItemCallGL("Cut", context_cut, NULL, this)); - menu->addChild(new LLMenuItemCallGL("Copy", context_copy, NULL, this)); - menu->addChild(new LLMenuItemCallGL("Paste", context_paste, NULL, this)); - menu->addChild(new LLMenuItemCallGL("Delete", context_delete, NULL, this)); - menu->addChild(new LLMenuItemCallGL("Select All", context_selectall, NULL, this)); + LLMenuGL* menu = LLUICtrlFactory::getInstance()->buildMenu("menu_texteditor.xml", LLMenuGL::sMenuContainer); menu->addSeparator(); //menu->setBackgroundColor(gColors.getColor("MenuPopupBgColor")); menu->setCanTearOff(FALSE); @@ -452,18 +443,6 @@ void LLLineEditor::deselect() } -void LLLineEditor::context_cut(void* data) -{ - LLLineEditor* line = (LLLineEditor*)data; - if(line)line->cut(); -} -void LLLineEditor::context_copy(void* data) -{ - LLLineEditor* line = (LLLineEditor*)data; - if(line)line->copy(); -} - - void LLLineEditor::spell_correct(void* data) { SpellMenuBind* tempBind = (SpellMenuBind*)data; @@ -545,25 +524,6 @@ void LLLineEditor::spell_add(void* data) } } - -void LLLineEditor::context_paste(void* data) -{ - LLLineEditor* line = (LLLineEditor*)data; - if(line)line->paste(); -} - -void LLLineEditor::context_delete(void* data) -{ - LLLineEditor* line = (LLLineEditor*)data; - if(line)line->doDelete(); -} - -void LLLineEditor::context_selectall(void* data) -{ - LLLineEditor* line = (LLLineEditor*)data; - if(line)line->selectAll(); -} - void LLLineEditor::startSelection() { mIsSelecting = TRUE; @@ -3113,7 +3073,6 @@ void LLLineEditor::showContextMenu(S32 x, S32 y) tempStruct->wordPositionStart=wordStart; LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( tempStruct->word, spell_correct, NULL, tempStruct); - //new LLMenuItemCallGL("Select All", context_selectall, NULL, this)); tempStruct->menuItem = suggMenuItem; suggestionMenuItems.push_back(tempStruct); menu->addChild(suggMenuItem); diff --git a/indra/llui/lllineeditor.h b/indra/llui/lllineeditor.h index 23cb6333a..c6712b7cf 100644 --- a/indra/llui/lllineeditor.h +++ b/indra/llui/lllineeditor.h @@ -137,11 +137,6 @@ public: virtual void deselect(); virtual BOOL canDeselect() const; - static void context_cut(void* data); - static void context_copy(void* data); - static void context_paste(void* data); - static void context_delete(void* data); - static void context_selectall(void* data); static void spell_correct(void* data); static void spell_show(void* data); static void spell_add(void* data); diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index 6f3006dd7..5ae3d36b2 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -2109,13 +2109,13 @@ LLXMLNodePtr LLMenuGL::getXML(bool save_children) const return node; } -void LLMenuGL::parseChildXML(LLXMLNodePtr child, LLView *parent, LLUICtrlFactory *factory) +void LLMenuGL::parseChildXML(LLXMLNodePtr child, LLView *parent) { std::string name(child->getName()->mString); if (child->hasName(LL_MENU_GL_TAG)) { // SUBMENU - LLMenuGL *submenu = (LLMenuGL*)LLMenuGL::fromXML(child, parent, factory); + LLMenuGL *submenu = (LLMenuGL*)LLMenuGL::fromXML(child, parent, LLUICtrlFactory::getInstance()); appendMenu(submenu); if (LLMenuGL::sMenuContainer != NULL) { @@ -2193,7 +2193,7 @@ void LLMenuGL::parseChildXML(LLXMLNodePtr child, LLView *parent, LLUICtrlFactory { mask |= MASK_SHIFT; } - S32 pipe_pos = shortcut.rfind("|"); + S32 pipe_pos = shortcut.rfind('|'); std::string key_str = shortcut.substr(pipe_pos+1); KEY key = KEY_NONE; @@ -2471,63 +2471,80 @@ BOOL LLMenuGL::isOpen() } } // static -LLView* LLMenuGL::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory) +LLView* LLMenuGL::fromXML(LLXMLNodePtr node, LLView* parent, LLUICtrlFactory* factory) { std::string name("menu"); node->getAttributeString("name", name); - std::string label = name; - node->getAttributeString("label", label); + LLMenuGL* menu = new LLMenuGL(name); - LLStringUtil::format(label, LLTrans::getDefaultArgs()); - - // parse jump key out of label - std::string new_menu_label; - - typedef boost::tokenizer > tokenizer; - boost::char_separator sep("_"); - tokenizer tokens(label, sep); - tokenizer::iterator token_iter; - - KEY jump_key = KEY_NONE; - S32 token_count = 0; - for( token_iter = tokens.begin(); token_iter != tokens.end(); ++token_iter) + // Menus can be extended using filename + if (node->hasAttribute("filename")) { - new_menu_label += (*token_iter); - if (token_count > 0) + std::string filename; + node->getAttributeString("filename", filename); + LLXMLNodePtr root; + LLUICtrlFactory::getLayeredXMLNode(filename, root); + menu->initMenuXML(root, parent); + } + menu->initMenuXML(node, parent); + + return menu; +} + +void LLMenuGL::initMenuXML(LLXMLNodePtr node, LLView* parent) +{ + std::string label; + if (node->getAttributeString("label", label)) + { + LLStringUtil::format(label, LLTrans::getDefaultArgs()); + + // parse jump key out of label + std::string new_menu_label; + + typedef boost::tokenizer> tokenizer; + boost::char_separator sep("_"); + + KEY jump_key = KEY_NONE; + S32 token_count = 0; + for (auto token : tokenizer(label, sep)) { - jump_key = (*token_iter).c_str()[0]; + new_menu_label += token; + if (token_count > 0) + { + jump_key = token.front(); + } + ++token_count; } - ++token_count; + + setLabel(new_menu_label); + setJumpKey(jump_key); } BOOL opaque = TRUE; node->getAttributeBOOL("opaque", opaque); - LLMenuGL *menu = new LLMenuGL(name, new_menu_label); - bool b(false); node->getAttribute_bool("scrollable", b); - menu->setScrollable(b); + setScrollable(b); - menu->setJumpKey(jump_key); BOOL tear_off = FALSE; node->getAttributeBOOL("tear_off", tear_off); - menu->setCanTearOff(tear_off); + setCanTearOff(tear_off); if (node->hasAttribute("drop_shadow")) { BOOL drop_shadow = FALSE; node->getAttributeBOOL("drop_shadow", drop_shadow); - menu->setDropShadowed(drop_shadow); + setDropShadowed(drop_shadow); } - menu->setBackgroundVisible(opaque); + setBackgroundVisible(opaque); LLColor4 color(0,0,0,1); if (opaque && LLUICtrlFactory::getAttributeColor(node,"color", color)) { - menu->setBackgroundColor(color); + setBackgroundColor(color); } BOOL create_jump_keys = FALSE; @@ -2536,14 +2553,13 @@ LLView* LLMenuGL::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *fa LLXMLNodePtr child; for (child = node->getFirstChild(); child.notNull(); child = child->getNextSibling()) { - menu->parseChildXML(child, parent, factory); + parseChildXML(child, parent); } if (create_jump_keys) { - menu->createJumpKeys(); + createJumpKeys(); } - return menu; } @@ -4776,7 +4792,7 @@ void LLContextMenu::initXML(LLXMLNodePtr node, LLView *context, LLUICtrlFactory } else { - parseChildXML(child, context, factory); + parseChildXML(child, context); } } } diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h index 7c3626d35..153479852 100644 --- a/indra/llui/llmenugl.h +++ b/indra/llui/llmenugl.h @@ -458,8 +458,9 @@ public: virtual ~LLMenuGL( void ); virtual LLXMLNodePtr getXML(bool save_children = true) const; static LLView* fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory); + void initMenuXML(LLXMLNodePtr node, LLView* parent); - void parseChildXML(LLXMLNodePtr child, LLView *parent, LLUICtrlFactory *factory); + void parseChildXML(LLXMLNodePtr child, LLView *parent); // LLView Functionality /*virtual*/ BOOL handleUnicodeCharHere( llwchar uni_char ); @@ -580,15 +581,17 @@ public: void resetScrollPositionOnShow(bool reset_scroll_pos) { mResetScrollPositionOnShow = reset_scroll_pos; } bool isScrollPositionOnShowReset() { return mResetScrollPositionOnShow; } protected: - friend class LLTextEditor; void createSpilloverBranch(); void cleanupSpilloverBranch(); + +public: // Add the menu item to this menu. virtual BOOL append( LLMenuItemGL* item ); // add a menu - this will create a cascading menu virtual BOOL appendMenu( LLMenuGL* menu ); +protected: // TODO: create accessor methods for these? typedef std::list< LLMenuItemGL* > item_list_t; item_list_t mItems; diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp index 2aa1b17ec..f46775f6f 100644 --- a/indra/llui/llscrolllistctrl.cpp +++ b/indra/llui/llscrolllistctrl.cpp @@ -59,8 +59,6 @@ static LLRegisterWidget r("scroll_list"); -std::vector LLScrollListCtrl::sMenus = {}; // List menus that recur, such as general avatars or groups menus - // local structures & classes. struct SortScrollListItem { @@ -314,7 +312,7 @@ std::vector LLScrollListCtrl::getAllSelected() const return ret; } -uuid_vec_t LLScrollListCtrl::getSelectedIDs() +uuid_vec_t LLScrollListCtrl::getSelectedIDs() const { uuid_vec_t ids; if (!getCanSelect()) return ids; @@ -1813,10 +1811,7 @@ BOOL LLScrollListCtrl::handleRightMouseDown(S32 x, S32 y, MASK mask) if (col->mHeader && col->mHeader->getRect().pointInRect(x,y)) // Right clicking a column header shouldn't bring up a menu return FALSE; } - gFocusMgr.setKeyboardFocus(this); // Menu listeners rely on this - mPopupMenu->buildDrawLabels(); - mPopupMenu->updateParent(LLMenuGL::sMenuContainer); - LLMenuGL::showPopup(this, mPopupMenu, x, y); + showMenu(this, mPopupMenu, x, y); return TRUE; } @@ -2749,10 +2744,11 @@ LLView* LLScrollListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFac LLSD columns; S32 index = 0; const std::string nodename(std::string(node->getName()->mString) + '.'); - const std::string kidcolumn(nodename + "columns"); + const std::string kidcolumns(nodename + "columns"); + const std::string kidcolumn(nodename + "column"); for (LLXMLNodePtr child = node->getFirstChild(); child.notNull(); child = child->getNextSibling()) { - if (child->hasName("column") || child->hasName(kidcolumn)) + if (child->hasName("column") || child->hasName("columns") || child->hasName(kidcolumn) || child->hasName(kidcolumns)) { std::string labelname(""); if (child->getAttributeString("label", labelname)) @@ -2832,9 +2828,10 @@ LLView* LLScrollListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFac bool explicit_column = false; for (LLXMLNodePtr row_child = child->getFirstChild(); row_child.notNull(); row_child = row_child->getNextSibling()) { - if (row_child->hasName("column")) + if (row_child->hasName("column") || row_child->hasName("columns")) { std::string value = row_child->getTextContents(); + row_child->getAttributeString("value", value); row["columns"][column_idx]["value"] = value; std::string columnname; diff --git a/indra/llui/llscrolllistctrl.h b/indra/llui/llscrolllistctrl.h index e52f41ee9..c09af350a 100644 --- a/indra/llui/llscrolllistctrl.h +++ b/indra/llui/llscrolllistctrl.h @@ -32,6 +32,7 @@ #include #include +#include "lfidbearer.h" #include "lluictrl.h" #include "llctrlselectioninterface.h" #include "llfontgl.h" @@ -48,6 +49,7 @@ class LLMenuGL; class LLScrollListCtrl : public LLUICtrl, public LLEditMenuHandler, public LLCtrlListInterface, public LLCtrlScrollInterface +, public LFIDBearer { public: typedef boost::function callback_t; @@ -194,13 +196,13 @@ public: // "StringUUID" interface: use this when you're creating a list that contains non-unique strings each of which // has an associated, unique UUID, and only one of which can be selected at a time. LLScrollListItem* addStringUUIDItem(const std::string& item_text, const LLUUID& id, EAddPosition pos = ADD_BOTTOM, BOOL enabled = TRUE); - LLUUID getStringUUIDSelectedItem() const; + LLUUID getStringUUIDSelectedItem() const override final; LLScrollListItem* getFirstSelected() const; virtual S32 getFirstSelectedIndex() const; std::vector getAllSelected() const; - uuid_vec_t getSelectedIDs(); //Helper. Much like getAllSelected, but just provides a LLUUID vec - S32 getNumSelected() const; + uuid_vec_t getSelectedIDs() const override final; //Helper. Much like getAllSelected, but just provides a LLUUID vec + S32 getNumSelected() const override final; LLScrollListItem* getLastSelectedItem() const { return mLastSelected; } // iterate over all items @@ -255,7 +257,6 @@ public: // support right-click context menus for avatar/group lists void setContextMenu(LLMenuGL* menu) { mPopupMenu = menu; } void setContextMenu(S32 index) { mPopupMenu = sMenus[index]; } - static void addCommonMenu(LLMenuGL* menu) { sMenus.push_back(menu); } // Overridden from LLView /*virtual*/ void draw(); @@ -468,8 +469,6 @@ private: class LLViewBorder* mBorder; LLMenuGL *mPopupMenu; - static std::vector sMenus; // List menus that recur, such as general avatars or groups menus - LLView *mCommentTextView; LLWString mSearchString; diff --git a/indra/llui/lltextbox.h b/indra/llui/lltextbox.h index 738ec3b06..27215a20c 100644 --- a/indra/llui/lltextbox.h +++ b/indra/llui/lltextbox.h @@ -113,6 +113,7 @@ private: void setLineLengths(); void drawText(S32 x, S32 y, const LLColor4& color ); +protected: LLUIString mText; const LLFontGL* mFontGL; LLColor4 mTextColor; diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp index 2e1c70baf..c4cdbbdf8 100644 --- a/indra/llui/lltexteditor.cpp +++ b/indra/llui/lltexteditor.cpp @@ -397,18 +397,20 @@ static LLTextEditor* get_focused_text_editor() return te; } -class ContextText : public LLMemberListener +class CopyRawText : public LLMemberListener { bool handleEvent(LLPointer, const LLSD& userdata) override { - auto text = get_focused_text_editor(); - const auto& op = userdata.asStringRef(); - if (op == "Cut") text->cut(); - else if (op == "Copy") text->copy(); - else if (op == "CopyRaw") text->copyRaw(); - else if (op == "Paste") text->paste(); - else if (op == "Delete") text->doDelete(); - else if (op == "SelectAll") text->selectAll(); + get_focused_text_editor()->copyRaw(); + return true; + } +}; + +class TextEditorVisible : public LLMemberListener +{ + bool handleEvent(LLPointer, const LLSD& userdata) override + { + LLMenuGL::sMenuContainer->findControl(userdata["control"].asString())->setValue(!!dynamic_cast(gFocusMgr.getKeyboardFocus())); return true; } }; @@ -583,7 +585,8 @@ void LLTextEditor::spell_add(void* data) //static void LLTextEditor::addMenuListeners(ext_slurl_cb cb, ext_slurl_visible_cb vcb) { - (new ContextText)->registerListener(LLMenuGL::sMenuContainer, "Text"); + (new CopyRawText)->registerListener(LLMenuGL::sMenuContainer, "CopyRawText"); + (new TextEditorVisible)->registerListener(LLMenuGL::sMenuContainer, "TextEditorVisible"); (new ContextUrl)->registerListener(LLMenuGL::sMenuContainer, "Text.Url"); (new ContextUrlCopy)->registerListener(LLMenuGL::sMenuContainer, "Text.Url.CopyUUID"); (new ContextUrlExt(cb))->registerListener(LLMenuGL::sMenuContainer, "Text.Url.Ext"); @@ -4352,7 +4355,7 @@ void LLTextEditor::appendTextImpl(const std::string &new_text, const LLStyleSP s if (mReadOnly && mParseHTML && !is_link) // Singu Note: Do not replace html if the user is going to edit it. (Like in profiles) { LL_RECORD_BLOCK_TIME(FTM_PARSE_HTML); - S32 start=0,end=0; + size_t start=0, end=0; LLUrlMatch match; auto append_substr = [&](const size_t& pos, const size_t& count) { diff --git a/indra/llui/lluictrlfactory.cpp b/indra/llui/lluictrlfactory.cpp index e41a8082a..d753b40e1 100644 --- a/indra/llui/lluictrlfactory.cpp +++ b/indra/llui/lluictrlfactory.cpp @@ -406,16 +406,16 @@ LLMenuGL *LLUICtrlFactory::buildMenu(const std::string &filename, LLView* parent LLXMLNodePtr root; LLMenuGL* menu; - if (!LLUICtrlFactory::getLayeredXMLNode(filename, root)) + if (!getLayeredXMLNode(filename, root)) { - return NULL; + return nullptr; } // root must be called panel - if( !root->hasName( "menu_bar" ) && !root->hasName( "menu" ) && !root->hasName("context_menu")) + if (!root->hasName("menu_bar") && !root->hasName("menu") && !root->hasName("context_menu")) { - LL_WARNS() << "Root node should be named menu bar or menu in : " << filename << LL_ENDL; - return NULL; + LL_WARNS() << "Root node should be named menu bar or menu in: " << filename << LL_ENDL; + return nullptr; } if (root->hasName("menu") || root->hasName("context_menu")) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index ae9e02c43..6a3f51baf 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -14,6 +14,7 @@ include(BuildBranding) include(CMakeCopyIfDifferent) include(DBusGlib) include(FMODSTUDIO) +include(GeneratePrecompiledHeader) include(GLOD) include(Hunspell) include(Json) @@ -349,6 +350,7 @@ set(viewer_SOURCE_FILES llnamebox.cpp llnameeditor.cpp llnamelistctrl.cpp + llnameui.cpp llnetmap.cpp llnotify.cpp lloutfitobserver.cpp @@ -886,6 +888,7 @@ set(viewer_HEADER_FILES llnamebox.h llnameeditor.h llnamelistctrl.h + llnameui.h llnetmap.h llnotify.h lloutfitobserver.h @@ -1234,19 +1237,6 @@ if (WINDOWS) endif (NVAPI) set_source_files_properties(llappviewerwin32.cpp PROPERTIES COMPILE_FLAGS "${APPVWRW32_COMPILE_FLAGS}") - # precompiled header configuration - # llviewerprecompiledheaders.cpp generates - # the .pch file. - # All sources added to viewer_SOURCE_FILES - # at this point use it. - if(USE_PRECOMPILED_HEADERS) - set_source_files_properties(llviewerprecompiledheaders.cpp - PROPERTIES - COMPILE_FLAGS "/Ycllviewerprecompiledheaders.h" - ) - list(APPEND viewer_SOURCE_FILES llviewerprecompiledheaders.cpp) - endif(USE_PRECOMPILED_HEADERS) - # Replace the icons with the appropriate ones for the channel # ('test' is the default) set(ICON_PATH "default") @@ -1451,6 +1441,12 @@ add_executable(${VIEWER_BINARY_NAME} ${viewer_SOURCE_FILES} ) +if(USE_PRECOMPILED_HEADERS) + target_precompiled_header(${VIEWER_BINARY_NAME} + ${CMAKE_CURRENT_SOURCE_DIR}/llviewerprecompiledheaders.h + ${CMAKE_CURRENT_SOURCE_DIR}/llviewerprecompiledheaders.cpp) +endif(USE_PRECOMPILED_HEADERS) + set(PACKAGE OFF CACHE BOOL "Add a package target that builds an installer package.") @@ -1465,15 +1461,17 @@ if (WINDOWS) LINK_FLAGS_RELWITHDEBINFO "${release_flags} ${EXTRA_LINKER_FLAGS_RELEASE}" ) - add_dependencies(${VIEWER_BINARY_NAME} generate_viewer_version) + if(GEN_IS_MULTI_CONFIG) + set(VIEWER_BUILD_DEST_DIR "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}") + set_target_properties(${VIEWER_BINARY_NAME} PROPERTIES + VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}") + else() + set(VIEWER_BUILD_DEST_DIR "${CMAKE_CURRENT_BINARY_DIR}/package") + set_target_properties(${VIEWER_BINARY_NAME} PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${VIEWER_BUILD_DEST_DIR}") + endif() - if(USE_PRECOMPILED_HEADERS) - set_target_properties( - ${VIEWER_BINARY_NAME} - PROPERTIES - COMPILE_FLAGS "/Yullviewerprecompiledheaders.h" - ) - endif(USE_PRECOMPILED_HEADERS) + add_dependencies(${VIEWER_BINARY_NAME} generate_viewer_version) # If adding a file to viewer_manifest.py in the WindowsManifest.construct() method, be sure to add the dependency # here. @@ -1488,7 +1486,6 @@ if (WINDOWS) set(GOOGLE_PERF_TOOLS_SOURCE ${SHARED_LIB_STAGING_DIR}/Release/libtcmalloc_minimal.dll ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/libtcmalloc_minimal.dll - ${SHARED_LIB_STAGING_DIR}/Debug/libtcmalloc_minimal-debug.dll ) endif(NOT DISABLE_TCMALLOC) @@ -1497,45 +1494,27 @@ if (WINDOWS) #${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libtcmalloc_minimal.dll => None ... Skipping libtcmalloc_minimal.dll ${CMAKE_SOURCE_DIR}/../etc/message.xml ${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg - ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/llcommon.dll - ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapr-1.dll - ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libaprutil-1.dll - ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapriconv-1.dll ${SHARED_LIB_STAGING_DIR}/Release/glod.dll ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/glod.dll - ${SHARED_LIB_STAGING_DIR}/Debug/glod.dll - ${SHARED_LIB_STAGING_DIR}/Release/openjpeg.dll - ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/openjpeg.dll - ${SHARED_LIB_STAGING_DIR}/Debug/openjpegd.dll - ${SHARED_LIB_STAGING_DIR}/Release/libhunspell.dll - ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/libhunspell.dll - ${SHARED_LIB_STAGING_DIR}/Debug/libhunspell.dll - ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/SLVoice.exe - ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxplatform.dll - ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/ca-bundle.crt + ${SHARED_LIB_STAGING_DIR}/Release/SLVoice.exe + ${SHARED_LIB_STAGING_DIR}/Release/vivoxplatform.dll ${GOOGLE_PERF_TOOLS_SOURCE} ${CMAKE_CURRENT_SOURCE_DIR}/licenses-win32.txt ${CMAKE_CURRENT_SOURCE_DIR}/featuretable.txt - ${CMAKE_CURRENT_SOURCE_DIR}/featuretable_xp.txt - ${ARCH_PREBUILT_DIRS_RELEASE}/libeay32.dll - ${ARCH_PREBUILT_DIRS_RELEASE}/ssleay32.dll - ${ARCH_PREBUILT_DIRS_DEBUG}/libeay32.dll - ${ARCH_PREBUILT_DIRS_DEBUG}/ssleay32.dll SLPlugin media_plugin_libvlc media_plugin_cef - windows-crash-logger ) if (ADDRESS_SIZE EQUAL 64) list(APPEND COPY_INPUT_DEPENDENCIES - ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxsdk_x64.dll - ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/ortp_x64.dll + ${SHARED_LIB_STAGING_DIR}/Release/vivoxsdk_x64.dll + ${SHARED_LIB_STAGING_DIR}/Release/ortp_x64.dll ) else (ADDRESS_SIZE EQUAL 64) list(APPEND COPY_INPUT_DEPENDENCIES - ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxsdk.dll - ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/ortp.dll + ${SHARED_LIB_STAGING_DIR}/Release/vivoxsdk.dll + ${SHARED_LIB_STAGING_DIR}/Release/ortp.dll ) endif (ADDRESS_SIZE EQUAL 64) @@ -1550,13 +1529,18 @@ if (WINDOWS) list(APPEND COPY_INPUT_DEPENDENCIES ${SHARED_LIB_STAGING_DIR}/Release/fmod.dll ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/fmod.dll - ${SHARED_LIB_STAGING_DIR}/Debug/fmodL.dll ) endif (WORD_SIZE EQUAL 64) endif (FMODSTUDIO) + if(MSVC_IDE) + set(VIEWER_BUILD_DEST_DIR "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}") + else() + set(VIEWER_BUILD_DEST_DIR "${CMAKE_CURRENT_BINARY_DIR}/packaged") + endif() + add_custom_command( - OUTPUT ${CMAKE_CFG_INTDIR}/copy_touched.bat + OUTPUT ${VIEWER_BUILD_DEST_DIR}/copy_touched.bat COMMAND ${PYTHON_EXECUTABLE} ARGS ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py @@ -1566,13 +1550,13 @@ if (WINDOWS) --branding_id=${VIEWER_BRANDING_ID} --build=${CMAKE_CURRENT_BINARY_DIR} --buildtype=${CMAKE_BUILD_TYPE} - --configuration=${CMAKE_CFG_INTDIR} - --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} + --configuration=${VIEWER_BUILD_DEST_DIR} + --dest=${VIEWER_BUILD_DEST_DIR} --grid=${GRID} --channel=${VIEWER_CHANNEL} --versionfile=${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt --source=${CMAKE_CURRENT_SOURCE_DIR} - --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/copy_touched.bat + --touch=${VIEWER_BUILD_DEST_DIR}/copy_touched.bat DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py generate_viewer_version @@ -1582,7 +1566,7 @@ if (WINDOWS) COMMENT "Performing viewer_manifest copy" ) - add_custom_target(copy_w_viewer_manifest ALL DEPENDS ${CMAKE_CFG_INTDIR}/copy_touched.bat) + add_custom_target(copy_w_viewer_manifest ALL DEPENDS ${VIEWER_BUILD_DEST_DIR}/copy_touched.bat) add_dependencies(${VIEWER_BINARY_NAME} stage_third_party_libs llcommon copy_w_viewer_manifest) @@ -1599,7 +1583,7 @@ if (WINDOWS) if (PACKAGE) add_custom_command( - OUTPUT ${CMAKE_CFG_INTDIR}/touched.bat + OUTPUT ${VIEWER_BUILD_DEST_DIR}/touched.bat COMMAND ${PYTHON_EXECUTABLE} ARGS ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py @@ -1610,11 +1594,11 @@ if (WINDOWS) --buildtype=${CMAKE_BUILD_TYPE} --channel=${VIEWER_CHANNEL} --versionfile=${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt - --configuration=${CMAKE_CFG_INTDIR} - --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} + --configuration=${VIEWER_BUILD_DEST_DIR} + --dest=${VIEWER_BUILD_DEST_DIR} --grid=${GRID} --source=${CMAKE_CURRENT_SOURCE_DIR} - --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat + --touch=${VIEWER_BUILD_DEST_DIR}/touched.bat DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py @@ -1623,7 +1607,7 @@ if (WINDOWS) ) add_custom_target(llpackage ALL DEPENDS - ${CMAKE_CFG_INTDIR}/touched.bat + ${VIEWER_BUILD_DEST_DIR}/touched.bat windows-setup-build-all ) endif (PACKAGE) @@ -1869,13 +1853,13 @@ if (PACKAGE) endif (LINUX) if(RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING) - if(CMAKE_CFG_INTDIR STREQUAL ".") + if(GEN_IS_MULTI_CONFIG) set(LLBUILD_CONFIG ${CMAKE_BUILD_TYPE}) - else(CMAKE_CFG_INTDIR STREQUAL ".") + else() # set LLBUILD_CONFIG to be a shell variable evaluated at build time # reflecting the configuration we are currently building. set(LLBUILD_CONFIG ${CMAKE_CFG_INTDIR}) - endif(CMAKE_CFG_INTDIR STREQUAL ".") + endif() add_custom_command(OUTPUT "${VIEWER_SYMBOL_FILE}" COMMAND "${PYTHON_EXECUTABLE}" ARGS diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index ea1506a5a..2b7e54597 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12685,7 +12685,10 @@ This should be as low as possible, but too low may break functionality AlwaysRenderFriends Comment - Always render friends regardless of max complexity, a value of 2 will only render friends + 0 - Render avatars with complexity below RenderAvatarMaxComplexity +1 - Always renders friends, regardless of max complexity +2 - Only renders friends +3 - Only renders self Persist 1 Type diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Absinthe%20Light%20.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Absinthe%20Light%20.xml new file mode 100644 index 000000000..31eb39ac2 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Absinthe%20Light%20.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.0799999237060547 + 0.98999994993209839 + 0.77999997138977051 + 1.0799999237060547 + + blue_density + + 0.64736837148666382 + 0.48414888978004456 + 0.81999999284744263 + 0.40999999642372131 + + blue_horizon + + 0.5 + 0.49548381567001343 + 0.45999997854232788 + 0.51999998092651367 + + cloud_color + + 0.4100000062111997 + 0.4100000062111997 + 0.4100000062111997 + 0.4100000062111997 + + cloud_pos_density1 + + 0.14000000059604645 + 0.62000000476837158 + 1 + 1 + + cloud_pos_density2 + + 0.35999998450279236 + 0.56999999284744263 + 0.12999999523162842 + 1 + + cloud_scale + + 0.35999998450279236 + 0 + 0 + 1.0000000149011612 + + cloud_scroll_rate + + 10.199999791580112 + 10.010999679880427 + + cloud_shadow + + 0.29999998211860657 + 0 + 0 + 1.0000000149011612 + + density_multiplier + + 7.9999997979030013e-005 + 0 + 0 + 1.0000000149011612 + + distance_multiplier + + 5.4000000953674316 + 0 + 0 + 1.0000000149011612 + + east_angle + 1.0932743549346924 + enable_cloud_scroll + + 1 + 1 + + gamma + + 2.1699998378753662 + 0 + 0 + 1.0000000149011612 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -0.55000001192092896 + 1 + + haze_density + + 0.31999999284744263 + 0 + 0 + 1 + + haze_horizon + + 0.17999999225139618 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.39627334475517273 + 0.89494067430496216 + -0.20505768060684204 + 0 + + max_y + + 805 + 0 + 0 + 1.0000000149011612 + + preset_num + 28 + star_brightness + 0.25999999046325684 + sun_angle + 2.0332944393157959 + sunlight_color + + 0.69882339239120483 + 0.8258824348449707 + 1.0799999237060547 + 0.35999998450279236 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Andi%20Light%20.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Andi%20Light%20.xml new file mode 100644 index 000000000..654652b52 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Andi%20Light%20.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1 + 2 + 2 + 1 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0 + 0 + 0 + 0 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0.99999994039535522 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 5.1599996368167922e-005 + 0 + 0 + 1 + + distance_multiplier + + 0.80000001192092896 + 0 + 0 + 1 + + east_angle + 3.091327428817749 + enable_cloud_scroll + + 1 + 1 + + gamma + + 0.69569998979568481 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -2.5 + 1 + + haze_density + + 3 + 0 + 0 + 1 + + haze_horizon + + 0.59999996423721313 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.0098020657896995544 + 0.9807855486869812 + 0.1948426365852356 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 1.7671445608139038 + sunlight_color + + 1.5 + 1.5 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Angles%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Angles%20Light%2001.xml new file mode 100644 index 000000000..fbb2272ff --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Angles%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.8235294818878174 + 1.2352941036224365 + 1.5411765575408936 + 0.60784316062927246 + + blue_density + + 1.2000000476837158 + 1.4039216041564941 + 1.6392157077789307 + 0.81960785388946533 + + blue_horizon + + 1.2000000476837158 + 1.4039216041564941 + 1.6392157077789307 + 0.81960785388946533 + + cloud_color + + 0 + 0 + 0 + 0 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0.96579998731613159 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 1 + 0 + 0 + 1 + + density_multiplier + + 0.00020660000154748559 + 0 + 0 + 1 + + distance_multiplier + + 6.2000002861022949 + 0 + 0 + 1 + + east_angle + 0.29530972242355347 + enable_cloud_scroll + + 1 + 1 + + gamma + + 0.95649999380111694 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 2.059999942779541 + 0 + 0 + 1 + + haze_horizon + + 0.5 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.268882155418396 + 0.38268527388572693 + -0.88388597965240479 + 0 + + max_y + + 788 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0.1029166579246521 + sun_angle + 2.7488915920257568 + sunlight_color + + 1.5 + 1.5 + 1.5 + 0.5 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%20%2008.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%20%2008.xml new file mode 100644 index 000000000..268ea125f --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%20%2008.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1 + 1 + 1 + 0.5 + + blue_horizon + + 1 + 1 + 1 + 0.5 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 0.5 + 0.5 + 0.76829999685287476 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.059000000357627869 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940033104544 + 10.011000058908452 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00025079998886212707 + 0 + 0 + 1 + + distance_multiplier + + 14 + 0 + 0 + 1 + + east_angle + 0.19477875530719757 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 16.80000114440918 + 0.0010000000474974513 + -0.59999996423721313 + 1 + + haze_density + + 1.1499999761581421 + 0 + 0 + 1 + + haze_horizon + + 0.17000000178813934 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.14745019376277924 + 0.64778679609298706 + 0.74741601943969727 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 1.7856996059417725 + sun_angle + 0.70467567443847656 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2001.xml new file mode 100644 index 000000000..268ea125f --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1 + 1 + 1 + 0.5 + + blue_horizon + + 1 + 1 + 1 + 0.5 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 0.5 + 0.5 + 0.76829999685287476 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.059000000357627869 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940033104544 + 10.011000058908452 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00025079998886212707 + 0 + 0 + 1 + + distance_multiplier + + 14 + 0 + 0 + 1 + + east_angle + 0.19477875530719757 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 16.80000114440918 + 0.0010000000474974513 + -0.59999996423721313 + 1 + + haze_density + + 1.1499999761581421 + 0 + 0 + 1 + + haze_horizon + + 0.17000000178813934 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.14745019376277924 + 0.64778679609298706 + 0.74741601943969727 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 1.7856996059417725 + sun_angle + 0.70467567443847656 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2002.xml new file mode 100644 index 000000000..130571e2a --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1 + 1 + 1 + 0.5 + + blue_horizon + + 1 + 1 + 1 + 0.5 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 0.5 + 0.5 + 0.76829999685287476 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.059000000357627869 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940033104544 + 10.011000058908452 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00025079998886212707 + 0 + 0 + 1 + + distance_multiplier + + 14 + 0 + 0 + 1 + + east_angle + 0.19477875530719757 + enable_cloud_scroll + + 1 + 1 + + gamma + + 3.3912999629974365 + 0 + 0 + 1 + + glow + + 16.80000114440918 + 0.0010000000474974513 + -0.59999996423721313 + 1 + + haze_density + + 1.1499999761581421 + 0 + 0 + 1 + + haze_horizon + + 0.17000000178813934 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.14745019376277924 + 0.64778679609298706 + 0.74741601943969727 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 1.7856996059417725 + sun_angle + 0.70467567443847656 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2003.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2003.xml new file mode 100644 index 000000000..676f1a780 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2003.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.15000000596046448 + 0.15000000596046448 + 0.15000000596046448 + 0.05000000074505806 + + blue_density + + 1 + 1 + 1 + 0.5 + + blue_horizon + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + cloud_color + + 0 + 0 + 0 + 0 + + cloud_pos_density1 + + 0.93999999761581421 + 0.22999998927116394 + 0.38409999012947083 + 1 + + cloud_pos_density2 + + 1 + 0.50999999046325684 + 1 + 1 + + cloud_scale + + 0.31279999017715454 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0.43999999761581421 + 0 + 0 + 1 + + density_multiplier + + 7.3799994424916804e-005 + 0 + 0 + 1 + + distance_multiplier + + 13.199999809265137 + 0 + 0 + 1 + + east_angle + 1.9477875232696533 + enable_cloud_scroll + + 0 + 0 + + gamma + + 1.3999999761581421 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0.69999998807907104 + 0 + 0 + 1 + + haze_horizon + + 0.26999998092651367 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.51655691862106323 + 0.83146905899047852 + -0.20451940596103668 + 0 + + max_y + + 242 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.98174667358398438 + sunlight_color + + 2.6999998092651367 + 2.6999998092651367 + 2.6999998092651367 + 0.89999997615814209 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2004.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2004.xml new file mode 100644 index 000000000..fa71d78f4 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2004.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + blue_horizon + + 2 + 2 + 2 + 1 + + cloud_color + + 0.22615529217625469 + 0.22615529217625469 + 0.22615529217625469 + 0.99999702096404042 + + cloud_pos_density1 + + 0.5 + 0.5 + 0.88000003558816353 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940033104544 + 10.011000058908452 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.0003761999832931906 + 0 + 0 + 1 + + distance_multiplier + + 31.80000114440918 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.3999996185302734 + 0.0010000000474974513 + -0.74999994039535522 + 1 + + haze_density + + 3.6292644654378239 + 0 + 0 + 1 + + haze_horizon + + 0.017144030545153739 + 0.19915600403562983 + 0.19915600403562983 + 1 + + lightnorm + + 0 + 0.29445916414260864 + -0.95566403865814209 + 0 + + max_y + + 869.42607640502217 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 1.7856996059417725 + sun_angle + 2.842703104019165 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2005.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2005.xml new file mode 100644 index 000000000..df9427703 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2005.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.1875 + 0.1875 + 0.1875 + 0.0625 + + blue_density + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + blue_horizon + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0.44999998807907104 + 0 + 0 + 1 + + density_multiplier + + 0.00013000000035390258 + 0 + 0 + 1 + + distance_multiplier + + 21.700000762939453 + 0 + 0 + 1 + + east_angle + 1.9477875232696533 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.3999999761581421 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0.69999998807907104 + 0 + 0 + 1 + + haze_horizon + + 0.20999999344348907 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.51655691862106323 + 0.83146905899047852 + -0.20451940596103668 + 0 + + max_y + + 242 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.98174667358398438 + sunlight_color + + 2.6999998092651367 + 2.6999998092651367 + 2.6999998092651367 + 0.89999997615814209 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2006.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2006.xml new file mode 100644 index 000000000..d0ba4bb02 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2006.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.1875 + 0.1875 + 0.1875 + 0.0625 + + blue_density + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + blue_horizon + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 0.99409997463226318 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.49579998850822449 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.70001220703125 + 10.01099967956543 + + cloud_shadow + + 0.29999998211860657 + 0 + 0 + 1 + + density_multiplier + + 0.00015750000602565706 + 0 + 0 + 1 + + distance_multiplier + + 4.5999999046325684 + 0 + 0 + 1 + + east_angle + 1.9477875232696533 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.3999999761581421 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 1.7400000095367432 + 0 + 0 + 1 + + haze_horizon + + 0.070000000298023224 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.51655691862106323 + 0.83146905899047852 + -0.20451940596103668 + 0 + + max_y + + 11 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.98174667358398438 + sunlight_color + + 2.6999998092651367 + 2.6999998092651367 + 2.6999998092651367 + 0.89999997615814209 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2007.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2007.xml new file mode 100644 index 000000000..f62fe8cd0 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2007.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 0.5 + 0.5 + 0.76829999685287476 + 1 + + cloud_pos_density2 + + 1 + 1 + 0 + 1 + + cloud_scale + + 0.00039999998989515007 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940033104544 + 10.011000058908452 + + cloud_shadow + + 0.19999998807907104 + 0 + 0 + 1 + + density_multiplier + + 0.0010865998920053244 + 0 + 0 + 1 + + distance_multiplier + + 1000 + 0 + 0 + 1 + + east_angle + 1.5016813278198242 + enable_cloud_scroll + + 1 + 1 + + gamma + + 0.17999999225139618 + 0 + 0 + 1 + + glow + + 40 + 0.0010000000474974513 + -10 + 1 + + haze_density + + 5 + 0 + 0 + 1 + + haze_horizon + + 5 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.97396135330200195 + 0.21645671129226685 + -0.067422725260257721 + 0 + + max_y + + 2077 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 0 + sun_angle + 2.9234089851379395 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2008.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2008.xml new file mode 100644 index 000000000..4ecf8c2a6 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2008.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0.39999997615814209 + 0.39999997615814209 + 0.39999997615814209 + 0.19999998807907104 + + blue_horizon + + 1 + 1 + 1 + 0.5 + + cloud_color + + 0.22617273092134837 + 0.2261830306064212 + 0.22618354559006093 + 1 + + cloud_pos_density1 + + 0.5 + 0.5 + 1 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.12499716758729562 + 1 + + cloud_scale + + 0.22999998927116394 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.499370784775238 + 10.011009025563908 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00089999998454004526 + 0 + 0 + 1 + + distance_multiplier + + 100 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 0 + 0 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + 0 + 1 + + haze_density + + 0.5 + 0 + 0 + 1 + + haze_horizon + + 0.32999998331069946 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 1 + -4.3711388286737929e-008 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 0 + sun_angle + 1.5707963705062866 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2009.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2009.xml new file mode 100644 index 000000000..1a9ebda49 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2009.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1.5 + 1.5 + 1.5 + 0.75 + + blue_horizon + + 1.5 + 1.5 + 1.5 + 0.75 + + cloud_color + + 1 + 1 + 1 + 1 + + cloud_pos_density1 + + 0.95999997854232788 + 0.31000000238418579 + 0.34149998426437378 + 1 + + cloud_pos_density2 + + 1 + 1 + 0 + 1 + + cloud_scale + + 0.026399999856948853 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940033104544 + 10.011000058908452 + + cloud_shadow + + 0.29999998211860657 + 0 + 0 + 1 + + density_multiplier + + 0.00018439999257680029 + 0 + 0 + 1 + + distance_multiplier + + 9.3000001907348633 + 0 + 0 + 1 + + east_angle + 0.78539818525314331 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 15.799999237060547 + 0.0010000000474974513 + -0.74999994039535522 + 1 + + haze_density + + 1.5299999713897705 + 0 + 0 + 1 + + haze_horizon + + 0.12999999523162842 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.64968371391296387 + 0.39474311470985413 + 0.64968371391296387 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 2 + sun_angle + 0.40578824281692505 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2010.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2010.xml new file mode 100644 index 000000000..0dac49355 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2010.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 0.5 + 0.5 + 0.76829999685287476 + 1 + + cloud_pos_density2 + + 1 + 1 + 0 + 1 + + cloud_scale + + 0.00039999998989515007 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940033104544 + 10.011000058908452 + + cloud_shadow + + 0.18999999761581421 + 0 + 0 + 1 + + density_multiplier + + 0.001574800000526011 + 0 + 0 + 1 + + distance_multiplier + + 1083.300048828125 + 0 + 0 + 1 + + east_angle + 1.5016813278198242 + enable_cloud_scroll + + 1 + 1 + + gamma + + 0.20999999344348907 + 0 + 0 + 1 + + glow + + 100 + 0.0010000000474974513 + -25 + 1 + + haze_density + + 1.0070000886917114 + 0 + 0 + 1 + + haze_horizon + + 5.0410003662109375 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.97396135330200195 + 0.21645671129226685 + -0.067422725260257721 + 0 + + max_y + + 100000 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 0 + sun_angle + 2.9234089851379395 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2011.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2011.xml new file mode 100644 index 000000000..491a9eeb6 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2011.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00036219999310560524 + 0 + 0 + 1 + + distance_multiplier + + 9.3000001907348633 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 2.1599998474121094 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 1.3799999952316284 + 0 + 0 + 1 + + haze_horizon + + 0.11999999731779099 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 1 + -4.3711388286737929e-008 + 0 + + max_y + + 45 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 1.5707963705062866 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2012.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2012.xml new file mode 100644 index 000000000..4e10ae8a9 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2012.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00074019999010488391 + 0 + 0 + 1 + + distance_multiplier + + 10.199999809265137 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 10 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -0.64999938011169434 + 1 + + haze_density + + 1.4499999284744263 + 0 + 0 + 1 + + haze_horizon + + 0.11999999731779099 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 0.81158280372619629 + -0.58423745632171631 + 0 + + max_y + + 1846 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 2.1947364807128906 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2013.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2013.xml new file mode 100644 index 000000000..655502438 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20B%2FW%20Light%2013.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 0.5 + 0.5 + 0 + 1 + + cloud_pos_density2 + + 1 + 1 + 0 + 1 + + cloud_scale + + 0 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940033104544 + 10.011000058908452 + + cloud_shadow + + 0.1983799934387207 + 0 + 0 + 1 + + density_multiplier + + 0.00074799999129027128 + 0 + 0 + 1 + + distance_multiplier + + 163.80000305175781 + 0 + 0 + 1 + + east_angle + 1.5016813278198242 + enable_cloud_scroll + + 1 + 1 + + gamma + + 0.17999999225139618 + 0 + 0 + 1 + + glow + + 100 + 0.0010000000474974513 + -25 + 1 + + haze_density + + 0.33600002527236938 + 0 + 0 + 1 + + haze_horizon + + 5.0370001792907715 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.97396135330200195 + 0.21645671129226685 + -0.067422725260257721 + 0 + + max_y + + 100000 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 0 + sun_angle + 2.9234089851379395 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Boken%20Lines%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Boken%20Lines%20Light%2001.xml new file mode 100644 index 000000000..8b1a001b1 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Boken%20Lines%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 2 + 2 + 2 + 1 + + cloud_color + + 0 + 0 + 0 + 0 + + cloud_pos_density1 + + 0.5 + 0.5 + 0 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.34000000357627869 + 1 + + cloud_scale + + 0 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940033104544 + 10.011000058908452 + + cloud_shadow + + -0.485443115234375 + 0 + 0 + 1 + + density_multiplier + + 3.9400001696776599e-005 + 0 + 0 + 1 + + distance_multiplier + + 10000 + 0 + 0 + 1 + + east_angle + 0.19477875530719757 + enable_cloud_scroll + + 0 + 0 + + gamma + + 9.25 + 0 + 0 + 1 + + glow + + 16.80000114440918 + 0.0010000000474974513 + -0.59999996423721313 + 1 + + haze_density + + 0 + 0 + 0 + 1 + + haze_horizon + + 0 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.14745019376277924 + 0.64778679609298706 + 0.74741601943969727 + 0 + + max_y + + 4 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 0 + sun_angle + 0.70467567443847656 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Breakwave%20Building%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Breakwave%20Building%20Light.xml new file mode 100644 index 000000000..0fadd9c75 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Breakwave%20Building%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1 + 1 + 1 + 0.5 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 1 + 1 + 1 + 1 + + cloud_pos_density1 + + 0.37000000476837158 + 0.79999995231628418 + 0.12429999560117722 + 1 + + cloud_pos_density2 + + 0.97999995946884155 + 0.70999997854232788 + 0.049999997019767761 + 1 + + cloud_scale + + 0.17359998822212219 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0.47300004959106445 + 0 + 0 + 1 + + density_multiplier + + 9.4499999249819666e-005 + 0 + 0 + 1 + + distance_multiplier + + 39.400001525878906 + 0 + 0 + 1 + + east_angle + 5.4852209091186523 + enable_cloud_scroll + + 0 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 0.070000000298023224 + 0 + 0 + 1 + + haze_horizon + + 0.17999999225139618 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.47905999422073364 + 0.74313849210739136 + 0.46716883778572083 + 0 + + max_y + + 3615 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0.1029166579246521 + sun_angle + 0.83774858713150024 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Build%20002%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Build%20002%20Light.xml new file mode 100644 index 000000000..de207f503 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Build%20002%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.15000000596046448 + 0.15000000596046448 + 0.15000000596046448 + 0.05000000074505806 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.75 + 0.75 + 0.75 + 0.75 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0 + 0 + 0 + 1 + + distance_multiplier + + 0 + 0 + 0 + 1 + + east_angle + 3.0473451614379883 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.4199999570846558 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + 2.4000000953674316 + 1 + + haze_density + + 5 + 0 + 0 + 1 + + haze_horizon + + 5 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.083091713488101959 + 0.46948650479316711 + 0.87902116775512695 + 0 + + max_y + + 6538 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 500 + sun_angle + 2.6528835296630859 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Build%20003%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Build%20003%20Light.xml new file mode 100644 index 000000000..5f4bc38dd --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Build%20003%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1 + 1 + 1 + 0.5 + + blue_horizon + + 0.45819997787475586 + 0.51910001039505005 + 0.70179998874664307 + 0.35089999437332153 + + cloud_color + + 1 + 1 + 1 + 1 + + cloud_pos_density1 + + 0.78999996185302734 + 0.85999995470046997 + 0.76330000162124634 + 1 + + cloud_pos_density2 + + 0.97999995946884155 + 0.70999997854232788 + 0 + 1 + + cloud_scale + + 0.39659997820854187 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0.43999999761581421 + 0 + 0 + 1 + + density_multiplier + + 9.4499999249819666e-005 + 0 + 0 + 1 + + distance_multiplier + + 39.400001525878906 + 0 + 0 + 1 + + east_angle + 2.670353889465332 + enable_cloud_scroll + + 0 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 0.070000000298023224 + 0 + 0 + 1 + + haze_horizon + + 0.17999999225139618 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.30378204584121704 + 0.74313849210739136 + -0.59620606899261475 + 0 + + max_y + + 3615 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0.1029166579246521 + sun_angle + 0.83774858713150024 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Build%20005%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Build%20005%20Light.xml new file mode 100644 index 000000000..7d1102346 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Build%20005%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.2899999618530273 + 1.2899999618530273 + 1.2899999618530273 + 0.43000000715255737 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.75 + 0.75 + 0.75 + 0.75 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0 + 0 + 0 + 1 + + distance_multiplier + + 0 + 0 + 0 + 1 + + east_angle + 0.60946899652481079 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + 2.4000000953674316 + 1 + + haze_density + + 5 + 0 + 0 + 1 + + haze_horizon + + 5 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.36985558271408081 + 0.76324218511581421 + -0.5297812819480896 + 0 + + max_y + + 6538 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 500 + sun_angle + 2.2732763290405273 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Build%20007%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Build%20007%20Light.xml new file mode 100644 index 000000000..06034997f --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Build%20007%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.17999999225139618 + 0.17999999225139618 + 0.17999999225139618 + 0.059999998658895493 + + blue_density + + 1.5 + 1.5 + 1.5 + 0.75 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0 + 0 + 0 + 0 + + cloud_pos_density1 + + 0.93999999761581421 + 0.22999998927116394 + 0.38409999012947083 + 1 + + cloud_pos_density2 + + 1 + 0.50999999046325684 + 1 + 1 + + cloud_scale + + 0.31279999017715454 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0 + 0 + 0 + 1 + + distance_multiplier + + 0 + 0 + 0 + 1 + + east_angle + 4.3416814804077148 + enable_cloud_scroll + + 0 + 0 + + gamma + + 2.6099998950958252 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0 + 0 + 0 + 1 + + haze_horizon + + 0 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.6760907769203186 + 0.68836575746536255 + 0.26278114318847656 + 0 + + max_y + + 242 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 2.3823590278625488 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Cafe%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Cafe%20Light%2001.xml new file mode 100644 index 000000000..7c10c0df4 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Cafe%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0.12089811412885521 + 0.33770671695460663 + 0.67541757891583387 + 0.76708334654569654 + + blue_horizon + + 0.13497034943045882 + 0.26690842067701936 + 0.4016666400432598 + 0.74541666984558219 + + cloud_color + + 0.625 + 0.625 + 0.875 + 0.875 + + cloud_pos_density1 + + 0.47999998927116394 + 0.97999995946884155 + 0.14630000293254852 + 1 + + cloud_pos_density2 + + 1 + 1 + 0.070000000298023224 + 1 + + cloud_scale + + 0.22280000150203705 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0.5 + 0 + 0 + 1 + + density_multiplier + + 0.00028125001798306321 + 0 + 0 + 1 + + distance_multiplier + + 6.3874998847643383 + 0 + 0 + 1 + + east_angle + 3.5185837745666504 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.0900000333786011 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 0.51583333298563971 + 0 + 0 + 1 + + haze_horizon + + 0.13833333183079954 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.28709480166435242 + 0.6259227991104126 + -0.72511875629425049 + 0 + + max_y + + 685.18749099969864 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 2 + sun_angle + 0.67631423473358154 + sunlight_color + + 0 + 0 + 0 + 0 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Calima%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Calima%20Light%2001.xml new file mode 100644 index 000000000..8cdc45ec0 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Calima%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.21000000834465027 + 0.21000000834465027 + 0.21000000834465027 + 0.070000000298023224 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 2 + 2 + 2 + 1 + + cloud_color + + 0.28666070103645325 + 0.28666070103645325 + 0.28666070103645325 + 0.28666070103645325 + + cloud_pos_density1 + + 0.17999999225139618 + 0.50999999046325684 + 0.91949393667753065 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 1.437999963760376 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.400862650389627 + 10.01099967956543 + + cloud_shadow + + -0.27299976348876953 + 0 + 0 + 1 + + density_multiplier + + 0.011666699312627316 + 0 + 0 + 1 + + distance_multiplier + + 0.10000000149011612 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 10 + 0 + 0 + 1 + + glow + + 22.000003814697266 + 0.0010000000474974513 + -7.5 + 1 + + haze_density + + 0.33600002527236938 + 0 + 0 + 1 + + haze_horizon + + 11.530000686645508 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 0.35022372007369995 + -0.93666607141494751 + 0 + + max_y + + 0 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 0 + sun_angle + 2.7837827205657959 + sunlight_color + + 0.32999998331069946 + 0.32999998331069946 + 0.32999998331069946 + 0.10999999940395355 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Charolotte%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Charolotte%20Light.xml new file mode 100644 index 000000000..623c258f5 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Charolotte%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 2 + 2 + 2 + 1 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.0006399999838322401 + 0 + 0 + 1 + + distance_multiplier + + 100 + 0 + 0 + 1 + + east_angle + 2.6515045166015625 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.3042999505996704 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -2.5 + 1 + + haze_density + + 4 + 0 + 0 + 1 + + haze_horizon + + 1 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.063475340604782104 + 0.99086576700210571 + -0.11897877603769302 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 1.4355322122573853 + sunlight_color + + 3 + 0 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Cloud%20Credit%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Cloud%20Credit%20Light.xml new file mode 100644 index 000000000..baab0d39e --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Cloud%20Credit%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 3 + 3 + 3 + 1 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 1 + 1 + 1 + 1 + + cloud_pos_density1 + + 0.95999997854232788 + 0.17999999225139618 + 0.12429999560117722 + 1 + + cloud_pos_density2 + + 1 + 0.5899999737739563 + 0 + 1 + + cloud_scale + + 0.074400000274181366 + 0 + 0 + 1 + + cloud_scroll_rate + + 76.100006103515625 + 10.70001220703125 + + cloud_shadow + + 0.29999998211860657 + 0 + 0 + 1 + + density_multiplier + + 0 + 0 + 0 + 1 + + distance_multiplier + + 0 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 0 + 0 + + gamma + + 7.8399996757507324 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + 0.64999997615814209 + 1 + + haze_density + + 0 + 0 + 0 + 1 + + haze_horizon + + 0 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 0.8508676290512085 + -0.52538013458251953 + 0 + + max_y + + 0 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 2.1239581108093262 + sunlight_color + + 0 + 0 + 0 + 0 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Cloud%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Cloud%20Light%2001.xml new file mode 100644 index 000000000..d0456f444 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Cloud%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.5 + 0.5 + 1 + 1 + + cloud_pos_density1 + + 0.95999997854232788 + 0.31000000238418579 + 3 + 1 + + cloud_pos_density2 + + 1 + 1 + 0.71999996900558472 + 1 + + cloud_scale + + 0.2231999933719635 + 0 + 0 + 1 + + cloud_scroll_rate + + 18.5 + -3 + + cloud_shadow + + 0.15999999642372131 + 0 + 0 + 1 + + density_multiplier + + 3.299999889350147e-006 + 0 + 0 + 1 + + distance_multiplier + + 0 + 0 + 0 + 1 + + east_angle + 3.1855752468109131 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 15.799999237060547 + 0.0010000000474974513 + -0.74999994039535522 + 1 + + haze_density + + 0 + 0 + 0 + 1 + + haze_horizon + + 4.8899998664855957 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.040397927165031433 + 0.39473667740821838 + -0.91790574789047241 + 0 + + max_y + + 385 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 500 + sun_angle + 0.40578123927116394 + sunlight_color + + 0 + 0 + 0 + 0 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dead%20End%20Sky%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dead%20End%20Sky%2001.xml new file mode 100644 index 000000000..53a9cad03 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dead%20End%20Sky%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.83636385202407837 + 1.0036364793777466 + 1.3799998760223389 + 0.45999997854232788 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 2 + 0 + 0 + 1 + + cloud_color + + 0 + 0 + 0 + 0 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 0.87999999523162842 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.0099999997764825821 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.510000228881836 + 10.01099967956543 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00018999999156221747 + 0 + 0 + 1 + + distance_multiplier + + 56.700000762939453 + 0 + 0 + 1 + + east_angle + 4.7123889923095703 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.1499999761581421 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0.11999999731779099 + 0 + 0 + 1 + + haze_horizon + + 0.25 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.98078560829162598 + 0.19508861005306244 + 1.1695751034324076e-008 + 1 + + max_y + + 906 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 2 + sun_angle + 3.3379404544830322 + sunlight_color + + 0.59999996423721313 + 0.59999996423721313 + 1.1399999856948853 + 1.1399999856948853 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dorm%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dorm%20Light%2001.xml new file mode 100644 index 000000000..f4a22b8a2 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dorm%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.26250001788139343 + 0.3031250536441803 + 0.75 + 0.25 + + blue_density + + 1 + 0.5 + 0 + 0.5 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.23999999463558197 + 0.4699999988079071 + 0.31999999284744263 + 0.4699999988079071 + + cloud_pos_density1 + + 0.48999997973442078 + 0.50999999046325684 + 0.74000000953674316 + 1 + + cloud_pos_density2 + + 0.44999998807907104 + 0.5 + 0.14000000059604645 + 1 + + cloud_scale + + 0.32999998331069946 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0.37999999523162842 + 0 + 0 + 1 + + density_multiplier + + 7.3799994424916804e-005 + 0 + 0 + 1 + + distance_multiplier + + 41.100002288818359 + 0 + 0 + 1 + + east_angle + 2.4064600467681885 + enable_cloud_scroll + + 0 + 0 + + gamma + + 3.2173998355865479 + 0 + 0 + 1 + + glow + + 12 + 0.0010000000474974513 + -0.59999996423721313 + 1 + + haze_density + + 1.3500000238418579 + 0 + 0 + 1 + + haze_horizon + + 0.15999999642372131 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.67022424936294556 + 0.037081710994243622 + 0.74123167991638184 + 0 + + max_y + + 0 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 1.0099999904632568 + sun_angle + 3.1045024394989014 + sunlight_color + + 2.5799999237060547 + 2.4411697387695313 + 2.4411697387695313 + 0.86000001430511475 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dream%20Book%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dream%20Book%20Light%2001.xml new file mode 100644 index 000000000..278ce095d --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dream%20Book%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.031499996781349182 + 0.15789999067783356 + 0.26850000023841858 + 0.089500002562999725 + + blue_density + + 0 + 1.3200000524520874 + 1.3199996948242188 + 0.6600000262260437 + + blue_horizon + + 0 + 0.79687511920928955 + 0.79687494039535522 + 0.39843755960464478 + + cloud_color + + 0.2481999397277832 + 0.60211998224258423 + 0.91180002689361572 + 0.91180002689361572 + + cloud_pos_density1 + + 0.69999998807907104 + 0.19999998807907104 + 1.2249000072479248 + 1 + + cloud_pos_density2 + + 0.70999997854232788 + 0.84999996423721313 + 0.35999998450279236 + 1 + + cloud_scale + + 0.29760000109672546 + 0 + 0 + 1 + + cloud_scroll_rate + + 11.70001220703125 + 10.01099967956543 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00014170000213198364 + 0 + 0 + 1 + + distance_multiplier + + 6.5 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 0 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 32.599998474121094 + 0.0010000000474974513 + -5.0500001907348633 + 1 + + haze_density + + 1.5999999046325684 + 0 + 0 + 1 + + haze_horizon + + 0.38999998569488525 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 1 + -4.8876205482883961e-007 + 1 + + max_y + + 2769 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 500 + sun_angle + 4.7123894691467285 + sunlight_color + + 0.34876692295074463 + 0.35574248433113098 + 0.65999996662139893 + 0.2199999988079071 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dream%20Book%20Light%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dream%20Book%20Light%2002.xml new file mode 100644 index 000000000..d0ef3494c --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dream%20Book%20Light%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.99101096746882478 + 0.90569759047448506 + 0.94676920768410944 + 0.33033699762952112 + + blue_density + + 0.15949166061381881 + 0.44534921175553777 + 0.78703662568265287 + 0.78703662568265287 + + blue_horizon + + 0.45808683258190275 + 0.46276614028103857 + 0.64592672496531911 + 0.38195237578970165 + + cloud_color + + 0.33464740594394182 + 0.33464740594394182 + 0.33464740594394182 + 0.52483933184657472 + + cloud_pos_density1 + + 0.17999999225139618 + 0.50999999046325684 + 0.97050554401449818 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.41999997879515621 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.273588712934393 + 10.010999679568112 + + cloud_shadow + + 0.34000000357627869 + 0 + 0 + 1 + + density_multiplier + + 0.00028814651401716849 + 0 + 0 + 1 + + distance_multiplier + + 16.30000114440918 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.0002455048624084 + 0.001 + -0.4800002433233434 + 1 + + haze_density + + 0.6606740078475033 + 0 + 0 + 1 + + haze_horizon + + 0.18262636689842734 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 0.99904829263687134 + -0.043617993593215942 + 0 + + max_y + + 1348.8893615007401 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 0 + sun_angle + 1.6144281625747681 + sunlight_color + + 1.1362672142439687 + 1.1719930547447106 + 1.2613076522878659 + 0.42043587660352916 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dream%20Book%20Light%2003.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dream%20Book%20Light%2003.xml new file mode 100644 index 000000000..d484dbf8f --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dream%20Book%20Light%2003.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.0298734564795637 + 0.88898782567135015 + 0.88898782567135015 + 0.79949215426478126 + + blue_density + + 0.17798297054824247 + 0.41603360580930904 + 0.78683667783050026 + 0.79594799064391797 + + blue_horizon + + 0.23530982264376704 + 0.30629670960041322 + 0.37835530224478614 + 0.77620100618916932 + + cloud_color + + 0.2866606875510479 + 0.2866606875510479 + 0.2866606875510479 + 0.80582145952723883 + + cloud_pos_density1 + + 0.17999999225139618 + 0.50999999046325684 + 0.91949393667753065 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.41999998688697698 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.400862650389627 + 10.01099967956543 + + cloud_shadow + + 0.34000000357627869 + 0 + 0 + 1 + + density_multiplier + + 0.00036784747657809082 + 0 + 0 + 1 + + distance_multiplier + + 0.93417677079577877 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0.69999998807907104 + 0 + 0 + 1 + + haze_horizon + + 0.16987348178519687 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 0.30417308211326599 + -0.95261681079864502 + 0 + + max_y + + 905.60360267758369 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 0 + sun_angle + 2.8325223922729492 + sunlight_color + + 2.1459913660813905 + 2.1615810746477075 + 2.2005553460635001 + 0.76961867816836427 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dream%20Book%20Light%2004.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dream%20Book%20Light%2004.xml new file mode 100644 index 000000000..2de71161f --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Dream%20Book%20Light%2004.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.99101096746882478 + 0.90569759047448506 + 0.94676920768410944 + 0.33033699762952112 + + blue_density + + 0.15949166061381881 + 0.44534921175553777 + 0.78703662568265287 + 0.78703662568265287 + + blue_horizon + + 0.45808683258190275 + 0.46276614028103857 + 0.64592672496531911 + 0.38195237578970165 + + cloud_color + + 1 + 1 + 1 + 1 + + cloud_pos_density1 + + 0.17999999225139618 + 0.50999999046325684 + 0.97050554401449818 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.41999997879515621 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.273588712934393 + 10.010999679568112 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00033999999868683517 + 0 + 0 + 1 + + distance_multiplier + + 31 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.0002455711364746 + 0.0010000000474974513 + -0.74999994039535522 + 1 + + haze_density + + 1.059999942779541 + 0 + 0 + 1 + + haze_horizon + + 0.42999997735023499 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 0.99904829263687134 + -0.043617993593215942 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 0 + sun_angle + 1.6144281625747681 + sunlight_color + + 1.1362672142439687 + 1.1719930547447106 + 1.2613076522878659 + 0.42043587660352916 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Epi%20Vintage%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Epi%20Vintage%20Light.xml new file mode 100644 index 000000000..1bb93ec23 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Epi%20Vintage%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.29999998211860657 + 0.17999999225139618 + 0 + 0.099999994039535522 + + blue_density + + 0.97999995946884155 + 0.97999995946884155 + 0.97999995946884155 + 0.48999997973442078 + + blue_horizon + + 0.31999999284744263 + 0.31999999284744263 + 0.31999999284744263 + 0.15999999642372131 + + cloud_color + + 0.50999999046325684 + 0.50999999046325684 + 0.50999999046325684 + 1 + + cloud_pos_density1 + + 0.5 + 0.5 + 1 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.079999998211860657 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0.25999999046325684 + 0 + 0 + 1 + + density_multiplier + + 0.00031000000308267772 + 0 + 0 + 1 + + distance_multiplier + + 40.299999237060547 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.33000001311302185 + 1 + + haze_density + + 2.2100000381469727 + 0 + 0 + 1 + + haze_horizon + + 0.56999999284744263 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 0.36227512359619141 + -0.93207120895385742 + 0 + + max_y + + 752 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 0 + sun_angle + 2.7708849906921387 + sunlight_color + + 1.3799998760223389 + 1.3799998760223389 + 1.3799998760223389 + 0.45999997854232788 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Fashion%20Path%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Fashion%20Path%20Light%2001.xml new file mode 100644 index 000000000..14d6ab9b3 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Fashion%20Path%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.5 + 1.5 + 3 + 1 + + blue_density + + 2 + 2 + 1 + 1 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.43948723673439005 + 0.49764935046544778 + 0.50246442938400904 + 1 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0.18000000715255737 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00028125001798306321 + 0 + 0 + 1 + + distance_multiplier + + 62.700000762939453 + 0 + 0 + 1 + + east_angle + 3.5185837745666504 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.0900000333786011 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 0.42999997735023499 + 0 + 0 + 1 + + haze_horizon + + 0 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.28709480166435242 + 0.6259227991104126 + -0.72511875629425049 + 0 + + max_y + + 0 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0.1029166579246521 + sun_angle + 0.67631423473358154 + sunlight_color + + 0 + 0 + 0 + 0 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Got%20It%20Light%20.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Got%20It%20Light%20.xml new file mode 100644 index 000000000..718bd1ab5 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Got%20It%20Light%20.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.56099998950958252 + 0.37620007991790771 + 0.099000021815299988 + 0.18699999153614044 + + blue_density + + 0.97999995946884155 + 0.97999995946884155 + 0.97999995946884155 + 0.48999997973442078 + + blue_horizon + + 0.31999999284744263 + 0.31999999284744263 + 0.31999999284744263 + 0.15999999642372131 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 0.5 + 0.5 + 1 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.12459999322891235 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.0004881999921053648 + 0 + 0 + 1 + + distance_multiplier + + 3.9000000953674316 + 0 + 0 + 1 + + east_angle + 2.2870795726776123 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.3042999505996704 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -0.04999995231628418 + 1 + + haze_density + + 3.4800000190734863 + 0 + 0 + 1 + + haze_horizon + + 0.37000000476837158 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.70532232522964478 + 0.35430732369422913 + 0.61399251222610474 + 0 + + max_y + + 385 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 0 + sun_angle + 2.7794194221496582 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Horizon%20Building%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Horizon%20Building%20Light%2001.xml new file mode 100644 index 000000000..8b6adaae2 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Horizon%20Building%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1.7200000286102295 + 1.3424379825592041 + 0.83542799949645996 + 0.86000001430511475 + + blue_horizon + + 1.4582855701446533 + 1.3041387796401978 + 1.0971424579620361 + 0.72914278507232666 + + cloud_color + + 0 + 0.39843800663948059 + 0.39843699336051941 + 0.39843800663948059 + + cloud_pos_density1 + + 0.47999998927116394 + 0.87000000476837158 + 1.4378999471664429 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.87000000476837158 + 1 + + cloud_scale + + 0.37199997901916504 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0.55000001192092896 + 0 + 0 + 1 + + density_multiplier + + 0.00058270001318305731 + 0 + 0 + 1 + + distance_multiplier + + 63 + 0 + 0 + 1 + + east_angle + 3.5185837745666504 + enable_cloud_scroll + + 0 + 0 + + gamma + + 1.0900000333786011 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -10 + 1 + + haze_density + + 0.039999999105930328 + 0 + 0 + 1 + + haze_horizon + + 0.52999997138977051 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.28709480166435242 + 0.6259227991104126 + -0.72511875629425049 + 0 + + max_y + + 5615 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.67631423473358154 + sunlight_color + + 0 + 0 + 0 + 0 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Horizon%20Building%20Light%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Horizon%20Building%20Light%2002.xml new file mode 100644 index 000000000..0fadd9c75 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Horizon%20Building%20Light%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1 + 1 + 1 + 0.5 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 1 + 1 + 1 + 1 + + cloud_pos_density1 + + 0.37000000476837158 + 0.79999995231628418 + 0.12429999560117722 + 1 + + cloud_pos_density2 + + 0.97999995946884155 + 0.70999997854232788 + 0.049999997019767761 + 1 + + cloud_scale + + 0.17359998822212219 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0.47300004959106445 + 0 + 0 + 1 + + density_multiplier + + 9.4499999249819666e-005 + 0 + 0 + 1 + + distance_multiplier + + 39.400001525878906 + 0 + 0 + 1 + + east_angle + 5.4852209091186523 + enable_cloud_scroll + + 0 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 0.070000000298023224 + 0 + 0 + 1 + + haze_horizon + + 0.17999999225139618 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.47905999422073364 + 0.74313849210739136 + 0.46716883778572083 + 0 + + max_y + + 3615 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0.1029166579246521 + sun_angle + 0.83774858713150024 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Horizon%20Building%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Horizon%20Building%20Light.xml new file mode 100644 index 000000000..0fadd9c75 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Horizon%20Building%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1 + 1 + 1 + 0.5 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 1 + 1 + 1 + 1 + + cloud_pos_density1 + + 0.37000000476837158 + 0.79999995231628418 + 0.12429999560117722 + 1 + + cloud_pos_density2 + + 0.97999995946884155 + 0.70999997854232788 + 0.049999997019767761 + 1 + + cloud_scale + + 0.17359998822212219 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0.47300004959106445 + 0 + 0 + 1 + + density_multiplier + + 9.4499999249819666e-005 + 0 + 0 + 1 + + distance_multiplier + + 39.400001525878906 + 0 + 0 + 1 + + east_angle + 5.4852209091186523 + enable_cloud_scroll + + 0 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 0.070000000298023224 + 0 + 0 + 1 + + haze_horizon + + 0.17999999225139618 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.47905999422073364 + 0.74313849210739136 + 0.46716883778572083 + 0 + + max_y + + 3615 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0.1029166579246521 + sun_angle + 0.83774858713150024 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Hospital%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Hospital%20Light%2001.xml new file mode 100644 index 000000000..e615890c9 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Hospital%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.84000003337860107 + 0.84000003337860107 + 0.84000003337860107 + 0.2800000011920929 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 2 + 2 + 2 + 1 + + cloud_color + + 1 + 1 + 1 + 1 + + cloud_pos_density1 + + 0.17999999225139618 + 0.50999999046325684 + 0.97050554401449818 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.41999997879515621 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.273588712934393 + 10.010999679568112 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00017699999443721026 + 0 + 0 + 1 + + distance_multiplier + + 26.399999618530273 + 0 + 0 + 1 + + east_angle + 1.9163715839385986 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.0002455711364746 + 0.0010000000474974513 + -0.94999998807907104 + 1 + + haze_density + + 0.96999996900558472 + 0 + 0 + 1 + + haze_horizon + + 0.37999999523162842 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.88343405723571777 + 0.34407094120979309 + 0.3180558979511261 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 0 + sun_angle + 2.7903435230255127 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Hufflepuff%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Hufflepuff%20Light%2001.xml new file mode 100644 index 000000000..c5b090d13 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Hufflepuff%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.56250005960464478 + 0.26250001788139343 + 0.75 + 0.25 + + blue_density + + 0 + 0.40999585390090942 + 0.81999999284744263 + 0.85999995470046997 + + blue_horizon + + 0.43999999761581421 + 0.22910800576210022 + 0.26829266548156738 + 0.2199999988079071 + + cloud_color + + 0.23999999463558197 + 0.4699999988079071 + 0.31999999284744263 + 0.4699999988079071 + + cloud_pos_density1 + + 0.48999997973442078 + 0.50999999046325684 + 0.74000000953674316 + 1 + + cloud_pos_density2 + + 0.44999998807907104 + 0.5 + 0.14000000059604645 + 1 + + cloud_scale + + 0.32999998331069946 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0.37999999523162842 + 0 + 0 + 1 + + density_multiplier + + 0.00035999997635371983 + 0 + 0 + 1 + + distance_multiplier + + 2 + 0 + 0 + 1 + + east_angle + 0.12566371262073517 + enable_cloud_scroll + + 0 + 0 + + gamma + + 2.0299999713897705 + 0 + 0 + 1 + + glow + + 12 + 0.0010000000474974513 + -0.59999996423721313 + 1 + + haze_density + + 0.77999997138977051 + 0 + 0 + 1 + + haze_horizon + + 0.15999999642372131 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.12524418532848358 + 0.037689968943595886 + -0.9914097785949707 + 0 + + max_y + + 591 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 1.0099999904632568 + sun_angle + 3.1038937568664551 + sunlight_color + + 2.5799999237060547 + 2.4411697387695313 + 2.4411697387695313 + 0.85999995470046997 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Hufflepuff%20Light%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Hufflepuff%20Light%2002.xml new file mode 100644 index 000000000..aaff835eb --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Hufflepuff%20Light%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.26250001788139343 + 0.3031250536441803 + 0.75 + 0.25 + + blue_density + + 1 + 0.5 + 0 + 0.5 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.23999999463558197 + 0.4699999988079071 + 0.31999999284744263 + 0.4699999988079071 + + cloud_pos_density1 + + 0.48999997973442078 + 0.50999999046325684 + 0.74000000953674316 + 1 + + cloud_pos_density2 + + 0.44999998807907104 + 0.5 + 0.14000000059604645 + 1 + + cloud_scale + + 0.32999998331069946 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0.37999999523162842 + 0 + 0 + 1 + + density_multiplier + + 0.00031719999969936907 + 0 + 0 + 1 + + distance_multiplier + + 39.5 + 0 + 0 + 1 + + east_angle + 2.4064600467681885 + enable_cloud_scroll + + 0 + 0 + + gamma + + 2.4347999095916748 + 0 + 0 + 1 + + glow + + 12 + 0.0010000000474974513 + -0.59999996423721313 + 1 + + haze_density + + 1.559999942779541 + 0 + 0 + 1 + + haze_horizon + + 0.15999999642372131 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.67022424936294556 + 0.037081710994243622 + 0.74123167991638184 + 0 + + max_y + + 0 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 1.0099999904632568 + sun_angle + 3.1045024394989014 + sunlight_color + + 2.5799999237060547 + 2.4411697387695313 + 2.4411697387695313 + 0.86000001430511475 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Hufflepuff%20Light%2003.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Hufflepuff%20Light%2003.xml new file mode 100644 index 000000000..82c876696 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Hufflepuff%20Light%2003.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.56250005960464478 + 0.26250001788139343 + 0.75 + 0.25 + + blue_density + + 0 + 0.40999585390090942 + 0.81999999284744263 + 0.85999995470046997 + + blue_horizon + + 0.43999999761581421 + 0.22910800576210022 + 0.26829266548156738 + 0.2199999988079071 + + cloud_color + + 0.23999999463558197 + 0.4699999988079071 + 0.31999999284744263 + 0.4699999988079071 + + cloud_pos_density1 + + 0.48999997973442078 + 0.50999999046325684 + 0.74000000953674316 + 1 + + cloud_pos_density2 + + 0.44999998807907104 + 0.5 + 0.14000000059604645 + 1 + + cloud_scale + + 0.32999998331069946 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0.37999999523162842 + 0 + 0 + 1 + + density_multiplier + + 0.00049000000581145287 + 0 + 0 + 1 + + distance_multiplier + + 35.700000762939453 + 0 + 0 + 1 + + east_angle + 0.12566371262073517 + enable_cloud_scroll + + 0 + 0 + + gamma + + 2.0299999713897705 + 0 + 0 + 1 + + glow + + 12 + 0.0010000000474974513 + -0.59999996423721313 + 1 + + haze_density + + 1.5899999141693115 + 0 + 0 + 1 + + haze_horizon + + 0.15999999642372131 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.12524418532848358 + 0.037689968943595886 + -0.9914097785949707 + 0 + + max_y + + 591 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 1.0099999904632568 + sun_angle + 3.1038937568664551 + sunlight_color + + 2.5799999237060547 + 2.4411697387695313 + 2.4411697387695313 + 0.85999995470046997 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jessica%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jessica%20Light%2001.xml new file mode 100644 index 000000000..768f4f7a8 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jessica%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.0499999523162842 + 1.0499999523162842 + 1.0499999523162842 + 0.34999999403953552 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 0.6171875 + 0.6171875 + 0.6171875 + 0.30859375 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00017999998817685992 + 0 + 0 + 1 + + distance_multiplier + + 70.900001525878906 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.1999998092651367 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0.69999998807907104 + 0 + 0 + 1 + + haze_horizon + + 0.18999999761581421 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 1 + -4.3711388286737929e-008 + 0 + + max_y + + 1605 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 1.5707963705062866 + sunlight_color + + 0.7342105507850647 + 0.78157901763916016 + 0.90000003576278687 + 0.30000001192092896 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jessica%20Light%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jessica%20Light%2002.xml new file mode 100644 index 000000000..c75320eea --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jessica%20Light%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.0499999523162842 + 1.0499999523162842 + 1.0499999523162842 + 0.34999999403953552 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 0.6171875 + 0.6171875 + 0.6171875 + 0.30859375 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00017999998817685992 + 0 + 0 + 1 + + distance_multiplier + + 70.599998474121094 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.1999998092651367 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0.69999998807907104 + 0 + 0 + 1 + + haze_horizon + + 0.18999999761581421 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 1 + -4.3711388286737929e-008 + 0 + + max_y + + 2923 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 1.5707963705062866 + sunlight_color + + 0.7342105507850647 + 0.78157901763916016 + 0.90000003576278687 + 0.30000001192092896 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jessica%20Light%2003.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jessica%20Light%2003.xml new file mode 100644 index 000000000..638439837 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jessica%20Light%2003.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.62999999523162842 + 0.62999999523162842 + 0.62999999523162842 + 0.20999999344348907 + + blue_density + + 1.5 + 1.5 + 1.5 + 0.75 + + blue_horizon + + 0.6171875 + 0.6171875 + 0.6171875 + 0.30859375 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00012599999899975955 + 0 + 0 + 1 + + distance_multiplier + + 70.599998474121094 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.1999998092651367 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0.98999994993209839 + 0 + 0 + 1 + + haze_horizon + + 0 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 1 + -4.3711388286737929e-008 + 0 + + max_y + + 2923 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 1.5707963705062866 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jessica%20Light%2004.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jessica%20Light%2004.xml new file mode 100644 index 000000000..fcec7085f --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jessica%20Light%2004.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.62999999523162842 + 0.62999999523162842 + 0.62999999523162842 + 0.20999999344348907 + + blue_density + + 1.5 + 1.5 + 1.5 + 0.75 + + blue_horizon + + 0.6171875 + 0.6171875 + 0.6171875 + 0.30859375 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 4.7199999244185165e-005 + 0 + 0 + 1 + + distance_multiplier + + 70.900001525878906 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 27.200000762939453 + 0.0010000000474974513 + -7.3500003814697266 + 1 + + haze_density + + 1.1699999570846558 + 0 + 0 + 1 + + haze_horizon + + 0.81999999284744263 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 1 + -4.3711388286737929e-008 + 0 + + max_y + + 10000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 1.5707963705062866 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jim%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jim%20Light%2001.xml new file mode 100644 index 000000000..57538798b --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jim%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.43948723673439005 + 0.49764935046544778 + 0.50246442938400904 + 1 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0.18000000715255737 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00028125001798306321 + 0 + 0 + 1 + + distance_multiplier + + 6.3874998847643383 + 0 + 0 + 1 + + east_angle + 2.8274335861206055 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.0900000333786011 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 0.51583333298563971 + 0 + 0 + 1 + + haze_horizon + + 0.13833333183079954 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.30801057815551758 + 0.080633237957954407 + -0.94795984029769897 + 0 + + max_y + + 685.18749099969864 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0.1029166579246521 + sun_angle + 0.080720871686935425 + sunlight_color + + 0 + 3 + 1.5 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jim%20Light%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jim%20Light%2002.xml new file mode 100644 index 000000000..11772b4f0 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Jim%20Light%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.43948723673439005 + 0.49764935046544778 + 0.50246442938400904 + 1 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0.18000000715255737 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00028125001798306321 + 0 + 0 + 1 + + distance_multiplier + + 6.3874998847643383 + 0 + 0 + 1 + + east_angle + 2.6515045166015625 + enable_cloud_scroll + + 1 + 1 + + gamma + + 2.4347999095916748 + 0 + 0 + 1 + + glow + + 20 + 0.0010000000474974513 + -0 + 1 + + haze_density + + 0.51583333298563971 + 0 + 0 + 1 + + haze_horizon + + 0.13833333183079954 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.46225041151046753 + 0.18866632878780365 + -0.86644649505615234 + 0 + + max_y + + 685.18749099969864 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0.1029166579246521 + sun_angle + 0.18980391323566437 + sunlight_color + + 0 + 3 + 1.5 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20July%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20July%20Light%2001.xml new file mode 100644 index 000000000..88205d15c --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20July%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.0448951721191406 + 1.0375124216079712 + 1.0410666465759277 + 0.34829840064048767 + + blue_density + + 0.15995600819587708 + 0.44843131303787231 + 0.76233971118927002 + 0.38116985559463501 + + blue_horizon + + 0.53291136026382446 + 0.47850862145423889 + 0.69532060623168945 + 0.34766030311584473 + + cloud_color + + 0.36694067716598511 + 0.36694067716598511 + 0.36694067716598511 + 0.36694067716598511 + + cloud_pos_density1 + + 0.59999996423721313 + 0.4699999988079071 + 0.99744760127569754 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999997638634312 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.206368064503224 + 10.010999679565662 + + cloud_shadow + + 0.48999997973442078 + 0 + 0 + 1 + + density_multiplier + + 0.00018935874525381486 + 0 + 0 + 1 + + distance_multiplier + + 0.84041139239945806 + 0 + 0 + 1 + + east_angle + 0.32672566175460815 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.0000211801171162 + 0.0010000000474974277 + -0.48000001234523038 + 1 + + haze_density + + 0.69659684739417083 + 0 + 0 + 1 + + haze_horizon + + 0.1893618953990921 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.27510377764701843 + 0.51503080129623413 + 0.81182581186294556 + 0 + + max_y + + 1582.8367459774017 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.54104357957839966 + sunlight_color + + 0.76900362968444824 + 0.8153645396232605 + 0.93126672506332397 + 0.31042224168777466 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20July%20Light%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20July%20Light%2002.xml new file mode 100644 index 000000000..d385af566 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20July%20Light%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.45899999141693115 + 0.3078000545501709 + 0.081000030040740967 + 0.15299999713897705 + + blue_density + + 0.97999995946884155 + 0.97999995946884155 + 0.97999995946884155 + 0.48999997973442078 + + blue_horizon + + 0.31999999284744263 + 0.31999999284744263 + 0.31999999284744263 + 0.15999999642372131 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 0.5 + 0.5 + 1 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.12459999322891235 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00040939997415989637 + 0 + 0 + 1 + + distance_multiplier + + 3.9000000953674316 + 0 + 0 + 1 + + east_angle + 2.2870795726776123 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.3042999505996704 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -0.04999995231628418 + 1 + + haze_density + + 2.869999885559082 + 0 + 0 + 1 + + haze_horizon + + 0.5 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.71421909332275391 + 0.32145592570304871 + 0.62173730134963989 + 0 + + max_y + + 385 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 0 + sun_angle + 2.8143260478973389 + sunlight_color + + 2.0099999904632568 + 2.0099999904632568 + 2.0099999904632568 + 0.67000001668930054 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20July%20Light%2003.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20July%20Light%2003.xml new file mode 100644 index 000000000..40ffdc4cd --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20July%20Light%2003.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.56099998950958252 + 0.37620007991790771 + 0.099000021815299988 + 0.18699999153614044 + + blue_density + + 0.97999995946884155 + 0.97999995946884155 + 0.97999995946884155 + 0.48999997973442078 + + blue_horizon + + 0.31999999284744263 + 0.31999999284744263 + 0.31999999284744263 + 0.15999999642372131 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 0.5 + 0.5 + 1 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.12459999322891235 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.0004881999921053648 + 0 + 0 + 1 + + distance_multiplier + + 3.9000000953674316 + 0 + 0 + 1 + + east_angle + 2.2556638717651367 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.3042999505996704 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -0.04999995231628418 + 1 + + haze_density + + 3.4800000190734863 + 0 + 0 + 1 + + haze_horizon + + 0.37000000476837158 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.72426009178161621 + 0.35430732369422913 + 0.59153497219085693 + 0 + + max_y + + 385 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 0 + sun_angle + 2.7794194221496582 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Landar%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Landar%20Light%2001.xml new file mode 100644 index 000000000..30cdcd0a5 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Landar%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1.5 + 1.5 + 1.5 + 0.75 + + blue_horizon + + 1 + 1 + 1 + 0.5 + + cloud_color + + 1 + 1 + 1 + 1 + + cloud_pos_density1 + + 0.95999997854232788 + 0.31000000238418579 + 0.34149998426437378 + 1 + + cloud_pos_density2 + + 1 + 1 + 0 + 1 + + cloud_scale + + 0.049599997699260712 + 0 + 0 + 1 + + cloud_scroll_rate + + 93.100006103515625 + -25.899993896484375 + + cloud_shadow + + 0.25999999046325684 + 0 + 0 + 1 + + density_multiplier + + 0.00018439999257680029 + 0 + 0 + 1 + + distance_multiplier + + 2.2000000476837158 + 0 + 0 + 1 + + east_angle + 3.1855752468109131 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 15.799999237060547 + 0.0010000000474974513 + -0.74999994039535522 + 1 + + haze_density + + 0.66999995708465576 + 0 + 0 + 1 + + haze_horizon + + 0.12999999523162842 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.040397927165031433 + 0.39473667740821838 + -0.91790574789047241 + 0 + + max_y + + 2231 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 500 + sun_angle + 0.40578123927116394 + sunlight_color + + 0 + 0 + 0 + 0 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20%20Gun%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20%20Gun%20Light.xml new file mode 100644 index 000000000..add735967 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20%20Gun%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.5 + 1.8999999761581421 + 3 + 1 + + blue_density + + 1.4579999446868896 + 0 + 0.82620006799697876 + 0.72899997234344482 + + blue_horizon + + 1.4579999446868896 + 0 + 0.7047005295753479 + 0.72899997234344482 + + cloud_color + + 0.37840613487830987 + 0.37840613487830987 + 0.37840613487830987 + 0.37840613487830987 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 0.99999998870089368 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999997841284203 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999837455794 + 10.01099967956543 + + cloud_shadow + + 0.48999997973442078 + 0 + 0 + 1 + + density_multiplier + + 3.6899997212458402e-005 + 0 + 0 + 1 + + distance_multiplier + + 75.200004577636719 + 0 + 0 + 1 + + east_angle + 6.2266373634338379 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.0434999465942383 + 0 + 0 + 1 + + glow + + 4.9999999435054558 + 0.0010000000474974513 + -0.4799999902127477 + 1 + + haze_density + + 0.34999999403953552 + 0 + 0 + 1 + + haze_horizon + + 1 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.045796267688274384 + 0.58601820468902588 + 0.80900269746780396 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.62613606452941895 + sunlight_color + + 1.4099999666213989 + 1.4099999666213989 + 1.4099999666213989 + 0.4699999988079071 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2001.xml new file mode 100644 index 000000000..2a395d8bb --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 2 + 2 + 2 + 1 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.0006399999838322401 + 0 + 0 + 1 + + distance_multiplier + + 100 + 0 + 0 + 1 + + east_angle + 3.1415927410125732 + enable_cloud_scroll + + 1 + 1 + + gamma + + 2.0199999809265137 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -2.5 + 1 + + haze_density + + 4 + 0 + 0 + 1 + + haze_horizon + + 1 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 4.8569567923095747e-008 + 0.83146905899047852 + -0.55557107925415039 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.98174667358398438 + sunlight_color + + 1.5 + 1.5 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2002.xml new file mode 100644 index 000000000..dbb840506 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 3 + 3 + 3 + 1 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.5 + 0.5 + 1 + 1 + + cloud_pos_density1 + + 0.29999998211860657 + 0.93999999761581421 + 0.75 + 1 + + cloud_pos_density2 + + 0.44999998807907104 + 0.35999998450279236 + 0.019999999552965164 + 1 + + cloud_scale + + 0.45999997854232788 + 0 + 0 + 1 + + cloud_scroll_rate + + 20 + 20 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00089999998454004526 + 0 + 0 + 1 + + distance_multiplier + + 0 + 0 + 0 + 1 + + east_angle + 6.2831854820251465 + enable_cloud_scroll + + 0 + 0 + + gamma + + 1.0099999904632568 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -2.5 + 1 + + haze_density + + 4 + 0 + 0 + 1 + + haze_horizon + + 1 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 6.3370464431500295e-008 + 0.93200832605361938 + -0.36243680119514465 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 24 + star_brightness + 2 + sun_angle + 1.941677451133728 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2003.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2003.xml new file mode 100644 index 000000000..3b32f8dcf --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2003.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.41796875 + 1.41796875 + 1.41796875 + 0.47265625 + + blue_density + + 0.12089811412885521 + 0.33770671695460663 + 0.67541757891583387 + 0.76708334654569654 + + blue_horizon + + 0.13497034943045882 + 0.26690842067701936 + 0.4016666400432598 + 0.74541666984558219 + + cloud_color + + 0.43948723673439005 + 0.49764935046544778 + 0.50246442938400904 + 1 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0.15000000596046448 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0.12999999523162842 + 0 + 0 + 1 + + density_multiplier + + 0.00028125001798306321 + 0 + 0 + 1 + + distance_multiplier + + 6.3874998847643383 + 0 + 0 + 1 + + east_angle + 3.5185837745666504 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.0900000333786011 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 0.51583333298563971 + 0 + 0 + 1 + + haze_horizon + + 0.13833333183079954 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.28709480166435242 + 0.6259227991104126 + -0.72511875629425049 + 0 + + max_y + + 685.18749099969864 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0.1029166579246521 + sun_angle + 0.67631423473358154 + sunlight_color + + 2.44921875 + 2.44921875 + 2.44921875 + 0.81640625 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2004.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2004.xml new file mode 100644 index 000000000..21cf058bf --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2004.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.41796875 + 1.41796875 + 1.41796875 + 0.47265625 + + blue_density + + 0.12089811412885521 + 0.33770671695460663 + 0.67541757891583387 + 0.76708334654569654 + + blue_horizon + + 0.13497034943045882 + 0.26690842067701936 + 0.4016666400432598 + 0.74541666984558219 + + cloud_color + + 0.43948723673439005 + 0.49764935046544778 + 0.50246442938400904 + 1 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0.15000000596046448 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0.12999999523162842 + 0 + 0 + 1 + + density_multiplier + + 0.00028125001798306321 + 0 + 0 + 1 + + distance_multiplier + + 6.3874998847643383 + 0 + 0 + 1 + + east_angle + 3.5185837745666504 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.0900000333786011 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 0.51583333298563971 + 0 + 0 + 1 + + haze_horizon + + 0.13833333183079954 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.28709480166435242 + 0.6259227991104126 + -0.72511875629425049 + 0 + + max_y + + 685.18749099969864 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0.1029166579246521 + sun_angle + 0.67631423473358154 + sunlight_color + + 1.078125 + 1.078125 + 1.078125 + 0.359375 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2005.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2005.xml new file mode 100644 index 000000000..bb863523a --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Light%2005.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 2 + 2 + 2 + 1 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00089999998454004526 + 0 + 0 + 1 + + distance_multiplier + + 22.5 + 0 + 0 + 1 + + east_angle + 3.1415927410125732 + enable_cloud_scroll + + 1 + 1 + + gamma + + 2.0199999809265137 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -2.5 + 1 + + haze_density + + 1.8199999332427979 + 0 + 0 + 1 + + haze_horizon + + 1 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 4.8569567923095747e-008 + 0.83146905899047852 + -0.55557107925415039 + 0 + + max_y + + 3533 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.98174667358398438 + sunlight_color + + 1.5 + 1.5 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Moves%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Moves%20Light.xml new file mode 100644 index 000000000..38ca17aa6 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Moves%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0.39999997615814209 + 0.39999997615814209 + 0.39999997615814209 + 0.19999998807907104 + + blue_horizon + + 1 + 1 + 1 + 0.5 + + cloud_color + + 1 + 0.5 + 0 + 1 + + cloud_pos_density1 + + 1 + 0.65999996662139893 + 0.31099998950958252 + 1 + + cloud_pos_density2 + + 1 + 1 + 0 + 1 + + cloud_scale + + 0.042800001800060272 + 0 + 0 + 1 + + cloud_scroll_rate + + 15.309999465942383 + 14.079999923706055 + + cloud_shadow + + 0.40999999642372131 + 0 + 0 + 1 + + density_multiplier + + 0 + 0 + 0 + 1 + + distance_multiplier + + 100 + 0 + 0 + 1 + + east_angle + 3.7824780941009521 + enable_cloud_scroll + + 1 + 1 + + gamma + + 0.26089999079704285 + 0 + 0 + 1 + + glow + + 0.59999942779541016 + 0.0010000000474974513 + -1.75 + 1 + + haze_density + + 4 + 0 + 0 + 1 + + haze_horizon + + 1 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.065092690289020538 + 0.99405622482299805 + -0.087264858186244965 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 2 + sun_angle + 1.4617122411727905 + sunlight_color + + 0 + 0 + 0 + 0 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Music%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Music%20Light%2001.xml new file mode 100644 index 000000000..db2ba2d16 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Lo%20Music%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.15000000596046448 + 0.15000000596046448 + 0.15000000596046448 + 0.05000000074505806 + + blue_density + + 1 + 1 + 1 + 0.5 + + blue_horizon + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + cloud_color + + 0.5 + 0.5 + 1 + 1 + + cloud_pos_density1 + + 0.15999999642372131 + 0.50999999046325684 + 1 + 1 + + cloud_pos_density2 + + 1 + 0.50999999046325684 + 1 + 1 + + cloud_scale + + 0.059000000357627869 + 0 + 0 + 1 + + cloud_scroll_rate + + 14.409999847412109 + 4.7999997138977051 + + cloud_shadow + + 0.18999999761581421 + 0 + 0 + 1 + + density_multiplier + + 0 + 0 + 0 + 1 + + distance_multiplier + + 51.200000762939453 + 0 + 0 + 1 + + east_angle + 1.9477875232696533 + enable_cloud_scroll + + 1 + 1 + + gamma + + 0.69569998979568481 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -2.5 + 1 + + haze_density + + 0.69999998807907104 + 0 + 0 + 1 + + haze_horizon + + 0.26999998092651367 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.62063354253768921 + 0.74460232257843018 + -0.24572627246379852 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 2 + sun_angle + 0.83993887901306152 + sunlight_color + + 1.5 + 1.5 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Mavi%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Mavi%20Light%2001.xml new file mode 100644 index 000000000..ecae12925 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Mavi%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.1875 + 0.1875 + 0.1875 + 0.0625 + + blue_density + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + blue_horizon + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.70001220703125 + 10.01099967956543 + + cloud_shadow + + 0.44999998807907104 + 0 + 0 + 1 + + density_multiplier + + 0.00014170000213198364 + 0 + 0 + 1 + + distance_multiplier + + 7.9000000953674316 + 0 + 0 + 1 + + east_angle + 1.9477875232696533 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.3999999761581421 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0.66999995708465576 + 0 + 0 + 1 + + haze_horizon + + 0 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.51655691862106323 + 0.83146905899047852 + -0.20451940596103668 + 0 + + max_y + + 21 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.98174667358398438 + sunlight_color + + 2.6999998092651367 + 2.6999998092651367 + 2.6999998092651367 + 0.89999997615814209 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Mavi%20Light%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Mavi%20Light%2002.xml new file mode 100644 index 000000000..d0ba4bb02 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Mavi%20Light%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.1875 + 0.1875 + 0.1875 + 0.0625 + + blue_density + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + blue_horizon + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 0.99409997463226318 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.49579998850822449 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.70001220703125 + 10.01099967956543 + + cloud_shadow + + 0.29999998211860657 + 0 + 0 + 1 + + density_multiplier + + 0.00015750000602565706 + 0 + 0 + 1 + + distance_multiplier + + 4.5999999046325684 + 0 + 0 + 1 + + east_angle + 1.9477875232696533 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.3999999761581421 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 1.7400000095367432 + 0 + 0 + 1 + + haze_horizon + + 0.070000000298023224 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.51655691862106323 + 0.83146905899047852 + -0.20451940596103668 + 0 + + max_y + + 11 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.98174667358398438 + sunlight_color + + 2.6999998092651367 + 2.6999998092651367 + 2.6999998092651367 + 0.89999997615814209 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Mavi%20Light%2003.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Mavi%20Light%2003.xml new file mode 100644 index 000000000..ecae12925 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Mavi%20Light%2003.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.1875 + 0.1875 + 0.1875 + 0.0625 + + blue_density + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + blue_horizon + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.70001220703125 + 10.01099967956543 + + cloud_shadow + + 0.44999998807907104 + 0 + 0 + 1 + + density_multiplier + + 0.00014170000213198364 + 0 + 0 + 1 + + distance_multiplier + + 7.9000000953674316 + 0 + 0 + 1 + + east_angle + 1.9477875232696533 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.3999999761581421 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0.66999995708465576 + 0 + 0 + 1 + + haze_horizon + + 0 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.51655691862106323 + 0.83146905899047852 + -0.20451940596103668 + 0 + + max_y + + 21 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.98174667358398438 + sunlight_color + + 2.6999998092651367 + 2.6999998092651367 + 2.6999998092651367 + 0.89999997615814209 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Me%20Love%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Me%20Love%20Light.xml new file mode 100644 index 000000000..838e394cb --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Me%20Love%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0.39999997615814209 + 0.39999997615814209 + 0.39999997615814209 + 0.19999998807907104 + + blue_horizon + + 1 + 1 + 1 + 0.5 + + cloud_color + + 1 + 0.5 + 0 + 1 + + cloud_pos_density1 + + 0.2800000011920929 + 0.31999999284744263 + 0.14019998908042908 + 1 + + cloud_pos_density2 + + 0.019999999552965164 + 0.45999997854232788 + 0 + 1 + + cloud_scale + + 0.018199998885393143 + 0 + 0 + 1 + + cloud_scroll_rate + + 15.309999465942383 + 14.079999923706055 + + cloud_shadow + + 1 + 0 + 0 + 1 + + density_multiplier + + 0 + 0 + 0 + 1 + + distance_multiplier + + 100 + 0 + 0 + 1 + + east_angle + 3.7824780941009521 + enable_cloud_scroll + + 1 + 1 + + gamma + + 2.69569993019104 + 0 + 0 + 1 + + glow + + 0.59999942779541016 + 0.0010000000474974513 + -1.75 + 1 + + haze_density + + 4 + 0 + 0 + 1 + + haze_horizon + + 1 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.032595228403806686 + 0.99851292371749878 + -0.043697964400053024 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 2 + sun_angle + 1.5162535905838013 + sunlight_color + + 0 + 0 + 0 + 0 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Me%20Mine%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Me%20Mine%20Light.xml new file mode 100644 index 000000000..155a8b9e4 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Me%20Mine%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.0799999237060547 + 0.98999994993209839 + 0.77999997138977051 + 1.0799999237060547 + + blue_density + + 0.64736837148666382 + 0.48414888978004456 + 0.81999999284744263 + 0.40999999642372131 + + blue_horizon + + 0.5 + 0.49548381567001343 + 0.45999997854232788 + 0.51999998092651367 + + cloud_color + + 0.4100000062111997 + 0.4100000062111997 + 0.4100000062111997 + 0.4100000062111997 + + cloud_pos_density1 + + 0.14000000059604645 + 0.62000000476837158 + 1 + 1 + + cloud_pos_density2 + + 0.35999998450279236 + 0.56999999284744263 + 0.12999999523162842 + 1 + + cloud_scale + + 0.35999998450279236 + 0 + 0 + 1.0000000149011612 + + cloud_scroll_rate + + 10.199999791580112 + 10.010999679880427 + + cloud_shadow + + 0.29999998211860657 + 0 + 0 + 1.0000000149011612 + + density_multiplier + + 7.9999997979030013e-005 + 0 + 0 + 1.0000000149011612 + + distance_multiplier + + 5.4000000953674316 + 0 + 0 + 1.0000000149011612 + + east_angle + 1.0932743549346924 + enable_cloud_scroll + + 1 + 1 + + gamma + + 2.1699998378753662 + 0 + 0 + 1.0000000149011612 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -0.55000001192092896 + 1 + + haze_density + + 0.31999999284744263 + 0 + 0 + 1 + + haze_horizon + + 0.17999999225139618 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.39627334475517273 + 0.89494067430496216 + -0.20505768060684204 + 0 + + max_y + + 805 + 0 + 0 + 1.0000000149011612 + + preset_num + 28 + star_brightness + 0.25999999046325684 + sun_angle + 2.0332944393157959 + sunlight_color + + 3 + 0 + 0 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Meni%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Meni%20Light%2001.xml new file mode 100644 index 000000000..f308d292e --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Meni%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.28464806749374816 + 0.45923502031814678 + 0.7409173846244812 + 0.7409173846244812 + + blue_density + + 0.25613615825332658 + 0.41819368084009056 + 0.6726322016895665 + 1 + + blue_horizon + + 2 + 1 + 0 + 1 + + cloud_color + + 0.52756190160579308 + 0.52756190160579308 + 0.52756190160579308 + 1 + + cloud_pos_density1 + + 0.72999995946884155 + 0.34000000357627869 + 0.32999998331069946 + 1 + + cloud_pos_density2 + + 0.28999999165534973 + 0.84999996423721313 + 0.019999999552965164 + 1 + + cloud_scale + + 0.32999998058761548 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.499399946934318 + 10.010999746491507 + + cloud_shadow + + 0.37000000476837158 + 0 + 0 + 1 + + density_multiplier + + 2.9999999242136255e-005 + 0 + 0 + 1 + + distance_multiplier + + 100 + 0 + 0 + 1 + + east_angle + 2.9530971050262451 + enable_cloud_scroll + + 0 + 0 + + gamma + + 3.0199999809265137 + 0 + 0 + 1 + + glow + + 0.79999923706054688 + 0.0010000000474974513 + -1.1999999284744263 + 1 + + haze_density + + 2.1499998569488525 + 0 + 0 + 1 + + haze_horizon + + 0.23999999463558197 + 0.19915598630905151 + 0.19915598630905151 + 1 + + lightnorm + + 0.12659277021884918 + 0.7372782826423645 + 0.66362255811691284 + 0 + + max_y + + 711.42973550362512 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 0 + sun_angle + 2.3125598430633545 + sunlight_color + + 0.62994743245872087 + 0.69737775977682759 + 0.86806544391379248 + 0.28935515608276319 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Miaa%20light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Miaa%20light%2001.xml new file mode 100644 index 000000000..eedc74c88 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Miaa%20light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1 + 1 + 1 + 0.5 + + blue_horizon + + 1 + 1 + 1 + 0.5 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 0.5 + 0.5 + 0.76829999685287476 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.059000000357627869 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940033104544 + 10.011000058908452 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00025079998886212707 + 0 + 0 + 1 + + distance_multiplier + + 77.400001525878906 + 0 + 0 + 1 + + east_angle + 0.19477875530719757 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.5699999332427979 + 0 + 0 + 1 + + glow + + 16.80000114440918 + 0.0010000000474974513 + -0.59999996423721313 + 1 + + haze_density + + 1.1190000772476196 + 0 + 0 + 1 + + haze_horizon + + 0.17000000178813934 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.14745019376277924 + 0.64778679609298706 + 0.74741601943969727 + 0 + + max_y + + 2353 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 1.7856996059417725 + sun_angle + 0.70467567443847656 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2001.xml new file mode 100644 index 000000000..e7fa44c7e --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.20632287859916687 + 0.24516719579696655 + 0.33367714285850525 + 0.11122571676969528 + + blue_density + + 0.44999827251961821 + 0.44999970758411817 + 0.45000196070835302 + 1 + + blue_horizon + + 0.23999924952063895 + 0.23999984552653461 + 0.24000005119478959 + 1 + + cloud_color + + 0.22615400012094211 + 0.22615400012094211 + 0.22615400012094211 + 1 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 0.87999999801324269 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.0099999997764825821 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.499400180710069 + 10.01099976217745 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 8.9999994088429958e-005 + 0 + 0 + 1 + + distance_multiplier + + 41.100002288818359 + 0 + 0 + 1 + + east_angle + 1.5707963705062866 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.0000000000004476 + 0.0010000000424271499 + -0.47999998973471036 + 1 + + haze_density + + 0.20999999344348907 + 0 + 0 + 1 + + haze_horizon + + 0.20999999344348907 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.83147060871124268 + 0.55556869506835938 + -3.6344733445048405e-008 + 1 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 1.9999886751174927 + sun_angle + 3.7306394577026367 + sunlight_color + + 0.45637205243110657 + 0.46549969911575317 + 0.86362791061401367 + 0.28787598013877869 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2002.xml new file mode 100644 index 000000000..99d59e510 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.20405027270317078 + 0.24246673285961151 + 0.32999998331069946 + 0.10999999940395355 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.5 + 0.5 + 1 + 1 + + cloud_pos_density1 + + 0.12999999523162842 + 0.31999999284744263 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.74000000953674316 + 0.17999999225139618 + 1 + + cloud_scale + + 0.99999994039535522 + 0 + 0 + 1 + + cloud_scroll_rate + + 16.869998931884766 + 16.760000228881836 + + cloud_shadow + + 0.2199999988079071 + 0 + 0 + 1 + + density_multiplier + + 0.00032459996873512864 + 0 + 0 + 1 + + distance_multiplier + + 85.300003051757813 + 0 + 0 + 1 + + east_angle + 1.0807079076766968 + enable_cloud_scroll + + 0 + 0 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.1999998092651367 + 0.0010000000474974513 + -0.39999997615814209 + 1 + + haze_density + + 4 + 0 + 0 + 1 + + haze_horizon + + 0.019999999552965164 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.79044967889785767 + 0.44424447417259216 + -0.42170625925064087 + 1 + + max_y + + 303 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 2 + sun_angle + 5.8228545188903809 + sunlight_color + + 1.390916109085083 + 1.4052181243896484 + 2.0290837287902832 + 0.67636126279830933 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2003.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2003.xml new file mode 100644 index 000000000..f6b4ddab8 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2003.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.38972097635269165 + 0.46309363842010498 + 0.63027900457382202 + 0.21009300649166107 + + blue_density + + 0.44999827251961821 + 0.44999970758411817 + 0.45000196070835302 + 1 + + blue_horizon + + 0.23999924952063895 + 0.23999984552653461 + 0.24000005119478959 + 1 + + cloud_color + + 0.22615400012094211 + 0.22615400012094211 + 0.22615400012094211 + 1 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 0.87999999801324269 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 3 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.499400180710069 + 10.01099976217745 + + cloud_shadow + + 0.22999998927116394 + 0 + 0 + 1 + + density_multiplier + + 8.9999994088429958e-005 + 0 + 0 + 1 + + distance_multiplier + + 41.100002288818359 + 0 + 0 + 1 + + east_angle + 2.8588495254516602 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.0000000000004476 + 0.0010000000424271499 + -0.47999998973471036 + 1 + + haze_density + + 0.20999999344348907 + 0 + 0 + 1 + + haze_horizon + + 0.20999999344348907 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.23529607057571411 + 0.53731352090835571 + 0.80989503860473633 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 500 + sun_angle + 2.5743441581726074 + sunlight_color + + 0.5808371901512146 + 0.59245419502258301 + 1.0991628170013428 + 0.36638760566711426 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2004.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2004.xml new file mode 100644 index 000000000..76c2aed13 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2004.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.20405027270317078 + 0.24246673285961151 + 0.32999998331069946 + 0.10999999940395355 + + blue_density + + 0.23251199722290039 + 0.23716199398040771 + 0.43999999761581421 + 0.2199999988079071 + + blue_horizon + + 0.23999999463558197 + 0.23999999463558197 + 0.23999999463558197 + 1 + + cloud_color + + 0.625 + 0.625 + 0.875 + 0.875 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 0.87999999523162842 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.17359998822212219 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0.11999999731779099 + 0 + 0 + 1 + + density_multiplier + + 0.00033069998607970774 + 0 + 0 + 1 + + distance_multiplier + + 70.900001525878906 + 0 + 0 + 1 + + east_angle + 1.9666372537612915 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 1.5999999046325684 + 0 + 0 + 1 + + haze_horizon + + 0.019999999552965164 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.41169273853302002 + 0.89493530988693237 + 0.17204611003398895 + 1 + + max_y + + 308 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 2 + sun_angle + 5.1748991012573242 + sunlight_color + + 0.93348866701126099 + 0.95215761661529541 + 1.7665112018585205 + 0.58883708715438843 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2005.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2005.xml new file mode 100644 index 000000000..496ab40eb --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2005.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.20405027270317078 + 0.24246673285961151 + 0.32999998331069946 + 0.10999999940395355 + + blue_density + + 0.23251199722290039 + 0.23716199398040771 + 0.43999999761581421 + 0.2199999988079071 + + blue_horizon + + 0.23999999463558197 + 0.23999999463558197 + 0.23999999463558197 + 1 + + cloud_color + + 0.625 + 0.625 + 0.875 + 0.875 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 0.87999999523162842 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.17359998822212219 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0.11999999731779099 + 0 + 0 + 1 + + density_multiplier + + 0.00033069998607970774 + 0 + 0 + 1 + + distance_multiplier + + 70.900001525878906 + 0 + 0 + 1 + + east_angle + 2.3499114513397217 + enable_cloud_scroll + + 1 + 1 + + gamma + + 2.0899999141693115 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 1.5999999046325684 + 0 + 0 + 1 + + haze_horizon + + 0.019999999552965164 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.37705510854721069 + 0.84804928302764893 + 0.37234652042388916 + 1 + + max_y + + 308 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 2 + sun_angle + 5.2708921432495117 + sunlight_color + + 0.34876799583435059 + 0.50438410043716431 + 0.65999996662139893 + 0.2199999988079071 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2006.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2006.xml new file mode 100644 index 000000000..715252787 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2006.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.20632287859916687 + 0.24516719579696655 + 0.33367714285850525 + 0.11122571676969528 + + blue_density + + 0 + 0 + 1 + 0.5 + + blue_horizon + + 1 + 0.5 + 0 + 0.5 + + cloud_color + + 0.22615400012094211 + 0.22615400012094211 + 0.22615400012094211 + 1 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 0.87999999801324269 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.0099999997764825821 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.499400180710069 + 10.01099976217745 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00013000000035390258 + 0 + 0 + 1 + + distance_multiplier + + 20.200000762939453 + 0 + 0 + 1 + + east_angle + 1.5707963705062866 + enable_cloud_scroll + + 1 + 1 + + gamma + + 2.0199999809265137 + 0 + 0 + 1 + + glow + + 6.8000006675720215 + 0.0010000000474974513 + -0.69999998807907104 + 1 + + haze_density + + 1 + 0 + 0 + 1 + + haze_horizon + + 0.48999997973442078 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.85491305589675903 + 0.51877129077911377 + -3.7369435545997476e-008 + 1 + + max_y + + 1333 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 3.6870057582855225 + sunlight_color + + 0.45637205243110657 + 0.46549969911575317 + 0.86362791061401367 + 0.28787598013877869 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2007.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2007.xml new file mode 100644 index 000000000..739c63c99 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2007.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.32094669342041016 + 0.38137125968933105 + 0.51905333995819092 + 0.17301777005195618 + + blue_density + + 0.44999827251961821 + 0.44999970758411817 + 0.45000196070835302 + 1 + + blue_horizon + + 0.23999924952063895 + 0.23999984552653461 + 0.24000005119478959 + 1 + + cloud_color + + 0.22615400012094211 + 0.22615400012094211 + 0.22615400012094211 + 1 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 0.87999999801324269 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 3 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.20001220703125 + 10.01099976217745 + + cloud_shadow + + 0.15999999642372131 + 0 + 0 + 1 + + density_multiplier + + 8.9999994088429958e-005 + 0 + 0 + 1 + + distance_multiplier + + 41.100002288818359 + 0 + 0 + 1 + + east_angle + 2.7646017074584961 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.0000000000004476 + 0.0010000000424271499 + -0.47999998973471036 + 1 + + haze_density + + 0.20999999344348907 + 0 + 0 + 1 + + haze_horizon + + 0.20999999344348907 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.31046971678733826 + 0.53731352090835571 + 0.78415733575820923 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 500 + sun_angle + 2.5743441581726074 + sunlight_color + + 0.6015813946723938 + 0.61361336708068848 + 1.1384185552597046 + 0.37947285175323486 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2008.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2008.xml new file mode 100644 index 000000000..b0fad0999 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Moon%20Light%2008.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.32094669342041016 + 0.38137125968933105 + 0.51905333995819092 + 0.17301777005195618 + + blue_density + + 0.44999827251961821 + 0.44999970758411817 + 0.45000196070835302 + 1 + + blue_horizon + + 0.23999924952063895 + 0.23999984552653461 + 0.24000005119478959 + 1 + + cloud_color + + 0.22615400012094211 + 0.22615400012094211 + 0.22615400012094211 + 1 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 0.87999999801324269 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 3 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.20001220703125 + 10.01099976217745 + + cloud_shadow + + 0.15999999642372131 + 0 + 0 + 1 + + density_multiplier + + 8.9999994088429958e-005 + 0 + 0 + 1 + + distance_multiplier + + 41.100002288818359 + 0 + 0 + 1 + + east_angle + 2.8588495254516602 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 5.0000000000004476 + 0.0010000000424271499 + -0.47999998973471036 + 1 + + haze_density + + 0.20999999344348907 + 0 + 0 + 1 + + haze_horizon + + 0.20999999344348907 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.23529607057571411 + 0.53731352090835571 + 0.80989503860473633 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 500 + sun_angle + 2.5743441581726074 + sunlight_color + + 0.6015813946723938 + 0.6136133074760437 + 1.1384185552597046 + 0.37947285175323486 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Never%20Night%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Never%20Night%20Light.xml new file mode 100644 index 000000000..cc3e25245 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Never%20Night%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0.30000001192092896 + 0.10000000149011612 + + blue_density + + 0.12089811412885521 + 0.33770671695460663 + 0.67541757891583387 + 0.76708334654569654 + + blue_horizon + + 0.13497034943045882 + 0.26690842067701936 + 0.4016666400432598 + 0.74541666984558219 + + cloud_color + + 0.43948723673439005 + 0.49764935046544778 + 0.50246442938400904 + 1 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0.18000000715255737 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 1 + 0 + 0 + 1 + + density_multiplier + + 0.00028125001798306321 + 0 + 0 + 1 + + distance_multiplier + + 6.3874998847643383 + 0 + 0 + 1 + + east_angle + 3.5185837745666504 + enable_cloud_scroll + + 1 + 1 + + gamma + + 0.12999999523162842 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 0.51583333298563971 + 0 + 0 + 1 + + haze_horizon + + 0.13833333183079954 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.28709480166435242 + 0.6259227991104126 + -0.72511875629425049 + 0 + + max_y + + 685.18749099969864 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0.1029166579246521 + sun_angle + 0.67631423473358154 + sunlight_color + + 0 + 0 + 0 + 0 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20No%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20No%20Light.xml new file mode 100644 index 000000000..2ca2ef77b --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20No%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0.12089811412885521 + 0.33770671695460663 + 0.67541757891583387 + 0.76708334654569654 + + blue_horizon + + 0.13497034943045882 + 0.26690842067701936 + 0.4016666400432598 + 0.74541666984558219 + + cloud_color + + 0.43948723673439005 + 0.49764935046544778 + 0.50246442938400904 + 1 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0.18000000715255737 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00028125001798306321 + 0 + 0 + 1 + + distance_multiplier + + 6.3874998847643383 + 0 + 0 + 1 + + east_angle + 3.5185837745666504 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.0900000333786011 + 0 + 0 + 1 + + glow + + 9.4000005722045898 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 0.51583333298563971 + 0 + 0 + 1 + + haze_horizon + + 0.13833333183079954 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.28709480166435242 + 0.6259227991104126 + -0.72511875629425049 + 0 + + max_y + + 685.18749099969864 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0.1029166579246521 + sun_angle + 0.67631423473358154 + sunlight_color + + 0 + 0 + 0 + 0 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Owlery%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Owlery%20Light.xml new file mode 100644 index 000000000..dca43b27f --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Owlery%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.56250005960464478 + 0.26250001788139343 + 0.75 + 0.25 + + blue_density + + 0 + 0.40999585390090942 + 0.81999999284744263 + 0.85999995470046997 + + blue_horizon + + 0.43999999761581421 + 0.22910800576210022 + 0.26829266548156738 + 0.2199999988079071 + + cloud_color + + 0.23999999463558197 + 0.4699999988079071 + 0.31999999284744263 + 0.4699999988079071 + + cloud_pos_density1 + + 0.48999997973442078 + 0.50999999046325684 + 0.74000000953674316 + 1 + + cloud_pos_density2 + + 0.44999998807907104 + 0.5 + 0.14000000059604645 + 1 + + cloud_scale + + 0.0835999995470047 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00035999997635371983 + 0 + 0 + 1 + + distance_multiplier + + 2 + 0 + 0 + 1 + + east_angle + 1.3257522583007813 + enable_cloud_scroll + + 0 + 0 + + gamma + + 2.0299999713897705 + 0 + 0 + 1 + + glow + + 0.39999961853027344 + 0.0010000000474974513 + -0.59999996423721313 + 1 + + haze_density + + 0.77999997138977051 + 0 + 0 + 1 + + haze_horizon + + 0.15999999642372131 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.9694594144821167 + 0.037081710994243622 + -0.24243222177028656 + 0 + + max_y + + 591 + 0 + 0 + 1 + + preset_num + 18 + star_brightness + 1.0099999904632568 + sun_angle + 3.1045024394989014 + sunlight_color + + 2.5799999237060547 + 2.4411697387695313 + 2.4411697387695313 + 0.85999995470046997 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Puppy%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Puppy%20Light.xml new file mode 100644 index 000000000..19151d34b --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Puppy%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0.75 + 1.5 + 0.5 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 0 + 0.79687601327896118 + 0.79687398672103882 + 0.39843800663948059 + + cloud_color + + 0.43948723673439005 + 0.49764935046544778 + 0.50246442938400904 + 1 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0 + 0 + 0 + 1 + + distance_multiplier + + 31.5 + 0 + 0 + 1 + + east_angle + 6.0507078170776367 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.4900000095367432 + 0 + 0 + 1 + + glow + + 4.8000001907348633 + 0.0010000000474974513 + -4.1499996185302734 + 1 + + haze_density + + 0.42999997735023499 + 0 + 0 + 1 + + haze_horizon + + 0.70999997854232788 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.15858890116214752 + 0.72537636756896973 + -0.66983485221862793 + 1 + + max_y + + 0 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 500 + sun_angle + 5.4716043472290039 + sunlight_color + + 0 + 1.5058825016021729 + 1.5058825016021729 + 0.50196081399917603 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Queen%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Queen%20Light%2001.xml new file mode 100644 index 000000000..6db5852e7 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Queen%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.1875 + 0.1875 + 0.1875 + 0.0625 + + blue_density + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + blue_horizon + + 1.7999999523162842 + 1.7999999523162842 + 1.7999999523162842 + 0.89999997615814209 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.70001220703125 + 10.01099967956543 + + cloud_shadow + + 0.44999998807907104 + 0 + 0 + 1 + + density_multiplier + + 0.00014170000213198364 + 0 + 0 + 1 + + distance_multiplier + + 7.9000000953674316 + 0 + 0 + 1 + + east_angle + 1.9477875232696533 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.3999999761581421 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0.69999998807907104 + 0 + 0 + 1 + + haze_horizon + + 0.20999999344348907 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.51655691862106323 + 0.83146905899047852 + -0.20451940596103668 + 0 + + max_y + + 77 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.98174667358398438 + sunlight_color + + 2.6999998092651367 + 2.6999998092651367 + 2.6999998092651367 + 0.89999997615814209 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Quidditch%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Quidditch%20Light.xml new file mode 100644 index 000000000..1e756c8f5 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Quidditch%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.35999998450279236 + 0.21600005030632019 + 0 + 0.11999999731779099 + + blue_density + + 0.97999995946884155 + 0.97999995946884155 + 0.97999995946884155 + 0.48999997973442078 + + blue_horizon + + 0.31999999284744263 + 0.31999999284744263 + 0.31999999284744263 + 0.15999999642372131 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 0.5 + 0.5 + 1 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.12459999322891235 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0.23999999463558197 + 0 + 0 + 1 + + density_multiplier + + 0.00031000000308267772 + 0 + 0 + 1 + + distance_multiplier + + 6.8000001907348633 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.3042999505996704 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.33000001311302185 + 1 + + haze_density + + 1.8899999856948853 + 0 + 0 + 1 + + haze_horizon + + 0.23999999463558197 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 0.36227512359619141 + -0.93207120895385742 + 0 + + max_y + + 752 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 0 + sun_angle + 2.7708849906921387 + sunlight_color + + 1.3499999046325684 + 1.3499999046325684 + 1.3499999046325684 + 0.44999998807907104 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Save%20Me%20Light%20.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Save%20Me%20Light%20.xml new file mode 100644 index 000000000..50fd94c0c --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Save%20Me%20Light%20.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 0.5 + 0.5 + 1 + 1 + + cloud_pos_density1 + + 0.95999997854232788 + 0.31000000238418579 + 3 + 1 + + cloud_pos_density2 + + 1 + 1 + 0.5 + 1 + + cloud_scale + + 0.79339998960494995 + 0 + 0 + 1 + + cloud_scroll_rate + + 18.5 + -3 + + cloud_shadow + + 0.15999999642372131 + 0 + 0 + 1 + + density_multiplier + + 3.299999889350147e-006 + 0 + 0 + 1 + + distance_multiplier + + 0 + 0 + 0 + 1 + + east_angle + 3.1855752468109131 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1 + 0 + 0 + 1 + + glow + + 15.799999237060547 + 0.0010000000474974513 + -0.74999994039535522 + 1 + + haze_density + + 0 + 0 + 0 + 1 + + haze_horizon + + 4.8899998664855957 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.040397927165031433 + 0.39473667740821838 + -0.91790574789047241 + 0 + + max_y + + 385 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 500 + sun_angle + 0.40578123927116394 + sunlight_color + + 0 + 0 + 0 + 0 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Shadow%20Testing%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Shadow%20Testing%20Light.xml new file mode 100644 index 000000000..5b10b3dbe --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Shadow%20Testing%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0.24475815892219543 + 0.44872328639030457 + 0.75999999046325684 + 0.37999999523162842 + + blue_horizon + + 0.49548381567001343 + 0.49548381567001343 + 0.63999998569488525 + 0.31999999284744263 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00017999998817685992 + 0 + 0 + 1 + + distance_multiplier + + 0.80000001192092896 + 0 + 0 + 1 + + east_angle + 3.1415927410125732 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.3912999629974365 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0.69999998807907104 + 0 + 0 + 1 + + haze_horizon + + 0.18999999761581421 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 7.923197387071923e-008 + 0.42261755466461182 + -0.90630811452865601 + 0 + + max_y + + 1605 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 0.43633154034614563 + sunlight_color + + 0 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Still%20Life.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Still%20Life.xml new file mode 100644 index 000000000..f6d948d24 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Still%20Life.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.21000000834465027 + 0.21000000834465027 + 0.21000000834465027 + 0.070000000298023224 + + blue_density + + 0.97999995946884155 + 0.97999995946884155 + 0.97999995946884155 + 0.48999997973442078 + + blue_horizon + + 0.31999999284744263 + 0.31999999284744263 + 0.31999999284744263 + 0.15999999642372131 + + cloud_color + + 0.13600000739097595 + 0.17000001668930054 + 0.20399999618530273 + 0.20399999618530273 + + cloud_pos_density1 + + 0.42999997735023499 + 0.55000001192092896 + 0.83429998159408569 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.14000000059604645 + 1 + + cloud_scale + + 0.052799999713897705 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0.21725988388061523 + 0 + 0 + 1 + + density_multiplier + + 0.00011869999434566125 + 0 + 0 + 1 + + distance_multiplier + + 25.700000762939453 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 0 + 0 + + gamma + + 2.2999999523162842 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + 0.39999961853027344 + 1 + + haze_density + + 0.1120000034570694 + 0 + 0 + 1 + + haze_horizon + + 0.44800001382827759 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 0.54830676317214966 + -0.8362773060798645 + 0 + + max_y + + 813 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 0 + sun_angle + 2.5612545013427734 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Thalia%20Light%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Thalia%20Light%2001.xml new file mode 100644 index 000000000..099c6d4a1 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Thalia%20Light%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1 + 1 + 1 + 0.5 + + blue_horizon + + 2 + 2 + 2 + 1 + + cloud_color + + 0.5 + 0.5 + 0.5 + 0.5 + + cloud_pos_density1 + + 0.5 + 0.5 + 0.76829999685287476 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.059000000357627869 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940033104544 + 10.011000058908452 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00020469998707994819 + 0 + 0 + 1 + + distance_multiplier + + 2.5 + 0 + 0 + 1 + + east_angle + 2.060884952545166 + enable_cloud_scroll + + 1 + 1 + + gamma + + 4.4000000953674316 + 0 + 0 + 1 + + glow + + 16.80000114440918 + 0.0010000000474974513 + -0.59999996423721313 + 1 + + haze_density + + 0 + 0 + 0 + 1 + + haze_horizon + + 0.81999999284744263 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.77900981903076172 + 0.46948650479316711 + 0.41560328006744385 + 0 + + max_y + + 2538 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 1.7856996059417725 + sun_angle + 2.6528835296630859 + sunlight_color + + 3 + 3 + 3 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Thalia%20Light%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Thalia%20Light%2002.xml new file mode 100644 index 000000000..9e05253dd --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Thalia%20Light%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.54000002145767212 + 0.54000002145767212 + 0.54000002145767212 + 0.18000000715255737 + + blue_density + + 0.24475815892219543 + 0.44872328639030457 + 0.75999999046325684 + 0.37999999523162842 + + blue_horizon + + 0.49548381567001343 + 0.49548381567001343 + 0.63999998569488525 + 0.31999999284744263 + + cloud_color + + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + 0.40999999642372131 + + cloud_pos_density1 + + 1.6884100437164307 + 0.52609699964523315 + 1 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.125 + 1 + + cloud_scale + + 0.41999998688697815 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.199999809265137 + 10.01099967956543 + + cloud_shadow + + 0.26999998092651367 + 0 + 0 + 1 + + density_multiplier + + 0.00014999999257270247 + 0 + 0 + 1 + + distance_multiplier + + 0 + 0 + 0 + 1 + + east_angle + 0.9424777626991272 + enable_cloud_scroll + + 1 + 1 + + gamma + + 5.6700000762939453 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + -0.47999998927116394 + 1 + + haze_density + + 0.28999999165534973 + 0 + 0 + 1 + + haze_horizon + + 0.20999999344348907 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.67267239093780518 + 0.55557155609130859 + -0.48872512578964233 + 0 + + max_y + + 1605 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 2.5525424480438232 + sunlight_color + + 0.81000006198883057 + 0.81000006198883057 + 0.81000006198883057 + 0.27000001072883606 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Trilogy%20Rain%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Trilogy%20Rain%2001.xml new file mode 100644 index 000000000..cd6911207 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Trilogy%20Rain%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 0.13497035205364227 + 0.26690840721130371 + 0.40166664123535156 + 0.20083332061767578 + + cloud_color + + 0 + 0 + 0 + 0 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0.99999994039535522 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0.59999996423721313 + 0 + 0 + 1 + + density_multiplier + + 0.00011999999696854502 + 0 + 0 + 1 + + distance_multiplier + + 20.899999618530273 + 0 + 0 + 1 + + east_angle + 3.5185837745666504 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.2400000095367432 + 0 + 0 + 1 + + glow + + 1.399998664855957 + 0.0010000000474974513 + -0.44999998807907104 + 1 + + haze_density + + 0.84999996423721313 + 0 + 0 + 1 + + haze_horizon + + 0.40999999642372131 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.071817018091678619 + 0.9807855486869812 + 0.18138909339904785 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 1.7671444416046143 + sunlight_color + + 0.014999985694885254 + 1.0545001029968262 + 2.9850001335144043 + 0.99500000476837158 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Trilogy%20Rain%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Trilogy%20Rain%2002.xml new file mode 100644 index 000000000..9b3f6d522 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Trilogy%20Rain%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 0 + 0 + 0 + 0 + + blue_horizon + + 0.13497035205364227 + 0.26690840721130371 + 0.40166664123535156 + 0.20083332061767578 + + cloud_color + + 0 + 0 + 0 + 0 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0.99999994039535522 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00014999999257270247 + 0 + 0 + 1 + + distance_multiplier + + 14 + 0 + 0 + 1 + + east_angle + 3.5185837745666504 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.2400000095367432 + 0 + 0 + 1 + + glow + + 1.399998664855957 + 0.0010000000474974513 + -2.2999999523162842 + 1 + + haze_density + + 3.6499998569488525 + 0 + 0 + 1 + + haze_horizon + + 0.75999999046325684 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.071817018091678619 + 0.9807855486869812 + 0.18138909339904785 + 0 + + max_y + + 4000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 0 + sun_angle + 1.7671444416046143 + sunlight_color + + 0.014999985694885254 + 1.0545001029968262 + 2.9850001335144043 + 0.99500000476837158 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20White%20Fire%20Sky%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20White%20Fire%20Sky%2001.xml new file mode 100644 index 000000000..df2feee22 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20White%20Fire%20Sky%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.38999998569488525 + 0.38999998569488525 + 0.38999998569488525 + 0.12999999523162842 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 1 + 1 + 1 + 1 + + cloud_pos_density1 + + 0.78999996185302734 + 0.90999996662139893 + 0.11589999496936798 + 1 + + cloud_pos_density2 + + 1 + 1 + 0 + 1 + + cloud_scale + + 0.026499999687075615 + 0 + 0 + 1 + + cloud_scroll_rate + + 17.770000457763672 + 4.4699997901916504 + + cloud_shadow + + 1 + 0 + 0 + 1 + + density_multiplier + + 0.00033199999597854912 + 0 + 0 + 1 + + distance_multiplier + + 0 + 0 + 0 + 1 + + east_angle + 2.7457520961761475 + enable_cloud_scroll + + 1 + 1 + + gamma + + 0.057900000363588333 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -0.14999999105930328 + 1 + + haze_density + + 0 + 0 + 0 + 1 + + haze_horizon + + 0 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.18987095355987549 + 0.87035512924194336 + -0.45434671640396118 + 0 + + max_y + + 2758 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 2 + sun_angle + 1.0559231042861938 + sunlight_color + + 2.6999998092651367 + 2.6999998092651367 + 2.6999998092651367 + 0.89999997615814209 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20White%20Fire%20Sky%2002.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20White%20Fire%20Sky%2002.xml new file mode 100644 index 000000000..85dd15757 --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20White%20Fire%20Sky%2002.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.38999998569488525 + 0.38999998569488525 + 0.38999998569488525 + 0.12999999523162842 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 1 + 1 + 1 + 1 + + cloud_pos_density1 + + 0.78999996185302734 + 0.90999996662139893 + 0.23999999463558197 + 1 + + cloud_pos_density2 + + 1 + 1 + 0 + 1 + + cloud_scale + + 0.4681999683380127 + 0 + 0 + 1 + + cloud_scroll_rate + + 17.770000457763672 + 4.4699997901916504 + + cloud_shadow + + 0.75 + 0 + 0 + 1 + + density_multiplier + + 0.00033199999597854912 + 0 + 0 + 1 + + distance_multiplier + + 0 + 0 + 0 + 1 + + east_angle + 2.7457520961761475 + enable_cloud_scroll + + 1 + 1 + + gamma + + 0.057900000363588333 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -0.14999999105930328 + 1 + + haze_density + + 0 + 0 + 0 + 1 + + haze_horizon + + 0 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.18987095355987549 + 0.87035512924194336 + -0.45434671640396118 + 0 + + max_y + + 2758 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 2 + sun_angle + 1.0559231042861938 + sunlight_color + + 2.6999998092651367 + 2.6999998092651367 + 2.6999998092651367 + 0.89999997615814209 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20White%20Fire%20Sky%2003.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20White%20Fire%20Sky%2003.xml new file mode 100644 index 000000000..9dbfd2a7d --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20White%20Fire%20Sky%2003.xml @@ -0,0 +1,141 @@ + + + ambient + + 1.4399999380111694 + 1.4399999380111694 + 1.4399999380111694 + 0.47999998927116394 + + blue_density + + 2 + 2 + 2 + 1 + + blue_horizon + + 0 + 0 + 0 + 0 + + cloud_color + + 1 + 1 + 1 + 1 + + cloud_pos_density1 + + 0.78999996185302734 + 0.90999996662139893 + 0.11589999496936798 + 1 + + cloud_pos_density2 + + 1 + 1 + 0 + 1 + + cloud_scale + + 0.024799998849630356 + 0 + 0 + 1 + + cloud_scroll_rate + + 17.770000457763672 + 4.4699997901916504 + + cloud_shadow + + 1 + 0 + 0 + 1 + + density_multiplier + + 0.00033069998607970774 + 0 + 0 + 1 + + distance_multiplier + + 31.5 + 0 + 0 + 1 + + east_angle + 2.7457520961761475 + enable_cloud_scroll + + 1 + 1 + + gamma + + 0.18999999761581421 + 0 + 0 + 1 + + glow + + 0.19999980926513672 + 0.0010000000474974513 + -0.14999999105930328 + 1 + + haze_density + + 0 + 0 + 0 + 1 + + haze_horizon + + 0 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + -0.18987095355987549 + 0.87035512924194336 + -0.45434671640396118 + 0 + + max_y + + 3000 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 500 + sun_angle + 1.0559231042861938 + sunlight_color + + 2.6999998092651367 + 2.6999998092651367 + 2.6999998092651367 + 0.89999997615814209 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20Yellow%20Stars%2001.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Yellow%20Stars%2001.xml new file mode 100644 index 000000000..778c1c58b --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20Yellow%20Stars%2001.xml @@ -0,0 +1,141 @@ + + + ambient + + 0 + 0 + 0 + 0 + + blue_density + + 1 + 1 + 2 + 1 + + blue_horizon + + 1.2800000905990601 + 1.2799999713897705 + 0 + 0.64000004529953003 + + cloud_color + + 0.43948723673439005 + 0.49764935046544778 + 0.50246442938400904 + 1 + + cloud_pos_density1 + + 0.57999998331069946 + 0.87000000476837158 + 0.75 + 1 + + cloud_pos_density2 + + 1.6884100437164307 + 0.52609699964523315 + 0.073541670078411725 + 1 + + cloud_scale + + 0.18000000715255737 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.088005410620646 + 10.010458310484864 + + cloud_shadow + + 0 + 0 + 0 + 1 + + density_multiplier + + 0.00033069998607970774 + 0 + 0 + 1 + + distance_multiplier + + -13761.5 + 0 + 0 + 1 + + east_angle + 3.5185837745666504 + enable_cloud_scroll + + 1 + 1 + + gamma + + 1.0900000333786011 + 0 + 0 + 1 + + glow + + 3.0000019073486328 + 0.0010000000474974513 + 10 + 1 + + haze_density + + 4.7799997329711914 + 0 + 0 + 1 + + haze_horizon + + 0.34999999403953552 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0.26703047752380371 + 0.68834781646728516 + -0.67444199323654175 + 0 + + max_y + + 5691 + 0 + 0 + 1 + + preset_num + 22 + star_brightness + 500 + sun_angle + 0.75920891761779785 + sunlight_color + + 3 + 3 + 1.5 + 1 + + + diff --git a/indra/newview/app_settings/windlight/skies/Phototools%2D%20rara%20Fall%20Home%20Light.xml b/indra/newview/app_settings/windlight/skies/Phototools%2D%20rara%20Fall%20Home%20Light.xml new file mode 100644 index 000000000..466de5aae --- /dev/null +++ b/indra/newview/app_settings/windlight/skies/Phototools%2D%20rara%20Fall%20Home%20Light.xml @@ -0,0 +1,141 @@ + + + ambient + + 0.42000001668930054 + 0.42000001668930054 + 0.42000001668930054 + 0.14000000059604645 + + blue_density + + 0.97999995946884155 + 0.97999995946884155 + 0.97999995946884155 + 0.48999997973442078 + + blue_horizon + + 0.31999999284744263 + 0.31999999284744263 + 0.31999999284744263 + 0.15999999642372131 + + cloud_color + + 0.50999999046325684 + 0.50999999046325684 + 0.50999999046325684 + 1 + + cloud_pos_density1 + + 0.5 + 0.5 + 1 + 1 + + cloud_pos_density2 + + 0.5 + 0.5 + 0.125 + 1 + + cloud_scale + + 0.079999998211860657 + 0 + 0 + 1 + + cloud_scroll_rate + + 10.49940013885498 + 10.01099967956543 + + cloud_shadow + + 0.25999999046325684 + 0 + 0 + 1 + + density_multiplier + + 7.8699995356146246e-005 + 0 + 0 + 1 + + distance_multiplier + + 79.5 + 0 + 0 + 1 + + east_angle + 0 + enable_cloud_scroll + + 1 + 1 + + gamma + + 3.809999942779541 + 0 + 0 + 1 + + glow + + 5 + 0.0010000000474974513 + 0.39999961853027344 + 1 + + haze_density + + 0.22400000691413879 + 0 + 0 + 1 + + haze_horizon + + 0.67200005054473877 + 0.19915600121021271 + 0.19915600121021271 + 1 + + lightnorm + + 0 + 0.17796146869659424 + -0.98403745889663696 + 0 + + max_y + + 813 + 0 + 0 + 1 + + preset_num + 21 + star_brightness + 0 + sun_angle + 2.9626781940460205 + sunlight_color + + 1.3799998760223389 + 1.3799998760223389 + 1.3799998760223389 + 0.45999997854232788 + + + diff --git a/indra/newview/app_settings/windlight/water/Phototools%2D%20Black%20Default%20.xml b/indra/newview/app_settings/windlight/water/Phototools%2D%20Black%20Default%20.xml new file mode 100644 index 000000000..31cc98580 --- /dev/null +++ b/indra/newview/app_settings/windlight/water/Phototools%2D%20Black%20Default%20.xml @@ -0,0 +1,43 @@ + + + blurMultiplier + 0.060000002384185791 + fresnelOffset + 0.56000000238418579 + fresnelScale + 1 + normScale + + 10 + 10 + 10 + + normalMap + 822ded49-9a6c-f61c-cb89-6df54f42cdf4 + scaleAbove + 0.029999999329447746 + scaleBelow + 0.20000000298023224 + underWaterFogMod + 0.25 + waterFogColor + + 0 + 0 + 0 + 1 + + waterFogDensity + 16 + wave1Dir + + 1.0499997138977051 + -0.42000007629394531 + + wave2Dir + + 1.1099996566772461 + -1.1600000858306885 + + + diff --git a/indra/newview/app_settings/windlight/water/Phototools%2D%20Breakwave%20Building%20Water.xml b/indra/newview/app_settings/windlight/water/Phototools%2D%20Breakwave%20Building%20Water.xml new file mode 100644 index 000000000..2c5596edb --- /dev/null +++ b/indra/newview/app_settings/windlight/water/Phototools%2D%20Breakwave%20Building%20Water.xml @@ -0,0 +1,43 @@ + + + blurMultiplier + 0.040000002831220627 + fresnelOffset + 0.5 + fresnelScale + 0.39999997615814209 + normScale + + 2 + 2 + 2 + + normalMap + 822ded49-9a6c-f61c-cb89-6df54f42cdf4 + scaleAbove + 0.029999999329447746 + scaleBelow + 0.20000000298023224 + underWaterFogMod + 0.25 + waterFogColor + + 0 + 0 + 0 + 1 + + waterFogDensity + 16 + wave1Dir + + 1.0499997138977051 + -0.42000007629394531 + + wave2Dir + + 1.1099996566772461 + -1.1600000858306885 + + + diff --git a/indra/newview/app_settings/windlight/water/Phototools%2D%20Chandra%20Sea.xml b/indra/newview/app_settings/windlight/water/Phototools%2D%20Chandra%20Sea.xml new file mode 100644 index 000000000..93989f25b --- /dev/null +++ b/indra/newview/app_settings/windlight/water/Phototools%2D%20Chandra%20Sea.xml @@ -0,0 +1,43 @@ + + + blurMultiplier + 0.040000002831220627 + fresnelOffset + 0.55000001192092896 + fresnelScale + 0.62999999523162842 + normScale + + 0 + 0.60000002384185791 + 4.7000002861022949 + + normalMap + 822ded49-9a6c-f61c-cb89-6df54f42cdf4 + scaleAbove + 0 + scaleBelow + 0 + underWaterFogMod + 0.5 + waterFogColor + + 0.19140625 + 0.19140625 + 0.19140625 + 1 + + waterFogDensity + 6.9644041061401367 + wave1Dir + + -0.34000015258789063 + -0.19000005722045898 + + wave2Dir + + -1.4000000953674316 + -0.98000001907348633 + + + diff --git a/indra/newview/app_settings/windlight/water/Phototools%2D%20Gallery%20Water%2001.xml b/indra/newview/app_settings/windlight/water/Phototools%2D%20Gallery%20Water%2001.xml new file mode 100644 index 000000000..d3cf6f6d8 --- /dev/null +++ b/indra/newview/app_settings/windlight/water/Phototools%2D%20Gallery%20Water%2001.xml @@ -0,0 +1,43 @@ + + + blurMultiplier + 0.040000002831220627 + fresnelOffset + 0.5 + fresnelScale + 0.39999997615814209 + normScale + + 2 + 2 + 2 + + normalMap + 822ded49-9a6c-f61c-cb89-6df54f42cdf4 + scaleAbove + 0.029999999329447746 + scaleBelow + 0.20000000298023224 + underWaterFogMod + 0.25 + waterFogColor + + 0 + 0 + 0 + 1 + + waterFogDensity + 16 + wave1Dir + + 0.529998779296875 + -0.21000099182128906 + + wave2Dir + + 0.55999946594238281 + -0.57999992370605469 + + + diff --git a/indra/newview/app_settings/windlight/water/Phototools%2D%20Ship%20Light.xml b/indra/newview/app_settings/windlight/water/Phototools%2D%20Ship%20Light.xml new file mode 100644 index 000000000..6a4708dac --- /dev/null +++ b/indra/newview/app_settings/windlight/water/Phototools%2D%20Ship%20Light.xml @@ -0,0 +1,43 @@ + + + blurMultiplier + 0.040000002831220627 + fresnelOffset + 0.5899999737739563 + fresnelScale + 0.22999998927116394 + normScale + + 1.3000000715255737 + 5.0999999046325684 + 2.2999999523162842 + + normalMap + 822ded49-9a6c-f61c-cb89-6df54f42cdf4 + scaleAbove + 0 + scaleBelow + 0 + underWaterFogMod + 0.5 + waterFogColor + + 0 + 0 + 0 + 1 + + waterFogDensity + 6.9644041061401367 + wave1Dir + + -0.34000015258789063 + -0.19000005722045898 + + wave2Dir + + -1.4000000953674316 + -0.98000001907348633 + + + diff --git a/indra/newview/character/aux_base.tga b/indra/newview/character/aux_base.tga new file mode 100644 index 000000000..dbcaaaf2b Binary files /dev/null and b/indra/newview/character/aux_base.tga differ diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml index dea786773..47422d038 100644 --- a/indra/newview/character/avatar_lad.xml +++ b/indra/newview/character/avatar_lad.xml @@ -6885,7 +6885,7 @@ + pos="-0.01 0.01 -0.02"/> @@ -8949,6 +8949,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10024,6 +10085,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10198,6 +10319,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12410,9 +12708,451 @@ domain="0" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -15926,8 +16666,278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/indra/newview/character/checkerboard.tga b/indra/newview/character/checkerboard.tga new file mode 100644 index 000000000..1950d7403 Binary files /dev/null and b/indra/newview/character/checkerboard.tga differ diff --git a/indra/newview/character/invisible_head.tga b/indra/newview/character/invisible_head.tga new file mode 100644 index 000000000..2673a237d Binary files /dev/null and b/indra/newview/character/invisible_head.tga differ diff --git a/indra/newview/floaterlocalassetbrowse.cpp b/indra/newview/floaterlocalassetbrowse.cpp index 5ee0445a2..15746590b 100644 --- a/indra/newview/floaterlocalassetbrowse.cpp +++ b/indra/newview/floaterlocalassetbrowse.cpp @@ -639,6 +639,7 @@ void LocalAssetBrowser::UpdateTextureCtrlList(LLScrollListCtrl* ctrl) for (const auto& bitmap : loaded_bitmaps) { auto row = LLScrollListItem::Params(); + row.value(bitmap.id); row.columns.add(LLScrollListCell::Params() .column("unit_name") .type("text") diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index de298c752..30a86d723 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -80,6 +80,24 @@ using namespace LLAvatarAppearanceDefines; /////////////////////////////////////////////////////////////////////////////// +void set_default_permissions(LLViewerInventoryItem* item) +{ + llassert(item); + LLPermissions perm = item->getPermissions(); + if (perm.getMaskNextOwner() != LLFloaterPerms::getNextOwnerPerms("Wearables") + || perm.getMaskEveryone() != LLFloaterPerms::getEveryonePerms("Wearables") + || perm.getMaskGroup() != LLFloaterPerms::getGroupPerms("Wearables")) + { + perm.setMaskNext(LLFloaterPerms::getNextOwnerPerms("Wearables")); + perm.setMaskEveryone(LLFloaterPerms::getEveryonePerms("Wearables")); + perm.setMaskGroup(LLFloaterPerms::getGroupPerms("Wearables")); + + item->setPermissions(perm); + + item->updateServer(FALSE); + } +} + // Callback to wear and start editing an item that has just been created. void wear_and_edit_cb(const LLUUID& inv_item) { @@ -88,13 +106,9 @@ void wear_and_edit_cb(const LLUUID& inv_item) LLViewerInventoryItem* item = gInventory.getItem(inv_item); if (!item) return; - LLPermissions perm = item->getPermissions(); - perm.setMaskNext(LLFloaterPerms::getNextOwnerPerms("Wearables")); - perm.setMaskEveryone(LLFloaterPerms::getEveryonePerms("Wearables")); - perm.setMaskGroup(LLFloaterPerms::getGroupPerms("Wearables")); - item->setPermissions(perm); + set_default_permissions(item); - item->updateServer(FALSE); + // item was just created, update even if permissions did not changed gInventory.updateItem(item); gInventory.notifyObservers(); @@ -112,13 +126,8 @@ void wear_cb(const LLUUID& inv_item) LLViewerInventoryItem* item = gInventory.getItem(inv_item); if (item) { - LLPermissions perm = item->getPermissions(); - perm.setMaskNext(LLFloaterPerms::getNextOwnerPerms("Wearables")); - perm.setMaskEveryone(LLFloaterPerms::getEveryonePerms("Wearables")); - perm.setMaskGroup(LLFloaterPerms::getGroupPerms("Wearables")); - item->setPermissions(perm); + set_default_permissions(item); - item->updateServer(FALSE); gInventory.updateItem(item); gInventory.notifyObservers(); } @@ -184,7 +193,7 @@ void LLAgentWearables::dump() struct LLAgentDumper { LLAgentDumper(std::string name): - mName(name) + mName(std::move(name)) { LL_INFOS() << LL_ENDL; LL_INFOS() << "LLAgentDumper " << mName << LL_ENDL; @@ -259,7 +268,7 @@ LLAgentWearables::AddWearableToAgentInventoryCallback::AddWearableToAgentInvento mIndex(index), mWearable(wearable), mTodo(todo), - mCB(cb), + mCB(std::move(cb)), mDescription(description) { LL_INFOS() << "constructor" << LL_ENDL; @@ -1647,6 +1656,12 @@ void LLAgentWearables::createWearable(LLWearableType::EType type, bool wear, con { if (type == LLWearableType::WT_INVALID || type == LLWearableType::WT_NONE) return; + if (type == LLWearableType::WT_UNIVERSAL && !gAgent.getRegion()->bakesOnMeshEnabled()) + { + LL_WARNS("Inventory") << "Can't create WT_UNIVERSAL type " << LL_ENDL; + return; + } + LLViewerWearable* wearable = LLWearableList::instance().createNewWearable(type, gAgentAvatarp); LLAssetType::EType asset_type = wearable->getAssetType(); LLInventoryType::EType inv_type = LLInventoryType::IT_WEARABLE; diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 34a86f70b..c91eccafd 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -51,7 +51,6 @@ #include "llviewerstats.h" #include "llmarketplacefunctions.h" #include "llmarketplacenotifications.h" -#include "llmd5.h" #include "llmeshrepository.h" #include "llmodaldialog.h" #include "llpumpio.h" @@ -63,7 +62,6 @@ #include "llares.h" #include "llcurl.h" #include "llcalc.h" -#include "lltexturestats.h" #include "llviewerwindow.h" #include "llviewerdisplay.h" #include "llviewermedia.h" @@ -138,8 +136,6 @@ #include "llassetstorage.h" #include "llpolymesh.h" #include "llaudioengine.h" -#include "llstreamingaudio.h" -#include "llviewermenu.h" #include "llselectmgr.h" #include "lltrans.h" #include "lltracker.h" @@ -147,7 +143,6 @@ #include "llworldmapview.h" #include "llpostprocess.h" #include "llwlparammanager.h" -#include "llwaterparammanager.h" #include "lldebugview.h" #include "llconsole.h" @@ -166,9 +161,7 @@ #include "llbutton.h" #include "llcombobox.h" #include "floaterlocalassetbrowse.h" -#include "llstatusbar.h" #include "llsurface.h" -#include "llvosky.h" #include "llvotree.h" #include "llfolderview.h" #include "lltoolbar.h" @@ -216,6 +209,8 @@ // llviewernetwork.h #include "llviewernetwork.h" +#include + ////// Windows-specific includes to the bottom - nasty defines in these pollute the preprocessor // @@ -468,6 +463,7 @@ static void settings_to_globals() MENU_BAR_HEIGHT = gSavedSettings.getS32("MenuBarHeight"); MENU_BAR_WIDTH = gSavedSettings.getS32("MenuBarWidth"); + extern S32 STATUS_BAR_HEIGHT; STATUS_BAR_HEIGHT = gSavedSettings.getS32("StatusBarHeight"); LLCOMBOBOX_HEIGHT = BTN_HEIGHT - 2; @@ -862,7 +858,7 @@ bool LLAppViewer::init() #endif LLMIMETypes::parseMIMETypes( mime_types_name ); - // Copy settings to globals. *TODO: Remove or move to appropriage class initializers + // Copy settings to globals. *TODO: Remove or move to appropriate class initializers settings_to_globals(); // Setup settings listeners settings_setup_listeners(); @@ -990,7 +986,7 @@ bool LLAppViewer::init() minSpecs += "\n"; unsupported = true; } - if(gSysMemory.getPhysicalMemoryClamped() < minRAM) + if(gSysMemory.getPhysicalMemoryKB() < minRAM) { minSpecs += LLNotificationTemplates::instance().getGlobalString("UnsupportedRAM"); minSpecs += "\n"; @@ -1577,7 +1573,7 @@ bool LLAppViewer::cleanup() */ // - + void cleanup_menus(); cleanup_menus(); // Wait for any pending VFS IO @@ -2692,8 +2688,8 @@ void LLAppViewer::writeSystemInfo() gDebugInfo["CPUInfo"]["CPUSSE"] = gSysCPU.hasSSE(); gDebugInfo["CPUInfo"]["CPUSSE2"] = gSysCPU.hasSSE2(); - gDebugInfo["RAMInfo"]["Physical"] = (LLSD::Integer)(gSysMemory.getPhysicalMemoryKB().value()); - gDebugInfo["RAMInfo"]["Allocated"] = (LLSD::Integer)(gMemoryAllocated.valueInUnits()); + gDebugInfo["RAMInfo"]["Physical"] = LLSD::Integer(gSysMemory.getPhysicalMemoryKB().value()); + gDebugInfo["RAMInfo"]["Allocated"] = LLSD::Integer(gMemoryAllocated.valueInUnits()); gDebugInfo["OSInfo"] = getOSInfo().getOSStringSimple(); // The user is not logged on yet, but record the current grid choice login url @@ -3341,8 +3337,14 @@ bool LLAppViewer::initCache() // } - LLSplashScreen::update(LLTrans::getString("StartupInitializingTextureCache")); - + { + std::random_device rnddev; + std::mt19937 rng(rnddev()); + std::uniform_int_distribution<> dist(0, 4); + LLSplashScreen::update(LLTrans::getString( + llformat("StartupInitializingTextureCache%d", dist(rng)))); + } + // Init the texture cache // Allocate 80% of the cache size for textures const U64Bytes MIN_CACHE_SIZE = U32Megabytes(64); diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 71e1b6a8c..3ed58db98 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -736,7 +736,7 @@ void LLFavoritesBarCtrl::updateButtons() } const child_list_t* childs = getChildList(); child_list_const_iter_t child_it = childs->begin(); - int first_changed_item_index = 0; + size_t first_changed_item_index = 0; int rightest_point = getRect().mRight - mMoreTextBox->getRect().getWidth(); //lets find first changed button while (child_it != childs->end() && first_changed_item_index < mItems.size()) @@ -798,7 +798,7 @@ void LLFavoritesBarCtrl::updateButtons() } //last_right_edge is saving coordinates LLButton* last_new_button = NULL; - int j = first_changed_item_index; + size_t j = first_changed_item_index; for (; j < mItems.size(); j++) { last_new_button = createButton(mItems[j], button_params, last_right_edge); @@ -982,7 +982,7 @@ void LLFavoritesBarCtrl::updateMenuItems(LLMenuGL* menu) U32 widest_item = 0; - for (S32 i = mFirstDropDownItem; i < mItems.size(); i++) + for (size_t i = mFirstDropDownItem; i < mItems.size(); i++) { LLViewerInventoryItem* item = mItems.at(i); const std::string& item_name = item->getName(); diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h index 48f26624f..7d6008a02 100644 --- a/indra/newview/llfavoritesbar.h +++ b/indra/newview/llfavoritesbar.h @@ -101,8 +101,8 @@ protected: LLUUID mFavoriteFolderId; const LLFontGL *mFont; - S32 mFirstDropDownItem; - S32 mDropDownItemsCount; + size_t mFirstDropDownItem; + U32 mDropDownItemsCount; bool mUpdateDropDownItems; bool mRestoreOverflowMenu; diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp index 096df5cde..8ecf9f8c6 100644 --- a/indra/newview/llfeaturemanager.cpp +++ b/indra/newview/llfeaturemanager.cpp @@ -679,7 +679,7 @@ void LLFeatureManager::applyBaseMasks() maskFeatures(gpustr); // now mask cpu type ones - if (gSysMemory.getPhysicalMemoryClamped() <= U32Megabytes(256)) + if (gSysMemory.getPhysicalMemoryKB() <= U32Megabytes(256)) { maskFeatures("RAM256MB"); } diff --git a/indra/newview/llfloateravatarlist.cpp b/indra/newview/llfloateravatarlist.cpp index 51122e51b..9d6264f3c 100644 --- a/indra/newview/llfloateravatarlist.cpp +++ b/indra/newview/llfloateravatarlist.cpp @@ -378,7 +378,7 @@ namespace { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLFloaterAvatarList::setFocusAvatar(get_focused_list_id_selected()); + LLFloaterAvatarList::setFocusAvatar(LFIDBearer::getActiveSelectedID()); return true; } }; @@ -405,7 +405,7 @@ namespace { bool handleEvent(LLPointer event, const LLSD& userdata) { - teleport_to(get_focused_list_id_selected()); + teleport_to(LFIDBearer::getActiveSelectedID()); return true; } }; diff --git a/indra/newview/llfloaterbuyland.cpp b/indra/newview/llfloaterbuyland.cpp index a890cba38..080a74a48 100644 --- a/indra/newview/llfloaterbuyland.cpp +++ b/indra/newview/llfloaterbuyland.cpp @@ -176,7 +176,7 @@ public: void updateFloaterCovenantText(const std::string& string, const LLUUID &asset_id); void updateFloaterEstateName(const std::string& name); void updateFloaterLastModified(const std::string& text); - void updateFloaterEstateOwnerName(const std::string& name); + void updateFloaterEstateOwnerID(const LLUUID& id); void updateWebSiteInfo(); void finishWebSiteInfo(); @@ -263,12 +263,12 @@ void LLFloaterBuyLand::updateLastModified(const std::string& text) } // static -void LLFloaterBuyLand::updateEstateOwnerName(const std::string& name) +void LLFloaterBuyLand::updateEstateOwnerID(const LLUUID& id) { - LLFloaterBuyLandUI* floater = LLFloaterBuyLandUI::instanceExists() ? LLFloaterBuyLandUI::getInstance() : NULL; + LLFloaterBuyLandUI* floater = LLFloaterBuyLandUI::instanceExists() ? LLFloaterBuyLandUI::getInstance() : nullptr; if (floater) { - floater->updateFloaterEstateOwnerName(name); + floater->updateFloaterEstateOwnerID(id); } } @@ -629,10 +629,10 @@ void LLFloaterBuyLandUI::updateFloaterLastModified(const std::string& text) if (editor) editor->setText(text); } -void LLFloaterBuyLandUI::updateFloaterEstateOwnerName(const std::string& name) +void LLFloaterBuyLandUI::updateFloaterEstateOwnerID(const LLUUID& id) { LLTextBox* box = getChild("estate_owner_text"); - if (box) box->setText(name); + if (box) box->setValue(id); } void LLFloaterBuyLandUI::updateWebSiteInfo() diff --git a/indra/newview/llfloaterbuyland.h b/indra/newview/llfloaterbuyland.h index 0d90130a0..8bb98e0c2 100644 --- a/indra/newview/llfloaterbuyland.h +++ b/indra/newview/llfloaterbuyland.h @@ -46,7 +46,7 @@ public: static void updateCovenantText(const std::string& string, const LLUUID& asset_id); static void updateEstateName(const std::string& name); static void updateLastModified(const std::string& text); - static void updateEstateOwnerName(const std::string& name); + static void updateEstateOwnerID(const LLUUID& id); }; #endif diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index 59f2b5049..df031e4d8 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -368,7 +368,6 @@ LLPanelLandGeneral::LLPanelLandGeneral(LLParcelSelectionHandle& parcel) , mBtnDeedToGroup(nullptr) , mBtnSetGroup(nullptr) , mTextOwner(nullptr) - , mBtnProfile(nullptr) , mContentRating(nullptr) , mLandType(nullptr) , mTextGroup(nullptr) @@ -414,19 +413,13 @@ BOOL LLPanelLandGeneral::postBuild() mContentRating = getChild("ContentRatingText"); mLandType = getChild("LandTypeText"); - - mBtnProfile = getChild("Profile..."); - mBtnProfile->setClickedCallback(boost::bind(&LLPanelLandGeneral::onClickProfile, this)); - mTextGroup = getChild("GroupText"); mBtnSetGroup = getChild("Set..."); mBtnSetGroup->setCommitCallback(boost::bind(&LLPanelLandGeneral::onClickSetGroup, this)); - getChild("group_profile")->setClickedCallback(onClickInfoGroup, this); - mCheckDeedToGroup = getChild( "check deed"); childSetCommitCallback("check deed", onCommitAny, this); @@ -564,14 +557,12 @@ void LLPanelLandGeneral::refresh() mCheckContributeWithDeed->set(FALSE); mCheckContributeWithDeed->setEnabled(FALSE); - mTextOwner->setText(LLStringUtil::null); + mTextOwner->setValue(LLUUID::null); mContentRating->setText(LLStringUtil::null); mLandType->setText(LLStringUtil::null); - mBtnProfile->setLabel(getString("profile_text")); - mBtnProfile->setEnabled(FALSE); mTextClaimDate->setText(LLStringUtil::null); - mTextGroup->setText(LLStringUtil::null); + mTextGroup->setValue(LLUUID::null); mTextPrice->setText(LLStringUtil::null); mSaleInfoForSale1->setVisible(FALSE); @@ -626,16 +617,19 @@ void LLPanelLandGeneral::refresh() BOOL can_be_sold = owner_sellable || estate_manager_sellable; const LLUUID &owner_id = parcel->getOwnerID(); + const LLUUID& group_id = parcel->getGroupID(); BOOL is_public = parcel->isPublic(); + bool group_owned = parcel->getIsGroupOwned(); // Is it owned? + mTextOwner->setValue(is_public ? LLSD(LLUUID::null) : LLSD().with("id", owner_id).with("group", group_owned)); + mTextGroup->setValue(is_public ? LLUUID::null : group_id); if (is_public) { mTextSalePending->setText(LLStringUtil::null); mTextSalePending->setEnabled(FALSE); mTextOwner->setText(getString("public_text")); mTextOwner->setEnabled(FALSE); - mBtnProfile->setEnabled(FALSE); mTextClaimDate->setText(LLStringUtil::null); mTextClaimDate->setEnabled(FALSE); mTextGroup->setText(getString("none_text")); @@ -665,21 +659,13 @@ void LLPanelLandGeneral::refresh() mTextOwner->setEnabled(TRUE); // We support both group and personal profiles - mBtnProfile->setEnabled(TRUE); - - if (parcel->getGroupID().isNull()) + if (group_id.isNull()) { - // Not group owned, so "Profile" - mBtnProfile->setLabel(getString("profile_text")); - mTextGroup->setText(getString("none_text")); mTextGroup->setEnabled(FALSE); } else { - // Group owned, so "Info" - mBtnProfile->setLabel(getString("info_text")); - //mTextGroup->setText("HIPPOS!");//parcel->getGroupName()); mTextGroup->setEnabled(TRUE); } @@ -702,9 +688,7 @@ void LLPanelLandGeneral::refresh() mEditDesc->setEnabled(can_edit_identity); BOOL can_edit_agent_only = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_NO_POWERS); - mBtnSetGroup->setEnabled(can_edit_agent_only && !parcel->getIsGroupOwned()); - - const LLUUID& group_id = parcel->getGroupID(); + mBtnSetGroup->setEnabled(can_edit_agent_only && !group_owned); // Can only allow deeding if you own it and it's got a group. BOOL enable_deed = (owner_id == gAgent.getID() @@ -723,7 +707,7 @@ void LLPanelLandGeneral::refresh() mBtnDeedToGroup->setEnabled( parcel->getAllowDeedToGroup() && group_id.notNull() && can_deed - && !parcel->getIsGroupOwned() + && !group_owned ); mEditName->setText( parcel->getName() ); @@ -838,34 +822,24 @@ void LLPanelLandGeneral::refreshNames() LLParcel *parcel = mParcel->getParcel(); if (!parcel) { - mTextOwner->setText(LLStringUtil::null); - mTextGroup->setText(LLStringUtil::null); + mTextOwner->setValue(LLUUID::null); + mTextGroup->setValue(LLUUID::null); return; } - std::string owner; - if (parcel->getIsGroupOwned()) + bool group_owned = parcel->getIsGroupOwned(); + mTextOwner->setValue(LLSD().with("id", parcel->getOwnerID()).with("group", group_owned)); + if (group_owned) { - owner = getString("group_owned_text"); - } - else - { - // Figure out the owner's name - gCacheName->getFullName(parcel->getOwnerID(), owner); + mTextOwner->setText(getString("group_owned_text")); } if(LLParcel::OS_LEASE_PENDING == parcel->getOwnershipStatus()) { - owner += getString("sale_pending_text"); + mTextOwner->setText(mTextOwner->getText() + getString("sale_pending_text")); } - mTextOwner->setText(owner); - std::string group; - if (!parcel->getGroupID().isNull()) - { - gCacheName->getGroupName(parcel->getGroupID(), group); - } - mTextGroup->setText(group); + mTextGroup->setValue(parcel->getGroupID()); if (parcel->getForSale()) { @@ -883,13 +857,6 @@ void LLPanelLandGeneral::refreshNames() } } - -// virtual -void LLPanelLandGeneral::draw() -{ - LLPanel::draw(); -} - void LLPanelLandGeneral::onClickSetGroup() { LLFloater* parent_floater = gFloaterView->getParentFloater(this); @@ -907,32 +874,6 @@ void LLPanelLandGeneral::onClickSetGroup() } } -// static -void LLPanelLandGeneral::onClickInfoGroup(void* userdata) -{ - LLPanelLandGeneral* panelp = (LLPanelLandGeneral*)userdata; - LLParcel* parcel = panelp->mParcel->getParcel(); - if (!parcel) return; - LLGroupActions::show(parcel->getGroupID()); -} - -void LLPanelLandGeneral::onClickProfile() -{ - LLParcel* parcel = mParcel->getParcel(); - if (!parcel) return; - - if (parcel->getIsGroupOwned()) - { - const LLUUID& group_id = parcel->getGroupID(); - LLGroupActions::show(group_id); - } - else - { - const LLUUID& avatar_id = parcel->getOwnerID(); - LLAvatarActions::showProfile(avatar_id); - } -} - // public void LLPanelLandGeneral::setGroup(const LLUUID& group_id) { @@ -942,7 +883,6 @@ void LLPanelLandGeneral::setGroup(const LLUUID& group_id) // Set parcel properties and send message parcel->setGroupID(group_id); //parcel->setGroupName(group_name); - //mTextGroup->setText(group_name); // Send update LLViewerParcelMgr::getInstance()->sendParcelPropertiesUpdate(parcel); @@ -1197,7 +1137,6 @@ BOOL LLPanelLandObjects::postBuild() mOwnerList = getChild("owner list"); mOwnerList->sortByColumnIndex(3, FALSE); mOwnerList->setCommitCallback(boost::bind(&LLPanelLandObjects::onCommitList,this)); - mOwnerList->setDoubleClickCallback(boost::bind(&LLPanelLandObjects::onDoubleClickOwner, this)); return TRUE; } @@ -1209,35 +1148,6 @@ BOOL LLPanelLandObjects::postBuild() LLPanelLandObjects::~LLPanelLandObjects() { } -// static -void LLPanelLandObjects::onDoubleClickOwner(void *userdata) -{ - LLPanelLandObjects *self = (LLPanelLandObjects *)userdata; - - LLScrollListItem* item = self->mOwnerList->getFirstSelected(); - if (item) - { - LLUUID owner_id = item->getUUID(); - // Look up the selected name, for future dialog box use. - const LLScrollListCell* cell; - cell = item->getColumn(1); - if (!cell) - { - return; - } - // Is this a group? - BOOL is_group = cell->getValue().asString() == OWNER_GROUP; - if (is_group) - { - LLGroupActions::show(owner_id); - } - else - { - LLAvatarActions::showProfile(owner_id); - } - } -} - // public void LLPanelLandObjects::refresh() { @@ -1351,12 +1261,6 @@ void LLPanelLandObjects::refresh() } } -// virtual -void LLPanelLandObjects::draw() -{ - LLPanel::draw(); -} - void send_other_clean_time_message(S32 parcel_local_id, S32 other_clean_time) { LLMessageSystem *msg = gMessageSystem; @@ -3145,13 +3049,12 @@ void LLPanelLandCovenant::updateLastModified(const std::string& text) } // static -void LLPanelLandCovenant::updateEstateOwnerName(const std::string& name) +void LLPanelLandCovenant::updateEstateOwnerID(const LLUUID& id) { LLPanelLandCovenant* self = LLFloaterLand::getCurrentPanelLandCovenant(); if (self) { - LLTextBox* editor = self->getChild("estate_owner_text"); - if (editor) editor->setText(name); + self->getChildView("estate_owner_text")->setValue(id); } } diff --git a/indra/newview/llfloaterland.h b/indra/newview/llfloaterland.h index eb0cefd7f..9bc8011bf 100644 --- a/indra/newview/llfloaterland.h +++ b/indra/newview/llfloaterland.h @@ -145,12 +145,9 @@ public: virtual ~LLPanelLandGeneral(); /*virtual*/ void refresh(); void refreshNames(); - virtual void draw(); void setGroup(const LLUUID& group_id); - void onClickProfile(); void onClickSetGroup(); - static void onClickInfoGroup(void*); static void onClickDeed(void*); static void onClickBuyLand(void* data); static void onClickScriptLimits(void* data); @@ -191,8 +188,7 @@ protected: LLButton* mBtnSetGroup; LLTextBox* mTextOwner; - LLButton* mBtnProfile; - + LLTextBox* mContentRating; LLTextBox* mLandType; @@ -246,7 +242,6 @@ public: LLPanelLandObjects(LLSafeHandle& parcelp); virtual ~LLPanelLandObjects(); /*virtual*/ void refresh(); - virtual void draw(); bool callbackReturnOwnerObjects(const LLSD& notification, const LLSD& response); bool callbackReturnGroupObjects(const LLSD& notification, const LLSD& response); @@ -264,8 +259,6 @@ public: static void onClickReturnOwnerList(void*); static void onClickRefresh(void*); - static void onDoubleClickOwner(void*); - void onCommitList(); static void onLostFocus(LLFocusableElement* caller, void* user_data); static void onCommitClean(LLUICtrl* caller, void* user_data); @@ -406,7 +399,7 @@ public: static void updateCovenantText(const std::string& string); static void updateEstateName(const std::string& name); static void updateLastModified(const std::string& text); - static void updateEstateOwnerName(const std::string& name); + static void updateEstateOwnerID(const LLUUID& id); protected: LLSafeHandle& mParcel; diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index e7821fe63..095d01e40 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -2021,7 +2021,7 @@ void LLModelPreview::loadModelCallback(S32 loaded_lod) } //add current model to current LoD's model list (LLModel::mLocalID makes a good vector index) - S32 idx = list_iter->mModel->mLocalID; + size_t idx = list_iter->mModel->mLocalID; if (mModel[lod].size() <= idx) { //stretch model list to fit model at given index diff --git a/indra/newview/llfloaterproperties.cpp b/indra/newview/llfloaterproperties.cpp index 2f80d004d..9a32f4011 100644 --- a/indra/newview/llfloaterproperties.cpp +++ b/indra/newview/llfloaterproperties.cpp @@ -168,12 +168,6 @@ BOOL LLFloaterProperties::postBuild() getChild("LabelItemName")->setCommitCallback(boost::bind(&LLFloaterProperties::onCommitName,this)); getChild("LabelItemDesc")->setPrevalidate(&LLLineEditor::prevalidatePrintableNotPipe); getChild("LabelItemDesc")->setCommitCallback(boost::bind(&LLFloaterProperties::onCommitDescription,this)); - // Creator information - getChild("BtnCreator")->setCommitCallback(boost::bind(&LLFloaterProperties::onClickCreator,this)); - // owner information - getChild("BtnOwner")->setCommitCallback(boost::bind(&LLFloaterProperties::onClickOwner,this)); - // last owner information - getChild("BtnLastOwner")->setCommitCallback(boost::bind(&LLFloaterProperties::onClickLastOwner,this)); // acquired date // owner permissions // Permissions debug text @@ -226,11 +220,8 @@ void LLFloaterProperties::refresh() "LabelItemName", "LabelItemDesc", "LabelCreatorName", - "BtnCreator", "LabelOwnerName", - "BtnOwner", "LabelLastOwnerName", - "BtnLastOwner", "CheckOwnerModify", "CheckOwnerCopy", "CheckOwnerTransfer", @@ -328,72 +319,46 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item) if(!gCacheName) return; if(!gAgent.getRegion()) return; + getChild("LabelCreatorName")->setValue(item->getCreatorUUID()); if (item->getCreatorUUID().notNull()) { - std::string name; - gCacheName->getFullName(item->getCreatorUUID(), name); - getChildView("BtnCreator")->setEnabled(TRUE); getChildView("LabelCreatorTitle")->setEnabled(TRUE); getChildView("LabelCreatorName")->setEnabled(TRUE); - getChild("LabelCreatorName")->setValue(name); } else { - getChildView("BtnCreator")->setEnabled(FALSE); getChildView("LabelCreatorTitle")->setEnabled(FALSE); getChildView("LabelCreatorName")->setEnabled(FALSE); - getChild("LabelCreatorName")->setValue(getString("unknown")); + getChild("LabelCreatorName")->setText(getString("unknown")); } + getChild("LabelLastOwnerName")->setValue(perm.getLastOwner()); if (perm.getLastOwner().notNull()) { - std::string name; - gCacheName->getFullName(perm.getLastOwner(), name); getChildView("LabelLastOwnerTitle")->setEnabled(true); getChildView("LabelLastOwnerName")->setEnabled(true); - getChild("LabelLastOwnerName")->setValue(name); } else { getChildView("LabelLastOwnerTitle")->setEnabled(false); getChildView("LabelLastOwnerName")->setEnabled(false); - getChild("LabelLastOwnerName")->setValue(getString("unknown")); + getChild("LabelLastOwnerName")->setText(getString("unknown")); } //////////////// // OWNER NAME // //////////////// + getChild("LabelOwnerName")->setValue(perm.getOwner()); if(perm.isOwned()) { - std::string name; - if (perm.isGroupOwned()) - { - gCacheName->getGroupName(perm.getGroup(), name); - } - else - { - gCacheName->getFullName(perm.getOwner(), name); -// [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) - if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) - { - name = RlvStrings::getAnonym(name); - } -// [/RLVa:KB] - } - getChildView("BtnOwner")->setEnabled(TRUE); -// [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) | Added: RLVa-1.0.0e - getChildView("BtnOwner")->setEnabled(!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)); -// [/RLVa:KB] getChildView("LabelOwnerTitle")->setEnabled(TRUE); getChildView("LabelOwnerName")->setEnabled(TRUE); - getChild("LabelOwnerName")->setValue(name); } else { - getChildView("BtnOwner")->setEnabled(FALSE); getChildView("LabelOwnerTitle")->setEnabled(FALSE); getChildView("LabelOwnerName")->setEnabled(FALSE); - getChild("LabelOwnerName")->setValue(getString("public")); + getChild("LabelOwnerName")->setText(getString("public")); } ////////////////// @@ -609,38 +574,6 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item) } } -void LLFloaterProperties::onClickCreator() -{ - LLInventoryItem* item = findItem(); - if(!item) return; - LLAvatarActions::showProfile(item->getCreatorUUID()); -} - -// static -void LLFloaterProperties::onClickOwner() -{ - LLInventoryItem* item = findItem(); - if(!item) return; - if(item->getPermissions().isGroupOwned()) - { - LLGroupActions::show(item->getPermissions().getGroup()); - } - else - { -// [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) - if (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) -// [/RLVa:KB] - { - LLAvatarActions::showProfile(item->getPermissions().getOwner()); - } - } -} - -void LLFloaterProperties::onClickLastOwner() -{ - if (const LLInventoryItem* item = findItem()) LLAvatarActions::showProfile(item->getPermissions().getLastOwner()); -} - // static void LLFloaterProperties::onCommitName() { diff --git a/indra/newview/llfloaterproperties.h b/indra/newview/llfloaterproperties.h index d2640f07d..5d90fea0c 100644 --- a/indra/newview/llfloaterproperties.h +++ b/indra/newview/llfloaterproperties.h @@ -74,9 +74,6 @@ public: protected: // ui callbacks - void onClickCreator(); - void onClickOwner(); - void onClickLastOwner(); void onCommitName(); void onCommitDescription(); void onCommitPermissions(); diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index fc4818e32..9f08b1295 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -1676,12 +1676,12 @@ struct LLEstateAccessChangeInfo }; // static -void LLPanelEstateInfo::updateEstateOwnerName(const std::string& name) +void LLPanelEstateInfo::updateEstateOwnerID(const LLUUID& id) { LLPanelEstateInfo* panelp = LLFloaterRegionInfo::getPanelEstate(); if (panelp) { - panelp->setOwnerName(name); + panelp->getChild("estate_owner")->setValue(id); } } @@ -1800,7 +1800,7 @@ void LLPanelEstateInfo::refreshFromEstate() const LLEstateInfoModel& estate_info = LLEstateInfoModel::instance(); getChild("estate_name")->setValue(estate_info.getName()); - LLAvatarNameCache::get(estate_info.getOwnerID(), boost::bind(&LLPanelEstateInfo::setOwnerName, this, boost::bind(&LLAvatarName::getNSName, _2, main_name_system()))); + getChild("estate_owner")->setValue(estate_info.getOwnerID()); getChild("externally_visible_check")->setValue(estate_info.getIsExternallyVisible()); getChild("voice_chat_check")->setValue(estate_info.getAllowVoiceChat()); @@ -1924,12 +1924,7 @@ void LLPanelEstateInfo::getEstateOwner() const std::string LLPanelEstateInfo::getOwnerName() const { - return getChild("estate_owner")->getValue().asString(); -} - -void LLPanelEstateInfo::setOwnerName(const std::string& name) -{ - getChild("estate_owner")->setValue(LLSD(name)); + return getChild("estate_owner")->getText(); } // static @@ -2294,12 +2289,12 @@ void LLPanelEstateCovenant::updateLastModified(const std::string& text) } // static -void LLPanelEstateCovenant::updateEstateOwnerName(const std::string& name) +void LLPanelEstateCovenant::updateEstateOwnerID(const LLUUID& id) { LLPanelEstateCovenant* panelp = LLFloaterRegionInfo::getPanelCovenant(); if( panelp ) { - panelp->mEstateOwnerText->setText(name); + panelp->mEstateOwnerText->setValue(id); } } @@ -2308,11 +2303,6 @@ std::string LLPanelEstateCovenant::getOwnerName() const return mEstateOwnerText->getText(); } -void LLPanelEstateCovenant::setOwnerName(const std::string& name) -{ - mEstateOwnerText->setText(name); -} - void LLPanelEstateCovenant::setCovenantTextEditor(const std::string& text) { mEditor->setText(text, false); diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index 58141e930..96daf580a 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -292,7 +292,7 @@ public: void updateControls(LLViewerRegion* region); static void updateEstateName(const std::string& name); - static void updateEstateOwnerName(const std::string& name); + static void updateEstateOwnerID(const LLUUID& id); virtual bool refreshFromRegion(LLViewerRegion* region); virtual bool estateUpdate(LLMessageSystem* msg); @@ -307,7 +307,6 @@ public: static bool isLindenEstate(); const std::string getOwnerName() const; - void setOwnerName(const std::string& name); protected: virtual BOOL sendUpdate(); @@ -355,14 +354,13 @@ public: static void updateCovenantText(const std::string& string, const LLUUID& asset_id); static void updateEstateName(const std::string& name); static void updateLastModified(const std::string& text); - static void updateEstateOwnerName(const std::string& name); + static void updateEstateOwnerID(const LLUUID& id); const LLUUID& getCovenantID() const { return mCovenantID; } void setCovenantID(const LLUUID& id) { mCovenantID = id; } std::string getEstateName() const; void setEstateName(const std::string& name); std::string getOwnerName() const; - void setOwnerName(const std::string& name); void setCovenantTextEditor(const std::string& text); typedef enum e_asset_status diff --git a/indra/newview/llfloaterwindlight.cpp b/indra/newview/llfloaterwindlight.cpp index 7e9eb6a1f..211e3620c 100644 --- a/indra/newview/llfloaterwindlight.cpp +++ b/indra/newview/llfloaterwindlight.cpp @@ -302,6 +302,10 @@ void LLFloaterWindLight::syncMenu() // blue horizon param_mgr->mBlueHorizon = cur_params.getVector(param_mgr->mBlueHorizon.mName, err); //setColorSwatch("WLBlueHorizon", param_mgr->mBlueHorizon, WL_BLUE_HORIZON_DENSITY_SCALE); + childSetValue("WLBlueHorizonR", param_mgr->mBlueHorizon.r); + childSetValue("WLBlueHorizonG", param_mgr->mBlueHorizon.g); + childSetValue("WLBlueHorizonB", param_mgr->mBlueHorizon.b); + childSetValue("WLBlueHorizonI", param_mgr->mBlueHorizon.i); // haze density, horizon, mult, and altitude param_mgr->mHazeDensity = cur_params.getFloat(param_mgr->mHazeDensity.mName, err); @@ -316,12 +320,20 @@ void LLFloaterWindLight::syncMenu() // blue density param_mgr->mBlueDensity = cur_params.getVector(param_mgr->mBlueDensity.mName, err); //setColorSwatch("WLBlueDensity", param_mgr->mBlueDensity, WL_BLUE_HORIZON_DENSITY_SCALE); + childSetValue("WLBlueDensityR", param_mgr->mBlueDensity.r); + childSetValue("WLBlueDensityG", param_mgr->mBlueDensity.g); + childSetValue("WLBlueDensityB", param_mgr->mBlueDensity.b); + childSetValue("WLBlueDensityI", param_mgr->mBlueDensity.i); // Lighting // sunlight param_mgr->mSunlight = cur_params.getVector(param_mgr->mSunlight.mName, err); //setColorSwatch("WLSunlight", param_mgr->mSunlight, WL_SUN_AMBIENT_SLIDER_SCALE); + childSetValue("WLSunlightR", param_mgr->mSunlight.r); + childSetValue("WLSunlightG", param_mgr->mSunlight.g); + childSetValue("WLSunlightB", param_mgr->mSunlight.b); + childSetValue("WLSunlightI", param_mgr->mSunlight.i); // glow param_mgr->mGlow = cur_params.getVector(param_mgr->mGlow.mName, err); @@ -331,6 +343,10 @@ void LLFloaterWindLight::syncMenu() // ambient param_mgr->mAmbient = cur_params.getVector(param_mgr->mAmbient.mName, err); //setColorSwatch("WLAmbient", param_mgr->mAmbient, WL_SUN_AMBIENT_SLIDER_SCALE); + childSetValue("WLAmbientR", param_mgr->mAmbient.r); + childSetValue("WLAmbientG", param_mgr->mAmbient.g); + childSetValue("WLAmbientB", param_mgr->mAmbient.b); + childSetValue("WLAmbientI", param_mgr->mAmbient.i); childSetValue("WLSunAngle", param_mgr->mCurParams.getFloat("sun_angle",err) / F_TWO_PI); childSetValue("WLEastAngle", param_mgr->mCurParams.getFloat("east_angle",err) / F_TWO_PI); @@ -340,6 +356,10 @@ void LLFloaterWindLight::syncMenu() // Cloud Color param_mgr->mCloudColor = cur_params.getVector(param_mgr->mCloudColor.mName, err); //setColorSwatch("WLCloudColor", param_mgr->mCloudColor, WL_CLOUD_SLIDER_SCALE); + childSetValue("WLCloudColorR", param_mgr->mCloudColor.r); + childSetValue("WLCloudColorG", param_mgr->mCloudColor.g); + childSetValue("WLCloudColorB", param_mgr->mCloudColor.b); + childSetValue("WLCloudColorI", param_mgr->mCloudColor.i); // Cloud param_mgr->mCloudMain = cur_params.getVector(param_mgr->mCloudMain.mName, err); diff --git a/indra/newview/llimpanel.cpp b/indra/newview/llimpanel.cpp index 7a2349d05..7d1dedbda 100644 --- a/indra/newview/llimpanel.cpp +++ b/indra/newview/llimpanel.cpp @@ -329,7 +329,7 @@ LLFloaterIMPanel::LLFloaterIMPanel( case IM_SESSION_GROUP_START: case IM_SESSION_INVITE: case IM_SESSION_CONFERENCE_START: - mCommitCallbackRegistrar.add("FlipDing", boost::bind(boost::lambda::_1 = !boost::lambda::_1, boost::ref(mDing))); + mCommitCallbackRegistrar.add("FlipDing", [=](LLUICtrl*, const LLSD&) { mDing = !mDing; }); // determine whether it is group or conference session if (gAgent.isInGroup(mSessionUUID)) { diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 61b16c729..bbd5224d2 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -5994,9 +5994,6 @@ void rez_attachment(LLViewerInventoryItem* item, LLViewerJointAttachment* attach return; } - LL_DEBUGS("Avatar") << "ATT add rez request for " << item->getName() << " id " << item_id << LL_ENDL; - gAgentAvatarp->addAttachmentRequest(item_id); - S32 attach_pt = 0; if (isAgentAvatarValid() && attachment) { diff --git a/indra/newview/llinventoryicon.cpp b/indra/newview/llinventoryicon.cpp index c7c4f9144..65b21fa7c 100644 --- a/indra/newview/llinventoryicon.cpp +++ b/indra/newview/llinventoryicon.cpp @@ -79,6 +79,7 @@ LLIconDictionary::LLIconDictionary() addEntry(LLInventoryType::ICONNAME_CLOTHING_SKIRT, new IconEntry("inv_item_skirt.tga")); addEntry(LLInventoryType::ICONNAME_CLOTHING_ALPHA, new IconEntry("inv_item_alpha.tga")); addEntry(LLInventoryType::ICONNAME_CLOTHING_TATTOO, new IconEntry("inv_item_tattoo.tga")); + addEntry(LLInventoryType::ICONNAME_CLOTHING_UNIVERSAL, new IconEntry("Inv_Universal.png")); addEntry(LLInventoryType::ICONNAME_ANIMATION, new IconEntry("inv_item_animation.tga")); addEntry(LLInventoryType::ICONNAME_GESTURE, new IconEntry("inv_item_gesture.tga")); diff --git a/indra/newview/llnamebox.cpp b/indra/newview/llnamebox.cpp index 28381301d..f09bf0e63 100644 --- a/indra/newview/llnamebox.cpp +++ b/indra/newview/llnamebox.cpp @@ -34,106 +34,46 @@ #include "llnamebox.h" -#include "llerror.h" -#include "llfontgl.h" -#include "llui.h" -#include "llviewercontrol.h" -#include "lluuid.h" - -#include "llcachename.h" -#include "llagent.h" - -// statics -std::set LLNameBox::sInstances; - static LLRegisterWidget r("name_box"); - LLNameBox::LLNameBox(const std::string& name) -: LLTextBox(name, LLRect(), "" , NULL, TRUE) +: LLNameUI() +, LLTextBox(name, LLRect(), LLStringUtil::null, nullptr, TRUE) { - mNameID = LLUUID::null; - mLink = false; - //mParseHTML = mLink; // STORM-215 - mInitialValue = "(retrieving)"; - LLNameBox::sInstances.insert(this); - setText(LLStringUtil::null); + setClickedCallback(boost::bind(&LLNameUI::showProfile, this)); } -LLNameBox::~LLNameBox() +void LLNameBox::displayAsLink(bool link) { - LLNameBox::sInstances.erase(this); + static const LLUICachedControl color("HTMLAgentColor"); + setColor(link ? color : LLUI::sColorsGroup->getColor("LabelTextColor")); + setDisabledColor(link ? color : LLUI::sColorsGroup->getColor("LabelDisabledColor")); } -void LLNameBox::setNameID(const LLUUID& name_id, BOOL is_group) +// virtual +BOOL LLNameBox::handleRightMouseDown(S32 x, S32 y, MASK mask) { - mNameID = name_id; - - std::string name; - BOOL got_name = FALSE; - - if (!is_group) + auto handled = LLTextBox::handleRightMouseDown(x, y, mask); + if (mAllowInteract && !handled) { - got_name = gCacheName->getFullName(name_id, name); - } - else - { - got_name = gCacheName->getGroupName(name_id, name); - } - - // Got the name already? Set it. - // Otherwise it will be set later in refresh(). - if (got_name) - setName(name, is_group); - else - setText(mInitialValue); -} - -void LLNameBox::refresh(const LLUUID& id, const std::string& full_name, bool is_group) -{ - if (id == mNameID) - { - setName(full_name, is_group); - } -} - -void LLNameBox::refreshAll(const LLUUID& id, const std::string& full_name, bool is_group) -{ - std::set::iterator it; - for (it = LLNameBox::sInstances.begin(); - it != LLNameBox::sInstances.end(); - ++it) - { - LLNameBox* box = *it; - box->refresh(id, full_name, is_group); - } -} - -void LLNameBox::setName(const std::string& name, BOOL is_group) -{ - if (mLink) - { - std::string url; - - if (is_group) - url = "[secondlife:///app/group/" + mNameID.asString() + "/about " + name + "]"; - else - url = "[secondlife:///app/agent/" + mNameID.asString() + "/about " + name + "]"; - - setText(url); - } - else - { - setText(name); + // Singu TODO: Generic menus for groups + if (!mIsGroup && mNameID.notNull()) + { + showMenu(this, sMenus[0], x, y); + handled = true; + } } + return handled; } // virtual void LLNameBox::initFromXML(LLXMLNodePtr node, LLView* parent) { LLTextBox::initFromXML(node, parent); - node->getAttributeBOOL("link", mLink); node->getAttributeString("initial_value", mInitialValue); + setText(mInitialValue); + node->getAttribute_bool("rlv_sensitive", mRLVSensitive); + node->getAttribute_bool("is_group", mIsGroup); } // static @@ -143,4 +83,3 @@ LLView* LLNameBox::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *f name_box->initFromXML(node,parent); return name_box; } - diff --git a/indra/newview/llnamebox.h b/indra/newview/llnamebox.h index 0d5ec6a83..8d0005c75 100644 --- a/indra/newview/llnamebox.h +++ b/indra/newview/llnamebox.h @@ -33,42 +33,28 @@ #ifndef LL_LLNAMEBOX_H #define LL_LLNAMEBOX_H -#include - -#include "llview.h" -#include "llstring.h" -#include "llfontgl.h" +#include "llnameui.h" #include "lltextbox.h" class LLNameBox : public LLTextBox +, public LLNameUI { public: virtual void initFromXML(LLXMLNodePtr node, LLView* parent); static LLView* fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory); - virtual ~LLNameBox(); + void displayAsLink(bool link) override final; + void setText(const std::string& text) override final { LLTextBox::setText(text); } + void setValue(const LLSD& value) override final { LLNameUI::setValue(value); } + LLSD getValue() const override final { return LLNameUI::getValue(); } - void setNameID(const LLUUID& name_id, BOOL is_group); - - void refresh(const LLUUID& id, const std::string& full_name, bool is_group); - - static void refreshAll(const LLUUID& id, const std::string& full_name, bool is_group); + BOOL handleRightMouseDown(S32 x, S32 y, MASK mask) override final; protected: - LLNameBox (const std::string& name); + LLNameBox(const std::string& name); friend class LLUICtrlFactory; -private: - void setName(const std::string& name, BOOL is_group); - - static std::set sInstances; - -private: - LLUUID mNameID; - BOOL mLink; - std::string mInitialValue; - }; #endif diff --git a/indra/newview/llnameeditor.cpp b/indra/newview/llnameeditor.cpp index d7c948d36..a88cd5f05 100644 --- a/indra/newview/llnameeditor.cpp +++ b/indra/newview/llnameeditor.cpp @@ -33,91 +33,73 @@ #include "llviewerprecompiledheaders.h" #include "llnameeditor.h" -#include "llcachename.h" -#include "llagent.h" -#include "llfontgl.h" - -#include "lluuid.h" -#include "llrect.h" -#include "llstring.h" -#include "llui.h" +#include "llmenugl.h" +#include "lluictrlfactory.h" static LLRegisterWidget r("name_editor"); -// statics -std::set LLNameEditor::sInstances; - LLNameEditor::LLNameEditor(const std::string& name, const LLRect& rect, - const LLUUID& name_id, - BOOL is_group, + const LLUUID& name_id, + bool is_group, + const std::string& loading, + bool rlv_sensitive, + bool click_for_profile, const LLFontGL* glfont, S32 max_text_length) -: LLLineEditor(name, rect, - std::string("(retrieving)"), - glfont, - max_text_length), - mNameID(name_id) +: LLNameUI(loading, rlv_sensitive, name_id, is_group) +, LLLineEditor(name, rect, LLStringUtil::null, glfont, max_text_length) +, mClickForProfile(click_for_profile) { - LLNameEditor::sInstances.insert(this); - if(!name_id.isNull()) + if (!name_id.isNull()) { setNameID(name_id, is_group); } + else setText(mInitialValue); } - -LLNameEditor::~LLNameEditor() +// virtual +BOOL LLNameEditor::handleMouseDown(S32 x, S32 y, MASK mask) { - LLNameEditor::sInstances.erase(this); -} - -void LLNameEditor::setNameID(const LLUUID& name_id, BOOL is_group) -{ - mNameID = name_id; - - std::string name; - - if (!is_group) + if (mClickForProfile && mAllowInteract) { - gCacheName->getFullName(name_id, name); + showProfile(); + return true; } - else + else return LLLineEditor::handleMouseDown(x, y, mask); +} + +// virtual +BOOL LLNameEditor::handleRightMouseDown(S32 x, S32 y, MASK mask) +{ + bool simple_menu = mContextMenuHandle.get()->getName() == "rclickmenu"; + std::string new_menu; + // Singu TODO: Generic menus for groups + bool needs_simple = mIsGroup || !mAllowInteract || mNameID.isNull(); // Need simple if no ID or blocking interaction + if (!simple_menu && needs_simple) // Switch to simple menu { - gCacheName->getGroupName(name_id, name); + new_menu = "menu_texteditor.xml"; } - - setText(name); -} - -void LLNameEditor::refresh(const LLUUID& id, const std::string& full_name, bool is_group) -{ - if (id == mNameID) + else if (!needs_simple && simple_menu) { - setText(full_name); + new_menu = "menu_nameeditor_avatar.xml"; } + if (!new_menu.empty()) setContextMenu(LLUICtrlFactory::instance().buildMenu(new_menu, LLMenuGL::sMenuContainer)); + sActive = this; + + return LLLineEditor::handleRightMouseDown(x, y, mask); } -void LLNameEditor::refreshAll(const LLUUID& id, const std::string& full_name, bool is_group) +void LLNameEditor::displayAsLink(bool link) { - std::set::iterator it; - for (it = LLNameEditor::sInstances.begin(); - it != LLNameEditor::sInstances.end(); - ++it) - { - LLNameEditor* box = *it; - box->refresh(id, full_name, is_group); - } + static const LLUICachedControl color("HTMLAgentColor"); + setReadOnlyFgColor(link ? color : LLUI::sColorsGroup->getColor("TextFgReadOnlyColor")); } -void LLNameEditor::setValue( const LLSD& value ) +void LLNameEditor::setText(const std::string& text) { - setNameID(value.asUUID(), FALSE); -} - -LLSD LLNameEditor::getValue() const -{ - return LLSD(mNameID); + setToolTip(text); + LLLineEditor::setText(text); } // virtual @@ -135,22 +117,26 @@ LLView* LLNameEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory LLRect rect; createRect(node, rect, parent, LLRect()); - S32 max_text_length = 128; + S32 max_text_length = 1024; node->getAttributeS32("max_length", max_text_length); - - LLFontGL* font = LLView::selectFont(node); + bool is_group = false; + node->getAttribute_bool("is_group", is_group); + LLUUID id; + node->getAttributeUUID("id", id); + std::string loading; + node->getAttributeString("label", loading); + bool rlv_sensitive = false; + node->getAttribute_bool("rlv_sensitive", rlv_sensitive); + bool click_for_profile = true; + node->getAttribute_bool("click_for_profile", click_for_profile); LLNameEditor* line_editor = new LLNameEditor("name_editor", - rect, - LLUUID::null, FALSE, - font, + rect, + id, is_group, loading, rlv_sensitive, + click_for_profile, + LLView::selectFont(node), max_text_length); - std::string label; - if(node->getAttributeString("label", label)) - { - line_editor->setLabel(label); - } line_editor->setColorParameters(node); line_editor->initFromXML(node, parent); diff --git a/indra/newview/llnameeditor.h b/indra/newview/llnameeditor.h index 6ac6e4538..abb8bdfda 100644 --- a/indra/newview/llnameeditor.h +++ b/indra/newview/llnameeditor.h @@ -33,50 +33,35 @@ #ifndef LL_LLNAMEEDITOR_H #define LL_LLNAMEEDITOR_H -#include - -#include "llview.h" -#include "v4color.h" -#include "llstring.h" -#include "llfontgl.h" #include "lllineeditor.h" - +#include "llnameui.h" class LLNameEditor : public LLLineEditor +, public LLNameUI { + bool mClickForProfile; public: LLNameEditor(const std::string& name, const LLRect& rect, const LLUUID& name_id = LLUUID::null, - BOOL is_group = FALSE, - const LLFontGL* glfont = NULL, + bool is_group = false, + const std::string& loading = LLStringUtil::null, + bool rlv_sensitive = false, + bool click_for_profile = true, + const LLFontGL* glfont = nullptr, S32 max_text_length = 254); - // By default, follows top and left and is mouse-opaque. - // If no text, text = name. - // If no font, uses default system font. - virtual ~LLNameEditor(); + BOOL handleMouseDown(S32 x, S32 y, MASK mask) override final; + BOOL handleRightMouseDown(S32 x, S32 y, MASK mask) override final; - virtual LLXMLNodePtr getXML(bool save_children = true) const; + LLXMLNodePtr getXML(bool save_children = true) const override final; static LLView* fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory); - void setNameID(const LLUUID& name_id, BOOL is_group); - - void refresh(const LLUUID& id, const std::string& full_name, bool is_group); - - static void refreshAll(const LLUUID& id, const std::string& full_name, bool is_group); - - - // Take/return agent UUIDs - virtual void setValue( const LLSD& value ); - virtual LLSD getValue() const; - -private: - static std::set sInstances; - -private: - LLUUID mNameID; + void setValue(const LLSD& value) override final { LLNameUI::setValue(value); } + LLSD getValue() const override final { return LLNameUI::getValue(); } + void displayAsLink(bool link) override final; + void setText(const std::string& text) override final; }; #endif diff --git a/indra/newview/llnamelistctrl.cpp b/indra/newview/llnamelistctrl.cpp index 1e5b950ce..cf9e47390 100644 --- a/indra/newview/llnamelistctrl.cpp +++ b/indra/newview/llnamelistctrl.cpp @@ -217,7 +217,8 @@ LLScrollListItem* LLNameListCtrl::addNameItemRow( LLAvatarName av_name; if (id.isNull()) { - fullname = LLTrans::getString("AvatarNameNobody"); + static const auto nobody = LLTrans::getString("AvatarNameNobody"); + fullname = nobody; } else if (LLAvatarNameCache::get(id, &av_name)) { diff --git a/indra/newview/llnameui.cpp b/indra/newview/llnameui.cpp new file mode 100644 index 000000000..3c3a50a14 --- /dev/null +++ b/indra/newview/llnameui.cpp @@ -0,0 +1,141 @@ +/** + * @file llnameui.cpp + * @brief Name UI refreshes a name and bears a menu for interacting with it + * + * $LicenseInfo:firstyear=2003&license=viewergpl$ + * + * Copyright (c) 2003-2009, Linden Research, Inc. 2019, Liru Frs + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llnameui.h" + +#include "llagentdata.h" +#include "llavataractions.h" +#include "llavatarnamecache.h" +#include "llgroupactions.h" +#include "lltrans.h" + +#include "rlvhandler.h" + +// statics +std::set LLNameUI::sInstances; + +LLNameUI::LLNameUI(const std::string& loading, bool rlv_sensitive, const LLUUID& id, bool is_group) +: mNameID(id), mRLVSensitive(rlv_sensitive), mIsGroup(is_group), mAllowInteract(false) +, mInitialValue(!loading.empty() ? loading : LLTrans::getString("LoadingData")) +{ + if (mIsGroup) sInstances.insert(this); +} + +void LLNameUI::setNameID(const LLUUID& name_id, bool is_group) +{ + mNameID = name_id; + mConnection.disconnect(); + + if (mIsGroup != is_group) + { + if (is_group) + sInstances.insert(this); + else + sInstances.erase(this); + } + mIsGroup = is_group; + + if (mAllowInteract = mNameID.notNull()) + { + setNameText(); + } + else + { + setText(LLTrans::getString(mIsGroup ? "GroupNameNone" : "AvatarNameNobody")); + displayAsLink(false); + } +} + +void LLNameUI::setNameText() +{ + std::string name; + bool got_name = false; + + if (mIsGroup) + { + got_name = gCacheName->getGroupName(mNameID, name); + } + else + { + LLAvatarName av_name; + if (got_name = LLAvatarNameCache::get(mNameID, &av_name)) + name = mShowCompleteName ? av_name.getCompleteName() : av_name.getNSName(); + else + mConnection = LLAvatarNameCache::get(mNameID, boost::bind(&LLNameUI::setNameText, this)); + } + + if (!mIsGroup && got_name && mRLVSensitive) // Filter if needed + { + if ((gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES) || gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMETAGS)) + && mNameID != gAgentID && RlvUtil::isNearbyAgent(mNameID)) + { + mAllowInteract = false; + name = RlvStrings::getAnonym(name); + } + else mAllowInteract = true; + } + + displayAsLink(mAllowInteract); + + // Got the name already? Set it. + // Otherwise it will be set later in refresh(). + setText(got_name ? name : mInitialValue); +} + +void LLNameUI::refresh(const LLUUID& id, const std::string& full_name, bool is_group) +{ + if (id == mNameID) + { + setNameText(); + } +} + +void LLNameUI::refreshAll(const LLUUID& id, const std::string& full_name, bool is_group) +{ + if (!is_group) return; + for (auto box : sInstances) + { + box->refresh(id, full_name, is_group); + } +} + +void LLNameUI::showProfile() +{ + if (!mAllowInteract) return; + + if (mIsGroup) + LLGroupActions::show(mNameID); + else + LLAvatarActions::showProfile(mNameID); +} \ No newline at end of file diff --git a/indra/newview/llnameui.h b/indra/newview/llnameui.h new file mode 100644 index 000000000..3d392675c --- /dev/null +++ b/indra/newview/llnameui.h @@ -0,0 +1,87 @@ +/** + * @file llnameui.h + * @brief display and refresh a name from the name cache + * + * $LicenseInfo:firstyear=2003&license=viewergpl$ + * + * Copyright (c) 2003-2009, Linden Research, Inc. 2019, Liru Frs + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#pragma once + +#include + +#include "lfidbearer.h" + +struct LLNameUI : public LFIDBearer +{ + LLNameUI(const std::string& loading = LLStringUtil::null, bool rlv_sensitive = false, const LLUUID& id = LLUUID::null, bool is_group = false); + virtual ~LLNameUI() + { + if (mIsGroup) + sInstances.erase(this); + else + mConnection.disconnect(); + } + + LLUUID getStringUUIDSelectedItem() const override final { return mNameID; } + uuid_vec_t getSelectedIDs() const override final { return { mNameID }; } + S32 getNumSelected() const override final { return 1; } + + void setNameID(const LLUUID& name_id, bool is_group); + void setNameText(); // Sets the name to whatever the name cache has at the moment + void refresh(const LLUUID& id, const std::string& full_name, bool is_group); + static void refreshAll(const LLUUID& id, const std::string& full_name, bool is_group); + + void setShowCompleteName(bool show) { mShowCompleteName = show; } + void showProfile(); + + virtual void displayAsLink(bool link) = 0; // Override to make the name display as a link + virtual void setText(const std::string& text) = 0; + + // Take either UUID or a map of "id" to UUID and "group" to boolean + virtual void setValue(const LLSD& value) + { + if (value.has("id")) + setNameID(value["id"].asUUID(), value["group"].asBoolean()); + else + setNameID(value.asUUID(), mIsGroup); + } + // Return agent UUIDs + virtual LLSD getValue() const { return LLSD(mNameID); } + +private: + static std::set sInstances; + boost::signals2::connection mConnection; + bool mShowCompleteName = false; + +protected: + LLUUID mNameID; + bool mRLVSensitive; // Whether or not we're doing RLV filtering + bool mIsGroup; + bool mAllowInteract; + std::string mInitialValue; +}; \ No newline at end of file diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp index c1820c5bd..df6b342d3 100644 --- a/indra/newview/llpanelavatar.cpp +++ b/indra/newview/llpanelavatar.cpp @@ -141,7 +141,6 @@ LLPanelAvatarSecondLife::LLPanelAvatarSecondLife(const std::string& name, LLPanelAvatarSecondLife::~LLPanelAvatarSecondLife() { - mCacheConnection.disconnect(); LLMuteList::instance().removeObserver(this); } @@ -149,12 +148,6 @@ void LLPanelAvatarSecondLife::refresh() { } -void LLPanelAvatarSecondLife::updatePartnerName(const LLAvatarName& name) -{ - mCacheConnection.disconnect(); - childSetTextArg("partner_edit", "[NAME]", name.getNSName()); -} - //----------------------------------------------------------------------------- // clearControls() // Empty the data out of the controls, since we have to wait for new @@ -167,7 +160,7 @@ void LLPanelAvatarSecondLife::clearControls() childSetValue("born", LLStringUtil::null); childSetValue("acct", LLStringUtil::null); - childSetTextArg("partner_edit", "[NAME]", LLStringUtil::null); + childSetValue("partner_edit", LLUUID::null); mPartnerID = LLUUID::null; getChild("groups")->deleteAllItems(); @@ -214,13 +207,8 @@ void LLPanelAvatarSecondLife::processProperties(void* data, EAvatarProcessorType bool allow_publish = (pAvatarData->flags & AVATAR_ALLOW_PUBLISH); childSetValue("allow_publish", allow_publish); - setPartnerID(pAvatarData->partner_id); - if (mPartnerID.notNull()) - { - mCacheConnection.disconnect(); - mCacheConnection = LLAvatarNameCache::get(mPartnerID, boost::bind(&LLPanelAvatarSecondLife::updatePartnerName, this, _2)); - childSetEnabled("partner_info", TRUE); - } + mPartnerID = pAvatarData->partner_id; + getChildView("partner_edit")->setValue(mPartnerID); } } else if (type == APT_GROUPS) @@ -359,11 +347,6 @@ BOOL LLPanelAvatarSecondLife::postBuild() childSetEnabled("born", FALSE); childSetEnabled("partner_edit", FALSE); getChild("partner_help")->setCommitCallback(boost::bind(show_partner_help)); - if (LLUICtrl* ctrl = getChild("partner_info")) - { - ctrl->setCommitCallback(boost::bind(LLAvatarActions::showProfile, boost::ref(mPartnerID), false)); - ctrl->setEnabled(mPartnerID.notNull()); - } childSetAction("?", boost::bind(LLNotificationsUtil::add, "ClickPublishHelpAvatar")); LLPanelAvatar* pa = getPanelAvatar(); @@ -399,7 +382,7 @@ BOOL LLPanelAvatarSecondLife::postBuild() ctrl->setFallbackImageName("default_profile_picture.j2c"); auto show_pic = [&] { - show_picture(getChild("img")->getImageAssetID(), profile_picture_title(getChildView("dnname")->getValue())); + show_picture(getChild("img")->getImageAssetID(), profile_picture_title(getChild("dnname")->getText())); }; auto show_pic_if_not_self = [=] { if (!ctrl->canChange()) show_pic(); }; @@ -1249,25 +1232,19 @@ void LLPanelAvatar::setOnlineStatus(EOnlineStatus online_status) } } -void LLPanelAvatar::onAvatarNameResponse(const LLUUID& agent_id, const LLAvatarName& av_name) -{ - mCacheConnection.disconnect(); - getChild("dnname")->setText(gSavedSettings.getBOOL("SinguCompleteNameProfiles") ? av_name.getCompleteName() : av_name.getNSName()); -} - void LLPanelAvatar::setAvatarID(const LLUUID &avatar_id) { - if (avatar_id.isNull()) return; - - //BOOL avatar_changed = FALSE; + auto dnname = getChild("dnname"); if (avatar_id != mAvatarID) { - //avatar_changed = TRUE; if (mAvatarID.notNull()) LLAvatarPropertiesProcessor::getInstance()->removeObserver(mAvatarID, this); mAvatarID = avatar_id; + dnname->setNameID(avatar_id, false); } + if (avatar_id.isNull()) return; + LLAvatarPropertiesProcessor::getInstance()->addObserver(mAvatarID, this); // Determine if we have their calling card. @@ -1292,12 +1269,10 @@ void LLPanelAvatar::setAvatarID(const LLUUID &avatar_id) if (LLDropTarget* drop_target = findChild("drop_target_rect")) drop_target->setEntityID(mAvatarID); - mCacheConnection.disconnect(); - mCacheConnection = LLAvatarNameCache::get(avatar_id, boost::bind(&LLPanelAvatar::onAvatarNameResponse, this, _1, _2)); + dnname->setShowCompleteName(gSavedSettings.getBOOL("SinguCompleteNameProfiles")); - LLNameEditor* key_edit = getChild("avatar_key"); - if (key_edit) - key_edit->setText(mAvatarID.asString()); + if (auto key_edit = getChildView("avatar_key")) + key_edit->setValue(mAvatarID.asString()); // While we're waiting for data off the network, clear out the old data. if (mPanelSecondLife) diff --git a/indra/newview/llpanelavatar.h b/indra/newview/llpanelavatar.h index cc6e10b51..a1faffb9e 100644 --- a/indra/newview/llpanelavatar.h +++ b/indra/newview/llpanelavatar.h @@ -119,13 +119,9 @@ public: void clearControls(); void enableControls(BOOL own_avatar); void updateOnlineText(BOOL online, BOOL have_calling_card); - void updatePartnerName(const LLAvatarName& name); - void setPartnerID(LLUUID id) { mPartnerID = id; } - private: LLUUID mPartnerID; - boost::signals2::connection mCacheConnection; }; @@ -282,8 +278,6 @@ public: void setAvatar(LLViewerObject *avatarp); - void onAvatarNameResponse(const LLUUID& agent_id, const LLAvatarName& av_name); - // Fill in the avatar ID and handle some field fill-in, as well as // button enablement. void setAvatarID(const LLUUID &avatar_id); diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp index d5f2c7a29..2cc567483 100644 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -103,6 +103,7 @@ enum ESubpart SUBPART_SKIRT, SUBPART_ALPHA, SUBPART_TATTOO, + SUBPART_UNIVERSAL, SUBPART_PHYSICS_BREASTS_UPDOWN, SUBPART_PHYSICS_BREASTS_INOUT, SUBPART_PHYSICS_BREASTS_LEFTRIGHT, @@ -245,6 +246,7 @@ LLEditWearableDictionary::Wearables::Wearables() addEntry(LLWearableType::WT_SKIRT, new WearableEntry(LLWearableType::WT_SKIRT,"edit_skirt_title",1,1,1, TEX_SKIRT, TEX_SKIRT, SUBPART_SKIRT)); addEntry(LLWearableType::WT_ALPHA, new WearableEntry(LLWearableType::WT_ALPHA,"edit_alpha_title",0,5,1, TEX_LOWER_ALPHA, TEX_UPPER_ALPHA, TEX_HEAD_ALPHA, TEX_EYES_ALPHA, TEX_HAIR_ALPHA, SUBPART_ALPHA)); addEntry(LLWearableType::WT_TATTOO, new WearableEntry(LLWearableType::WT_TATTOO,"edit_tattoo_title",1,3,1, TEX_HEAD_TATTOO, TEX_LOWER_TATTOO, TEX_UPPER_TATTOO, TEX_HEAD_TATTOO, SUBPART_TATTOO)); + addEntry(LLWearableType::WT_UNIVERSAL, new WearableEntry(LLWearableType::WT_UNIVERSAL, "edit_universal_title", 1, 11, 1, TEX_HEAD_UNIVERSAL_TATTOO, TEX_HEAD_UNIVERSAL_TATTOO, TEX_UPPER_UNIVERSAL_TATTOO, TEX_LOWER_UNIVERSAL_TATTOO, TEX_SKIRT_TATTOO, TEX_HAIR_TATTOO, TEX_EYES_TATTOO, TEX_LEFT_ARM_TATTOO, TEX_LEFT_LEG_TATTOO, TEX_AUX1_TATTOO, TEX_AUX2_TATTOO, TEX_AUX3_TATTOO, SUBPART_UNIVERSAL)); addEntry(LLWearableType::WT_PHYSICS, new WearableEntry(LLWearableType::WT_PHYSICS,"edit_physics_title",0,0,7, SUBPART_PHYSICS_BREASTS_UPDOWN, SUBPART_PHYSICS_BREASTS_INOUT, SUBPART_PHYSICS_BREASTS_LEFTRIGHT, SUBPART_PHYSICS_BELLY_UPDOWN, SUBPART_PHYSICS_BUTT_UPDOWN, SUBPART_PHYSICS_BUTT_LEFTRIGHT, SUBPART_PHYSICS_ADVANCED)); } @@ -315,6 +317,8 @@ LLEditWearableDictionary::Subparts::Subparts() addEntry(SUBPART_UNDERPANTS, new SubpartEntry(SUBPART_UNDERPANTS, "mPelvis", "underpants",LLStringUtil::null, LLVector3d(0.f, 0.f, -0.5f), LLVector3d(-1.6f, 0.15f, -0.5f), SEX_BOTH)); addEntry(SUBPART_ALPHA, new SubpartEntry(SUBPART_ALPHA, "mPelvis", "alpha",LLStringUtil::null, LLVector3d(0.f, 0.f, 0.1f), LLVector3d(-2.5f, 0.5f, 0.8f), SEX_BOTH)); addEntry(SUBPART_TATTOO, new SubpartEntry(SUBPART_TATTOO, "mPelvis", "tattoo", LLStringUtil::null, LLVector3d(0.f, 0.f, 0.1f), LLVector3d(-2.5f, 0.5f, 0.8f),SEX_BOTH)); + addEntry(SUBPART_UNIVERSAL, new SubpartEntry(SUBPART_UNIVERSAL, "mPelvis", "universal", LLStringUtil::null, LLVector3d(0.f, 0.f, 0.1f), LLVector3d(-2.5f, 0.5f, 0.8f), SEX_BOTH)); + addEntry(SUBPART_PHYSICS_BREASTS_UPDOWN, new SubpartEntry(SUBPART_PHYSICS_BREASTS_UPDOWN, "mTorso", "physics_breasts_updown", "Breast Bounce", LLVector3d(0.f, 0.f, 0.1f), LLVector3d(-0.8f, 0.15f, 0.38),SEX_FEMALE)); addEntry(SUBPART_PHYSICS_BREASTS_INOUT, new SubpartEntry(SUBPART_PHYSICS_BREASTS_INOUT, "mTorso", "physics_breasts_inout", "Breast Cleavage", LLVector3d(0.f, 0.f, 0.1f), LLVector3d(-0.8f, 0.15f, 0.38f),SEX_FEMALE)); addEntry(SUBPART_PHYSICS_BREASTS_LEFTRIGHT, new SubpartEntry(SUBPART_PHYSICS_BREASTS_LEFTRIGHT, "mTorso", "physics_breasts_leftright", "Breast Sway", LLVector3d(0.f, 0.f, 0.1f), LLVector3d(-0.8f, 0.15f, 0.38f),SEX_FEMALE)); @@ -354,6 +358,7 @@ LLEditWearableDictionary::ColorSwatchCtrls::ColorSwatchCtrls() addEntry ( TEX_UPPER_UNDERSHIRT, new PickerControlEntry (TEX_UPPER_UNDERSHIRT, "Color/Tint" )); addEntry ( TEX_LOWER_UNDERPANTS, new PickerControlEntry (TEX_LOWER_UNDERPANTS, "Color/Tint" )); addEntry ( TEX_HEAD_TATTOO, new PickerControlEntry(TEX_HEAD_TATTOO, "Color/Tint" )); + addEntry (TEX_HEAD_UNIVERSAL_TATTOO, new PickerControlEntry(TEX_HEAD_UNIVERSAL_TATTOO, "Color/Tint")); } LLEditWearableDictionary::TextureCtrls::TextureCtrls() @@ -381,6 +386,17 @@ LLEditWearableDictionary::TextureCtrls::TextureCtrls() addEntry ( TEX_LOWER_TATTOO, new PickerControlEntry (TEX_LOWER_TATTOO, "Lower Tattoo", LLUUID::null, TRUE )); addEntry ( TEX_UPPER_TATTOO, new PickerControlEntry (TEX_UPPER_TATTOO, "Upper Tattoo", LLUUID::null, TRUE )); addEntry ( TEX_HEAD_TATTOO, new PickerControlEntry (TEX_HEAD_TATTOO, "Head Tattoo", LLUUID::null, TRUE )); + addEntry ( TEX_LOWER_UNIVERSAL_TATTOO, new PickerControlEntry( TEX_LOWER_UNIVERSAL_TATTOO, "Lower Universal Tattoo", LLUUID::null, TRUE)); + addEntry ( TEX_UPPER_UNIVERSAL_TATTOO, new PickerControlEntry( TEX_UPPER_UNIVERSAL_TATTOO, "Upper Universal Tattoo", LLUUID::null, TRUE)); + addEntry ( TEX_HEAD_UNIVERSAL_TATTOO, new PickerControlEntry( TEX_HEAD_UNIVERSAL_TATTOO, "Head Universal Tattoo", LLUUID::null, TRUE)); + addEntry ( TEX_SKIRT_TATTOO, new PickerControlEntry(TEX_SKIRT_TATTOO, "Skirt Tattoo", LLUUID::null, TRUE)); + addEntry ( TEX_HAIR_TATTOO, new PickerControlEntry(TEX_HAIR_TATTOO, "Hair Tattoo", LLUUID::null, TRUE)); + addEntry ( TEX_EYES_TATTOO, new PickerControlEntry(TEX_EYES_TATTOO, "Eyes Tattoo", LLUUID::null, TRUE)); + addEntry (TEX_LEFT_ARM_TATTOO, new PickerControlEntry(TEX_LEFT_ARM_TATTOO, "Left Arm Tattoo", LLUUID::null, TRUE)); + addEntry (TEX_LEFT_LEG_TATTOO, new PickerControlEntry(TEX_LEFT_LEG_TATTOO, "Left Leg Tattoo", LLUUID::null, TRUE)); + addEntry (TEX_AUX1_TATTOO, new PickerControlEntry(TEX_AUX1_TATTOO, "Aux1 Tattoo", LLUUID::null, TRUE)); + addEntry (TEX_AUX2_TATTOO, new PickerControlEntry(TEX_AUX2_TATTOO, "Aux2 Tattoo", LLUUID::null, TRUE)); + addEntry (TEX_AUX3_TATTOO, new PickerControlEntry(TEX_AUX3_TATTOO, "Aux3 Tattoo", LLUUID::null, TRUE)); } LLEditWearableDictionary::PickerControlEntry::PickerControlEntry(ETextureIndex tex_index, @@ -407,9 +423,9 @@ get_pickers_indexes(const LLEditWearableDictionary::WearableEntry *wearable_entr // Specializations of this template function return picker control entry for particular control type. template const LLEditWearableDictionary::PickerControlEntry* -get_picker_entry (const ETextureIndex index) { return NULL; } +get_picker_entry (const ETextureIndex index) { return nullptr; } -typedef boost::function function_t; +typedef std::function function_t; typedef struct PickerControlEntryNamePredicate { @@ -473,16 +489,13 @@ find_picker_ctrl_entry_if(LLWearableType::EType type, const Predicate pred) if (!wearable_entry) { LL_WARNS() << "could not get wearable dictionary entry for wearable of type: " << type << LL_ENDL; - return NULL; + return nullptr; } const texture_vec_t& indexes = get_pickers_indexes(wearable_entry); - for (texture_vec_t::const_iterator - iter = indexes.begin(), - iter_end = indexes.end(); - iter != iter_end; ++iter) + for (auto te : indexes) { - const ETextureIndex te = *iter; - const LLEditWearableDictionary::PickerControlEntry* entry = get_picker_entry(te); + const LLEditWearableDictionary::PickerControlEntry* entry + = get_picker_entry(te); if (!entry) { LL_WARNS() << "could not get picker dictionary entry (" << te << ") for wearable of type: " << type << LL_ENDL; @@ -493,7 +506,7 @@ find_picker_ctrl_entry_if(LLWearableType::EType type, const Predicate pred) return entry; } } - return NULL; + return nullptr; } template @@ -699,19 +712,28 @@ BOOL LLPanelEditWearable::postBuild() mCreateNew = getChild("Create New"); mCreateNew->setCommitCallback(boost::bind(&LLPanelEditWearable::onBtnCreateNew, this)); - mCreateNewLayer = getChild("New Layer"); - mCreateNewLayer->setCommitCallback(boost::bind(&LLPanelEditWearable::onBtnCreateNew, this)); + if (mCreateNewLayer = findChild("New Layer")) + { + mCreateNewLayer->setCommitCallback(boost::bind(&LLPanelEditWearable::onBtnCreateNew, this)); + } - mTakeOff = getChild("Take Off"); - // If PG, can't take off underclothing or shirt - mCanTakeOff = !(gAgent.isTeen() && (mType == LLWearableType::WT_UNDERSHIRT || mType == LLWearableType::WT_UNDERPANTS) ); - mTakeOff->setVisible(mCanTakeOff); - mTakeOff->setCommitCallback(boost::bind(&LLPanelEditWearable::onBtnTakeOff, this)); + if (mTakeOff = findChild("Take Off")) + { + // If PG, can't take off underclothing or shirt + mCanTakeOff = !(gAgent.isTeen() && (mType == LLWearableType::WT_UNDERSHIRT || mType == LLWearableType::WT_UNDERPANTS) ); + mTakeOff->setVisible(mCanTakeOff); + mTakeOff->setCommitCallback(boost::bind(&LLPanelEditWearable::onBtnTakeOff, this)); + } - mArrowLeft = getChild("Arrow Left"); - mArrowLeft->setCommitCallback(boost::bind(&LLPanelEditWearable::onMoveToLayer, this, true)); - mArrowRight = getChild("Arrow Right"); - mArrowRight->setCommitCallback(boost::bind(&LLPanelEditWearable::onMoveToLayer, this, false)); + if (mArrowLeft = findChild("Arrow Left")) + { + mArrowLeft->setCommitCallback(boost::bind(&LLPanelEditWearable::onMoveToLayer, this, true)); + } + + if (mArrowRight = findChild("Arrow Right")) + { + mArrowRight->setCommitCallback(boost::bind(&LLPanelEditWearable::onMoveToLayer, this, false)); + } if (mSexRadio = findChild("sex radio")) @@ -751,9 +773,9 @@ BOOL LLPanelEditWearable::postBuild() { LL_WARNS() << "could not get wearable dictionary entry for wearable of type: " << mType << LL_ENDL; } - U8 num_subparts = (U8) wearable_entry->mSubparts.size(); + const U8 num_subparts = (U8) wearable_entry->mSubparts.size(); - for (U8 index = 0; index < num_subparts; ++index) + for (U8 index = 0; num_subparts > 1 && index < num_subparts; ++index) { // dive into data structures to get the panel we need ESubpart subpart_e = wearable_entry->mSubparts[index]; @@ -768,7 +790,7 @@ BOOL LLPanelEditWearable::postBuild() if (!subpart_entry->mButtonName.empty()) { - LL_INFOS() << "Finding button " << subpart_entry->mButtonName << LL_ENDL; + //LL_INFOS() << "Finding button " << subpart_entry->mButtonName << LL_ENDL; LLButton* btn(findChild(subpart_entry->mButtonName)); llassert_always(btn); mSubpartBtns.push_back(btn); @@ -857,9 +879,9 @@ void LLPanelEditWearable::draw() const LLEditWearableDictionary::WearableEntry *wearable_entry = LLEditWearableDictionary::getInstance()->getWearable(mType); if (wearable_entry) { - U8 num_subparts = (U8) wearable_entry->mSubparts.size(); + const U8 num_subparts = (U8) wearable_entry->mSubparts.size(); - for (U8 index = 0; index < num_subparts; ++index) + for (U8 index = 0; num_subparts > 1 && index < num_subparts; ++index) { // dive into data structures to get the panel we need ESubpart subpart_e = wearable_entry->mSubparts[index]; @@ -1484,13 +1506,25 @@ void LLPanelEditWearable::updateScrollingPanelUI() bool max_layers = gAgentWearables.getClothingLayerCount() == LLAgentWearables::MAX_CLOTHING_LAYERS; bool show_create_new = !has_wearable && !max_layers; - mTakeOff->setEnabled(has_wearable); - if (mCanTakeOff) mTakeOff->setVisible(has_wearable); - mCreateNewLayer->setVisible(has_wearable && !max_layers); - mArrowLeft->setEnabled(has_wearable && gAgentWearables.getBottomWearable(mType) != wearable); - mArrowLeft->setVisible(has_wearable); - mArrowRight->setEnabled(has_wearable && gAgentWearables.getTopWearable(mType) != wearable); - mArrowRight->setVisible(has_wearable); + if (mTakeOff) + { + mTakeOff->setEnabled(has_wearable); + if (mCanTakeOff) mTakeOff->setVisible(has_wearable); + } + if (mCreateNewLayer) + { + mCreateNewLayer->setVisible(has_wearable && !max_layers); + } + if (mArrowLeft) + { + mArrowLeft->setEnabled(has_wearable && gAgentWearables.getBottomWearable(mType) != wearable); + mArrowLeft->setVisible(has_wearable); + } + if (mArrowRight) + { + mArrowRight->setEnabled(has_wearable && gAgentWearables.getTopWearable(mType) != wearable); + mArrowRight->setVisible(has_wearable); + } mCreateNew->setVisible(show_create_new); mNotWornI->setVisible(show_create_new); mNotWornT->setVisible(show_create_new); @@ -1501,8 +1535,8 @@ void LLPanelEditWearable::updateScrollingPanelUI() // do nothing else if we don't have a valid wearable we're editing if (!wearable) return; - LL_INFOS() << llformat("%#.8lX", wearable) << LL_ENDL; - LL_INFOS() << "cur_wearable->isDirty()=" << wearable->isDirty() << LL_ENDL; + //LL_INFOS() << llformat("%#.8lX", wearable) << LL_ENDL; + //LL_INFOS() << "cur_wearable->isDirty()=" << wearable->isDirty() << LL_ENDL; refreshWearables(false); } diff --git a/indra/newview/llpanelevent.cpp b/indra/newview/llpanelevent.cpp index 66644c803..5eb6fe51d 100644 --- a/indra/newview/llpanelevent.cpp +++ b/indra/newview/llpanelevent.cpp @@ -139,9 +139,8 @@ void LLPanelEvent::processEventInfoReply(LLMessageSystem *msg, void **) msg->getU32("EventData", "EventID", event_id); // look up all panels which have this avatar - for (panel_list_t::iterator iter = sAllPanels.begin(); iter != sAllPanels.end(); ++iter) + for (auto& self : sAllPanels) { - LLPanelEvent* self = *iter; // Skip updating panels which aren't for this event if (self->mEventID != event_id) { @@ -152,6 +151,7 @@ void LLPanelEvent::processEventInfoReply(LLMessageSystem *msg, void **) self->mTBCategory->setText(self->mEventInfo.mCategoryStr); self->mTBDate->setText(self->mEventInfo.mTimeStr); self->mTBDesc->setText(self->mEventInfo.mDesc, false); + self->mTBRunBy->setValue(self->mEventInfo.mRunByID); self->mTBDuration->setText(llformat("%d:%.2d", self->mEventInfo.mDuration / 60, self->mEventInfo.mDuration % 60)); @@ -205,17 +205,6 @@ void LLPanelEvent::processEventInfoReply(LLMessageSystem *msg, void **) } } - -void LLPanelEvent::draw() -{ - std::string name; - gCacheName->getFullName(mEventInfo.mRunByID, name); - - mTBRunBy->setText(name); - - LLPanel::draw(); -} - void LLPanelEvent::resetInfo() { // Clear all of the text fields. diff --git a/indra/newview/llpanelevent.h b/indra/newview/llpanelevent.h index 90c08bde0..353b66fd1 100644 --- a/indra/newview/llpanelevent.h +++ b/indra/newview/llpanelevent.h @@ -51,7 +51,6 @@ public: /*virtual*/ ~LLPanelEvent(); /*virtual*/ BOOL postBuild(); - /*virtual*/ void draw(); void setEventID(const U32 event_id); void sendEventInfoRequest(); diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp index 4a5c25d79..857028c33 100644 --- a/indra/newview/llpanelface.cpp +++ b/indra/newview/llpanelface.cpp @@ -2164,6 +2164,15 @@ void LLPanelFace::LLSelectedTE::getTexId(LLUUID& id, bool& identical) { LLUUID get(LLViewerObject* object, S32 te_index) { + LLTextureEntry *te = object->getTE(te_index); + if (te) + { + if ((te->getID() == IMG_USE_BAKED_EYES) || (te->getID() == IMG_USE_BAKED_HAIR) || (te->getID() == IMG_USE_BAKED_HEAD) || (te->getID() == IMG_USE_BAKED_LOWER) || (te->getID() == IMG_USE_BAKED_SKIRT) || (te->getID() == IMG_USE_BAKED_UPPER) + || (te->getID() == IMG_USE_BAKED_LEFTARM) || (te->getID() == IMG_USE_BAKED_LEFTLEG) || (te->getID() == IMG_USE_BAKED_AUX1) || (te->getID() == IMG_USE_BAKED_AUX2) || (te->getID() == IMG_USE_BAKED_AUX3)) + { + return te->getID(); + } + } LLUUID id; LLViewerTexture* image = object->getTEImage(te_index); if (image) @@ -2173,7 +2182,6 @@ void LLPanelFace::LLSelectedTE::getTexId(LLUUID& id, bool& identical) if (!id.isNull() && LLViewerMedia::textureHasMedia(id)) { - LLTextureEntry *te = object->getTE(te_index); if (te) { LLViewerTexture* tex = te->getID().notNull() ? gTextureList.findImage(te->getID()) : NULL; diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp index 4379ff3e1..86b6054e4 100644 --- a/indra/newview/llpanelgroupgeneral.cpp +++ b/indra/newview/llpanelgroupgeneral.cpp @@ -83,7 +83,6 @@ LLPanelGroupGeneral::LLPanelGroupGeneral(const std::string& name, mGroupNameEditor(NULL), mFounderName(NULL), mInsignia(NULL), - mGroupName(NULL), mEditCharter(NULL), mBtnJoinGroup(NULL), mListVisibleMembers(NULL), @@ -121,8 +120,7 @@ BOOL LLPanelGroupGeneral::postBuild() // General info mGroupNameEditor = getChild("group_name_editor", recurse); - mGroupName = getChild("group_name", recurse); - + mInsignia = getChild("insignia", recurse); if (mInsignia) { @@ -263,7 +261,7 @@ BOOL LLPanelGroupGeneral::postBuild() mBtnJoinGroup->setVisible(FALSE); mBtnInfo->setVisible(FALSE); - mGroupName->setVisible(FALSE); + getChildView("group_name")->setVisible(FALSE); } std::string member_count(LLTrans::getString("LoadingData")); @@ -731,15 +729,14 @@ void LLPanelGroupGeneral::update(LLGroupChange gc) if (mInsignia) mInsignia->setEnabled(can_change_ident); if (mEditCharter) mEditCharter->setEnabled(can_change_ident); - - if (mGroupName) mGroupName->setText(gdatap->mName); - if (mGroupNameEditor) mGroupNameEditor->setVisible(FALSE); - if (mFounderName) mFounderName->setNameID(gdatap->mFounderID,FALSE); - LLNameEditor* key_edit = getChild("group_key"); - if(key_edit) + getChildView("group_name")->setValue(mGroupID); + if (mGroupNameEditor) mGroupNameEditor->setVisible(FALSE); + if (mFounderName) mFounderName->setValue(gdatap->mFounderID); + + if (auto key_edit = getChildView("group_key")) { - key_edit->setText(gdatap->getID().asString()); + key_edit->setValue(gdatap->getID().asString()); } if (mInsignia) @@ -908,7 +905,6 @@ void LLPanelGroupGeneral::updateChanged() LLUICtrl *check_list[] = { mGroupNameEditor, - mGroupName, mFounderName, mInsignia, mEditCharter, diff --git a/indra/newview/llpanelgroupgeneral.h b/indra/newview/llpanelgroupgeneral.h index a0a1fd5fb..aa54e83b7 100644 --- a/indra/newview/llpanelgroupgeneral.h +++ b/indra/newview/llpanelgroupgeneral.h @@ -91,7 +91,6 @@ private: // Group information (include any updates in updateChanged) LLLineEditor *mGroupNameEditor; - LLTextBox *mGroupName; LLNameBox *mFounderName; LLTextureCtrl *mInsignia; LLTextEditor *mEditCharter; diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp index d881f1b16..fa040727d 100644 --- a/indra/newview/llpanelpermissions.cpp +++ b/indra/newview/llpanelpermissions.cpp @@ -69,10 +69,6 @@ -// [RLVa:KB] -#include "rlvhandler.h" -// [/RLVa:KB] - // base and own must have EXPORT, next owner must be UNRESTRICTED bool can_set_export(const U32& base, const U32& own, const U32& next) { @@ -117,13 +113,7 @@ BOOL LLPanelPermissions::postBuild() childSetCommitCallback("Object Description",LLPanelPermissions::onCommitDesc,this); getChild("Object Description")->setPrevalidate(&LLLineEditor::prevalidatePrintableNotPipe); - - getChild("button owner profile")->setCommitCallback(boost::bind(&LLPanelPermissions::onClickOwner,this)); - getChild("button last owner profile")->setCommitCallback(boost::bind(&LLPanelPermissions::onClickLastOwner,this)); - getChild("button creator profile")->setCommitCallback(boost::bind(&LLPanelPermissions::onClickCreator,this)); - getChild("button set group")->setCommitCallback(boost::bind(&LLPanelPermissions::onClickGroup,this)); - getChild("button open group")->setCommitCallback(boost::bind(LLPanelPermissions::onClickOpenGroup)); childSetCommitCallback("checkbox share with group",LLPanelPermissions::onCommitGroupShare,this); @@ -182,25 +172,33 @@ void LLPanelPermissions::disableAll() getChild("pathfinding_attributes_value")->setValue(LLStringUtil::null); getChildView("Creator:")->setEnabled(FALSE); - getChild("Creator Name")->setValue(LLStringUtil::null); - getChildView("Creator Name")->setEnabled(FALSE); - getChildView("button creator profile")->setEnabled(FALSE); + if (auto view = getChildView("Creator Name")) + { + view->setValue(LLUUID::null); + view->setEnabled(FALSE); + } getChildView("Owner:")->setEnabled(FALSE); - getChild("Owner Name")->setValue(LLStringUtil::null); - getChildView("Owner Name")->setEnabled(FALSE); - getChildView("button owner profile")->setEnabled(FALSE); + if (auto view = getChildView("Owner Name")) + { + view->setValue(LLUUID::null); + view->setEnabled(FALSE); + } getChildView("Last Owner:")->setEnabled(FALSE); - getChild("Last Owner Name")->setValue(LLStringUtil::null); - getChildView("Last Owner Name")->setEnabled(FALSE); - getChildView("button last owner profile")->setEnabled(FALSE); - + if (auto view = getChildView("Last Owner Name")) + { + view->setValue(LLUUID::null); + view->setEnabled(FALSE); + } + getChildView("Group:")->setEnabled(FALSE); - getChild("Group Name Proxy")->setValue(LLStringUtil::null); - getChildView("Group Name Proxy")->setEnabled(FALSE); + if (auto view = getChildView("Group Name Proxy")) + { + view->setValue(LLUUID::null); + view->setEnabled(FALSE); + } getChildView("button set group")->setEnabled(FALSE); - getChildView("button open group")->setEnabled(FALSE); LLLineEditor* ed = getChild("Object Name"); ed->setValue(LLStringUtil::null); @@ -329,7 +327,7 @@ void LLPanelPermissions::refresh() const LLFocusableElement* keyboard_focus_view = gFocusMgr.getKeyboardFocus(); S32 string_index = 0; - std::string MODIFY_INFO_STRINGS[] = + static std::string MODIFY_INFO_STRINGS[] = { getString("text modify info 1"), getString("text modify info 2"), @@ -385,18 +383,6 @@ void LLPanelPermissions::refresh() // Update creator text field getChildView("Creator:")->setEnabled(TRUE); -// [RLVa:KB] - Checked: 2010-11-02 (RLVa-1.2.2a) | Modified: RLVa-1.2.2a - BOOL creators_identical = FALSE; -// [/RLVa:KB] - std::string creator_name; -// [RLVa:KB] - Checked: 2010-11-02 (RLVa-1.2.2a) | Modified: RLVa-1.2.2a - creators_identical = LLSelectMgr::getInstance()->selectGetCreator(mCreatorID, creator_name); -// [/RLVa:KB] -// LLSelectMgr::getInstance()->selectGetCreator(mCreatorID, creator_name); - -// getChild("Creator Name")->setValue(creator_name); -// getChildView("Creator Name")->setEnabled(TRUE); -// [RLVa:KB] - Moved further down to avoid an annoying flicker when the text is set twice in a row // Update owner text field getChildView("Owner:")->setEnabled(TRUE); @@ -404,101 +390,52 @@ void LLPanelPermissions::refresh() // Update last owner text field getChildView("Last Owner:")->setEnabled(TRUE); - std::string owner_name; - const BOOL owners_identical = LLSelectMgr::getInstance()->selectGetOwner(mOwnerID, owner_name); - -// LL_INFOS() << "owners_identical " << (owners_identical ? "TRUE": "FALSE") << LL_ENDL; - std::string last_owner_name; - LLSelectMgr::getInstance()->selectGetLastOwner(mLastOwnerID, last_owner_name); - - if (mOwnerID.isNull()) + std::string owner_app_link; + if (auto view = getChild("Creator Name")) { - if(LLSelectMgr::getInstance()->selectIsGroupOwned()) + if (LLSelectMgr::getInstance()->selectGetCreator(mCreatorID, owner_app_link)) { - // Group owned already displayed by selectGetOwner + view->setValue(mCreatorID); } else { - // Display last owner if public - std::string last_owner_name; - LLSelectMgr::getInstance()->selectGetLastOwner(mLastOwnerID, last_owner_name); - - // It should never happen that the last owner is null and the owner - // is null, but it seems to be a bug in the simulator right now. JC - if (!mLastOwnerID.isNull() && !last_owner_name.empty()) - { - owner_name.append(", last "); - owner_name.append( last_owner_name ); - } + view->setValue(LLUUID::null); + view->setText(owner_app_link); } + view->setEnabled(true); } -// getChild("Owner Name")->setValue(owner_name); -// getChildView("Owner Name")->setEnabled(TRUE); -// [RLVa:KB] - Moved further down to avoid an annoying flicker when the text is set twice in a row -// [RLVa:KB] - Checked: 2010-11-02 (RLVa-1.2.2a) | Modified: RLVa-1.2.2a - bool fRlvEnableOwner = true; - bool fRlvEnableCreator = true; - bool fRlvEnableLastOwner = true; - if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) + const BOOL owners_identical = LLSelectMgr::getInstance()->selectGetOwner(mOwnerID, owner_app_link); + if (auto view = getChild("Owner Name")) { - // Only anonymize the creator if all of the selection was created by the same avie who's also the owner or they're a nearby avie - if ( (creators_identical) && (mCreatorID != gAgent.getID()) && ((mCreatorID == mOwnerID) || (RlvUtil::isNearbyAgent(mCreatorID))) ) + if (owners_identical) { - creator_name = RlvStrings::getAnonym(creator_name); - fRlvEnableCreator = false; + view->setValue(mOwnerID); } - - // Only anonymize the owner name if all of the selection is owned by the same avie and isn't group owned - if ( (owners_identical) && (!LLSelectMgr::getInstance()->selectIsGroupOwned()) && (mOwnerID != gAgent.getID()) ) + else { - owner_name = RlvStrings::getAnonym(owner_name); - fRlvEnableOwner = false; - } - - if (RlvUtil::isNearbyAgent(mLastOwnerID)) - { - last_owner_name = RlvStrings::getAnonym(last_owner_name); - fRlvEnableLastOwner = false; + view->setValue(LLUUID::null); + view->setText(owner_app_link); } + view->setEnabled(true); } - else if ((objectp->isAttachment() || objectp->isAvatar()) && gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMETAGS) && mOwnerID != gAgentID) + + if (auto view = getChild("Last Owner Name")) { - owner_name = RlvStrings::getAnonym(owner_name); - fRlvEnableOwner = false; - - if (mOwnerID == mCreatorID) + if (LLSelectMgr::getInstance()->selectGetLastOwner(mLastOwnerID, owner_app_link)) { - creator_name = RlvStrings::getAnonym(creator_name); - fRlvEnableCreator = false; + view->setValue(mLastOwnerID); } - - if (mOwnerID == mLastOwnerID) + else { - last_owner_name = RlvStrings::getAnonym(last_owner_name); - fRlvEnableLastOwner = false; + view->setValue(LLUUID::null); + view->setText(owner_app_link); } + view->setEnabled(true); } -// [/RLVa:KB] - getChild("Creator Name")->setValue(creator_name); - getChildView("Creator Name")->setEnabled(TRUE); - - getChild("Owner Name")->setValue(owner_name); - getChildView("Owner Name")->setEnabled(TRUE); -// childSetEnabled("button owner profile",owners_identical && (mOwnerID.notNull() || LLSelectMgr::getInstance()->selectIsGroupOwned())); -// getChildView("button last owner profile")->setEnabled(owners_identical && mLastOwnerID.notNull()); -// [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) - getChildView("button owner profile")->setEnabled(fRlvEnableOwner && owners_identical && (mOwnerID.notNull() || LLSelectMgr::getInstance()->selectIsGroupOwned())); - getChildView("button creator profile")->setEnabled(fRlvEnableCreator && creators_identical && mCreatorID.notNull()); - getChildView("button last owner profile")->setEnabled(fRlvEnableLastOwner && owners_identical && mLastOwnerID.notNull()); -// [/RLVa:KB] - - getChild("Last Owner Name")->setValue(last_owner_name); - getChildView("Last Owner Name")->setEnabled(TRUE); // update group text field getChildView("Group:")->setEnabled(TRUE); - //getChild("Group Name")->setValue(LLStringUtil::null); LLUUID group_id; BOOL groups_identical = LLSelectMgr::getInstance()->selectGetGroup(group_id); if (groups_identical) @@ -520,7 +457,6 @@ void LLPanelPermissions::refresh() } getChildView("button set group")->setEnabled(root_selected && owners_identical && (mOwnerID == gAgent.getID()) && is_nonpermanent_enforced); - getChildView("button open group")->setEnabled(group_id.notNull()); getChildView("Name:")->setEnabled(TRUE); LLLineEditor* LineEditorObjectName = getChild("Object Name"); @@ -1049,36 +985,6 @@ void LLPanelPermissions::onClickRelease(void*) LLSelectMgr::getInstance()->sendOwner(LLUUID::null, LLUUID::null); } -void LLPanelPermissions::onClickCreator() -{ - LLAvatarActions::showProfile(mCreatorID); -} - -void LLPanelPermissions::onClickOwner() -{ - if (LLSelectMgr::getInstance()->selectIsGroupOwned()) - { - LLUUID group_id; - LLSelectMgr::getInstance()->selectGetGroup(group_id); - LLGroupActions::show(group_id); - } - else - { -// [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) - if (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) - { - LLAvatarActions::showProfile(mOwnerID); - } -// [/RLVa:KB] -// LLAvatarActions::showProfile(mOwnerID); - } -} - -void LLPanelPermissions::onClickLastOwner() -{ - LLAvatarActions::showProfile(mLastOwnerID); -} - void LLPanelPermissions::onClickGroup() { LLUUID owner_id; @@ -1103,13 +1009,6 @@ void LLPanelPermissions::onClickGroup() } } -void LLPanelPermissions::onClickOpenGroup() -{ - LLUUID group_id; - LLSelectMgr::getInstance()->selectGetGroup(group_id); - LLGroupActions::show(group_id); -} - void LLPanelPermissions::cbGroupID(LLUUID group_id) { if(mLabelGroupName) diff --git a/indra/newview/llpanelpermissions.h b/indra/newview/llpanelpermissions.h index 58b6dbac9..87868108b 100644 --- a/indra/newview/llpanelpermissions.h +++ b/indra/newview/llpanelpermissions.h @@ -58,11 +58,7 @@ protected: // statics static void onClickClaim(void*); static void onClickRelease(void*); - void onClickCreator(); - void onClickOwner(); - void onClickLastOwner(); void onClickGroup(); - static void onClickOpenGroup(); void cbGroupID(LLUUID group_id); static void onClickDeedToGroup(void*); static void onClickCopyObjKey(); diff --git a/indra/newview/llpanelvolume.cpp b/indra/newview/llpanelvolume.cpp index f521a6cca..42459df94 100644 --- a/indra/newview/llpanelvolume.cpp +++ b/indra/newview/llpanelvolume.cpp @@ -379,6 +379,28 @@ void LLPanelVolume::getState( ) } getChildView("Animated Mesh Checkbox Ctrl")->setEnabled(enabled_animated_object_box); + //refresh any bakes + if (root_volobjp) + { + root_volobjp->refreshBakeTexture(); + + LLViewerObject::const_child_list_t& child_list = root_volobjp->getChildren(); + for (const auto& iter : child_list) + { + LLViewerObject* objectp = iter; + if (objectp) + { + objectp->refreshBakeTexture(); + } + } + + if (gAgentAvatarp) + { + gAgentAvatarp->updateMeshVisibility(); + } + } + + // Flexible properties BOOL is_flexible = volobjp && volobjp->isFlexible(); getChild("Flexible1D Checkbox Ctrl")->setValue(is_flexible); @@ -825,6 +847,27 @@ void LLPanelVolume::onCommitAnimatedMeshCheckbox(LLUICtrl *, void*) { volobjp->setExtendedMeshFlags(new_flags); } + + //refresh any bakes + if (volobjp) + { + volobjp->refreshBakeTexture(); + + LLViewerObject::const_child_list_t& child_list = volobjp->getChildren(); + for (const auto& iter : child_list) + { + LLViewerObject* objectp = iter; + if (objectp) + { + objectp->refreshBakeTexture(); + } + } + + if (gAgentAvatarp) + { + gAgentAvatarp->updateMeshVisibility(); + } + } } void LLPanelVolume::onCommitIsFlexible(LLUICtrl *, void*) diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp index 1b4c0b8f8..2f6ba27e4 100644 --- a/indra/newview/llparticipantlist.cpp +++ b/indra/newview/llparticipantlist.cpp @@ -30,8 +30,7 @@ #include "llagent.h" #include "llmutelist.h" #include "llparticipantlist.h" -#include "llscrolllistctrl.h" -#include "llscrolllistitem.h" +#include "llnamelistctrl.h" #include "llspeakers.h" #include "lluictrlfactory.h" // Edit: For menu duality #include "llviewermenu.h" // Edit: For menu duality @@ -45,7 +44,7 @@ LLParticipantList::LLParticipantList(LLSpeakerMgr* data_source, bool show_text_chatters) : mSpeakerMgr(data_source), - mAvatarList(NULL), + mAvatarList(nullptr), mShowTextChatters(show_text_chatters), mValidateSpeakerCallback(NULL) { @@ -84,7 +83,7 @@ void LLParticipantList::setupContextMenu() BOOL LLParticipantList::postBuild() { - mAvatarList = getChild("speakers_list"); + mAvatarList = getChild("speakers_list"); mAvatarList->sortByColumn(gSavedSettings.getString("FloaterActiveSpeakersSortColumn"), gSavedSettings.getBOOL("FloaterActiveSpeakersSortAscending")); mAvatarList->setDoubleClickCallback(boost::bind(&LLParticipantList::onAvatarListDoubleClicked, this)); @@ -263,14 +262,14 @@ void LLParticipantList::refreshSpeakers() mSpeakerMgr->update(resort_ok); bool re_sort = false; - int start_pos = llmax(0, scroll_pos - 20); - int end_pos = scroll_pos + mAvatarList->getLinesPerPage() + 20; + size_t start_pos = llmax(0, scroll_pos - 20); + size_t end_pos = scroll_pos + mAvatarList->getLinesPerPage() + 20; std::vector items = mAvatarList->getAllData(); if (start_pos >= items.size()) { return; } - int count = 0; + size_t count = 0; for (std::vector::iterator item_it = items.begin(); item_it != items.end(); ++item_it) { @@ -322,13 +321,15 @@ void LLParticipantList::refreshSpeakers() { // bool found = mShowTextChatters || speakerp->mID == gAgentID; - const LLWorld::region_list_t& regions = LLWorld::getInstance()->getRegionList(); - for (LLWorld::region_list_t::const_iterator iter = regions.begin(); !found && iter != regions.end(); ++iter) + if (!found) + for (const LLViewerRegion* regionp : LLWorld::getInstance()->getRegionList()) { // Are they in this sim? - if (const LLViewerRegion* regionp = *iter) - if (std::find(regionp->mMapAvatarIDs.begin(), regionp->mMapAvatarIDs.end(), speakerp->mID) != regionp->mMapAvatarIDs.end()) - found = true; + if (std::find(regionp->mMapAvatarIDs.begin(), regionp->mMapAvatarIDs.end(), speakerp->mID) != regionp->mMapAvatarIDs.end()) + { + found = true; + break; + } } if (!found) { @@ -349,7 +350,7 @@ void LLParticipantList::refreshSpeakers() { std::string speaker_name = speakerp->mDisplayName.empty() ? LLCacheName::getDefaultName() : speakerp->mDisplayName; if (speakerp->mIsModerator) - speaker_name += " " + getString("moderator_label"); + speaker_name += ' ' + getString("moderator_label"); if (name_cell->getValue().asString() != speaker_name) { re_sort = true; @@ -486,22 +487,16 @@ void LLParticipantList::adjustParticipant(const LLUUID& speaker_id) LLPointer speakerp = mSpeakerMgr->findSpeaker(speaker_id); if (speakerp.isNull()) return; - LLSD row; - row["id"] = speaker_id; - LLSD& columns = row["columns"]; - columns[0]["column"] = "icon_speaking_status"; - columns[0]["type"] = "icon"; - columns[0]["value"] = "icn_active-speakers-dot-lvl0.tga"; - + LLNameListItem::Params name_item; + name_item.value = speaker_id; + name_item.columns.add(LLScrollListCell::Params().column("icon_speaking_status").type("icon").value("icn_active-speakers-dot-lvl0.tga")); const std::string& display_name = LLVoiceClient::getInstance()->getDisplayName(speaker_id); - columns[1]["column"] = "speaker_name"; - columns[1]["type"] = "text"; - columns[1]["value"] = display_name.empty() ? LLCacheName::getDefaultName() : display_name; + name_item.name = display_name; + name_item.columns.add(LLScrollListCell::Params().column("speaker_name").type("text").value(display_name)); + name_item.columns.add(LLScrollListCell::Params().column("speaking_status").type("text") + .value(llformat("%010d", speakerp->mSortIndex))); // print speaking ordinal in a text-sorting friendly manner - columns[2]["column"] = "speaking_status"; - columns[2]["type"] = "text"; - columns[2]["value"] = llformat("%010d", speakerp->mSortIndex); // print speaking ordinal in a text-sorting friendly manner - mAvatarList->addElement(row); + mAvatarList->addNameItemRow(name_item); // add listener to process moderation changes speakerp->addListener(mSpeakerMuteListener); diff --git a/indra/newview/llparticipantlist.h b/indra/newview/llparticipantlist.h index 29772cf25..091753d5d 100644 --- a/indra/newview/llparticipantlist.h +++ b/indra/newview/llparticipantlist.h @@ -30,7 +30,7 @@ #include "lllayoutstack.h" class LLSpeakerMgr; -class LLScrollListCtrl; +class LLNameListCtrl; class LLUICtrl; class LLParticipantList : public LLLayoutPanel @@ -219,7 +219,7 @@ private: void onVolumeChange(const LLSD& param); LLSpeakerMgr* mSpeakerMgr; - LLScrollListCtrl* mAvatarList; + LLNameListCtrl* mAvatarList; bool mShowTextChatters; LLFrameTimer mUpdateTimer; diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index d0f011998..b8f714298 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -439,7 +439,7 @@ bool LLScriptEdCore::loadScriptText(const std::string& filename) // read in the whole file fseek(file, 0L, SEEK_END); - long file_length = ftell(file); + size_t file_length = ftell(file); fseek(file, 0L, SEEK_SET); if (file_length > 0) { diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 462302873..add23140c 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -204,8 +204,7 @@ #include "llweb.h" #include "llvoiceclient.h" #include "llnamelistctrl.h" -#include "llnamebox.h" -#include "llnameeditor.h" +#include "llnameui.h" #include "llwlparammanager.h" #include "llwaterparammanager.h" #include "llagentlanguage.h" @@ -320,8 +319,7 @@ void transition_back_to_login_panel(const std::string& emsg); void callback_cache_name(const LLUUID& id, const std::string& full_name, bool is_group) { - LLNameBox::refreshAll(id, full_name, is_group); - LLNameEditor::refreshAll(id, full_name, is_group); + LLNameUI::refreshAll(id, full_name, is_group); // TODO: Actually be intelligent about the refresh. // For now, just brute force refresh the dialogs. diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index a64125b1d..3d62acf8c 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -60,19 +60,22 @@ #include "llscrollcontainer.h" #include "lltoolmgr.h" #include "lltoolpipette.h" - -#include "lltool.h" +#include "llglheaders.h" +#include "llselectmgr.h" +#include "lltrans.h" +#include "lluictrlfactory.h" #include "llviewerwindow.h" #include "llviewerobject.h" #include "llviewercontrol.h" -#include "llglheaders.h" -#include "lluictrlfactory.h" -#include "lltrans.h" + +#include "llavatarappearancedefines.h" + // #include "llmenugl.h" // // tag: vaa emerald local_asset_browser [begin] +//#include #include "floaterlocalassetbrowse.h" #include "llscrolllistctrl.h" #define LOCALLIST_COL_ID 1 @@ -177,6 +180,7 @@ public: void onSelectionChange(const std::deque &items, BOOL user_action); static void onShowFolders(LLUICtrl* ctrl, void* userdata); static void onApplyImmediateCheck(LLUICtrl* ctrl, void* userdata); + void onBakeTextureSelect(const LLSD& val); void onFilterEdit(const std::string& filter_string ); void onTextureSelect( const LLTextureEntry& te ); @@ -285,22 +289,43 @@ void LLFloaterTexturePicker::setImageID(const LLUUID& image_id) mNoCopyTextureSelected = FALSE; mIsDirty = TRUE; mImageAssetID = image_id; - LLUUID item_id = findItemID(mImageAssetID, FALSE); - if (item_id.isNull()) + + std::string tab; + if (LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::isBakedImageId(mImageAssetID)) { - mInventoryPanel->getRootFolder()->clearSelection(); + tab = "bake"; + getChild("l_bake_use_texture_combo_box")->selectByID(mImageAssetID); } + /* TODO: Figure out how to select local asset if in use? + // tag: vaa emerald local_asset_browser [begin] + else if (boost::algorithm::any_of_equal(mLocalScrollCtrl->getAllIDs(), mImageAssetID)) + { + tab = "local_tab"; + mLocalScrollCtrl->selectByID(mImageAssetID); + } + // tag: vaa emerald local_asset_browser [end] + */ else { - LLInventoryItem* itemp = gInventory.getItem(image_id); - if (itemp && !itemp->getPermissions().allowCopyBy(gAgent.getID())) + LLUUID item_id = findItemID(mImageAssetID, FALSE); + if (item_id.isNull()) { - // no copy texture - getChild("apply_immediate_check")->setValue(FALSE); - mNoCopyTextureSelected = TRUE; + mInventoryPanel->getRootFolder()->clearSelection(); + } + else + { + tab = "server_tab"; + LLInventoryItem* itemp = gInventory.getItem(image_id); + if (itemp && !itemp->getPermissions().allowCopyBy(gAgent.getID())) + { + // no copy texture + getChild("apply_immediate_check")->setValue(FALSE); + mNoCopyTextureSelected = TRUE; + } + mInventoryPanel->setSelection(item_id, TAKE_FOCUS_NO); } - mInventoryPanel->setSelection(item_id, TAKE_FOCUS_NO); } + if (!tab.empty()) getChild("actions_tab_container")->selectTabByName(tab); } } @@ -557,6 +582,8 @@ BOOL LLFloaterTexturePicker::postBuild() // update permission filter once UI is fully initialized updateFilterPermMask(); LLToolPipette::getInstance()->setToolSelectCallback(boost::bind(&LLFloaterTexturePicker::onTextureSelect, this, _1)); + + getChild("l_bake_use_texture_combo_box")->setCommitCallback(boost::bind(&LLFloaterTexturePicker::onBakeTextureSelect, this, _2)); return TRUE; } @@ -623,10 +650,28 @@ void LLFloaterTexturePicker::draw() //BOOL allow_copy = FALSE; if( mOwner ) { - mTexturep = NULL; + mTexturep = nullptr; if(mImageAssetID.notNull()) { - mTexturep = LLViewerTextureManager::getFetchedTexture(mImageAssetID, FTT_DEFAULT, MIPMAP_YES, LLGLTexture::BOOST_PREVIEW); + LLPointer texture = NULL; + + if (LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::isBakedImageId(mImageAssetID)) + { + LLViewerObject* obj = LLSelectMgr::getInstance()->getSelection()->getFirstObject(); + if (obj) + { + LLViewerTexture* viewerTexture = obj->getBakedTextureForMagicId(mImageAssetID); + texture = viewerTexture ? dynamic_cast(viewerTexture) : NULL; + } + } + + if (texture.isNull()) + { + texture = LLViewerTextureManager::getFetchedTexture(mImageAssetID); + } + + mTexturep = texture; + mTexturep->setBoostLevel(LLGLTexture::BOOST_PREVIEW); } else if (!mFallbackImageName.empty()) { @@ -1030,6 +1075,19 @@ void LLFloaterTexturePicker::onApplyImmediateCheck(LLUICtrl* ctrl, void *user_da picker->commitIfImmediateSet(); } +void LLFloaterTexturePicker::onBakeTextureSelect(const LLSD& val) +{ + LLUUID imageID = val.asUUID(); + + setImageID(imageID); + + if (mCanPreview) + { + // only commit intentional selections, not implicit ones + commitIfImmediateSet(); + } +} + void LLFloaterTexturePicker::updateFilterPermMask() { //mInventoryPanel->setFilterPermMask( getFilterPermMask() ); Commented out due to no-copy texture loss. @@ -1581,12 +1639,31 @@ void LLTextureCtrl::draw() if (!mValid) { - mTexturep = NULL; + mTexturep = nullptr; } else if (!mImageAssetID.isNull()) { - mTexturep = LLViewerTextureManager::getFetchedTexture(mImageAssetID, FTT_DEFAULT, MIPMAP_YES,LLGLTexture::BOOST_PREVIEW, LLViewerTexture::LOD_TEXTURE); - mTexturep->forceToSaveRawImage(0) ; + LLPointer texture = NULL; + + if (LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::isBakedImageId(mImageAssetID)) + { + LLViewerObject* obj = LLSelectMgr::getInstance()->getSelection()->getFirstObject(); + if (obj) + { + LLViewerTexture* viewerTexture = obj->getBakedTextureForMagicId(mImageAssetID); + texture = viewerTexture ? dynamic_cast(viewerTexture) : NULL; + } + } + + if (texture.isNull()) + { + texture = LLViewerTextureManager::getFetchedTexture(mImageAssetID, FTT_DEFAULT, MIPMAP_YES, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE); + } + + texture->setBoostLevel(LLGLTexture::BOOST_PREVIEW); + texture->forceToSaveRawImage(0) ; + + mTexturep = texture; } else if (!mFallbackImageName.empty()) { @@ -1595,7 +1672,7 @@ void LLTextureCtrl::draw() } else // mImageAssetID == LLUUID::null { - mTexturep = NULL; + mTexturep = nullptr; } // Border diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 5aa8239d4..6d694ca3b 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -238,9 +238,9 @@ void display_stats() F32 mem_log_freq = gSavedSettings.getF32("MemoryLogFrequency"); if (mem_log_freq > 0.f && gRecentMemoryTime.getElapsedTimeF32() >= mem_log_freq) { - gMemoryAllocated = (U64Bytes)LLMemory::getCurrentRSS(); + gMemoryAllocated = U64Bytes(LLMemory::getCurrentRSS()); U32Megabytes memory = gMemoryAllocated; - LL_INFOS() << llformat("MEMORY: %d MB", memory.value()) << LL_ENDL; + LL_INFOS() << "MEMORY: " << memory << LL_ENDL; LL_INFOS() << "THREADS: "<< LLThread::getCount() << LL_ENDL; LL_INFOS() << "MALLOC: " << SGMemStat::getPrintableStat() <addChild(gLoginMenuBarView); // Singu Note: Initialize common ScrollListMenus here - LLScrollListCtrl::addCommonMenu(LLUICtrlFactory::getInstance()->buildMenu("menu_avs_list.xml", gMenuHolder)); // 0 - //LLScrollListCtrl::addCommonMenu(LLUICtrlFactory::getInstance()->buildMenu("menu_groups_list.xml")); // 1 // Singu TODO + LFIDBearer::addCommonMenu(LLUICtrlFactory::getInstance()->buildMenu("menu_avs_list.xml", gMenuHolder)); // 0 + //LFIDBearer::addCommonMenu(LLUICtrlFactory::getInstance()->buildMenu("menu_groups_list.xml")); // 1 // Singu TODO LLView* ins = gMenuBarView->getChildView("insert_world", true, false); ins->setVisible(false); @@ -9051,27 +9052,6 @@ template T* get_focused() return t; } -S32 get_focused_list_num_selected() -{ - if (auto list = get_focused()) - return list->getNumSelected(); - return 0; -} - -const LLUUID get_focused_list_id_selected() -{ - if (auto list = get_focused()) - return list->getStringUUIDSelectedItem(); - return LLUUID::null; -} - -const uuid_vec_t get_focused_list_ids_selected() -{ - if (auto list = get_focused()) - return list->getSelectedIDs(); - return uuid_vec_t(); -} - const LLWString get_slurl_for(const LLUUID& id, bool group) { std::string str("secondlife:///app/"); @@ -9088,7 +9068,7 @@ class ListEnableAnySelected : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - gMenuHolder->findControl(userdata["control"].asString())->setValue(get_focused_list_num_selected()); + gMenuHolder->findControl(userdata["control"].asString())->setValue(LFIDBearer::getActiveNumSelected()); return true; } }; @@ -9097,7 +9077,7 @@ class ListEnableMultipleSelected : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - gMenuHolder->findControl(userdata["control"].asString())->setValue(get_focused_list_num_selected() > 1); + gMenuHolder->findControl(userdata["control"].asString())->setValue(LFIDBearer::getActiveNumSelected() > 1); return true; } }; @@ -9106,7 +9086,7 @@ class ListEnableSingleSelected : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - gMenuHolder->findControl(userdata["control"].asString())->setValue(get_focused_list_num_selected() == 1); + gMenuHolder->findControl(userdata["control"].asString())->setValue(LFIDBearer::getActiveNumSelected() == 1); return true; } }; @@ -9115,8 +9095,6 @@ class ListEnableCall : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - auto list = get_focused(); - if (!list) return false; gMenuHolder->findControl(userdata["control"].asString())->setValue(LLAvatarActions::canCall()); return true; } @@ -9126,7 +9104,7 @@ class ListEnableIsFriend : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - gMenuHolder->findControl(userdata["control"].asString())->setValue(LLAvatarActions::isFriend(get_focused_list_id_selected())); + gMenuHolder->findControl(userdata["control"].asString())->setValue(LLAvatarActions::isFriend(LFIDBearer::getActiveSelectedID())); return true; } }; @@ -9135,7 +9113,7 @@ class ListEnableIsNotFriend : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - gMenuHolder->findControl(userdata["control"].asString())->setValue(!LLAvatarActions::isFriend(get_focused_list_id_selected())); + gMenuHolder->findControl(userdata["control"].asString())->setValue(!LLAvatarActions::isFriend(LFIDBearer::getActiveSelectedID())); return true; } }; @@ -9144,7 +9122,7 @@ class ListEnableMute : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - const uuid_vec_t& ids = get_focused_list_ids_selected(); + const uuid_vec_t& ids = LFIDBearer::getActiveSelectedIDs(); bool can_block = true; for (uuid_vec_t::const_iterator it = ids.begin(); can_block && it != ids.end(); ++it) can_block = LLAvatarActions::canBlock(*it); @@ -9157,7 +9135,7 @@ class ListEnableOfferTeleport : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - gMenuHolder->findControl(userdata["control"].asString())->setValue(LLAvatarActions::canOfferTeleport(get_focused_list_ids_selected())); + gMenuHolder->findControl(userdata["control"].asString())->setValue(LLAvatarActions::canOfferTeleport(LFIDBearer::getActiveSelectedIDs())); return true; } }; @@ -9166,7 +9144,7 @@ class ListVisibleWebProfile : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - gMenuHolder->findControl(userdata["control"].asString())->setValue(get_focused_list_num_selected() && !(gSavedSettings.getBOOL("UseWebProfiles") || gSavedSettings.getString("WebProfileURL").empty())); + gMenuHolder->findControl(userdata["control"].asString())->setValue(LFIDBearer::getActiveNumSelected() && !(gSavedSettings.getBOOL("UseWebProfiles") || gSavedSettings.getString("WebProfileURL").empty())); return true; } }; @@ -9176,7 +9154,7 @@ class ListBanFromGroup : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - ban_from_group(get_focused_list_ids_selected()); + ban_from_group(LFIDBearer::getActiveSelectedIDs()); return true; } }; @@ -9185,7 +9163,7 @@ class ListCopySLURL : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - copy_profile_uri(get_focused_list_id_selected(), false); + copy_profile_uri(LFIDBearer::getActiveSelectedID(), false); return true; } }; @@ -9194,7 +9172,7 @@ class ListCopyUUIDs : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::copyUUIDs(get_focused_list_ids_selected()); + LLAvatarActions::copyUUIDs(LFIDBearer::getActiveSelectedIDs()); return true; } }; @@ -9203,7 +9181,7 @@ class ListInviteToGroup : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::inviteToGroup(get_focused_list_ids_selected()); + LLAvatarActions::inviteToGroup(LFIDBearer::getActiveSelectedIDs()); return true; } }; @@ -9212,7 +9190,7 @@ class ListOfferTeleport : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::offerTeleport(get_focused_list_ids_selected()); + LLAvatarActions::offerTeleport(LFIDBearer::getActiveSelectedIDs()); return true; } }; @@ -9221,7 +9199,7 @@ class ListPay : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::pay(get_focused_list_id_selected()); + LLAvatarActions::pay(LFIDBearer::getActiveSelectedID()); return true; } }; @@ -9230,7 +9208,7 @@ class ListRemoveFriend : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::removeFriendDialog(get_focused_list_id_selected()); + LLAvatarActions::removeFriendDialog(LFIDBearer::getActiveSelectedID()); return true; } }; @@ -9239,7 +9217,7 @@ class ListRequestFriendship : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::requestFriendshipDialog(get_focused_list_id_selected()); + LLAvatarActions::requestFriendshipDialog(LFIDBearer::getActiveSelectedID()); return true; } }; @@ -9248,7 +9226,7 @@ class ListRequestTeleport : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::teleportRequest(get_focused_list_id_selected()); + LLAvatarActions::teleportRequest(LFIDBearer::getActiveSelectedID()); return true; } }; @@ -9257,7 +9235,7 @@ class ListShare : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::share(get_focused_list_id_selected()); + LLAvatarActions::share(LFIDBearer::getActiveSelectedID()); return true; } }; @@ -9272,7 +9250,7 @@ class ListShowLog : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - for (const LLUUID& id : get_focused_list_ids_selected()) + for (const LLUUID& id : LFIDBearer::getActiveSelectedIDs()) show_log_browser(id); return true; } @@ -9282,7 +9260,7 @@ class ListShowProfile : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::showProfiles(get_focused_list_ids_selected()); + LLAvatarActions::showProfiles(LFIDBearer::getActiveSelectedIDs()); return true; } }; @@ -9291,7 +9269,7 @@ class ListShowWebProfile : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::showProfiles(get_focused_list_ids_selected(), true); + LLAvatarActions::showProfiles(LFIDBearer::getActiveSelectedIDs(), true); return true; } }; @@ -9300,7 +9278,7 @@ class ListStartAdhocCall : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::startAdhocCall(get_focused_list_ids_selected()); + LLAvatarActions::startAdhocCall(LFIDBearer::getActiveSelectedIDs()); return true; } }; @@ -9309,7 +9287,7 @@ class ListStartCall : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::startCall(get_focused_list_id_selected()); + LLAvatarActions::startCall(LFIDBearer::getActiveSelectedID()); return true; } }; @@ -9318,7 +9296,7 @@ class ListStartConference : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::startConference(get_focused_list_ids_selected()); + LLAvatarActions::startConference(LFIDBearer::getActiveSelectedIDs()); return true; } }; @@ -9327,7 +9305,7 @@ class ListStartIM : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLAvatarActions::startIM(get_focused_list_id_selected()); + LLAvatarActions::startIM(LFIDBearer::getActiveSelectedID()); return true; } }; @@ -9336,7 +9314,7 @@ class ListAbuseReport : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - LLFloaterReporter::showFromObject(get_focused_list_id_selected()); + LLFloaterReporter::showFromObject(LFIDBearer::getActiveSelectedID()); return true; } }; @@ -9364,7 +9342,7 @@ class ListIsNearby : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - gMenuHolder->findControl(userdata["control"].asString())->setValue(is_nearby(get_focused_list_id_selected())); + gMenuHolder->findControl(userdata["control"].asString())->setValue(is_nearby(LFIDBearer::getActiveSelectedID())); return true; } }; @@ -9374,7 +9352,7 @@ class ListTrack : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - track_av(get_focused_list_id_selected()); + track_av(LFIDBearer::getActiveSelectedID()); return true; } }; @@ -9388,7 +9366,7 @@ class ListEject : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - confirm_eject(get_focused_list_ids_selected()); + confirm_eject(LFIDBearer::getActiveSelectedIDs()); return true; } }; @@ -9402,7 +9380,7 @@ class ListFreeze : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - confirm_freeze(get_focused_list_ids_selected()); + confirm_freeze(LFIDBearer::getActiveSelectedIDs()); return true; } }; @@ -9441,7 +9419,7 @@ class ListEstateBan : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - confirm_estate_ban(get_focused_list_ids_selected()); + confirm_estate_ban(LFIDBearer::getActiveSelectedIDs()); return true; } }; @@ -9454,7 +9432,7 @@ class ListEstateEject : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - confirm_estate_kick(get_focused_list_ids_selected()); + confirm_estate_kick(LFIDBearer::getActiveSelectedIDs()); return true; } }; @@ -9463,9 +9441,9 @@ class ListToggleMute : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) { - const uuid_vec_t& ids = get_focused_list_ids_selected(); - for (uuid_vec_t::const_iterator it = ids.begin(); it != ids.end(); ++it) - LLAvatarActions::toggleBlock(*it); + const uuid_vec_t& ids = LFIDBearer::getActiveSelectedIDs(); + for (const auto& id : ids) + LLAvatarActions::toggleBlock(id); return true; } }; diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h index b3f2cda7b..29d46def8 100644 --- a/indra/newview/llviewermenu.h +++ b/indra/newview/llviewermenu.h @@ -142,8 +142,6 @@ bool handle_go_to(); // Export to XML or Collada void handle_export_selected( void * ); -const LLUUID get_focused_list_id_selected(); - class LLViewerMenuHolderGL : public LLMenuHolderGL { public: diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 6c0499ffc..f2d83efa2 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -168,7 +168,6 @@ extern bool gShiftFrame; // function prototypes bool check_offer_throttle(const std::string& from_name, bool check_only); bool check_asset_previewable(const LLAssetType::EType asset_type); -void callbackCacheEstateOwnerName(const LLUUID& id, const LLAvatarName& av_name); static void process_money_balance_reply_extended(LLMessageSystem* msg); //inventory offer throttle globals @@ -8595,7 +8594,10 @@ void process_covenant_reply(LLMessageSystem* msg, void**) LLPanelEstateInfo::updateEstateName(estate_name); LLFloaterBuyLand::updateEstateName(estate_name); - LLAvatarNameCache::get(estate_owner_id, boost::bind(&callbackCacheEstateOwnerName, _1, _2)); + LLPanelEstateCovenant::updateEstateOwnerID(estate_owner_id); + LLPanelLandCovenant::updateEstateOwnerID(estate_owner_id); + LLPanelEstateInfo::updateEstateOwnerID(estate_owner_id); + LLFloaterBuyLand::updateEstateOwnerID(estate_owner_id); // standard message, not from system std::string last_modified; @@ -8605,7 +8607,7 @@ void process_covenant_reply(LLMessageSystem* msg, void**) } else { - last_modified = LLTrans::getString("covenant_modified") + " " + formatted_time((time_t)covenant_timestamp); + last_modified = LLTrans::getString("covenant_modified") + ' ' + formatted_time((time_t)covenant_timestamp); } LLPanelEstateCovenant::updateLastModified(last_modified); @@ -8644,15 +8646,6 @@ void process_covenant_reply(LLMessageSystem* msg, void**) } } -void callbackCacheEstateOwnerName(const LLUUID& id, const LLAvatarName& av_name) -{ - const std::string name(av_name.getNSName()); - LLPanelEstateCovenant::updateEstateOwnerName(name); - LLPanelLandCovenant::updateEstateOwnerName(name); - LLPanelEstateInfo::updateEstateOwnerName(name); - LLFloaterBuyLand::updateEstateOwnerName(name); -} - void onCovenantLoadComplete(LLVFS *vfs, const LLUUID& asset_uuid, LLAssetType::EType type, diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 8b41996c6..8ba388e6e 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -4765,12 +4765,75 @@ void LLViewerObject::sendTEUpdate() const msg->sendReliable( regionp->getHost() ); } +LLViewerTexture* LLViewerObject::getBakedTextureForMagicId(const LLUUID& id) +{ + if (!LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::isBakedImageId(id)) + { + return NULL; + } + + LLViewerObject *root = getRootEdit(); + if (root && root->isAnimatedObject()) + { + return LLViewerTextureManager::getFetchedTexture(id, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE); + } + + LLVOAvatar* avatar = getAvatar(); + if (avatar) + { + LLAvatarAppearanceDefines::EBakedTextureIndex texIndex = LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::assetIdToBakedTextureIndex(id); + LLViewerTexture* bakedTexture = avatar->getBakedTexture(texIndex); + if (bakedTexture == NULL || bakedTexture->isMissingAsset()) + { + return LLViewerTextureManager::getFetchedTexture(IMG_DEFAULT, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE); + } + else + { + return bakedTexture; + } + } + else + { + return LLViewerTextureManager::getFetchedTexture(id, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE); + } + +} + +void LLViewerObject::updateAvatarMeshVisibility(const LLUUID& id, const LLUUID& old_id) +{ + if (id == old_id) + { + return; + } + + if (!LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::isBakedImageId(old_id) && !LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::isBakedImageId(id)) + { + return; + } + + LLVOAvatar* avatar = getAvatar(); + if (avatar) + { + avatar->updateMeshVisibility(); + } +} + void LLViewerObject::setTE(const U8 te, const LLTextureEntry &texture_entry) { + LLUUID old_image_id; + if (getTE(te)) + { + old_image_id = getTE(te)->getID(); + } + LLPrimitive::setTE(te, texture_entry); const LLUUID& image_id = getTE(te)->getID(); - mTEImages[te] = LLViewerTextureManager::getFetchedTexture(image_id, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE); + LLViewerTexture* bakedTexture = getBakedTextureForMagicId(image_id); + mTEImages[te] = bakedTexture ? bakedTexture : LLViewerTextureManager::getFetchedTexture(image_id, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE); + + + updateAvatarMeshVisibility(image_id,old_image_id); if (getTE(te)->getMaterialParams().notNull()) { @@ -4782,12 +4845,31 @@ void LLViewerObject::setTE(const U8 te, const LLTextureEntry &texture_entry) } } +void LLViewerObject::refreshBakeTexture() +{ + for (int face_index = 0; face_index < getNumTEs(); face_index++) + { + LLTextureEntry* tex_entry = getTE(face_index); + if (tex_entry && LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::isBakedImageId(tex_entry->getID())) + { + const LLUUID& image_id = tex_entry->getID(); + LLViewerTexture* bakedTexture = getBakedTextureForMagicId(image_id); + changeTEImage(face_index, bakedTexture); + } + } +} + void LLViewerObject::setTEImage(const U8 te, LLViewerTexture *imagep) { if (mTEImages[te] != imagep) { - mTEImages[te] = imagep; + LLUUID old_image_id = getTE(te) ? getTE(te)->getID() : LLUUID::null; + LLPrimitive::setTETexture(te, imagep->getID()); + + LLViewerTexture* baked_texture = getBakedTextureForMagicId(imagep->getID()); + mTEImages[te] = baked_texture ? baked_texture : imagep; + updateAvatarMeshVisibility(imagep->getID(), old_image_id); setChanged(TEXTURE); if (mDrawable.notNull()) { @@ -4798,13 +4880,18 @@ void LLViewerObject::setTEImage(const U8 te, LLViewerTexture *imagep) S32 LLViewerObject::setTETextureCore(const U8 te, LLViewerTexture *image) { + if (!image) + return 0; + LLUUID old_image_id = getTE(te)->getID(); const LLUUID& uuid = image->getID(); S32 retval = 0; if (uuid != getTE(te)->getID() || uuid == LLUUID::null) { retval = LLPrimitive::setTETexture(te, uuid); - mTEImages[te] = image; + LLViewerTexture* baked_texture = getBakedTextureForMagicId(uuid); + mTEImages[te] = baked_texture ? baked_texture : image; + updateAvatarMeshVisibility(uuid,old_image_id); setChanged(TEXTURE); if (mDrawable.notNull()) { diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h index a7fc3e140..fb4b812c6 100644 --- a/indra/newview/llviewerobject.h +++ b/indra/newview/llviewerobject.h @@ -614,6 +614,10 @@ public: friend class LLViewerObjectList; friend class LLViewerMediaList; +public: + LLViewerTexture* getBakedTextureForMagicId(const LLUUID& id); + void updateAvatarMeshVisibility(const LLUUID& id, const LLUUID& old_id); + void refreshBakeTexture(); public: static void unpackVector3(LLDataPackerBinaryBuffer* dp, LLVector3& value, std::string name); static void unpackUUID(LLDataPackerBinaryBuffer* dp, LLUUID& value, std::string name); diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 53047ceee..cda753441 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -1543,7 +1543,7 @@ bool LLViewerRegion::simulatorFeaturesReceived() const return mSimulatorFeaturesReceived; } -void LLViewerRegion::getSimulatorFeatures(LLSD& sim_features) +void LLViewerRegion::getSimulatorFeatures(LLSD& sim_features) const { sim_features = mSimulatorFeatures; } @@ -2367,6 +2367,12 @@ bool LLViewerRegion::meshUploadEnabled() const } } +bool LLViewerRegion::bakesOnMeshEnabled() const +{ + return (mSimulatorFeatures.has("BakesOnMeshEnabled") && + mSimulatorFeatures["BakesOnMeshEnabled"].asBoolean()); +} + bool LLViewerRegion::meshRezEnabled() const { if (!capabilitiesReceived()) diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h index d02ab5a53..fc23d6cd0 100644 --- a/indra/newview/llviewerregion.h +++ b/indra/newview/llviewerregion.h @@ -327,13 +327,15 @@ public: bool meshRezEnabled() const; bool meshUploadEnabled() const; + bool bakesOnMeshEnabled() const; + // has region received its simulator features list? Requires an additional query after caps received. void requestSimulatorFeatures(); void setSimulatorFeaturesReceived(bool); bool simulatorFeaturesReceived() const; boost::signals2::connection setSimulatorFeaturesReceivedCallback(const caps_received_signal_t::slot_type& cb); - void getSimulatorFeatures(LLSD& info); + void getSimulatorFeatures(LLSD& info) const; void setSimulatorFeatures(const LLSD& info); @@ -372,7 +374,8 @@ public: friend std::ostream& operator<<(std::ostream &s, const LLViewerRegion ®ion); /// implements LLCapabilityProvider - virtual std::string getDescription() const; + virtual std::string getDescription() const override; + std::string getViewerAssetUrl() const { return mViewerAssetUrl; } LLSpatialPartition* getSpatialPartition(U32 type); diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 7266df346..de4c6fd2a 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -1301,7 +1301,7 @@ LLPointer LLViewerTextureList::convertToUploadFile(LLPointer S32Megabytes(1500)) ? S32Megabytes(64) : gMinVideoRam ; } @@ -1331,15 +1331,15 @@ S32Megabytes LLViewerTextureList::getMaxVideoRamSetting(bool get_recommended, fl { if (!get_recommended) { - max_texmem = (S32Megabytes)512; + max_texmem = S32Megabytes(512); } else if (gSavedSettings.getBOOL("NoHardwareProbe")) //did not do hardware detection at startup { - max_texmem = (S32Megabytes)512; + max_texmem = S32Megabytes(512); } else { - max_texmem = (S32Megabytes)128; + max_texmem = S32Megabytes(128); } LL_WARNS() << "VRAM amount not detected, defaulting to " << max_texmem << " MB" << LL_ENDL; diff --git a/indra/newview/llviewerwearable.cpp b/indra/newview/llviewerwearable.cpp index 16cff6ba1..1297ca9de 100644 --- a/indra/newview/llviewerwearable.cpp +++ b/indra/newview/llviewerwearable.cpp @@ -130,7 +130,7 @@ LLWearable::EImportResult LLViewerWearable::importStream( std::istream& input_st LLViewerFetchedTexture* image = LLViewerTextureManager::getFetchedTexture( textureid ); if(gSavedSettings.getBOOL("DebugAvatarLocalTexLoadedTime")) { - image->setLoadedCallback(LLVOAvatarSelf::debugOnTimingLocalTexLoaded,0,TRUE,FALSE, new LLVOAvatarSelf::LLAvatarTexData(textureid, (LLAvatarAppearanceDefines::ETextureIndex)te), NULL); + image->setLoadedCallback(LLVOAvatarSelf::debugOnTimingLocalTexLoaded,0,TRUE,FALSE, new LLVOAvatarSelf::LLAvatarTexData(textureid, (LLAvatarAppearanceDefines::ETextureIndex)te), nullptr); } } @@ -235,7 +235,6 @@ BOOL LLViewerWearable::isDirty() const U8 a = F32_to_U8( saved_weight, param->getMinWeight(), param->getMaxWeight() ); U8 b = F32_to_U8( current_weight, param->getMinWeight(), param->getMaxWeight() ); - if( a != b ) { //LL_WARNS() << "param ID " << param->getID() << " was changed." << LL_ENDL; @@ -317,8 +316,8 @@ void LLViewerWearable::setTexturesToDefaults() const LLUUID LLViewerWearable::getDefaultTextureImageID(ETextureIndex index) const { const LLAvatarAppearanceDictionary::TextureEntry *texture_dict = LLAvatarAppearanceDictionary::getInstance()->getTexture(index); - const std::string &default_image_name = texture_dict->mDefaultImageName; - if (default_image_name == "") + const std::string &default_image_name = texture_dict ? texture_dict->mDefaultImageName : ""; + if (default_image_name.empty()) { return IMG_DEFAULT_AVATAR; } @@ -336,15 +335,9 @@ void LLViewerWearable::writeToAvatar(LLAvatarAppearance *avatarp) if (!avatarp || !avatarp->isSelf() || !avatarp->isValid()) return; LLVOAvatarSelf* viewer_avatar = static_cast(avatarp); -#if 0 - // FIXME DRANO - kludgy way to avoid overwriting avatar state from wearables. - // Ideally would avoid calling this func in the first place. - if (viewer_avatar->isUsingServerBakes() && - !viewer_avatar->isUsingLocalAppearance()) - { - return; - } -#endif + if (!avatarp || !viewer_avatar) return; + + if (!viewer_avatar->isValid()) return; ESex old_sex = avatarp->getSex(); @@ -456,7 +449,7 @@ void LLViewerWearable::copyDataFrom(const LLViewerWearable* src) { te_map_t::const_iterator iter = src->mTEMap.find(te); LLUUID image_id; - LLViewerFetchedTexture *image = NULL; + LLViewerFetchedTexture *image = nullptr; if(iter != src->mTEMap.end()) { image = dynamic_cast (src->getLocalTextureObject(te)->getImage()); @@ -489,13 +482,6 @@ void LLViewerWearable::setItemID(const LLUUID& item_id) void LLViewerWearable::revertValues() { -#if 0 - // DRANO avoid overwrite when not in local appearance - if (isAgentAvatarValid() && gAgentAvatarp->isUsingServerBakes() && !gAgentAvatarp->isUsingLocalAppearance()) - { - return; - } -#endif LLWearable::revertValues(); @@ -611,28 +597,29 @@ void LLViewerWearable::saveNewAsset() const // save it out to database if( gAssetStorage ) { - /* - std::string url = gAgent.getRegion()->getCapability("NewAgentInventory"); +#if 0 + const std::string url = gAgent.getRegion()->getCapability("NewFileAgentInventory"); if (!url.empty()) { LL_INFOS() << "Update Agent Inventory via capability" << LL_ENDL; LLSD body; - body["folder_id"] = gInventory.findCategoryUUIDForType(LLFolderType::assetToFolderType(getAssetType())); + body["folder_id"] = gInventory.findCategoryUUIDForType(LLFolderType::assetTypeToFolderType(getAssetType())); body["asset_type"] = LLAssetType::lookup(getAssetType()); body["inventory_type"] = LLInventoryType::lookup(LLInventoryType::IT_WEARABLE); body["name"] = getName(); body["description"] = getDescription(); - LLHTTPClient::post(url, body, new LLNewAgentInventoryResponder(body, filename)); + LLHTTPClient::post(url, body, new LLNewAgentInventoryResponder(body, filename, + getAssetType())); } else +#endif // 0 { - } - */ - LLWearableSaveData* data = new LLWearableSaveData; - data->mType = mType; - gAssetStorage->storeAssetData(filename, mTransactionID, getAssetType(), + LLWearableSaveData* data = new LLWearableSaveData; + data->mType = mType; + gAssetStorage->storeAssetData(filename, mTransactionID, getAssetType(), &LLViewerWearable::onSaveNewAssetComplete, (void*)data); + } } } @@ -673,21 +660,19 @@ std::ostream& operator<<(std::ostream &s, const LLViewerWearable &w) //w.mSaleInfo s << " Params:" << "\n"; - for (LLViewerWearable::visual_param_index_map_t::const_iterator iter = w.mVisualParamIndexMap.begin(); - iter != w.mVisualParamIndexMap.end(); ++iter) + for (const auto& iter : w.mVisualParamIndexMap) { - S32 param_id = iter->first; - LLVisualParam *wearable_param = iter->second; + S32 param_id = iter.first; + LLVisualParam *wearable_param = iter.second; F32 param_weight = wearable_param->getWeight(); s << " " << param_id << " " << param_weight << "\n"; } s << " Textures:" << "\n"; - for (LLViewerWearable::te_map_t::const_iterator iter = w.mTEMap.begin(); - iter != w.mTEMap.end(); ++iter) + for (const auto& iter : w.mTEMap) { - S32 te = iter->first; - const LLUUID& image_id = iter->second->getID(); + S32 te = iter.first; + const LLUUID& image_id = iter.second->getID(); s << " " << te << " " << image_id << "\n"; } return s; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 5854038ab..608a4529a 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -385,7 +385,7 @@ public: static const LLCachedControl debug_show_memory("DebugShowMemory"); if (debug_show_memory) { - addText(xpos, ypos, llformat("Memory: %d (KB)", LLMemory::getWorkingSetSize() / 1024)); + addText(xpos, ypos, llformat("Memory: %d (KB)", LLMemory::getCurrentRSS() / 1024)); ypos += y_inc; } #endif diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index d42592976..5356a3338 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -1298,7 +1298,8 @@ BOOL LLVOAvatar::isFullyBaked() for (U32 i = 0; i < mBakedTextureDatas.size(); i++) { if (!isTextureDefined(mBakedTextureDatas[i].mTextureIndex) - && ( (i != BAKED_SKIRT) || isWearingWearableType(LLWearableType::WT_SKIRT) ) ) + && ( (i != BAKED_SKIRT) || isWearingWearableType(LLWearableType::WT_SKIRT) ) + && (i != BAKED_LEFT_ARM) && (i != BAKED_LEFT_LEG) && (i != BAKED_AUX1) && (i != BAKED_AUX2) && (i != BAKED_AUX3) ) { return FALSE; } @@ -1808,11 +1809,11 @@ void LLVOAvatar::calculateSpatialExtents(LLVector4a& newMin, LLVector4a& newMax) for (polymesh_map_t::iterator i = mPolyMeshes.begin(); i != mPolyMeshes.end(); ++i) { LLPolyMesh* mesh = i->second; - for (S32 joint_num = 0; joint_num < mesh->mJointRenderData.size(); joint_num++) + for (const auto& joint : mesh->mJointRenderData) { static const LLVector4Logical mask = _mm_load_ps((F32*)&S_V4LOGICAL_MASK_TABLE[3 * 4]); LLVector4a trans; - trans.setSelectWithMask(mask, _mm_setzero_ps(), mesh->mJointRenderData[joint_num]->mWorldMatrix->getRow<3>()); + trans.setSelectWithMask(mask, _mm_setzero_ps(), joint->mWorldMatrix->getRow<3>()); update_min_max(newMin, newMax, trans); } } @@ -7772,6 +7773,21 @@ const LLViewerJointAttachment *LLVOAvatar::attachObject(LLViewerObject *viewer_o LLSelectMgr::getInstance()->updatePointAt(); } + viewer_object->refreshBakeTexture(); + + + LLViewerObject::const_child_list_t& child_list = viewer_object->getChildren(); + for (const auto& iter : child_list) + { + LLViewerObject* objectp = iter; + if (objectp) + { + objectp->refreshBakeTexture(); + } + } + + updateMeshVisibility(); + return attachment; } @@ -7988,6 +8004,20 @@ BOOL LLVOAvatar::detachObject(LLViewerObject *viewer_object) { updateAttachmentOverrides(); } + viewer_object->refreshBakeTexture(); + + LLViewerObject::const_child_list_t& child_list = viewer_object->getChildren(); + for (const auto& iter1 : child_list) + { + LLViewerObject* objectp = iter1; + if (objectp) + { + objectp->refreshBakeTexture(); + } + } + + updateMeshVisibility(); + LL_DEBUGS() << "Detaching object " << viewer_object->mID << " from " << attachment->getName() << LL_ENDL; return TRUE; } @@ -8630,11 +8660,11 @@ bool LLVOAvatar::isTooComplex() const { static const LLCachedControl always_render_friends("AlwaysRenderFriends", 0); bool too_complex; - if (isSelf() || (always_render_friends && LLAvatarTracker::instance().isBuddy(getID()))) + if (isSelf() || (always_render_friends && always_render_friends != 3 && LLAvatarTracker::instance().isBuddy(getID()))) { too_complex = false; } - else if (always_render_friends == 2) + else if (always_render_friends >= 2) { too_complex = true; } @@ -8684,6 +8714,109 @@ void LLVOAvatar::debugColorizeSubMeshes(U32 i, const LLColor4& color) } } + +//----------------------------------------------------------------------------- +// updateMeshVisibility() +// Hide the mesh joints if attachments are using baked textures +//----------------------------------------------------------------------------- +void LLVOAvatar::updateMeshVisibility() +{ + bool bake_flag[BAKED_NUM_INDICES]; + memset(bake_flag, 0, BAKED_NUM_INDICES*sizeof(bool)); + + for (auto& attachment_point : mAttachmentPoints) + { + LLViewerJointAttachment* attachment = attachment_point.second; + if (attachment) + { + for (auto objectp : attachment->mAttachedObjects) + { + if (objectp) + { + for (int face_index = 0; face_index < objectp->getNumTEs(); face_index++) + { + LLTextureEntry* tex_entry = objectp->getTE(face_index); + bake_flag[BAKED_HEAD] |= (tex_entry->getID() == IMG_USE_BAKED_HEAD); + bake_flag[BAKED_EYES] |= (tex_entry->getID() == IMG_USE_BAKED_EYES); + bake_flag[BAKED_HAIR] |= (tex_entry->getID() == IMG_USE_BAKED_HAIR); + bake_flag[BAKED_LOWER] |= (tex_entry->getID() == IMG_USE_BAKED_LOWER); + bake_flag[BAKED_UPPER] |= (tex_entry->getID() == IMG_USE_BAKED_UPPER); + bake_flag[BAKED_SKIRT] |= (tex_entry->getID() == IMG_USE_BAKED_SKIRT); + bake_flag[BAKED_LEFT_ARM] |= (tex_entry->getID() == IMG_USE_BAKED_LEFTARM); + bake_flag[BAKED_LEFT_LEG] |= (tex_entry->getID() == IMG_USE_BAKED_LEFTLEG); + bake_flag[BAKED_AUX1] |= (tex_entry->getID() == IMG_USE_BAKED_AUX1); + bake_flag[BAKED_AUX2] |= (tex_entry->getID() == IMG_USE_BAKED_AUX2); + bake_flag[BAKED_AUX3] |= (tex_entry->getID() == IMG_USE_BAKED_AUX3); + } + } + + LLViewerObject::const_child_list_t& child_list = objectp->getChildren(); + for (const auto& iter1 : child_list) + { + LLViewerObject* objectchild = iter1; + if (objectchild) + { + for (int face_index = 0; face_index < objectchild->getNumTEs(); face_index++) + { + LLTextureEntry* tex_entry = objectchild->getTE(face_index); + bake_flag[BAKED_HEAD] |= (tex_entry->getID() == IMG_USE_BAKED_HEAD); + bake_flag[BAKED_EYES] |= (tex_entry->getID() == IMG_USE_BAKED_EYES); + bake_flag[BAKED_HAIR] |= (tex_entry->getID() == IMG_USE_BAKED_HAIR); + bake_flag[BAKED_LOWER] |= (tex_entry->getID() == IMG_USE_BAKED_LOWER); + bake_flag[BAKED_UPPER] |= (tex_entry->getID() == IMG_USE_BAKED_UPPER); + bake_flag[BAKED_SKIRT] |= (tex_entry->getID() == IMG_USE_BAKED_SKIRT); + bake_flag[BAKED_LEFT_ARM] |= (tex_entry->getID() == IMG_USE_BAKED_LEFTARM); + bake_flag[BAKED_LEFT_LEG] |= (tex_entry->getID() == IMG_USE_BAKED_LEFTLEG); + bake_flag[BAKED_AUX1] |= (tex_entry->getID() == IMG_USE_BAKED_AUX1); + bake_flag[BAKED_AUX2] |= (tex_entry->getID() == IMG_USE_BAKED_AUX2); + bake_flag[BAKED_AUX3] |= (tex_entry->getID() == IMG_USE_BAKED_AUX3); + } + } + } + } + } + } + + //LL_INFOS() << "head " << bake_flag[BAKED_HEAD] << "eyes " << bake_flag[BAKED_EYES] << "hair " << bake_flag[BAKED_HAIR] << "lower " << bake_flag[BAKED_LOWER] << "upper " << bake_flag[BAKED_UPPER] << "skirt " << bake_flag[BAKED_SKIRT] << LL_ENDL; + + for (size_t i = 0; i < mMeshLOD.size(); i++) + { + LLAvatarJoint* joint = mMeshLOD[i]; + if (i == MESH_ID_HAIR) + { + joint->setVisible(!bake_flag[BAKED_HAIR], TRUE); + } + else if (i == MESH_ID_HEAD) + { + joint->setVisible(!bake_flag[BAKED_HEAD], TRUE); + } + else if (i == MESH_ID_SKIRT) + { + joint->setVisible(!bake_flag[BAKED_SKIRT], TRUE); + } + else if (i == MESH_ID_UPPER_BODY) + { + joint->setVisible(!bake_flag[BAKED_UPPER], TRUE); + } + else if (i == MESH_ID_LOWER_BODY) + { + joint->setVisible(!bake_flag[BAKED_LOWER], TRUE); + } + else if (i == MESH_ID_EYEBALL_LEFT) + { + joint->setVisible(!bake_flag[BAKED_EYES], TRUE); + } + else if (i == MESH_ID_EYEBALL_RIGHT) + { + joint->setVisible(!bake_flag[BAKED_EYES], TRUE); + } + else if (i == MESH_ID_EYELASH) + { + joint->setVisible(!bake_flag[BAKED_HEAD], TRUE); + } + } +} + //----------------------------------------------------------------------------- // updateMeshTextures() // Uses the current TE values to set the meshes' and layersets' textures. @@ -8925,6 +9058,30 @@ void LLVOAvatar::updateMeshTextures() removeMissingBakedTextures(); // May call back into this function if anything is removed call_remove_missing = true; } + + //refresh bakes on any attached objects + for (auto& attachment_point : mAttachmentPoints) + { + LLViewerJointAttachment* attachment = attachment_point.second; + + for (auto attached_object : attachment->mAttachedObjects) + { + if (attached_object && !attached_object->isDead()) + { + attached_object->refreshBakeTexture(); + + LLViewerObject::const_child_list_t& child_list = attached_object->getChildren(); + for (const auto& iter : child_list) + { + LLViewerObject* objectp = iter; + if (objectp && !objectp->isDead()) + { + objectp->refreshBakeTexture(); + } + } + } + } + } } // virtual @@ -9315,7 +9472,7 @@ void LLVOAvatar::dumpAppearanceMsgParams( const std::string& dump_prefix, apr_file_printf(file, "\n\n"); LLVisualParam* param = getFirstVisualParam(); - for (S32 i = 0; i < params_for_dump.size(); i++) + for (const auto& param_for_dump : params_for_dump) { while( param && ((param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE) && (param->getGroup() != VISUAL_PARAM_GROUP_TRANSMIT_NOT_TWEAKABLE)) ) // should not be any of group VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT @@ -9323,7 +9480,7 @@ void LLVOAvatar::dumpAppearanceMsgParams( const std::string& dump_prefix, param = getNextVisualParam(); } LLViewerVisualParam* viewer_param = (LLViewerVisualParam*)param; - F32 value = params_for_dump[i]; + F32 value = param_for_dump; dump_visual_param(file, viewer_param, value); param = getNextVisualParam(); } @@ -9588,7 +9745,7 @@ void LLVOAvatar::applyParsedAppearanceMessage(LLAppearanceMessageContents& conte { if (!isTextureDefined(mBakedTextureDatas[baked_index].mTextureIndex) && mBakedTextureDatas[baked_index].mLastTextureID != IMG_DEFAULT - && baked_index != BAKED_SKIRT) + && baked_index != BAKED_SKIRT && baked_index != BAKED_LEFT_ARM && baked_index != BAKED_LEFT_LEG && baked_index != BAKED_AUX1 && baked_index != BAKED_AUX2 && baked_index != BAKED_AUX3) { LL_DEBUGS("Avatar") << avString() << " baked_index " << (S32) baked_index << " using mLastTextureID " << mBakedTextureDatas[baked_index].mLastTextureID << LL_ENDL; setTEImage(mBakedTextureDatas[baked_index].mTextureIndex, @@ -9727,6 +9884,36 @@ void LLVOAvatar::applyParsedAppearanceMessage(LLAppearanceMessageContents& conte updateMeshTextures(); //if (enable_verbose_dumps) dumpArchetypeXML(dump_prefix + "process_end"); + updateMeshVisibility(); +} + +LLViewerTexture* LLVOAvatar::getBakedTexture(const U8 te) +{ + if (te < 0 || te >= BAKED_NUM_INDICES) + { + return NULL; + } + + BOOL is_layer_baked = isTextureDefined(mBakedTextureDatas[te].mTextureIndex); + + LLViewerTexLayerSet* layerset = NULL; + layerset = getTexLayerSet(te); + + + if (!isEditingAppearance() && is_layer_baked) + { + LLViewerFetchedTexture* baked_img = LLViewerTextureManager::staticCastToFetchedTexture(getImage(mBakedTextureDatas[te].mTextureIndex, 0), TRUE); + return baked_img; + } + else if (layerset && isEditingAppearance()) + { + layerset->createComposite(); + layerset->setUpdatesEnabled(TRUE); + + return layerset->getViewerComposite(); + } + + return NULL; } // static @@ -10001,9 +10188,8 @@ void LLVOAvatar::getSortedJointNames(S32 joint_type, std::vector& r } else if (joint_type==1) { - for (S32 i = 0; i < mCollisionVolumes.size(); i++) + for (const auto& pJoint : mCollisionVolumes) { - LLAvatarJointCollisionVolume* pJoint = mCollisionVolumes[i]; result.push_back(pJoint->getName()); } } diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 928292791..2a847c4a5 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -733,6 +733,9 @@ public: void updateSexDependentLayerSets(bool upload_bake = false); virtual void dirtyMesh(); // Dirty the avatar mesh void updateMeshData(); + void updateMeshVisibility(); + LLViewerTexture* getBakedTexture(const U8 te); + protected: void releaseMeshData(); virtual void restoreMeshData(); diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index dc8826349..7d9dcdb20 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -1066,34 +1066,6 @@ BOOL LLVOAvatarSelf::isWearingAttachment(const LLUUID& inv_item_id) const return FALSE; } -//----------------------------------------------------------------------------- -BOOL LLVOAvatarSelf::attachmentWasRequested(const LLUUID& inv_item_id) const -{ - constexpr F32 REQUEST_EXPIRATION_SECONDS = 5.0; // any request older than this is ignored/removed. - auto it = mAttachmentRequests.find(inv_item_id); - if (it != mAttachmentRequests.end()) - { - if (it->second.getElapsedTimeF32() > REQUEST_EXPIRATION_SECONDS) - mAttachmentRequests.erase(it); - else - return TRUE; - } - return FALSE; -} - -//----------------------------------------------------------------------------- -void LLVOAvatarSelf::addAttachmentRequest(const LLUUID& inv_item_id) -{ - LLTimer current_time; - mAttachmentRequests[inv_item_id] = current_time; -} - -//----------------------------------------------------------------------------- -void LLVOAvatarSelf::removeAttachmentRequest(const LLUUID& inv_item_id) -{ - mAttachmentRequests.erase(inv_item_id); -} - //----------------------------------------------------------------------------- // getWornAttachment() //----------------------------------------------------------------------------- @@ -1182,8 +1154,6 @@ const LLViewerJointAttachment *LLVOAvatarSelf::attachObject(LLViewerObject *view { const LLUUID& attachment_id = viewer_object->getAttachmentItemID(); LLAppearanceMgr::instance().registerAttachment(attachment_id); - // Clear any pending requests once the attachment arrives. - removeAttachmentRequest(attachment_id); updateLODRiggedAttachments(); // [RLVa:KB] - Checked: 2010-08-22 (RLVa-1.2.1a) | Modified: RLVa-1.2.1a diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h index 98e3a2802..7d9f9d12a 100644 --- a/indra/newview/llvoavatarself.h +++ b/indra/newview/llvoavatarself.h @@ -28,6 +28,7 @@ #ifndef LL_LLVOAVATARSELF_H #define LL_LLVOAVATARSELF_H +#include "llavatarappearancedefines.h" #include "llviewertexture.h" #include "llvoavatar.h" #include @@ -119,7 +120,7 @@ private: *******************************************************************************/ private: - LLUUID mInitialBakeIDs[6]; + LLUUID mInitialBakeIDs[LLAvatarAppearanceDefines::BAKED_NUM_INDICES]; //bool mInitialBakesLoaded; @@ -298,9 +299,6 @@ protected: public: void updateAttachmentVisibility(U32 camera_mode); BOOL isWearingAttachment(const LLUUID& inv_item_id) const; - BOOL attachmentWasRequested(const LLUUID& inv_item_id) const; - void addAttachmentRequest(const LLUUID& inv_item_id); - void removeAttachmentRequest(const LLUUID& inv_item_id); LLViewerObject* getWornAttachment(const LLUUID& inv_item_id); bool getAttachedPointName(const LLUUID& inv_item_id, std::string& name) const; // [RLVa:KB] - Checked: 2009-12-18 (RLVa-1.1.0i) | Added: RLVa-1.1.0i @@ -316,8 +314,6 @@ public: boost::signals2::connection setAttachmentCallback(const attachment_signal_t::slot_type& cb); // [/RLVa:KB] private: - // Track attachments that have been requested but have not arrived yet. - mutable std::map mAttachmentRequests; // [RLVa:KB] - Checked: 2012-07-28 (RLVa-1.4.7) attachment_signal_t* mAttachmentSignal; // [/RLVa:KB] diff --git a/indra/newview/rlvcommon.cpp b/indra/newview/rlvcommon.cpp index c3dc38ebe..7410c5897 100644 --- a/indra/newview/rlvcommon.cpp +++ b/indra/newview/rlvcommon.cpp @@ -462,8 +462,8 @@ bool RlvUtil::isNearbyAgent(const LLUUID& idAgent) uuid_vec_t idAgents; LLWorld::getInstance()->getAvatars(&idAgents, NULL); - for (int idxAgent = 0, cntAgent = idAgents.size(); idxAgent < cntAgent; idxAgent++) - if (idAgents[idxAgent] == idAgent) + for (const auto& id : idAgents) + if (id == idAgent) return true; } return false; diff --git a/indra/newview/skins/default/textures/Inv_Universal.png b/indra/newview/skins/default/textures/Inv_Universal.png new file mode 100644 index 000000000..470febb9b Binary files /dev/null and b/indra/newview/skins/default/textures/Inv_Universal.png differ diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index f224a0d1f..6e7f64881 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -355,6 +355,7 @@ with the same filename but different name + diff --git a/indra/newview/skins/default/xui/de/floater_about_land.xml b/indra/newview/skins/default/xui/de/floater_about_land.xml index b3ffed9f9..412f26181 100644 --- a/indra/newview/skins/default/xui/de/floater_about_land.xml +++ b/indra/newview/skins/default/xui/de/floater_about_land.xml @@ -11,12 +11,9 @@ Einstuf.: Adult Eigentümer: - Leyla Linden -