Merge vwr-dev-mat
commit
025c890958
|
|
@ -747,7 +747,7 @@
|
|||
</map>
|
||||
</map>
|
||||
</map>
|
||||
<key>google_breakpad</key>
|
||||
<key>google_breakpad</key>
|
||||
<map>
|
||||
<key>license</key>
|
||||
<string>bsd</string>
|
||||
|
|
@ -761,10 +761,10 @@
|
|||
<map>
|
||||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>aff5566e04003de0383941981198e04e</string>
|
||||
<key>url</key>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-breakpad/rev/273073/arch/Darwin/installer/google_breakpad-0.0.0-rev1099-darwin-20130329.tar.bz2</string>
|
||||
<key>hash</key>
|
||||
<string>aff5566e04003de0383941981198e04e</string>
|
||||
<key>url</key>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-breakpad/rev/273073/arch/Darwin/installer/google_breakpad-0.0.0-rev1099-darwin-20130329.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin</string>
|
||||
|
|
@ -773,10 +773,10 @@
|
|||
<map>
|
||||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<key>hash</key>
|
||||
<string>52257e5eb166a0b69c9c0c38f6e1920e</string>
|
||||
<key>url</key>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-breakpad/rev/273079/arch/Linux/installer/google_breakpad-0.0.0-rev1099-linux-20130329.tar.bz2</string>
|
||||
<key>url</key>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-breakpad/rev/273079/arch/Linux/installer/google_breakpad-0.0.0-rev1099-linux-20130329.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>linux</string>
|
||||
|
|
@ -788,7 +788,7 @@
|
|||
<key>hash</key>
|
||||
<string>d812a6dfcabe6528198a3191068dac09</string>
|
||||
<key>url</key>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-breakpad/rev/273073/arch/CYGWIN/installer/google_breakpad-0.0.0-rev1099-windows-20130329.tar.bz2</string>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-breakpad/rev/273073/arch/CYGWIN/installer/google_breakpad-0.0.0-rev1099-windows-20130329.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
|
|
@ -836,7 +836,7 @@
|
|||
<key>hash</key>
|
||||
<string>d2542614df9dd99cbb5ff67e76d4a6c1</string>
|
||||
<key>url</key>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-mock/rev/274899/arch/CYGWIN/installer/gmock-1.6.0-windows-20130426.tar.bz2</string>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-mock/rev/274899/arch/CYGWIN/installer/gmock-1.6.0-windows-20130426.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
|
|
@ -2531,7 +2531,7 @@
|
|||
<string>"Visual Studio 10"</string>
|
||||
<string>-DUNATTENDED:BOOL=ON</string>
|
||||
<string>-DUSE_KDU=FALSE</string>
|
||||
</array>
|
||||
</array>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>DebugOS</string>
|
||||
|
|
@ -2619,7 +2619,7 @@
|
|||
<string>-DUNATTENDED:BOOL=ON</string>
|
||||
<string>-DINSTALL_PROPRIETARY=FALSE</string>
|
||||
<string>-DUSE_KDU=FALSE</string>
|
||||
</array>
|
||||
</array>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>RelWithDebInfoOS</string>
|
||||
|
|
@ -2706,7 +2706,7 @@
|
|||
<string>-DUNATTENDED:BOOL=ON</string>
|
||||
<string>-DINSTALL_PROPRIETARY=FALSE</string>
|
||||
<string>-DUSE_KDU=FALSE</string>
|
||||
</array>
|
||||
</array>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>ReleaseOS</string>
|
||||
|
|
|
|||
2
build.sh
2
build.sh
|
|
@ -403,7 +403,7 @@ then
|
|||
do
|
||||
upload_item symbolfile "$build_dir/$symbolfile" binary/octet-stream
|
||||
done
|
||||
|
||||
|
||||
# Upload the llphysicsextensions_tpv package, if one was produced
|
||||
# *TODO: Make this an upload-extension
|
||||
if [ -r "$build_dir/llphysicsextensions_package" ]
|
||||
|
|
|
|||
|
|
@ -64,50 +64,50 @@ if (WINDOWS AND EXISTS ${LIBS_CLOSED_DIR}copy_win_scripts)
|
|||
endif (WINDOWS AND EXISTS ${LIBS_CLOSED_DIR}copy_win_scripts)
|
||||
|
||||
add_custom_target(viewer)
|
||||
add_subdirectory(${LIBS_OPEN_PREFIX}llcrashlogger)
|
||||
add_subdirectory(${LIBS_OPEN_PREFIX}llplugin)
|
||||
add_subdirectory(${LIBS_OPEN_PREFIX}llui)
|
||||
add_subdirectory(${LIBS_OPEN_PREFIX}viewer_components)
|
||||
add_subdirectory(${LIBS_OPEN_PREFIX}llcrashlogger)
|
||||
add_subdirectory(${LIBS_OPEN_PREFIX}llplugin)
|
||||
add_subdirectory(${LIBS_OPEN_PREFIX}llui)
|
||||
add_subdirectory(${LIBS_OPEN_PREFIX}viewer_components)
|
||||
|
||||
# Legacy C++ tests. Build always, run if LL_TESTS is true.
|
||||
add_subdirectory(${VIEWER_PREFIX}test)
|
||||
# Legacy C++ tests. Build always, run if LL_TESTS is true.
|
||||
add_subdirectory(${VIEWER_PREFIX}test)
|
||||
|
||||
# viewer media plugins
|
||||
add_subdirectory(${LIBS_OPEN_PREFIX}media_plugins)
|
||||
# viewer media plugins
|
||||
add_subdirectory(${LIBS_OPEN_PREFIX}media_plugins)
|
||||
|
||||
# llplugin testbed code (is this the right way to include it?)
|
||||
if (LL_TESTS AND NOT LINUX)
|
||||
add_subdirectory(${VIEWER_PREFIX}test_apps/llplugintest)
|
||||
endif (LL_TESTS AND NOT LINUX)
|
||||
# llplugin testbed code (is this the right way to include it?)
|
||||
if (LL_TESTS AND NOT LINUX)
|
||||
add_subdirectory(${VIEWER_PREFIX}test_apps/llplugintest)
|
||||
endif (LL_TESTS AND NOT LINUX)
|
||||
|
||||
if (LINUX)
|
||||
add_subdirectory(${VIEWER_PREFIX}linux_crash_logger)
|
||||
if (LINUX)
|
||||
add_subdirectory(${VIEWER_PREFIX}linux_crash_logger)
|
||||
add_subdirectory(${VIEWER_PREFIX}linux_updater)
|
||||
if (INSTALL_PROPRIETARY)
|
||||
include(LLAppearanceUtility)
|
||||
add_subdirectory(${LLAPPEARANCEUTILITY_SRC_DIR} ${LLAPPEARANCEUTILITY_BIN_DIR})
|
||||
endif (INSTALL_PROPRIETARY)
|
||||
add_dependencies(viewer linux-crash-logger-strip-target linux-updater)
|
||||
elseif (DARWIN)
|
||||
add_subdirectory(${VIEWER_PREFIX}mac_crash_logger)
|
||||
add_subdirectory(${VIEWER_PREFIX}mac_updater)
|
||||
add_dependencies(viewer mac-updater mac-crash-logger)
|
||||
elseif (WINDOWS)
|
||||
add_subdirectory(${VIEWER_PREFIX}win_crash_logger)
|
||||
# cmake EXISTS requires an absolute path, see indra/cmake/Variables.cmake
|
||||
if (EXISTS ${VIEWER_DIR}win_setup)
|
||||
add_subdirectory(${VIEWER_DIR}win_setup)
|
||||
endif (EXISTS ${VIEWER_DIR}win_setup)
|
||||
add_subdirectory(${VIEWER_PREFIX}win_updater)
|
||||
# add_dependencies(viewer windows-updater windows-setup windows-crash-logger)
|
||||
add_dependencies(viewer windows-updater windows-crash-logger)
|
||||
elseif (SOLARIS)
|
||||
add_subdirectory(solaris_crash_logger)
|
||||
add_dependencies(viewer solaris-crash-logger)
|
||||
endif (LINUX)
|
||||
elseif (DARWIN)
|
||||
add_subdirectory(${VIEWER_PREFIX}mac_crash_logger)
|
||||
add_subdirectory(${VIEWER_PREFIX}mac_updater)
|
||||
add_dependencies(viewer mac-updater mac-crash-logger)
|
||||
elseif (WINDOWS)
|
||||
add_subdirectory(${VIEWER_PREFIX}win_crash_logger)
|
||||
# cmake EXISTS requires an absolute path, see indra/cmake/Variables.cmake
|
||||
if (EXISTS ${VIEWER_DIR}win_setup)
|
||||
add_subdirectory(${VIEWER_DIR}win_setup)
|
||||
endif (EXISTS ${VIEWER_DIR}win_setup)
|
||||
add_subdirectory(${VIEWER_PREFIX}win_updater)
|
||||
# add_dependencies(viewer windows-updater windows-setup windows-crash-logger)
|
||||
add_dependencies(viewer windows-updater windows-crash-logger)
|
||||
elseif (SOLARIS)
|
||||
add_subdirectory(solaris_crash_logger)
|
||||
add_dependencies(viewer solaris-crash-logger)
|
||||
endif (LINUX)
|
||||
|
||||
add_subdirectory(${VIEWER_PREFIX}newview)
|
||||
add_dependencies(viewer secondlife-bin)
|
||||
add_subdirectory(${VIEWER_PREFIX}newview)
|
||||
add_dependencies(viewer secondlife-bin)
|
||||
|
||||
if (LL_TESTS)
|
||||
# Define after the custom targets are created so
|
||||
|
|
|
|||
|
|
@ -153,21 +153,21 @@ if (LINUX)
|
|||
-pthread
|
||||
)
|
||||
|
||||
add_definitions(-DAPPID=secondlife)
|
||||
add_definitions(-fvisibility=hidden)
|
||||
# don't catch SIGCHLD in our base application class for the viewer - some of our 3rd party libs may need their *own* SIGCHLD handler to work. Sigh! The viewer doesn't need to catch SIGCHLD anyway.
|
||||
add_definitions(-DLL_IGNORE_SIGCHLD)
|
||||
if (WORD_SIZE EQUAL 32)
|
||||
add_definitions(-march=pentium4)
|
||||
endif (WORD_SIZE EQUAL 32)
|
||||
add_definitions(-mfpmath=sse)
|
||||
#add_definitions(-ftree-vectorize) # THIS CRASHES GCC 3.1-3.2
|
||||
if (NOT STANDALONE)
|
||||
# this stops us requiring a really recent glibc at runtime
|
||||
add_definitions(-fno-stack-protector)
|
||||
# linking can be very memory-hungry, especially the final viewer link
|
||||
set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory")
|
||||
endif (NOT STANDALONE)
|
||||
add_definitions(-DAPPID=secondlife)
|
||||
add_definitions(-fvisibility=hidden)
|
||||
# don't catch SIGCHLD in our base application class for the viewer - some of our 3rd party libs may need their *own* SIGCHLD handler to work. Sigh! The viewer doesn't need to catch SIGCHLD anyway.
|
||||
add_definitions(-DLL_IGNORE_SIGCHLD)
|
||||
if (WORD_SIZE EQUAL 32)
|
||||
add_definitions(-march=pentium4)
|
||||
endif (WORD_SIZE EQUAL 32)
|
||||
add_definitions(-mfpmath=sse)
|
||||
#add_definitions(-ftree-vectorize) # THIS CRASHES GCC 3.1-3.2
|
||||
if (NOT STANDALONE)
|
||||
# this stops us requiring a really recent glibc at runtime
|
||||
add_definitions(-fno-stack-protector)
|
||||
# linking can be very memory-hungry, especially the final viewer link
|
||||
set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory")
|
||||
endif (NOT STANDALONE)
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-fno-inline ${CMAKE_CXX_FLAGS_DEBUG}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O2 ${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ else (STANDALONE)
|
|||
set(APR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/apr-1)
|
||||
|
||||
if (LINUX)
|
||||
list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} uuid)
|
||||
list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} uuid)
|
||||
list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} rt)
|
||||
endif (LINUX)
|
||||
endif (STANDALONE)
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
# -*- cmake -*-
|
||||
|
||||
set(OS_DRAG_DROP ON CACHE BOOL "Build the viewer with OS level drag and drop turned on or off")
|
||||
set(OS_DRAG_DROP ON CACHE BOOL "Build the viewer with OS level drag and drop turned on or off")
|
||||
|
||||
if (OS_DRAG_DROP)
|
||||
if (OS_DRAG_DROP)
|
||||
|
||||
if (WINDOWS)
|
||||
add_definitions(-DLL_OS_DRAGDROP_ENABLED=1)
|
||||
endif (WINDOWS)
|
||||
if (WINDOWS)
|
||||
add_definitions(-DLL_OS_DRAGDROP_ENABLED=1)
|
||||
endif (WINDOWS)
|
||||
|
||||
if (DARWIN)
|
||||
add_definitions(-DLL_OS_DRAGDROP_ENABLED=1)
|
||||
endif (DARWIN)
|
||||
if (DARWIN)
|
||||
add_definitions(-DLL_OS_DRAGDROP_ENABLED=1)
|
||||
endif (DARWIN)
|
||||
|
||||
if (LINUX)
|
||||
add_definitions(-DLL_OS_DRAGDROP_ENABLED=0)
|
||||
endif (LINUX)
|
||||
if (LINUX)
|
||||
add_definitions(-DLL_OS_DRAGDROP_ENABLED=0)
|
||||
endif (LINUX)
|
||||
|
||||
endif (OS_DRAG_DROP)
|
||||
endif (OS_DRAG_DROP)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,14 +12,14 @@ set(HAVOK_DEBUG_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-fulldebug)
|
|||
set(HAVOK_RELEASE_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/release/havok)
|
||||
|
||||
if (LL_DEBUG_HAVOK)
|
||||
if (WIN32)
|
||||
# Always link relwithdebinfo to havok-hybrid on windows.
|
||||
set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-hybrid)
|
||||
else (WIN32)
|
||||
set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-fulldebug)
|
||||
endif (WIN32)
|
||||
if (WIN32)
|
||||
# Always link relwithdebinfo to havok-hybrid on windows.
|
||||
set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-hybrid)
|
||||
else (WIN32)
|
||||
set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-fulldebug)
|
||||
endif (WIN32)
|
||||
else (LL_DEBUG_HAVOK)
|
||||
set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/release/havok)
|
||||
set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/release/havok)
|
||||
endif (LL_DEBUG_HAVOK)
|
||||
|
||||
set(HAVOK_LIBS
|
||||
|
|
@ -51,14 +51,14 @@ unset(HK_RELWITHDEBINFO_LIBRARIES)
|
|||
|
||||
# *TODO: Figure out why we need to extract like this...
|
||||
foreach(HAVOK_LIB ${HAVOK_LIBS})
|
||||
find_library(HAVOK_DEBUG_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_DEBUG_LIBRARY_PATH})
|
||||
find_library(HAVOK_RELEASE_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELEASE_LIBRARY_PATH})
|
||||
find_library(HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH})
|
||||
|
||||
if(LINUX)
|
||||
set(debug_dir "${HAVOK_DEBUG_LIBRARY_PATH}/${HAVOK_LIB}")
|
||||
set(release_dir "${HAVOK_RELEASE_LIBRARY_PATH}/${HAVOK_LIB}")
|
||||
set(relwithdebinfo_dir "${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}/${HAVOK_LIB}")
|
||||
find_library(HAVOK_DEBUG_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_DEBUG_LIBRARY_PATH})
|
||||
find_library(HAVOK_RELEASE_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELEASE_LIBRARY_PATH})
|
||||
find_library(HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH})
|
||||
|
||||
if(LINUX)
|
||||
set(debug_dir "${HAVOK_DEBUG_LIBRARY_PATH}/${HAVOK_LIB}")
|
||||
set(release_dir "${HAVOK_RELEASE_LIBRARY_PATH}/${HAVOK_LIB}")
|
||||
set(relwithdebinfo_dir "${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}/${HAVOK_LIB}")
|
||||
|
||||
# Try to avoid extracting havok library each time we run cmake.
|
||||
if("${havok_${HAVOK_LIB}_extracted}" STREQUAL "" AND EXISTS "${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted")
|
||||
|
|
@ -77,35 +77,35 @@ foreach(HAVOK_LIB ${HAVOK_LIBS})
|
|||
if(DEBUG_PREBUILT)
|
||||
MESSAGE(STATUS "${cmd} ${debug_dir}")
|
||||
endif(DEBUG_PREBUILT)
|
||||
exec_program( ${cmd} ${HAVOK_DEBUG_LIBRARY_PATH} ARGS ${debug_dir} OUTPUT_VARIABLE rv)
|
||||
exec_program( ${cmd} ${HAVOK_DEBUG_LIBRARY_PATH} ARGS ${debug_dir} OUTPUT_VARIABLE rv)
|
||||
|
||||
if(DEBUG_PREBUILT)
|
||||
MESSAGE(STATUS "${cmd} ${release_dir}")
|
||||
endif(DEBUG_PREBUILT)
|
||||
exec_program( ${cmd} ${HAVOK_RELEASE_LIBRARY_PATH} ARGS ${release_dir} OUTPUT_VARIABLE rv)
|
||||
exec_program( ${cmd} ${HAVOK_RELEASE_LIBRARY_PATH} ARGS ${release_dir} OUTPUT_VARIABLE rv)
|
||||
|
||||
if(DEBUG_PREBUILT)
|
||||
MESSAGE(STATUS "${cmd} ${relwithdebinfo_dir}")
|
||||
endif(DEBUG_PREBUILT)
|
||||
exec_program( ${cmd} ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH} ARGS ${relwithdebinfo_dir} OUTPUT_VARIABLE rv)
|
||||
exec_program( ${cmd} ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH} ARGS ${relwithdebinfo_dir} OUTPUT_VARIABLE rv)
|
||||
|
||||
set(cmd "ar")
|
||||
set(arg " -xv")
|
||||
set(arg "${arg} ../lib${HAVOK_LIB}.a")
|
||||
set(cmd "ar")
|
||||
set(arg " -xv")
|
||||
set(arg "${arg} ../lib${HAVOK_LIB}.a")
|
||||
if(DEBUG_PREBUILT)
|
||||
MESSAGE(STATUS "cd ${debug_dir} && ${cmd} ${arg}")
|
||||
endif(DEBUG_PREBUILT)
|
||||
exec_program( ${cmd} ${debug_dir} ARGS ${arg} OUTPUT_VARIABLE rv)
|
||||
exec_program( ${cmd} ${debug_dir} ARGS ${arg} OUTPUT_VARIABLE rv)
|
||||
|
||||
if(DEBUG_PREBUILT)
|
||||
MESSAGE(STATUS "cd ${release_dir} && ${cmd} ${arg}")
|
||||
endif(DEBUG_PREBUILT)
|
||||
exec_program( ${cmd} ${release_dir} ARGS ${arg} OUTPUT_VARIABLE rv)
|
||||
exec_program( ${cmd} ${release_dir} ARGS ${arg} OUTPUT_VARIABLE rv)
|
||||
|
||||
if(DEBUG_PREBUILT)
|
||||
MESSAGE(STATUS "cd ${relwithdebinfo_dir} && ${cmd} ${arg}")
|
||||
endif(DEBUG_PREBUILT)
|
||||
exec_program( ${cmd} ${relwithdebinfo_dir} ARGS ${arg} OUTPUT_VARIABLE rv)
|
||||
exec_program( ${cmd} ${relwithdebinfo_dir} ARGS ${arg} OUTPUT_VARIABLE rv)
|
||||
|
||||
# Just assume success for now.
|
||||
set(havok_${HAVOK_LIB}_extracted 0)
|
||||
|
|
@ -113,9 +113,9 @@ foreach(HAVOK_LIB ${HAVOK_LIBS})
|
|||
|
||||
endif(${CMAKE_BINARY_DIR}/temp/havok-source_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted OR NOT ${havok_${HAVOK_LIB}_extracted} EQUAL 0)
|
||||
|
||||
file(GLOB extracted_debug "${debug_dir}/*.o")
|
||||
file(GLOB extracted_release "${release_dir}/*.o")
|
||||
file(GLOB extracted_relwithdebinfo "${relwithdebinfo_dir}/*.o")
|
||||
file(GLOB extracted_debug "${debug_dir}/*.o")
|
||||
file(GLOB extracted_release "${release_dir}/*.o")
|
||||
file(GLOB extracted_relwithdebinfo "${relwithdebinfo_dir}/*.o")
|
||||
|
||||
if(DEBUG_PREBUILT)
|
||||
MESSAGE(STATUS "extracted_debug ${debug_dir}/*.o")
|
||||
|
|
@ -123,15 +123,15 @@ foreach(HAVOK_LIB ${HAVOK_LIBS})
|
|||
MESSAGE(STATUS "extracted_relwithdebinfo ${relwithdebinfo_dir}/*.o")
|
||||
endif(DEBUG_PREBUILT)
|
||||
|
||||
list(APPEND HK_DEBUG_LIBRARIES ${extracted_debug})
|
||||
list(APPEND HK_RELEASE_LIBRARIES ${extracted_release})
|
||||
list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${extracted_relwithdebinfo})
|
||||
else(LINUX)
|
||||
# Win32
|
||||
list(APPEND HK_DEBUG_LIBRARIES ${HAVOK_DEBUG_LIB_${HAVOK_LIB}})
|
||||
list(APPEND HK_RELEASE_LIBRARIES ${HAVOK_RELEASE_LIB_${HAVOK_LIB}})
|
||||
list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB}})
|
||||
endif (LINUX)
|
||||
list(APPEND HK_DEBUG_LIBRARIES ${extracted_debug})
|
||||
list(APPEND HK_RELEASE_LIBRARIES ${extracted_release})
|
||||
list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${extracted_relwithdebinfo})
|
||||
else(LINUX)
|
||||
# Win32
|
||||
list(APPEND HK_DEBUG_LIBRARIES ${HAVOK_DEBUG_LIB_${HAVOK_LIB}})
|
||||
list(APPEND HK_RELEASE_LIBRARIES ${HAVOK_RELEASE_LIB_${HAVOK_LIB}})
|
||||
list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB}})
|
||||
endif (LINUX)
|
||||
endforeach(HAVOK_LIB)
|
||||
|
||||
endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ set(LLRENDER_INCLUDE_DIRS
|
|||
|
||||
if (BUILD_HEADLESS)
|
||||
set(LLRENDER_HEADLESS_LIBRARIES
|
||||
llrenderheadless
|
||||
)
|
||||
llrenderheadless
|
||||
)
|
||||
endif (BUILD_HEADLESS)
|
||||
set(LLRENDER_LIBRARIES
|
||||
llrender
|
||||
|
|
|
|||
|
|
@ -33,10 +33,10 @@ set(LLWINDOW_INCLUDE_DIRS
|
|||
|
||||
if (BUILD_HEADLESS)
|
||||
set(LLWINDOW_HEADLESS_LIBRARIES
|
||||
llwindowheadless
|
||||
)
|
||||
llwindowheadless
|
||||
)
|
||||
endif (BUILD_HEADLESS)
|
||||
|
||||
set(LLWINDOW_LIBRARIES
|
||||
llwindow
|
||||
)
|
||||
set(LLWINDOW_LIBRARIES
|
||||
llwindow
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
# -*- cmake -*-
|
||||
|
||||
set(INCLUDE_VLD_CMAKE OFF CACHE BOOL "Build the Windows viewer with Visual Leak Detector turned on or off")
|
||||
set(INCLUDE_VLD_CMAKE OFF CACHE BOOL "Build the Windows viewer with Visual Leak Detector turned on or off")
|
||||
|
||||
if (INCLUDE_VLD_CMAKE)
|
||||
if (INCLUDE_VLD_CMAKE)
|
||||
|
||||
if (WINDOWS)
|
||||
add_definitions(-DINCLUDE_VLD=1)
|
||||
endif (WINDOWS)
|
||||
if (WINDOWS)
|
||||
add_definitions(-DINCLUDE_VLD=1)
|
||||
endif (WINDOWS)
|
||||
|
||||
endif (INCLUDE_VLD_CMAKE)
|
||||
endif (INCLUDE_VLD_CMAKE)
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ public:
|
|||
const U32 getInputSamplingRate() { return mInputSamplingRate; }
|
||||
const F32 getNextSample();
|
||||
const F32 getClampedSample(bool clamp, F32 sample);
|
||||
|
||||
|
||||
// newbuffer = the buffer passed from the previous DSP unit.
|
||||
// numsamples = length in samples-per-channel at this mix time.
|
||||
// NOTE: generates L/R interleaved stereo
|
||||
|
|
@ -133,11 +133,11 @@ public:
|
|||
MIXBUFFERFORMAT_T sample_left = (MIXBUFFERFORMAT_T)getClampedSample(clip, mLastSample - (F32)sample_right);
|
||||
|
||||
*cursamplep = sample_left;
|
||||
++cursamplep;
|
||||
++cursamplep;
|
||||
*cursamplep = sample_right;
|
||||
++cursamplep;
|
||||
++cursamplep;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return newbuffer;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ public:
|
|||
// For normal names, returns "James Linden (james.linden)"
|
||||
// When display names are disabled returns just "James Linden"
|
||||
std::string getCompleteName() const;
|
||||
|
||||
|
||||
// Returns "James Linden" or "bobsmith123 Resident" for backwards
|
||||
// compatibility with systems like voice and muting
|
||||
// *TODO: Eliminate this in favor of username only
|
||||
|
|
|
|||
|
|
@ -561,7 +561,7 @@ std::vector<LLFastTimer::NamedTimer*>& LLFastTimer::NamedTimer::getChildren()
|
|||
return mChildren;
|
||||
}
|
||||
|
||||
// static
|
||||
//static
|
||||
LLFastTimer::NamedTimer& LLFastTimer::NamedTimer::getRootNamedTimer()
|
||||
{
|
||||
return *NamedTimerFactory::instance().getRootTimer();
|
||||
|
|
|
|||
|
|
@ -438,7 +438,7 @@ llstdio_filebuf::int_type llstdio_filebuf::overflow(llstdio_filebuf::int_type __
|
|||
_M_set_buffer(0);
|
||||
__ret = traits_type::not_eof(__c);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (_M_buf_size > 1)
|
||||
{
|
||||
// Overflow in 'uncommitted' mode: set _M_writing, set
|
||||
|
|
@ -496,11 +496,11 @@ bool llstdio_filebuf::_convert_to_external(char_type* __ibuf,
|
|||
if (__r == codecvt_base::ok || __r == codecvt_base::partial)
|
||||
__blen = __bend - __buf;
|
||||
else if (__r == codecvt_base::noconv)
|
||||
{
|
||||
{
|
||||
// Same as the always_noconv case above.
|
||||
__buf = reinterpret_cast<char*>(__ibuf);
|
||||
__blen = __ilen;
|
||||
}
|
||||
}
|
||||
else
|
||||
__throw_ios_failure(__N("llstdio_filebuf::_convert_to_external "
|
||||
"conversion error"));
|
||||
|
|
@ -643,9 +643,9 @@ llstdio_filebuf::int_type llstdio_filebuf::underflow()
|
|||
_M_ext_end, _M_ext_next,
|
||||
this->eback(),
|
||||
this->eback() + __buflen, __iend);
|
||||
}
|
||||
}
|
||||
if (__r == codecvt_base::noconv)
|
||||
{
|
||||
{
|
||||
size_t __avail = _M_ext_end - _M_ext_buf;
|
||||
__ilen = std::min(__avail, __buflen);
|
||||
traits_type::copy(this->eback(),
|
||||
|
|
@ -702,7 +702,7 @@ std::streamsize llstdio_filebuf::xsgetn(char_type* __s, std::streamsize __n)
|
|||
if (_M_pback_init)
|
||||
{
|
||||
if (__n > 0 && this->gptr() == this->eback())
|
||||
{
|
||||
{
|
||||
*__s++ = *this->gptr();
|
||||
this->gbump(1);
|
||||
__ret = 1;
|
||||
|
|
@ -732,7 +732,7 @@ std::streamsize llstdio_filebuf::xsgetn(char_type* __s, std::streamsize __n)
|
|||
this->gbump(__avail);
|
||||
__ret += __avail;
|
||||
__n -= __avail;
|
||||
}
|
||||
}
|
||||
|
||||
// Need to loop in case of short reads (relatively common
|
||||
// with pipes).
|
||||
|
|
@ -757,7 +757,7 @@ std::streamsize llstdio_filebuf::xsgetn(char_type* __s, std::streamsize __n)
|
|||
}
|
||||
|
||||
if (__n == 0)
|
||||
{
|
||||
{
|
||||
_M_set_buffer(0);
|
||||
_M_reading = true;
|
||||
}
|
||||
|
|
@ -768,8 +768,8 @@ std::streamsize llstdio_filebuf::xsgetn(char_type* __s, std::streamsize __n)
|
|||
// an intervening seek.
|
||||
_M_set_buffer(-1);
|
||||
_M_reading = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
__ret += __streambuf_type::xsgetn(__s, __n);
|
||||
|
||||
|
|
@ -806,15 +806,15 @@ std::streamsize llstdio_filebuf::xsputn(char_type* __s, std::streamsize __n)
|
|||
__ret = fwrite(__buf, 1, __buffill, _M_file.file());
|
||||
}
|
||||
if (__ret == __buffill)
|
||||
{
|
||||
{
|
||||
__ret += fwrite(reinterpret_cast<const char*>(__s), 1,
|
||||
__n, _M_file.file());
|
||||
}
|
||||
}
|
||||
if (__ret == __buffill + __n)
|
||||
{
|
||||
{
|
||||
_M_set_buffer(0);
|
||||
_M_writing = true;
|
||||
}
|
||||
}
|
||||
if (__ret > __buffill)
|
||||
__ret -= __buffill;
|
||||
else
|
||||
|
|
@ -829,9 +829,9 @@ std::streamsize llstdio_filebuf::xsputn(char_type* __s, std::streamsize __n)
|
|||
}
|
||||
|
||||
int llstdio_filebuf::sync()
|
||||
{
|
||||
{
|
||||
return (_M_file.sync() == 0 ? 0 : -1);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/************** input file stream ********************************/
|
||||
|
|
@ -848,7 +848,7 @@ llifstream::llifstream() : _M_filebuf(),
|
|||
#endif
|
||||
|
||||
// explicit
|
||||
llifstream::llifstream(const std::string& _Filename,
|
||||
llifstream::llifstream(const std::string& _Filename,
|
||||
ios_base::openmode _Mode) : _M_filebuf(),
|
||||
#if LL_WINDOWS
|
||||
std::istream(&_M_filebuf)
|
||||
|
|
@ -877,7 +877,7 @@ llifstream::llifstream(const char* _Filename,
|
|||
if (_M_filebuf.open(wideName.c_str(), _Mode | ios_base::in) == 0)
|
||||
{
|
||||
_Myios::setstate(ios_base::failbit);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
std::istream()
|
||||
|
|
@ -951,8 +951,8 @@ void llifstream::close()
|
|||
#else
|
||||
this->setstate(ios_base::failbit);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/************** output file stream ********************************/
|
||||
|
|
@ -963,7 +963,7 @@ llofstream::llofstream() : _M_filebuf(),
|
|||
std::ostream(&_M_filebuf) {}
|
||||
#else
|
||||
std::ostream()
|
||||
{
|
||||
{
|
||||
this->init(&_M_filebuf);
|
||||
}
|
||||
#endif
|
||||
|
|
@ -999,7 +999,7 @@ llofstream::llofstream(const char* _Filename,
|
|||
{
|
||||
_Myios::setstate(ios_base::failbit);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
std::ostream()
|
||||
{
|
||||
|
|
@ -1018,7 +1018,7 @@ llofstream::llofstream(_Filet *_File,
|
|||
std::ostream()
|
||||
{
|
||||
this->init(&_M_filebuf);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if !LL_WINDOWS
|
||||
|
|
@ -1042,7 +1042,7 @@ void llofstream::open(const char* _Filename, ios_base::openmode _Mode)
|
|||
#if LL_WINDOWS
|
||||
llutf16string wideName = utf8str_to_utf16str( _Filename );
|
||||
if (_M_filebuf.open( wideName.c_str(), _Mode | ios_base::out) == 0)
|
||||
{
|
||||
{
|
||||
_Myios::setstate(ios_base::failbit);
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
* Attempts to mostly mirror the POSIX style IO functions.
|
||||
*/
|
||||
|
||||
typedef FILE LLFILE;
|
||||
typedef FILE LLFILE;
|
||||
|
||||
#include <fstream>
|
||||
#include <sys/stat.h>
|
||||
|
|
@ -237,7 +237,7 @@ public:
|
|||
ios_base::openmode _Mode = ios_base::in,
|
||||
//size_t _Size = static_cast<size_t>(BUFSIZ));
|
||||
size_t _Size = static_cast<size_t>(1));
|
||||
|
||||
|
||||
/**
|
||||
* @brief Create a stream using an open file descriptor.
|
||||
* @param fd An open file descriptor.
|
||||
|
|
|
|||
|
|
@ -406,7 +406,7 @@ S32 LLSDXMLParser::Impl::parse(std::istream& input, LLSD& data)
|
|||
}
|
||||
if (mEmitErrors)
|
||||
{
|
||||
llinfos << "LLSDXMLParser::Impl::parse: XML_STATUS_ERROR parsing:" << (char*) buffer << llendl;
|
||||
llinfos << "LLSDXMLParser::Impl::parse: XML_STATUS_ERROR parsing:" << (char*) buffer << llendl;
|
||||
}
|
||||
data = LLSD();
|
||||
return LLSDParser::PARSE_FAILURE;
|
||||
|
|
@ -487,7 +487,7 @@ S32 LLSDXMLParser::Impl::parseLines(std::istream& input, LLSD& data)
|
|||
{
|
||||
if (mEmitErrors)
|
||||
{
|
||||
llinfos << "LLSDXMLParser::Impl::parseLines: XML_STATUS_ERROR" << llendl;
|
||||
llinfos << "LLSDXMLParser::Impl::parseLines: XML_STATUS_ERROR" << llendl;
|
||||
}
|
||||
return LLSDParser::PARSE_FAILURE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ if (LL_TESTS)
|
|||
${LLVFS_LIBRARIES}
|
||||
${LLMATH_LIBRARIES}
|
||||
${LLCOMMON_LIBRARIES}
|
||||
${GOOGLEMOCK_LIBRARIES}
|
||||
${GOOGLEMOCK_LIBRARIES}
|
||||
)
|
||||
|
||||
LL_ADD_INTEGRATION_TEST(
|
||||
|
|
|
|||
|
|
@ -224,7 +224,7 @@ static void request(
|
|||
{
|
||||
if (responder)
|
||||
{
|
||||
responder->completed(U32_MAX, "No pump", LLSD());
|
||||
responder->completed(U32_MAX, "No pump", LLSD());
|
||||
}
|
||||
delete body_injector;
|
||||
return;
|
||||
|
|
@ -238,9 +238,9 @@ static void request(
|
|||
{
|
||||
responder->completed(498, "Internal Error - curl failure", LLSD());
|
||||
}
|
||||
delete req;
|
||||
delete req ;
|
||||
delete body_injector;
|
||||
return;
|
||||
return ;
|
||||
}
|
||||
|
||||
req->setSSLVerifyCallback(LLHTTPClient::getCertVerifyCallback(), (void *)req);
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@ void LLHTTPClientAdapter::get(const std::string& url, LLCurl::ResponderPtr respo
|
|||
LLSD empty_pragma_header = headers;
|
||||
if (!empty_pragma_header.has("Pragma"))
|
||||
{
|
||||
// as above
|
||||
empty_pragma_header["Pragma"] = " ";
|
||||
// as above
|
||||
empty_pragma_header["Pragma"] = " ";
|
||||
}
|
||||
LLHTTPClient::get(url, responder, empty_pragma_header);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ namespace tut
|
|||
ensureStatusOK();
|
||||
ensure_equals("echoed result matches", getResult(), sd);
|
||||
}
|
||||
|
||||
|
||||
template<> template<>
|
||||
void HTTPClientTestObject::test<4>()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -315,6 +315,15 @@ S32 LLPrimitive::setTERotation(const U8 index, const F32 r)
|
|||
return mTextureList.setRotation(index, r);
|
||||
}
|
||||
|
||||
S32 LLPrimitive::setTEMaterialID(const U8 index, const LLMaterialID& pMaterialID)
|
||||
{
|
||||
return mTextureList.setMaterialID(index, pMaterialID);
|
||||
}
|
||||
|
||||
S32 LLPrimitive::setTEMaterialParams(const U8 index, const LLMaterialPtr pMaterialParams)
|
||||
{
|
||||
return mTextureList.setMaterialParams(index, pMaterialParams);
|
||||
}
|
||||
|
||||
//===============================================================
|
||||
S32 LLPrimitive::setTEBumpShinyFullbright(const U8 index, const U8 bump)
|
||||
|
|
@ -365,16 +374,6 @@ S32 LLPrimitive::setTEGlow(const U8 index, const F32 glow)
|
|||
return mTextureList.setGlow(index, glow);
|
||||
}
|
||||
|
||||
S32 LLPrimitive::setTEMaterialID(const U8 index, const LLMaterialID& pMaterialID)
|
||||
{
|
||||
return mTextureList.setMaterialID(index, pMaterialID);
|
||||
}
|
||||
|
||||
S32 LLPrimitive::setTEMaterialParams(const U8 index, const LLMaterialPtr pMaterialParams)
|
||||
{
|
||||
return mTextureList.setMaterialParams(index, pMaterialParams);
|
||||
}
|
||||
|
||||
LLPCode LLPrimitive::legacyToPCode(const U8 legacy)
|
||||
{
|
||||
// TODO: Should this default to something valid?
|
||||
|
|
@ -1258,7 +1257,7 @@ BOOL LLPrimitive::packTEMessage(LLDataPacker &dp) const
|
|||
S32 LLPrimitive::parseTEMessage(LLMessageSystem* mesgsys, char const* block_name, const S32 block_num, LLTEContents& tec)
|
||||
{
|
||||
S32 retval = 0;
|
||||
|
||||
|
||||
// temp buffer for material ID processing
|
||||
// data will end up in tec.material_id[]
|
||||
U8 material_data[LLTEContents::MAX_TES*16];
|
||||
|
|
@ -1324,11 +1323,11 @@ S32 LLPrimitive::parseTEMessage(LLMessageSystem* mesgsys, char const* block_name
|
|||
{
|
||||
tec.material_ids[i].set(&material_data[i * 16]);
|
||||
}
|
||||
|
||||
|
||||
retval = 1;
|
||||
return retval;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
S32 LLPrimitive::applyParsedTEMessage(LLTEContents& tec)
|
||||
{
|
||||
S32 retval = 0;
|
||||
|
|
@ -1345,9 +1344,9 @@ S32 LLPrimitive::applyParsedTEMessage(LLTEContents& tec)
|
|||
retval |= setTEBumpShinyFullbright(i, tec.bump[i]);
|
||||
retval |= setTEMediaTexGen(i, tec.media_flags[i]);
|
||||
retval |= setTEGlow(i, (F32)tec.glow[i] / (F32)0xFF);
|
||||
|
||||
|
||||
retval |= setTEMaterialID(i, tec.material_ids[i]);
|
||||
|
||||
|
||||
coloru = LLColor4U(tec.colors + 4*i);
|
||||
|
||||
// Note: This is an optimization to send common colors (1.f, 1.f, 1.f, 1.f)
|
||||
|
|
|
|||
|
|
@ -650,14 +650,14 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade
|
|||
text[count++] = strdup("#define shadow2DRect(a,b) vec2(texture(a,b))\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (defines)
|
||||
{
|
||||
for (boost::unordered_map<std::string,std::string>::iterator iter = defines->begin(); iter != defines->end(); ++iter)
|
||||
{
|
||||
std::string define = "#define " + iter->first + " " + iter->second + "\n";
|
||||
text[count++] = (GLcharARB *) strdup(define.c_str());
|
||||
}
|
||||
{
|
||||
std::string define = "#define " + iter->first + " " + iter->second + "\n";
|
||||
text[count++] = (GLcharARB *) strdup(define.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
if (texture_index_channels > 0 && type == GL_FRAGMENT_SHADER_ARB)
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
|
||||
LLScreenClipRect::LLScreenClipRect(const LLRect& rect, BOOL enabled)
|
||||
: mScissorState(GL_SCISSOR_TEST),
|
||||
: mScissorState(GL_SCISSOR_TEST),
|
||||
mEnabled(enabled)
|
||||
{
|
||||
if (mEnabled)
|
||||
|
|
@ -100,10 +100,10 @@ void LLScreenClipRect::updateScissorRegion()
|
|||
// LLLocalClipRect
|
||||
//---------------------------------------------------------------------------
|
||||
LLLocalClipRect::LLLocalClipRect(const LLRect& rect, BOOL enabled /* = TRUE */)
|
||||
: LLScreenClipRect(LLRect(rect.mLeft + LLFontGL::sCurOrigin.mX,
|
||||
rect.mTop + LLFontGL::sCurOrigin.mY,
|
||||
rect.mRight + LLFontGL::sCurOrigin.mX,
|
||||
rect.mBottom + LLFontGL::sCurOrigin.mY), enabled)
|
||||
: LLScreenClipRect(LLRect(rect.mLeft + LLFontGL::sCurOrigin.mX,
|
||||
rect.mTop + LLFontGL::sCurOrigin.mY,
|
||||
rect.mRight + LLFontGL::sCurOrigin.mX,
|
||||
rect.mBottom + LLFontGL::sCurOrigin.mY), enabled)
|
||||
{}
|
||||
|
||||
LLLocalClipRect::~LLLocalClipRect()
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ U8* LLVFile::readFile(LLVFS *vfs, const LLUUID &uuid, LLAssetType::EType type, S
|
|||
data = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
data = (U8*) ll_aligned_malloc_16(file_size);
|
||||
file.read(data, file_size); /* Flawfinder: ignore */
|
||||
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ if (BUILD_HEADLESS)
|
|||
set(llwindowheadless_HEADER_FILES
|
||||
llwindowmesaheadless.h
|
||||
llmousehandler.h
|
||||
)
|
||||
)
|
||||
add_library (llwindowheadless
|
||||
${llwindow_SOURCE_FILES}
|
||||
${llwindowheadless_SOURCE_FILES}
|
||||
|
|
@ -180,12 +180,12 @@ if (llwindow_HEADER_FILES)
|
|||
list(APPEND llwindow_SOURCE_FILES ${llwindow_HEADER_FILES})
|
||||
endif (llwindow_HEADER_FILES)
|
||||
|
||||
list(APPEND viewer_SOURCE_FILES ${viewer_HEADER_FILES})
|
||||
list(APPEND viewer_SOURCE_FILES ${viewer_HEADER_FILES})
|
||||
|
||||
add_library (llwindow
|
||||
${llwindow_SOURCE_FILES}
|
||||
${viewer_SOURCE_FILES}
|
||||
)
|
||||
add_library (llwindow
|
||||
${llwindow_SOURCE_FILES}
|
||||
${viewer_SOURCE_FILES}
|
||||
)
|
||||
|
||||
if (SDL_FOUND)
|
||||
set_property(TARGET llwindow
|
||||
|
|
@ -193,5 +193,5 @@ if (SDL_FOUND)
|
|||
)
|
||||
endif (SDL_FOUND)
|
||||
|
||||
target_link_libraries (llwindow ${llwindow_LINK_LIBRARIES})
|
||||
target_link_libraries (llwindow ${llwindow_LINK_LIBRARIES})
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ list(APPEND llxml_SOURCE_FILES ${llxml_HEADER_FILES})
|
|||
add_library (llxml ${llxml_SOURCE_FILES})
|
||||
# Libraries on which this library depends, needed for Linux builds
|
||||
# Sort by high-level to low-level
|
||||
target_link_libraries(llxml
|
||||
target_link_libraries( llxml
|
||||
${LLVFS_LIBRARIES}
|
||||
${LLMATH_LIBRARIES}
|
||||
${LLCOMMON_LIBRARIES}
|
||||
|
|
|
|||
|
|
@ -49,40 +49,41 @@ float wave(vec2 v, float t, float f, vec2 d, float s)
|
|||
void main()
|
||||
{
|
||||
//transform vertex
|
||||
vec4 pos = vec4(position.xyz, 1.0);
|
||||
mat4 modelViewProj = modelview_projection_matrix;
|
||||
|
||||
vec4 oPosition;
|
||||
|
||||
//get view vector
|
||||
vec3 oEyeVec;
|
||||
oEyeVec.xyz = pos.xyz-eyeVec;
|
||||
oEyeVec.xyz = position.xyz-eyeVec;
|
||||
|
||||
float d = length(oEyeVec.xy);
|
||||
float ld = min(d, 2560.0);
|
||||
|
||||
pos.xy = eyeVec.xy + oEyeVec.xy/d*ld;
|
||||
vec3 lpos = position;
|
||||
lpos.xy = eyeVec.xy + oEyeVec.xy/d*ld;
|
||||
view.xyz = oEyeVec;
|
||||
|
||||
d = clamp(ld/1536.0-0.5, 0.0, 1.0);
|
||||
d *= d;
|
||||
|
||||
oPosition = vec4(position, 1.0);
|
||||
oPosition = vec4(lpos, 1.0);
|
||||
oPosition.z = mix(oPosition.z, max(eyeVec.z*0.75, 0.0), d);
|
||||
oPosition = modelViewProj * oPosition;
|
||||
|
||||
refCoord.xyz = oPosition.xyz + vec3(0,0,0.2);
|
||||
|
||||
//get wave position parameter (create sweeping horizontal waves)
|
||||
vec3 v = pos.xyz;
|
||||
vec3 v = lpos;
|
||||
v.x += (cos(v.x*0.08/*+time*0.01*/)+sin(v.y*0.02))*6.0;
|
||||
|
||||
//push position for further horizon effect.
|
||||
vec4 pos;
|
||||
pos.xyz = oEyeVec.xyz*(waterHeight/oEyeVec.z);
|
||||
pos.w = 1.0;
|
||||
pos = modelview_matrix*pos;
|
||||
|
||||
calcAtmospherics(view.xyz);
|
||||
calcAtmospherics(pos.xyz);
|
||||
|
||||
|
||||
//pass wave parameters to pixel shader
|
||||
vec2 bigWave = (v.xy) * vec2(0.04,0.04) + d1 * time * 0.055;
|
||||
|
|
|
|||
|
|
@ -1084,8 +1084,7 @@
|
|||
scale="0 0 .5" />
|
||||
</param_skeleton>
|
||||
</param>
|
||||
|
||||
<param
|
||||
<param
|
||||
id="11001"
|
||||
group="0"
|
||||
name="Hover"
|
||||
|
|
@ -12308,7 +12307,7 @@ render_pass="bump">
|
|||
<param_driver />
|
||||
</param>
|
||||
|
||||
<param
|
||||
<param
|
||||
id="11000"
|
||||
group="0"
|
||||
name="AppearanceMessage_Version"
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ done
|
|||
# therefore "${gridargs[@]}" entirely vanishes from the command line below,
|
||||
# just as we want.
|
||||
if ! $skip_gridargs ; then
|
||||
eval gridargs=("$(<etc/gridargs.dat)")
|
||||
eval gridargs=("$(<etc/gridargs.dat)")
|
||||
fi
|
||||
|
||||
# Run the program.
|
||||
|
|
|
|||
|
|
@ -4317,7 +4317,7 @@ void LLAgent::sendAgentSetAppearance()
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
LL_DEBUGS("Avatar") << gAgentAvatarp->avString() << "TAT: Sent AgentSetAppearance: " << gAgentAvatarp->getBakedStatusForPrintout() << LL_ENDL;
|
||||
//dumpAvatarTEs( "sendAgentSetAppearance()" );
|
||||
|
||||
|
|
@ -4425,7 +4425,7 @@ void LLAgent::sendAgentSetAppearance()
|
|||
}
|
||||
}
|
||||
|
||||
//llinfos << "Avatar XML num VisualParams transmitted = " << transmitted_params << llendl;
|
||||
// llinfos << "Avatar XML num VisualParams transmitted = " << transmitted_params << llendl;
|
||||
sendReliableMessage();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2267,22 +2267,22 @@ void LLAgentCamera::changeCameraToCustomizeAvatar()
|
|||
gFocusMgr.setKeyboardFocus( NULL );
|
||||
gFocusMgr.setMouseCapture( NULL );
|
||||
|
||||
// Remove any pitch or rotation from the avatar
|
||||
LLVector3 at = gAgent.getAtAxis();
|
||||
at.mV[VZ] = 0.f;
|
||||
at.normalize();
|
||||
gAgent.resetAxes(at);
|
||||
// Remove any pitch or rotation from the avatar
|
||||
LLVector3 at = gAgent.getAtAxis();
|
||||
at.mV[VZ] = 0.f;
|
||||
at.normalize();
|
||||
gAgent.resetAxes(at);
|
||||
|
||||
gAgent.sendAnimationRequest(ANIM_AGENT_CUSTOMIZE, ANIM_REQUEST_START);
|
||||
gAgent.setCustomAnim(TRUE);
|
||||
gAgentAvatarp->startMotion(ANIM_AGENT_CUSTOMIZE);
|
||||
LLMotion* turn_motion = gAgentAvatarp->findMotion(ANIM_AGENT_CUSTOMIZE);
|
||||
gAgent.sendAnimationRequest(ANIM_AGENT_CUSTOMIZE, ANIM_REQUEST_START);
|
||||
gAgent.setCustomAnim(TRUE);
|
||||
gAgentAvatarp->startMotion(ANIM_AGENT_CUSTOMIZE);
|
||||
LLMotion* turn_motion = gAgentAvatarp->findMotion(ANIM_AGENT_CUSTOMIZE);
|
||||
|
||||
if (turn_motion)
|
||||
{
|
||||
// delay camera animation long enough to play through turn animation
|
||||
setAnimationDuration(turn_motion->getDuration() + CUSTOMIZE_AVATAR_CAMERA_ANIM_SLOP);
|
||||
}
|
||||
if (turn_motion)
|
||||
{
|
||||
// delay camera animation long enough to play through turn animation
|
||||
setAnimationDuration(turn_motion->getDuration() + CUSTOMIZE_AVATAR_CAMERA_ANIM_SLOP);
|
||||
}
|
||||
}
|
||||
|
||||
LLVector3 agent_at = gAgent.getAtAxis();
|
||||
|
|
|
|||
|
|
@ -62,15 +62,15 @@ using namespace LLAvatarAppearanceDefines;
|
|||
|
||||
// Callback to wear and start editing an item that has just been created.
|
||||
void wear_and_edit_cb(const LLUUID& inv_item)
|
||||
{
|
||||
if (inv_item.isNull()) return;
|
||||
|
||||
// Request editing the item after it gets worn.
|
||||
gAgentWearables.requestEditingWearable(inv_item);
|
||||
|
||||
// Wear it.
|
||||
LLAppearanceMgr::instance().wearItemOnAvatar(inv_item);
|
||||
}
|
||||
{
|
||||
if (inv_item.isNull()) return;
|
||||
|
||||
// Request editing the item after it gets worn.
|
||||
gAgentWearables.requestEditingWearable(inv_item);
|
||||
|
||||
// Wear it.
|
||||
LLAppearanceMgr::instance().wearItemOnAvatar(inv_item);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
@ -180,10 +180,10 @@ void LLAgentWearables::initClass()
|
|||
}
|
||||
|
||||
void LLAgentWearables::setAvatarObject(LLVOAvatarSelf *avatar)
|
||||
{
|
||||
{
|
||||
llassert(avatar);
|
||||
avatar->outputRezTiming("Sending wearables request");
|
||||
sendAgentWearablesRequest();
|
||||
avatar->outputRezTiming("Sending wearables request");
|
||||
sendAgentWearablesRequest();
|
||||
setAvatarAppearance(avatar);
|
||||
}
|
||||
|
||||
|
|
@ -706,7 +706,7 @@ LLViewerWearable* LLAgentWearables::getViewerWearable(const LLWearableType::ETyp
|
|||
}
|
||||
|
||||
const LLViewerWearable* LLAgentWearables::getViewerWearable(const LLWearableType::EType type, U32 index /*= 0*/) const
|
||||
{
|
||||
{
|
||||
return dynamic_cast<const LLViewerWearable*> (getWearable(type, index));
|
||||
}
|
||||
|
||||
|
|
@ -714,39 +714,39 @@ const LLViewerWearable* LLAgentWearables::getViewerWearable(const LLWearableType
|
|||
BOOL LLAgentWearables::selfHasWearable(LLWearableType::EType type)
|
||||
{
|
||||
return (gAgentWearables.getWearableCount(type) > 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// virtual
|
||||
void LLAgentWearables::wearableUpdated(LLWearable *wearable, BOOL removed)
|
||||
{
|
||||
{
|
||||
if (isAgentAvatarValid())
|
||||
{
|
||||
const BOOL upload_result = removed;
|
||||
gAgentAvatarp->wearableUpdated(wearable->getType(), upload_result);
|
||||
}
|
||||
}
|
||||
|
||||
LLWearableData::wearableUpdated(wearable, removed);
|
||||
|
||||
if (!removed)
|
||||
{
|
||||
{
|
||||
LLViewerWearable* viewer_wearable = dynamic_cast<LLViewerWearable*>(wearable);
|
||||
viewer_wearable->refreshName();
|
||||
|
||||
// Hack pt 2. If the wearable we just loaded has definition version 24,
|
||||
// then force a re-save of this wearable after slamming the version number to 22.
|
||||
// This number was incorrectly incremented for internal builds before release, and
|
||||
// this fix will ensure that the affected wearables are re-saved with the right version number.
|
||||
// the versions themselves are compatible. This code can be removed before release.
|
||||
if( wearable->getDefinitionVersion() == 24 )
|
||||
{
|
||||
wearable->setDefinitionVersion(22);
|
||||
U32 index = getWearableIndex(wearable);
|
||||
// Hack pt 2. If the wearable we just loaded has definition version 24,
|
||||
// then force a re-save of this wearable after slamming the version number to 22.
|
||||
// This number was incorrectly incremented for internal builds before release, and
|
||||
// this fix will ensure that the affected wearables are re-saved with the right version number.
|
||||
// the versions themselves are compatible. This code can be removed before release.
|
||||
if( wearable->getDefinitionVersion() == 24 )
|
||||
{
|
||||
wearable->setDefinitionVersion(22);
|
||||
U32 index = getWearableIndex(wearable);
|
||||
llinfos << "forcing wearable type " << wearable->getType() << " to version 22 from 24" << llendl;
|
||||
saveWearable(wearable->getType(),index,TRUE);
|
||||
}
|
||||
saveWearable(wearable->getType(),index,TRUE);
|
||||
}
|
||||
|
||||
checkWearableAgainstInventory(viewer_wearable);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL LLAgentWearables::itemUpdatePending(const LLUUID& item_id) const
|
||||
|
|
@ -965,8 +965,8 @@ public:
|
|||
llinfos << "All items created" << llendl;
|
||||
LLPointer<LLInventoryCallback> link_waiter = new LLUpdateAppearanceOnDestroy;
|
||||
LLAppearanceMgr::instance().linkAll(LLAppearanceMgr::instance().getCOF(),
|
||||
mItemsToLink,
|
||||
link_waiter);
|
||||
mItemsToLink,
|
||||
link_waiter);
|
||||
}
|
||||
void addPendingWearable(LLViewerWearable *wearable)
|
||||
{
|
||||
|
|
@ -1496,12 +1496,12 @@ void LLAgentWearables::queryWearableCache()
|
|||
// virtual
|
||||
void LLAgentWearables::invalidateBakedTextureHash(LLMD5& hash) const
|
||||
{
|
||||
// Add some garbage into the hash so that it becomes invalid.
|
||||
if (isAgentAvatarValid())
|
||||
{
|
||||
hash.update((const unsigned char*)gAgentAvatarp->getID().mData, UUID_BYTES);
|
||||
}
|
||||
}
|
||||
// Add some garbage into the hash so that it becomes invalid.
|
||||
if (isAgentAvatarValid())
|
||||
{
|
||||
hash.update((const unsigned char*)gAgentAvatarp->getID().mData, UUID_BYTES);
|
||||
}
|
||||
}
|
||||
|
||||
// User has picked "remove from avatar" from a menu.
|
||||
// static
|
||||
|
|
|
|||
|
|
@ -36,45 +36,45 @@
|
|||
|
||||
|
||||
void order_my_outfits_cb()
|
||||
{
|
||||
if (!LLApp::isRunning())
|
||||
{
|
||||
llwarns << "called during shutdown, skipping" << llendl;
|
||||
return;
|
||||
}
|
||||
if (!LLApp::isRunning())
|
||||
{
|
||||
llwarns << "called during shutdown, skipping" << llendl;
|
||||
return;
|
||||
}
|
||||
|
||||
const LLUUID& my_outfits_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS);
|
||||
if (my_outfits_id.isNull()) return;
|
||||
const LLUUID& my_outfits_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS);
|
||||
if (my_outfits_id.isNull()) return;
|
||||
|
||||
LLInventoryModel::cat_array_t* cats;
|
||||
LLInventoryModel::item_array_t* items;
|
||||
gInventory.getDirectDescendentsOf(my_outfits_id, cats, items);
|
||||
if (!cats) return;
|
||||
LLInventoryModel::cat_array_t* cats;
|
||||
LLInventoryModel::item_array_t* items;
|
||||
gInventory.getDirectDescendentsOf(my_outfits_id, cats, items);
|
||||
if (!cats) return;
|
||||
|
||||
//My Outfits should at least contain saved initial outfit and one another outfit
|
||||
if (cats->size() < 2)
|
||||
{
|
||||
llwarning("My Outfits category was not populated properly", 0);
|
||||
return;
|
||||
//My Outfits should at least contain saved initial outfit and one another outfit
|
||||
if (cats->size() < 2)
|
||||
{
|
||||
llwarning("My Outfits category was not populated properly", 0);
|
||||
return;
|
||||
}
|
||||
|
||||
llinfos << "Starting updating My Outfits with wearables ordering information" << llendl;
|
||||
|
||||
for (LLInventoryModel::cat_array_t::iterator outfit_iter = cats->begin();
|
||||
outfit_iter != cats->end(); ++outfit_iter)
|
||||
{
|
||||
const LLUUID& cat_id = (*outfit_iter)->getUUID();
|
||||
if (cat_id.isNull()) continue;
|
||||
|
||||
// saved initial outfit already contains wearables ordering information
|
||||
if (cat_id == LLAppearanceMgr::getInstance()->getBaseOutfitUUID()) continue;
|
||||
|
||||
LLAppearanceMgr::getInstance()->updateClothingOrderingInfo(cat_id);
|
||||
}
|
||||
|
||||
llinfos << "Finished updating My Outfits with wearables ordering information" << llendl;
|
||||
}
|
||||
|
||||
llinfos << "Starting updating My Outfits with wearables ordering information" << llendl;
|
||||
|
||||
for (LLInventoryModel::cat_array_t::iterator outfit_iter = cats->begin();
|
||||
outfit_iter != cats->end(); ++outfit_iter)
|
||||
{
|
||||
const LLUUID& cat_id = (*outfit_iter)->getUUID();
|
||||
if (cat_id.isNull()) continue;
|
||||
|
||||
// saved initial outfit already contains wearables ordering information
|
||||
if (cat_id == LLAppearanceMgr::getInstance()->getBaseOutfitUUID()) continue;
|
||||
|
||||
LLAppearanceMgr::getInstance()->updateClothingOrderingInfo(cat_id);
|
||||
}
|
||||
|
||||
llinfos << "Finished updating My Outfits with wearables ordering information" << llendl;
|
||||
}
|
||||
|
||||
LLInitialWearablesFetch::LLInitialWearablesFetch(const LLUUID& cof_id) :
|
||||
LLInventoryFetchDescendentsObserver(cof_id)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ public:
|
|||
LLEventTimer(5.0)
|
||||
{
|
||||
if (!mTrackingPhase.empty())
|
||||
{
|
||||
{
|
||||
selfStartPhase(mTrackingPhase);
|
||||
}
|
||||
}
|
||||
|
|
@ -212,23 +212,23 @@ public:
|
|||
addItem(item->getUUID());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Request or re-request operation for specified item.
|
||||
void addItem(const LLUUID& item_id)
|
||||
{
|
||||
LL_DEBUGS("Avatar") << "item_id " << item_id << llendl;
|
||||
|
||||
|
||||
if (!requestOperation(item_id))
|
||||
{
|
||||
LL_DEBUGS("Avatar") << "item_id " << item_id << " requestOperation false, skipping" << llendl;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
mPendingRequests++;
|
||||
// On a re-request, this will reset the timer.
|
||||
mWaitTimes[item_id] = LLTimer();
|
||||
if (mRetryCounts.find(item_id) == mRetryCounts.end())
|
||||
{
|
||||
{
|
||||
mRetryCounts[item_id] = 0;
|
||||
}
|
||||
else
|
||||
|
|
@ -242,7 +242,7 @@ public:
|
|||
void onOp(const LLUUID& src_id, const LLUUID& dst_id, LLTimer timestamp)
|
||||
{
|
||||
if (ll_frand() < gSavedSettings.getF32("InventoryDebugSimulateLateOpRate"))
|
||||
{
|
||||
{
|
||||
llwarns << "Simulating late operation by punting handling to later" << llendl;
|
||||
doAfterInterval(boost::bind(&LLCallAfterInventoryBatchMgr::onOp,this,src_id,dst_id,timestamp),
|
||||
mRetryAfter);
|
||||
|
|
@ -265,12 +265,12 @@ public:
|
|||
onCompletionOrFailure();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void onCompletionOrFailure()
|
||||
{
|
||||
assert (!mCompletionOrFailureCalled);
|
||||
mCompletionOrFailureCalled = true;
|
||||
|
||||
|
||||
// Will never call onCompletion() if any item has been flagged as
|
||||
// a failure - otherwise could wind up with corrupted
|
||||
// outfit, involuntary nudity, etc.
|
||||
|
|
@ -288,7 +288,7 @@ public:
|
|||
onFailure();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void onFailure()
|
||||
{
|
||||
llinfos << "failed" << llendl;
|
||||
|
|
@ -300,7 +300,7 @@ public:
|
|||
llinfos << "done" << llendl;
|
||||
mOnCompletionFunc();
|
||||
}
|
||||
|
||||
|
||||
// virtual
|
||||
// Will be deleted after returning true - only safe to do this if all callbacks have fired.
|
||||
BOOL tick()
|
||||
|
|
@ -313,7 +313,7 @@ public:
|
|||
// been serviced, since it will result in this object being
|
||||
// deleted.
|
||||
bool all_done = (mPendingRequests==0);
|
||||
|
||||
|
||||
if (!mWaitTimes.empty())
|
||||
{
|
||||
llwarns << "still waiting on " << mWaitTimes.size() << " items" << llendl;
|
||||
|
|
@ -323,20 +323,20 @@ public:
|
|||
// Use a copy of iterator because it may be erased/invalidated.
|
||||
std::map<LLUUID,LLTimer>::iterator curr_it = it;
|
||||
++it;
|
||||
|
||||
|
||||
F32 time_waited = curr_it->second.getElapsedTimeF32();
|
||||
S32 retries = mRetryCounts[curr_it->first];
|
||||
if (time_waited > mRetryAfter)
|
||||
{
|
||||
if (retries < mMaxRetries)
|
||||
{
|
||||
{
|
||||
LL_DEBUGS("Avatar") << "Waited " << time_waited <<
|
||||
" for " << curr_it->first << ", retrying" << llendl;
|
||||
mRetryCount++;
|
||||
addItem(curr_it->first);
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
llwarns << "Giving up on " << curr_it->first << " after too many retries" << llendl;
|
||||
mWaitTimes.erase(curr_it);
|
||||
mFailCount++;
|
||||
|
|
@ -347,8 +347,8 @@ public:
|
|||
onCompletionOrFailure();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
return all_done;
|
||||
}
|
||||
|
||||
|
|
@ -360,7 +360,7 @@ public:
|
|||
LL_DEBUGS("Avatar") << "Times: n " << mTimeStats.getCount() << " min " << mTimeStats.getMinValue() << " max " << mTimeStats.getMaxValue() << llendl;
|
||||
LL_DEBUGS("Avatar") << "Mean " << mTimeStats.getMean() << " stddev " << mTimeStats.getStdDev() << llendl;
|
||||
}
|
||||
|
||||
|
||||
virtual ~LLCallAfterInventoryBatchMgr()
|
||||
{
|
||||
LL_DEBUGS("Avatar") << "deleting" << llendl;
|
||||
|
|
@ -397,9 +397,9 @@ public:
|
|||
{
|
||||
addItems(src_items);
|
||||
}
|
||||
|
||||
|
||||
virtual bool requestOperation(const LLUUID& item_id)
|
||||
{
|
||||
{
|
||||
LLViewerInventoryItem *item = gInventory.getItem(item_id);
|
||||
llassert(item);
|
||||
LL_DEBUGS("Avatar") << "copying item " << item_id << llendl;
|
||||
|
|
@ -479,9 +479,9 @@ public:
|
|||
LLAppearanceMgr::instance().purgeBaseOutfitLink(cof);
|
||||
|
||||
if (catp && catp->getPreferredType() == LLFolderType::FT_OUTFIT)
|
||||
{
|
||||
{
|
||||
if (ll_frand() < gSavedSettings.getF32("InventoryDebugSimulateOpFailureRate"))
|
||||
{
|
||||
{
|
||||
LL_DEBUGS("Avatar") << "simulating failure by not sending request for item " << item_id << llendl;
|
||||
return true;
|
||||
}
|
||||
|
|
@ -841,69 +841,69 @@ bool LLWearableHoldingPattern::pollFetchCompletion()
|
|||
void recovered_item_link_cb(const LLUUID& item_id, LLWearableType::EType type, LLViewerWearable *wearable, LLWearableHoldingPattern* holder)
|
||||
{
|
||||
if (!holder->isMostRecent())
|
||||
{
|
||||
llwarns << "skipping because LLWearableHolding pattern is invalid (superceded by later outfit request)" << llendl;
|
||||
// runway skip here?
|
||||
}
|
||||
{
|
||||
llwarns << "skipping because LLWearableHolding pattern is invalid (superceded by later outfit request)" << llendl;
|
||||
// runway skip here?
|
||||
}
|
||||
|
||||
llinfos << "Recovered item link for type " << type << llendl;
|
||||
holder->eraseTypeToLink(type);
|
||||
// Add wearable to FoundData for actual wearing
|
||||
LLViewerInventoryItem *item = gInventory.getItem(item_id);
|
||||
LLViewerInventoryItem *linked_item = item ? item->getLinkedItem() : NULL;
|
||||
// Add wearable to FoundData for actual wearing
|
||||
LLViewerInventoryItem *item = gInventory.getItem(item_id);
|
||||
LLViewerInventoryItem *linked_item = item ? item->getLinkedItem() : NULL;
|
||||
|
||||
if (linked_item)
|
||||
{
|
||||
gInventory.addChangedMask(LLInventoryObserver::LABEL, linked_item->getUUID());
|
||||
|
||||
if (item)
|
||||
if (linked_item)
|
||||
{
|
||||
LLFoundData found(linked_item->getUUID(),
|
||||
linked_item->getAssetUUID(),
|
||||
linked_item->getName(),
|
||||
linked_item->getType(),
|
||||
linked_item->isWearableType() ? linked_item->getWearableType() : LLWearableType::WT_INVALID,
|
||||
true // is replacement
|
||||
);
|
||||
gInventory.addChangedMask(LLInventoryObserver::LABEL, linked_item->getUUID());
|
||||
|
||||
if (item)
|
||||
{
|
||||
LLFoundData found(linked_item->getUUID(),
|
||||
linked_item->getAssetUUID(),
|
||||
linked_item->getName(),
|
||||
linked_item->getType(),
|
||||
linked_item->isWearableType() ? linked_item->getWearableType() : LLWearableType::WT_INVALID,
|
||||
true // is replacement
|
||||
);
|
||||
found.mWearable = wearable;
|
||||
holder->getFoundList().push_front(found);
|
||||
}
|
||||
else
|
||||
{
|
||||
llwarns << self_av_string() << "inventory item not found for recovered wearable" << llendl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
llwarns << self_av_string() << "inventory item not found for recovered wearable" << llendl;
|
||||
llwarns << self_av_string() << "inventory link not found for recovered wearable" << llendl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
llwarns << self_av_string() << "inventory link not found for recovered wearable" << llendl;
|
||||
}
|
||||
}
|
||||
|
||||
void recovered_item_cb(const LLUUID& item_id, LLWearableType::EType type, LLViewerWearable *wearable, LLWearableHoldingPattern* holder)
|
||||
{
|
||||
if (!holder->isMostRecent())
|
||||
{
|
||||
// runway skip here?
|
||||
llwarns << self_av_string() << "skipping because LLWearableHolding pattern is invalid (superceded by later outfit request)" << llendl;
|
||||
}
|
||||
{
|
||||
// runway skip here?
|
||||
llwarns << self_av_string() << "skipping because LLWearableHolding pattern is invalid (superceded by later outfit request)" << llendl;
|
||||
}
|
||||
|
||||
LL_DEBUGS("Avatar") << self_av_string() << "Recovered item for type " << type << LL_ENDL;
|
||||
LLViewerInventoryItem *itemp = gInventory.getItem(item_id);
|
||||
LLViewerInventoryItem *itemp = gInventory.getItem(item_id);
|
||||
wearable->setItemID(item_id);
|
||||
LLPointer<LLInventoryCallback> cb = new LLBoostFuncInventoryCallback(boost::bind(recovered_item_link_cb,_1,type,wearable,holder));
|
||||
holder->eraseTypeToRecover(type);
|
||||
llassert(itemp);
|
||||
if (itemp)
|
||||
{
|
||||
link_inventory_item( gAgent.getID(),
|
||||
item_id,
|
||||
LLAppearanceMgr::instance().getCOF(),
|
||||
itemp->getName(),
|
||||
itemp->getDescription(),
|
||||
LLAssetType::AT_LINK,
|
||||
cb);
|
||||
llassert(itemp);
|
||||
if (itemp)
|
||||
{
|
||||
link_inventory_item( gAgent.getID(),
|
||||
item_id,
|
||||
LLAppearanceMgr::instance().getCOF(),
|
||||
itemp->getName(),
|
||||
itemp->getDescription(),
|
||||
LLAssetType::AT_LINK,
|
||||
cb);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LLWearableHoldingPattern::recoverMissingWearable(LLWearableType::EType type)
|
||||
{
|
||||
|
|
@ -1290,7 +1290,7 @@ bool LLAppearanceMgr::wearItemOnAvatar(const LLUUID& item_id_to_wear, bool do_up
|
|||
if (gInventory.isObjectDescendentOf(item_to_wear->getUUID(), gInventory.getLibraryRootFolderID()))
|
||||
{
|
||||
LLPointer<LLInventoryCallback> cb = new LLBoostFuncInventoryCallback(boost::bind(wear_on_avatar_cb,_1,replace));
|
||||
copy_inventory_item(gAgent.getID(), item_to_wear->getPermissions().getOwner(), item_to_wear->getUUID(), LLUUID::null, std::string(), cb);
|
||||
copy_inventory_item(gAgent.getID(), item_to_wear->getPermissions().getOwner(), item_to_wear->getUUID(), LLUUID::null, std::string(),cb);
|
||||
return false;
|
||||
}
|
||||
else if (!gInventory.isObjectDescendentOf(item_to_wear->getUUID(), gInventory.getRootFolderID()))
|
||||
|
|
@ -1680,8 +1680,8 @@ void LLAppearanceMgr::purgeCategory(const LLUUID& category, bool keep_outfit_lin
|
|||
}
|
||||
else
|
||||
{
|
||||
gInventory.purgeObject(item->getUUID());
|
||||
}
|
||||
gInventory.purgeObject(item->getUUID());
|
||||
}
|
||||
#else
|
||||
gInventory.purgeObject(item->getUUID());
|
||||
}
|
||||
|
|
@ -2267,7 +2267,7 @@ void LLAppearanceMgr::wearInventoryCategoryOnAvatar( LLInventoryCategory* catego
|
|||
// Avoid unintentionally overwriting old wearables. We have to do
|
||||
// this up front to avoid having to deal with the case of multiple
|
||||
// wearables being dirty.
|
||||
if (!category) return;
|
||||
if(!category) return;
|
||||
|
||||
if ( !LLInventoryCallbackManager::is_instantiated() )
|
||||
{
|
||||
|
|
@ -2388,7 +2388,7 @@ void LLAppearanceMgr::addCOFItemLink(const LLUUID &item_id, bool do_update, LLPo
|
|||
}
|
||||
|
||||
void modified_cof_cb(const LLUUID& inv_item)
|
||||
{
|
||||
{
|
||||
LLAppearanceMgr::instance().updateAppearanceFromCOF();
|
||||
|
||||
// Start editing the item if previously requested.
|
||||
|
|
@ -3237,7 +3237,7 @@ void LLAppearanceMgr::requestServerAppearanceUpdate(LLCurl::ResponderPtr respond
|
|||
llwarns << "No cap for UpdateAvatarAppearance." << llendl;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
LLSD body;
|
||||
S32 cof_version = getCOFVersion();
|
||||
if (gSavedSettings.getBOOL("DebugAvatarExperimentalServerAppearanceUpdate"))
|
||||
|
|
@ -3253,7 +3253,7 @@ void LLAppearanceMgr::requestServerAppearanceUpdate(LLCurl::ResponderPtr respond
|
|||
}
|
||||
}
|
||||
LL_DEBUGS("Avatar") << "request url " << url << " my_cof_version " << cof_version << llendl;
|
||||
|
||||
|
||||
//LLCurl::ResponderPtr responder_ptr;
|
||||
if (!responder_ptr.get())
|
||||
{
|
||||
|
|
@ -3347,33 +3347,33 @@ std::string LLAppearanceMgr::getAppearanceServiceURL() const
|
|||
}
|
||||
|
||||
void show_created_outfit(LLUUID& folder_id, bool show_panel = true)
|
||||
{
|
||||
if (!LLApp::isRunning())
|
||||
{
|
||||
llwarns << "called during shutdown, skipping" << llendl;
|
||||
return;
|
||||
}
|
||||
|
||||
LLSD key;
|
||||
|
||||
if (!LLApp::isRunning())
|
||||
{
|
||||
llwarns << "called during shutdown, skipping" << llendl;
|
||||
return;
|
||||
}
|
||||
|
||||
LLSD key;
|
||||
|
||||
//EXT-7727. For new accounts inventory callback is created during login process
|
||||
// and may be processed after login process is finished
|
||||
if (show_panel)
|
||||
{
|
||||
LLFloaterSidePanelContainer::showPanel("appearance", "panel_outfits_inventory", key);
|
||||
|
||||
}
|
||||
LLOutfitsList *outfits_list =
|
||||
dynamic_cast<LLOutfitsList*>(LLFloaterSidePanelContainer::getPanel("appearance", "outfitslist_tab"));
|
||||
if (outfits_list)
|
||||
{
|
||||
{
|
||||
LLFloaterSidePanelContainer::showPanel("appearance", "panel_outfits_inventory", key);
|
||||
|
||||
}
|
||||
LLOutfitsList *outfits_list =
|
||||
dynamic_cast<LLOutfitsList*>(LLFloaterSidePanelContainer::getPanel("appearance", "outfitslist_tab"));
|
||||
if (outfits_list)
|
||||
{
|
||||
outfits_list->setSelectedOutfitByUUID(folder_id);
|
||||
}
|
||||
|
||||
LLAppearanceMgr::getInstance()->updateIsDirty();
|
||||
gAgentWearables.notifyLoadingFinished(); // New outfit is saved.
|
||||
LLAppearanceMgr::getInstance()->updatePanelOutfitName("");
|
||||
}
|
||||
|
||||
LLAppearanceMgr::getInstance()->updateIsDirty();
|
||||
gAgentWearables.notifyLoadingFinished(); // New outfit is saved.
|
||||
LLAppearanceMgr::getInstance()->updatePanelOutfitName("");
|
||||
}
|
||||
|
||||
LLUUID LLAppearanceMgr::makeNewOutfitLinks(const std::string& new_folder_name, bool show_panel)
|
||||
{
|
||||
|
|
@ -3415,13 +3415,13 @@ void LLAppearanceMgr::removeItemsFromAvatar(const uuid_vec_t& ids_to_remove)
|
|||
llwarns << "called with empty list, nothing to do" << llendl;
|
||||
}
|
||||
for (uuid_vec_t::const_iterator it = ids_to_remove.begin(); it != ids_to_remove.end(); ++it)
|
||||
{
|
||||
{
|
||||
const LLUUID& id_to_remove = *it;
|
||||
const LLUUID& linked_item_id = gInventory.getLinkedItemID(id_to_remove);
|
||||
removeCOFItemLinks(linked_item_id);
|
||||
}
|
||||
}
|
||||
updateAppearanceFromCOF();
|
||||
}
|
||||
}
|
||||
|
||||
void LLAppearanceMgr::removeItemFromAvatar(const LLUUID& id_to_remove)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1707,7 +1707,7 @@ bool LLAppViewer::cleanup()
|
|||
gAudiop->setStreamingAudioImpl(NULL);
|
||||
|
||||
// shut down the audio subsystem
|
||||
gAudiop->shutdown();
|
||||
gAudiop->shutdown();
|
||||
|
||||
delete gAudiop;
|
||||
gAudiop = NULL;
|
||||
|
|
@ -1780,7 +1780,7 @@ bool LLAppViewer::cleanup()
|
|||
llinfos << "Cleaning up Objects" << llendflush;
|
||||
|
||||
LLViewerObject::cleanupVOClasses();
|
||||
|
||||
|
||||
LLAvatarAppearance::cleanupClass();
|
||||
|
||||
LLPostProcess::cleanupClass();
|
||||
|
|
@ -3582,7 +3582,7 @@ void LLAppViewer::requestQuit()
|
|||
|
||||
// Try to send metrics back to the grid
|
||||
metricsSend(!gDisconnected);
|
||||
|
||||
|
||||
// Try to send last batch of avatar rez metrics.
|
||||
if (!gDisconnected && isAgentAvatarValid())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -484,7 +484,7 @@ void LLDrawable::makeActive()
|
|||
}
|
||||
|
||||
llassert(isAvatar() || isRoot() || mParent->isActive());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LLDrawable::makeStatic(BOOL warning_enabled)
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ namespace
|
|||
{
|
||||
llwarns << "LLEventPollResponder error <" << mCount
|
||||
<< "> [status:" << status << "]: " << content
|
||||
<< (mDone ? " -- done" : "") << llendl;
|
||||
<< (mDone ? " -- done" : "") << llendl;
|
||||
stop();
|
||||
|
||||
// At this point we have given up and the viewer will not receive HTTP messages from the simulator.
|
||||
|
|
|
|||
|
|
@ -2021,7 +2021,7 @@ void LLFloaterIMContainer::closeFloater(bool app_quitting/* = false*/)
|
|||
{
|
||||
LLMultiFloater::setMinimized(FALSE);
|
||||
}
|
||||
|
||||
|
||||
LLFloater::closeFloater(app_quitting);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -328,7 +328,7 @@ void LLFloaterIMNearbyChat::onChatFontChange(LLFontGL* fontp)
|
|||
void LLFloaterIMNearbyChat::show()
|
||||
{
|
||||
openFloater(getKey());
|
||||
}
|
||||
}
|
||||
|
||||
bool LLFloaterIMNearbyChat::isChatVisible() const
|
||||
{
|
||||
|
|
|
|||
|
|
@ -521,7 +521,7 @@ public:
|
|||
void fire(const LLUUID& inv_item_id)
|
||||
{
|
||||
LLViewerInventoryItem* item = gInventory.getItem(inv_item_id);
|
||||
|
||||
|
||||
if (item)
|
||||
LLFriendCardsManager::instance().extractAvatarID(item->getCreatorUUID());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ void on_new_message(const LLSD& msg)
|
|||
// 0. nothing - exit
|
||||
if (("none" == user_preferences ||
|
||||
ON_TOP_AND_ITEM_IS_SELECTED == conversations_floater_status)
|
||||
&& session_floater->isMessagePaneExpanded())
|
||||
&& session_floater->isMessagePaneExpanded())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -1561,7 +1561,7 @@ public:
|
|||
}
|
||||
|
||||
void errorWithContent(U32 statusNum, const std::string& reason, const LLSD& content)
|
||||
{
|
||||
{
|
||||
llwarns << "LLViewerChatterBoxInvitationAcceptResponder error [status:"
|
||||
<< statusNum << "]: " << content << llendl;
|
||||
//throw something back to the viewer here?
|
||||
|
|
|
|||
|
|
@ -686,23 +686,23 @@ void LLInventoryModelBackgroundFetch::bulkFetch()
|
|||
{
|
||||
if (folder_count)
|
||||
{
|
||||
std::string url = region->getCapability("FetchInventoryDescendents2");
|
||||
std::string url = region->getCapability("FetchInventoryDescendents2");
|
||||
if ( !url.empty() )
|
||||
{
|
||||
mFetchCount++;
|
||||
if (folder_request_body["folders"].size())
|
||||
{
|
||||
LLInventoryModelFetchDescendentsResponder *fetcher = new LLInventoryModelFetchDescendentsResponder(folder_request_body, recursive_cats);
|
||||
LLHTTPClient::post(url, folder_request_body, fetcher, 300.0);
|
||||
}
|
||||
if (folder_request_body_lib["folders"].size())
|
||||
{
|
||||
std::string url_lib = gAgent.getRegion()->getCapability("FetchLibDescendents2");
|
||||
mFetchCount++;
|
||||
if (folder_request_body["folders"].size())
|
||||
{
|
||||
LLInventoryModelFetchDescendentsResponder *fetcher = new LLInventoryModelFetchDescendentsResponder(folder_request_body, recursive_cats);
|
||||
LLHTTPClient::post(url, folder_request_body, fetcher, 300.0);
|
||||
}
|
||||
if (folder_request_body_lib["folders"].size())
|
||||
{
|
||||
std::string url_lib = gAgent.getRegion()->getCapability("FetchLibDescendents2");
|
||||
|
||||
LLInventoryModelFetchDescendentsResponder *fetcher = new LLInventoryModelFetchDescendentsResponder(folder_request_body_lib, recursive_cats);
|
||||
LLHTTPClient::post(url_lib, folder_request_body_lib, fetcher, 300.0);
|
||||
}
|
||||
}
|
||||
LLInventoryModelFetchDescendentsResponder *fetcher = new LLInventoryModelFetchDescendentsResponder(folder_request_body_lib, recursive_cats);
|
||||
LLHTTPClient::post(url_lib, folder_request_body_lib, fetcher, 300.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item_count)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ private:
|
|||
void toggleTypeSpecificControls(LLWearableType::EType type);
|
||||
void updateTypeSpecificControls(LLWearableType::EType type);
|
||||
|
||||
// alpha mask checkboxes
|
||||
//alpha mask checkboxes
|
||||
void configureAlphaCheckbox(LLAvatarAppearanceDefines::ETextureIndex te, const std::string& name);
|
||||
void onInvisibilityCommit(LLCheckBoxCtrl* checkbox_ctrl, LLAvatarAppearanceDefines::ETextureIndex te);
|
||||
void updateAlphaCheckboxes();
|
||||
|
|
@ -155,7 +155,7 @@ private:
|
|||
LLPanel *mPanelEyes;
|
||||
LLPanel *mPanelHair;
|
||||
|
||||
// clothes
|
||||
//clothes
|
||||
LLPanel *mPanelShirt;
|
||||
LLPanel *mPanelPants;
|
||||
LLPanel *mPanelShoes;
|
||||
|
|
|
|||
|
|
@ -396,10 +396,6 @@ struct LLPanelFaceSetTEFunctor : public LLSelectedTEFunctor
|
|||
if (valid)
|
||||
{
|
||||
value = ctrlTexScaleS->get();
|
||||
//if( checkFlipScaleS->get() )
|
||||
//{
|
||||
// value = -value;
|
||||
//}
|
||||
if (comboTexGen &&
|
||||
comboTexGen->getCurrentIndex() == 1)
|
||||
{
|
||||
|
|
@ -634,20 +630,11 @@ void LLPanelFace::getState()
|
|||
}
|
||||
else
|
||||
{
|
||||
llwarns << "failed getChild for 'combobox mattype'" << llendl;
|
||||
LL_WARNS("Materials") << "failed getChild for 'combobox mattype'" << LL_ENDL;
|
||||
}
|
||||
getChildView("combobox mattype")->setEnabled(editable);
|
||||
|
||||
onCommitMaterialsMedia(NULL, this);
|
||||
|
||||
//if ( LLMediaEngine::getInstance()->getMediaRenderer () )
|
||||
// if ( LLMediaEngine::getInstance()->getMediaRenderer ()->isLoaded () )
|
||||
// {
|
||||
//
|
||||
// //mLabelTexAutoFix->setEnabled ( editable );
|
||||
//
|
||||
// //mBtnAutoFix->setEnabled ( editable );
|
||||
// }
|
||||
|
||||
bool identical;
|
||||
bool identical_diffuse;
|
||||
|
|
|
|||
|
|
@ -428,13 +428,13 @@ F32 LLPhysicsMotion::toLocal(const LLVector3 &world)
|
|||
F32 LLPhysicsMotion::calculateVelocity_local()
|
||||
{
|
||||
const F32 world_to_model_scale = 100.0f;
|
||||
LLJoint *joint = mJointState->getJoint();
|
||||
const LLVector3 position_world = joint->getWorldPosition();
|
||||
const LLVector3 last_position_world = mPosition_world;
|
||||
LLJoint *joint = mJointState->getJoint();
|
||||
const LLVector3 position_world = joint->getWorldPosition();
|
||||
const LLVector3 last_position_world = mPosition_world;
|
||||
const LLVector3 positionchange_world = (position_world-last_position_world) * world_to_model_scale;
|
||||
const LLVector3 velocity_world = positionchange_world;
|
||||
const F32 velocity_local = toLocal(velocity_world);
|
||||
return velocity_local;
|
||||
const LLVector3 velocity_world = positionchange_world;
|
||||
const F32 velocity_local = toLocal(velocity_world);
|
||||
return velocity_local;
|
||||
}
|
||||
|
||||
F32 LLPhysicsMotion::calculateAcceleration_local(const F32 velocity_local)
|
||||
|
|
|
|||
|
|
@ -231,7 +231,7 @@ void LLSidepanelAppearance::updateToVisibility(const LLSD &new_visibility)
|
|||
{
|
||||
gAgentCamera.changeCameraToDefault();
|
||||
gAgentCamera.resetView();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public:
|
|||
virtual ~LLSidepanelAppearance();
|
||||
|
||||
/*virtual*/ BOOL postBuild();
|
||||
/*virtual*/ void onOpen(const LLSD& key);
|
||||
/*virtual*/ void onOpen(const LLSD& key);
|
||||
|
||||
void refreshCurrentOutfitName(const std::string& name = "");
|
||||
|
||||
|
|
|
|||
|
|
@ -644,7 +644,7 @@ bool idle_startup()
|
|||
gAudiop = (LLAudioEngine *) new LLAudioEngine_OpenAL();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
if (gAudiop)
|
||||
{
|
||||
#if LL_WINDOWS
|
||||
|
|
|
|||
|
|
@ -1896,9 +1896,9 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe
|
|||
LLCore::HttpStatus status(response->getStatus());
|
||||
|
||||
LL_DEBUGS("Texture") << "HTTP COMPLETE: " << mID
|
||||
<< " status: " << status.toHex()
|
||||
<< " '" << status.toString() << "'"
|
||||
<< llendl;
|
||||
<< " status: " << status.toHex()
|
||||
<< " '" << status.toString() << "'"
|
||||
<< llendl;
|
||||
// unsigned int offset(0), length(0), full_length(0);
|
||||
// response->getRange(&offset, &length, &full_length);
|
||||
// llwarns << "HTTP COMPLETE: " << mID << " handle: " << handle
|
||||
|
|
|
|||
|
|
@ -400,7 +400,7 @@ void audio_update_volume(bool force_update)
|
|||
gAudiop->setDopplerFactor(gSavedSettings.getF32("AudioLevelDoppler"));
|
||||
|
||||
if(!LLViewerCamera::getInstance()->cameraUnderWater())
|
||||
gAudiop->setRolloffFactor(gSavedSettings.getF32("AudioLevelRolloff"));
|
||||
gAudiop->setRolloffFactor(gSavedSettings.getF32("AudioLevelRolloff"));
|
||||
else
|
||||
gAudiop->setRolloffFactor(gSavedSettings.getF32("AudioLevelUnderwaterRolloff"));
|
||||
|
||||
|
|
@ -494,18 +494,18 @@ void audio_update_wind(bool force_update)
|
|||
LLViewerRegion* region = gAgent.getRegion();
|
||||
if (region)
|
||||
{
|
||||
// Scale down the contribution of weather-simulation wind to the
|
||||
// ambient wind noise. Wind velocity averages 3.5 m/s, with gusts to 7 m/s
|
||||
// whereas steady-state avatar walk velocity is only 3.2 m/s.
|
||||
// Without this the world feels desolate on first login when you are
|
||||
// standing still.
|
||||
static LLUICachedControl<F32> wind_level("AudioLevelWind", 0.5f);
|
||||
LLVector3 scaled_wind_vec = gWindVec * wind_level;
|
||||
|
||||
// Mix in the avatar's motion, subtract because when you walk north,
|
||||
// the apparent wind moves south.
|
||||
LLVector3 final_wind_vec = scaled_wind_vec - gAgent.getVelocity();
|
||||
|
||||
// Scale down the contribution of weather-simulation wind to the
|
||||
// ambient wind noise. Wind velocity averages 3.5 m/s, with gusts to 7 m/s
|
||||
// whereas steady-state avatar walk velocity is only 3.2 m/s.
|
||||
// Without this the world feels desolate on first login when you are
|
||||
// standing still.
|
||||
static LLUICachedControl<F32> wind_level("AudioLevelWind", 0.5f);
|
||||
LLVector3 scaled_wind_vec = gWindVec * wind_level;
|
||||
|
||||
// Mix in the avatar's motion, subtract because when you walk north,
|
||||
// the apparent wind moves south.
|
||||
LLVector3 final_wind_vec = scaled_wind_vec - gAgent.getVelocity();
|
||||
|
||||
// rotate the wind vector to be listener (agent) relative
|
||||
gRelativeWindVec = gAgent.getFrameAgent().rotateToLocal( final_wind_vec );
|
||||
|
||||
|
|
|
|||
|
|
@ -256,7 +256,7 @@ class AddFavoriteLandmarkCallback : public LLInventoryCallback
|
|||
public:
|
||||
AddFavoriteLandmarkCallback() : mTargetLandmarkId(LLUUID::null) {}
|
||||
void setTargetLandmarkId(const LLUUID& target_uuid) { mTargetLandmarkId = target_uuid; }
|
||||
|
||||
|
||||
private:
|
||||
void fire(const LLUUID& inv_item);
|
||||
|
||||
|
|
@ -283,13 +283,13 @@ public:
|
|||
|
||||
// virtual
|
||||
void fire(const LLUUID& item_id)
|
||||
{
|
||||
{
|
||||
mFireFunc(item_id);
|
||||
}
|
||||
|
||||
// virtual
|
||||
~LLBoostFuncInventoryCallback()
|
||||
{
|
||||
{
|
||||
mDestroyFunc();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -201,6 +201,8 @@ LLViewerObject::LLViewerObject(const LLUUID &id, const LLPCode pcode, LLViewerRe
|
|||
mTotalCRC(0),
|
||||
mListIndex(-1),
|
||||
mTEImages(NULL),
|
||||
mTENormalMaps(NULL),
|
||||
mTESpecularMaps(NULL),
|
||||
mGLName(0),
|
||||
mbCanSelect(TRUE),
|
||||
mFlags(0),
|
||||
|
|
@ -321,6 +323,18 @@ void LLViewerObject::deleteTEImages()
|
|||
{
|
||||
delete[] mTEImages;
|
||||
mTEImages = NULL;
|
||||
|
||||
if (mTENormalMaps != NULL)
|
||||
{
|
||||
delete[] mTENormalMaps;
|
||||
mTENormalMaps = NULL;
|
||||
}
|
||||
|
||||
if (mTESpecularMaps != NULL)
|
||||
{
|
||||
delete[] mTESpecularMaps;
|
||||
mTESpecularMaps = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void LLViewerObject::markDead()
|
||||
|
|
@ -4039,7 +4053,7 @@ void LLViewerObject::setTE(const U8 te, const LLTextureEntry &texture_entry)
|
|||
{
|
||||
LLPrimitive::setTE(te, texture_entry);
|
||||
|
||||
const LLUUID& image_id = getTE(te)->getID();
|
||||
const LLUUID& image_id = getTE(te)->getID();
|
||||
mTEImages[te] = LLViewerTextureManager::getFetchedTexture(image_id, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE);
|
||||
|
||||
if (getTE(te)->getMaterialParams().notNull())
|
||||
|
|
@ -4093,7 +4107,12 @@ S32 LLViewerObject::setTENormalMapCore(const U8 te, LLViewerTexture *image)
|
|||
uuid == LLUUID::null)
|
||||
{
|
||||
LLTextureEntry* tep = getTE(te);
|
||||
LLMaterial* mat = tep ? tep->getMaterialParams() : NULL;
|
||||
LLMaterial* mat = NULL;
|
||||
if (tep)
|
||||
{
|
||||
mat = tep->getMaterialParams();
|
||||
}
|
||||
|
||||
if (mat)
|
||||
{
|
||||
mat->setNormalID(uuid);
|
||||
|
|
@ -4118,11 +4137,16 @@ S32 LLViewerObject::setTESpecularMapCore(const U8 te, LLViewerTexture *image)
|
|||
uuid == LLUUID::null)
|
||||
{
|
||||
LLTextureEntry* tep = getTE(te);
|
||||
LLMaterial* mat = tep ? tep->getMaterialParams() : NULL;
|
||||
LLMaterial* mat = NULL;
|
||||
if (tep)
|
||||
{
|
||||
mat = tep->getMaterialParams();
|
||||
}
|
||||
|
||||
if (mat)
|
||||
{
|
||||
mat->setSpecularID(uuid);
|
||||
}
|
||||
}
|
||||
setChanged(TEXTURE);
|
||||
if (mDrawable.notNull())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -342,7 +342,7 @@ public:
|
|||
void getNeighboringRegionsStatus( std::vector<S32>& regions );
|
||||
const LLViewerRegionImpl * getRegionImpl() const { return mImpl; }
|
||||
LLViewerRegionImpl * getRegionImplNC() { return mImpl; }
|
||||
|
||||
|
||||
public:
|
||||
struct CompareDistance
|
||||
{
|
||||
|
|
|
|||
|
|
@ -254,10 +254,10 @@ void LLViewerStatsRecorder::writeToLog( F32 interval )
|
|||
<< "\n";
|
||||
|
||||
size_t data_size = data_msg.str().size();
|
||||
if ( data_size != fwrite(data_msg.str().c_str(), 1, data_size, mObjectCacheFile ))
|
||||
{
|
||||
if ( data_size != fwrite(data_msg.str().c_str(), 1, data_size, mObjectCacheFile ))
|
||||
{
|
||||
llwarns << "Unable to write complete column data to " << STATS_FILE_NAME << llendl;
|
||||
}
|
||||
}
|
||||
clearStats();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -564,7 +564,7 @@ void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity
|
|||
}
|
||||
}
|
||||
sDesiredDiscardBias = llclamp(sDesiredDiscardBias, desired_discard_bias_min, desired_discard_bias_max);
|
||||
|
||||
|
||||
F32 camera_moving_speed = LLViewerCamera::getInstance()->getAverageSpeed() ;
|
||||
F32 camera_angular_speed = LLViewerCamera::getInstance()->getAverageAngularSpeed();
|
||||
sCameraMovingBias = llmax(0.2f * camera_moving_speed, 2.0f * camera_angular_speed - 1);
|
||||
|
|
@ -871,10 +871,10 @@ void LLViewerTexture::reorganizeFaceList()
|
|||
for (U32 i = 0; i < LLRender::NUM_TEXTURE_CHANNELS; ++i)
|
||||
{
|
||||
if(mNumFaces[i] + MAX_EXTRA_BUFFER_SIZE > mFaceList[i].size())
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
mFaceList[i].erase(mFaceList[i].begin() + mNumFaces[i], mFaceList[i].end());
|
||||
}
|
||||
|
||||
|
|
@ -1373,7 +1373,7 @@ BOOL LLViewerFetchedTexture::createTexture(S32 usename/*= 0*/)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
res = mGLTexturep->createGLTexture(mRawDiscardLevel, mRawImage, usename, TRUE, mBoostLevel);
|
||||
res = mGLTexturep->createGLTexture(mRawDiscardLevel, mRawImage, usename, TRUE, mBoostLevel);
|
||||
|
||||
setActive() ;
|
||||
|
||||
|
|
@ -1668,27 +1668,27 @@ void LLViewerFetchedTexture::updateVirtualSize()
|
|||
llassert(mNumFaces[ch] <= mFaceList[ch].size());
|
||||
|
||||
for(U32 i = 0 ; i < mNumFaces[ch]; i++)
|
||||
{
|
||||
{
|
||||
LLFace* facep = mFaceList[ch][i] ;
|
||||
if( facep )
|
||||
{
|
||||
LLDrawable* drawable = facep->getDrawable();
|
||||
if (drawable)
|
||||
if( facep )
|
||||
{
|
||||
if(drawable->isRecentlyVisible())
|
||||
LLDrawable* drawable = facep->getDrawable();
|
||||
if (drawable)
|
||||
{
|
||||
if (getBoostLevel() == LLViewerTexture::BOOST_NONE &&
|
||||
drawable->getVObj() && drawable->getVObj()->isSelected())
|
||||
if(drawable->isRecentlyVisible())
|
||||
{
|
||||
setBoostLevel(LLViewerTexture::BOOST_SELECTED);
|
||||
if (getBoostLevel() == LLViewerTexture::BOOST_NONE &&
|
||||
drawable->getVObj() && drawable->getVObj()->isSelected())
|
||||
{
|
||||
setBoostLevel(LLViewerTexture::BOOST_SELECTED);
|
||||
}
|
||||
addTextureStats(facep->getVirtualSize()) ;
|
||||
setAdditionalDecodePriority(facep->getImportanceToCamera()) ;
|
||||
}
|
||||
addTextureStats(facep->getVirtualSize()) ;
|
||||
setAdditionalDecodePriority(facep->getImportanceToCamera()) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//reset whether or not a face was selected after 10 seconds
|
||||
const F32 SELECTION_RESET_TIME = 10.f;
|
||||
|
||||
|
|
@ -3123,12 +3123,12 @@ BOOL LLViewerMediaTexture::findFaces()
|
|||
{
|
||||
const ll_face_list_t* face_list = tex->getFaceList(ch) ;
|
||||
U32 end = tex->getNumFaces(ch) ;
|
||||
for(U32 i = 0 ; i < end ; i++)
|
||||
{
|
||||
mMediaFaceList.push_back((*face_list)[i]) ;
|
||||
for(U32 i = 0 ; i < end ; i++)
|
||||
{
|
||||
mMediaFaceList.push_back((*face_list)[i]) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!mMediaImplp)
|
||||
{
|
||||
|
|
@ -3271,9 +3271,9 @@ void LLViewerMediaTexture::removeFace(U32 ch, LLFace* facep)
|
|||
|
||||
for (U32 ch = 0; ch < 3; ++ch)
|
||||
{
|
||||
//
|
||||
//we have some trouble here: the texture of the face is changed.
|
||||
//we need to find the former texture, and remove it from the list to avoid memory leaking.
|
||||
//
|
||||
//we have some trouble here: the texture of the face is changed.
|
||||
//we need to find the former texture, and remove it from the list to avoid memory leaking.
|
||||
|
||||
llassert(mNumFaces[ch] <= mFaceList[ch].size());
|
||||
|
||||
|
|
@ -3447,14 +3447,14 @@ F32 LLViewerMediaTexture::getMaxVirtualSize()
|
|||
{
|
||||
llassert(mNumFaces[ch] <= mFaceList[ch].size());
|
||||
for(U32 i = 0 ; i < mNumFaces[ch] ; i++)
|
||||
{
|
||||
LLFace* facep = mFaceList[ch][i] ;
|
||||
if(facep->getDrawable()->isRecentlyVisible())
|
||||
{
|
||||
addTextureStats(facep->getVirtualSize()) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
LLFace* facep = mFaceList[ch][i] ;
|
||||
if(facep->getDrawable()->isRecentlyVisible())
|
||||
{
|
||||
addTextureStats(facep->getVirtualSize()) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else //media is not in playing
|
||||
{
|
||||
|
|
|
|||
|
|
@ -184,8 +184,8 @@ protected:
|
|||
mutable F32 mAdditionalDecodePriority; // priority add to mDecodePriority.
|
||||
LLFrameTimer mLastReferencedTimer;
|
||||
|
||||
ll_face_list_t mFaceList[LLRender::NUM_TEXTURE_CHANNELS] ; //reverse pointer pointing to the faces using this image as texture
|
||||
U32 mNumFaces[LLRender::NUM_TEXTURE_CHANNELS] ;
|
||||
ll_face_list_t mFaceList[LLRender::NUM_TEXTURE_CHANNELS]; //reverse pointer pointing to the faces using this image as texture
|
||||
U32 mNumFaces[LLRender::NUM_TEXTURE_CHANNELS];
|
||||
LLFrameTimer mLastFaceListUpdateTimer ;
|
||||
|
||||
ll_volume_list_t mVolumeList;
|
||||
|
|
@ -216,7 +216,7 @@ public:
|
|||
static S32 sMaxSmallImageSize ;
|
||||
static BOOL sFreezeImageScalingDown ;//do not scale down image res if set.
|
||||
static F32 sCurrentTime ;
|
||||
|
||||
|
||||
enum EDebugTexels
|
||||
{
|
||||
DEBUG_TEXELS_OFF,
|
||||
|
|
|
|||
|
|
@ -822,7 +822,7 @@ LLVOAvatar::~LLVOAvatar()
|
|||
}
|
||||
|
||||
logPendingPhases();
|
||||
|
||||
|
||||
lldebugs << "LLVOAvatar Destructor (0x" << this << ") id:" << mID << llendl;
|
||||
|
||||
std::for_each(mAttachmentPoints.begin(), mAttachmentPoints.end(), DeletePairedPointer());
|
||||
|
|
@ -3999,7 +3999,7 @@ U32 LLVOAvatar::renderTransparent(BOOL first_pass)
|
|||
gGL.setAlphaRejectSettings(LLRender::CF_DEFAULT);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return num_indices;
|
||||
}
|
||||
|
||||
|
|
@ -5835,18 +5835,18 @@ BOOL LLVOAvatar::isWearingWearableType(LLWearableType::EType type) const
|
|||
{
|
||||
const LLAvatarAppearanceDictionary::TextureEntry *texture_dict = tex_iter->second;
|
||||
if (texture_dict->mWearableType == type)
|
||||
{
|
||||
{
|
||||
// Thus, you must check to see if the corresponding baked texture is defined.
|
||||
// NOTE: this is a poor substitute if you actually want to know about individual pieces of clothing
|
||||
// this works for detecting a skirt (most important), but is ineffective at any piece of clothing that
|
||||
// gets baked into a texture that always exists (upper or lower).
|
||||
if (texture_dict->mIsUsedByBakedTexture)
|
||||
{
|
||||
{
|
||||
const EBakedTextureIndex baked_index = texture_dict->mBakedTextureIndex;
|
||||
return isTextureDefined(LLAvatarAppearanceDictionary::getInstance()->getBakedTexture(baked_index)->mTextureIndex);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -5955,9 +5955,9 @@ void LLVOAvatar::updateRezzedStatusTimers()
|
|||
{
|
||||
// load level has decreased. start phase timers for higher load levels.
|
||||
for (S32 i = rez_status+1; i <= mLastRezzedStatus; i++)
|
||||
{
|
||||
{
|
||||
startPhase("load_" + LLVOAvatar::rezStatusToString(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (rez_status > mLastRezzedStatus)
|
||||
{
|
||||
|
|
@ -5966,16 +5966,16 @@ void LLVOAvatar::updateRezzedStatusTimers()
|
|||
{
|
||||
stopPhase("load_" + LLVOAvatar::rezStatusToString(i));
|
||||
stopPhase("first_load_" + LLVOAvatar::rezStatusToString(i), false);
|
||||
}
|
||||
}
|
||||
if (rez_status == 3)
|
||||
{
|
||||
{
|
||||
// "fully loaded", mark any pending appearance change complete.
|
||||
selfStopPhase("update_appearance_from_cof");
|
||||
selfStopPhase("wear_inventory_category", false);
|
||||
selfStopPhase("process_initial_wearables_update", false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
mLastRezzedStatus = rez_status;
|
||||
}
|
||||
}
|
||||
|
|
@ -6034,7 +6034,7 @@ void LLVOAvatar::stopPhase(const std::string& phase_name, bool err_check)
|
|||
void LLVOAvatar::logPendingPhases()
|
||||
{
|
||||
if (!isAgentAvatarValid())
|
||||
{
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -6050,7 +6050,7 @@ void LLVOAvatar::logPendingPhases()
|
|||
if (!completed)
|
||||
{
|
||||
logMetricsTimerRecord(phase_name, elapsed, completed);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6071,7 +6071,7 @@ void LLVOAvatar::logPendingPhasesAllAvatars()
|
|||
}
|
||||
|
||||
void LLVOAvatar::logMetricsTimerRecord(const std::string& phase_name, F32 elapsed, bool completed)
|
||||
{
|
||||
{
|
||||
if (!isAgentAvatarValid())
|
||||
{
|
||||
return;
|
||||
|
|
@ -6321,7 +6321,7 @@ void LLVOAvatar::updateMeshTextures()
|
|||
if (mesh)
|
||||
{
|
||||
mesh->setTexture( baked_img );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!isUsingLocalAppearance() && is_layer_baked[i])
|
||||
|
|
@ -6366,8 +6366,8 @@ void LLVOAvatar::updateMeshTextures()
|
|||
{
|
||||
mesh->setLayerSet( layerset );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
debugColorizeSubMeshes(i,LLColor4::blue);
|
||||
|
|
@ -6387,7 +6387,7 @@ void LLVOAvatar::updateMeshTextures()
|
|||
{
|
||||
LLAvatarJointMesh* mesh = (*iter);
|
||||
if (mesh)
|
||||
{
|
||||
{
|
||||
mesh->setColor( color );
|
||||
mesh->setTexture( hair_img );
|
||||
}
|
||||
|
|
@ -6481,8 +6481,8 @@ void LLVOAvatar::applyMorphMask(U8* tex_data, S32 width, S32 height, S32 num_com
|
|||
if (morph_target)
|
||||
{
|
||||
morph_target->applyMask(tex_data, width, height, num_components, maskedMorph->mInvert);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -6768,7 +6768,7 @@ void dump_visual_param(apr_file_t* file, LLVisualParam* viewer_param, F32 value)
|
|||
|
||||
void LLVOAvatar::dumpAppearanceMsgParams( const std::string& dump_prefix,
|
||||
const LLAppearanceMessageContents& contents)
|
||||
{
|
||||
{
|
||||
std::string outfilename = get_sequential_numbered_file_name(dump_prefix,".xml");
|
||||
const std::vector<F32>& params_for_dump = contents.mParamWeights;
|
||||
const LLTEContents& tec = contents.mTEContents;
|
||||
|
|
@ -7327,7 +7327,7 @@ void LLVOAvatar::useBakedTexture( const LLUUID& id )
|
|||
avatar_joint_mesh_list_t::iterator iter = mBakedTextureDatas[i].mJointMeshes.begin();
|
||||
avatar_joint_mesh_list_t::iterator end = mBakedTextureDatas[i].mJointMeshes.end();
|
||||
for (; iter != end; ++iter)
|
||||
{
|
||||
{
|
||||
LLAvatarJointMesh* mesh = (*iter);
|
||||
if (mesh)
|
||||
{
|
||||
|
|
@ -7375,7 +7375,7 @@ std::string get_sequential_numbered_file_name(const std::string& prefix,
|
|||
file_num_type::iterator it = file_nums.find(prefix);
|
||||
S32 num = 0;
|
||||
if (it != file_nums.end())
|
||||
{
|
||||
{
|
||||
num = it->second;
|
||||
}
|
||||
file_nums[prefix] = num+1;
|
||||
|
|
@ -7446,7 +7446,7 @@ void LLVOAvatar::dumpArchetypeXML(const std::string& prefix, bool group_by_weara
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Just dump all params sequentially.
|
||||
|
|
@ -7629,7 +7629,7 @@ void LLVOAvatar::setIsUsingServerBakes(BOOL newval)
|
|||
|
||||
// virtual
|
||||
void LLVOAvatar::removeMissingBakedTextures()
|
||||
{
|
||||
{
|
||||
}
|
||||
|
||||
//virtual
|
||||
|
|
@ -7937,7 +7937,7 @@ const std::string LLVOAvatar::getBakedStatusForPrintout() const
|
|||
++iter)
|
||||
{
|
||||
const ETextureIndex index = iter->first;
|
||||
const LLAvatarAppearanceDictionary::TextureEntry *texture_dict = iter->second;
|
||||
const LLVOAvatarDictionary::TextureEntry *texture_dict = iter->second;
|
||||
if (texture_dict->mIsBakedTexture)
|
||||
{
|
||||
line += texture_dict->mName;
|
||||
|
|
|
|||
|
|
@ -128,15 +128,15 @@ protected:
|
|||
public:
|
||||
/*virtual*/ void updateGL();
|
||||
/*virtual*/ LLVOAvatar* asAvatar();
|
||||
virtual U32 processUpdateMessage(LLMessageSystem *mesgsys,
|
||||
virtual U32 processUpdateMessage(LLMessageSystem *mesgsys,
|
||||
void **user_data,
|
||||
U32 block_num,
|
||||
const EObjectUpdateType update_type,
|
||||
LLDataPacker *dp);
|
||||
virtual void idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time);
|
||||
virtual void idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time);
|
||||
/*virtual*/ BOOL updateLOD();
|
||||
BOOL updateJointLODs();
|
||||
void updateLODRiggedAttachments( void );
|
||||
BOOL updateJointLODs();
|
||||
void updateLODRiggedAttachments( void );
|
||||
/*virtual*/ BOOL isActive() const; // Whether this object needs to do an idleUpdate.
|
||||
S32 totalTextureMemForUUIDS(std::set<LLUUID>& ids);
|
||||
bool allTexturesCompletelyDownloaded(std::set<LLUUID>& ids) const;
|
||||
|
|
|
|||
|
|
@ -602,7 +602,7 @@ LLVOAvatarSelf::~LLVOAvatarSelf()
|
|||
** **
|
||||
*********************************************************************************/
|
||||
|
||||
// virtual
|
||||
//virtual
|
||||
BOOL LLVOAvatarSelf::updateCharacter(LLAgent &agent)
|
||||
{
|
||||
// update screen joint size
|
||||
|
|
@ -866,10 +866,10 @@ void LLVOAvatarSelf::removeMissingBakedTextures()
|
|||
updateMeshTextures();
|
||||
if (getRegion() && !getRegion()->getCentralBakeVersion())
|
||||
{
|
||||
requestLayerSetUploads();
|
||||
}
|
||||
requestLayerSetUploads();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//virtual
|
||||
void LLVOAvatarSelf::updateRegion(LLViewerRegion *regionp)
|
||||
|
|
@ -1310,7 +1310,7 @@ void LLVOAvatarSelf::localTextureLoaded(BOOL success, LLViewerFetchedTexture *sr
|
|||
discard_level < local_tex_obj->getDiscard())
|
||||
{
|
||||
local_tex_obj->setDiscard(discard_level);
|
||||
requestLayerSetUpdate(index);
|
||||
requestLayerSetUpdate(index);
|
||||
if (isEditingAppearance())
|
||||
{
|
||||
LLVisualParamHint::requestHintUpdates();
|
||||
|
|
@ -1799,11 +1799,11 @@ void LLVOAvatarSelf::setLocalTexture(ETextureIndex type, LLViewerTexture* src_te
|
|||
{
|
||||
requestLayerSetUpdate(type);
|
||||
if (isEditingAppearance())
|
||||
{
|
||||
LLVisualParamHint::requestHintUpdates();
|
||||
}
|
||||
{
|
||||
LLVisualParamHint::requestHintUpdates();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
tex->setLoadedCallback(onLocalTextureLoaded, desired_discard, TRUE, FALSE, new LLAvatarTexData(getID(), type), NULL);
|
||||
|
|
@ -2580,25 +2580,25 @@ void LLVOAvatarSelf::addLocalTextureStats( ETextureIndex type, LLViewerFetchedTe
|
|||
//if (!covered_by_baked)
|
||||
{
|
||||
if (imagep->getID() != IMG_DEFAULT_AVATAR)
|
||||
{
|
||||
{
|
||||
imagep->setNoDelete();
|
||||
if (imagep->getDiscardLevel() != 0)
|
||||
{
|
||||
F32 desired_pixels;
|
||||
desired_pixels = llmin(mPixelArea, (F32)getTexImageArea());
|
||||
|
||||
imagep->setBoostLevel(getAvatarBoostLevel());
|
||||
{
|
||||
F32 desired_pixels;
|
||||
desired_pixels = llmin(mPixelArea, (F32)getTexImageArea());
|
||||
|
||||
imagep->setBoostLevel(getAvatarBoostLevel());
|
||||
imagep->setAdditionalDecodePriority(SELF_ADDITIONAL_PRI) ;
|
||||
imagep->resetTextureStats();
|
||||
imagep->setMaxVirtualSizeResetInterval(MAX_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL);
|
||||
imagep->addTextureStats( desired_pixels / texel_area_ratio );
|
||||
imagep->forceUpdateBindStats() ;
|
||||
if (imagep->getDiscardLevel() < 0)
|
||||
{
|
||||
mHasGrey = TRUE; // for statistics gathering
|
||||
}
|
||||
imagep->resetTextureStats();
|
||||
imagep->setMaxVirtualSizeResetInterval(MAX_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL);
|
||||
imagep->addTextureStats( desired_pixels / texel_area_ratio );
|
||||
imagep->forceUpdateBindStats() ;
|
||||
if (imagep->getDiscardLevel() < 0)
|
||||
{
|
||||
mHasGrey = TRUE; // for statistics gathering
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// texture asset is missing
|
||||
|
|
@ -2921,17 +2921,17 @@ void LLVOAvatarSelf::requestLayerSetUpdate(ETextureIndex index )
|
|||
|
||||
LLViewerTexLayerSet* LLVOAvatarSelf::getLayerSet(ETextureIndex index) const
|
||||
{
|
||||
/* switch(index)
|
||||
case TEX_HEAD_BAKED:
|
||||
case TEX_HEAD_BODYPAINT:
|
||||
return mHeadLayerSet; */
|
||||
/* switch(index)
|
||||
case TEX_HEAD_BAKED:
|
||||
case TEX_HEAD_BODYPAINT:
|
||||
return mHeadLayerSet; */
|
||||
const LLAvatarAppearanceDictionary::TextureEntry *texture_dict = LLAvatarAppearanceDictionary::getInstance()->getTexture(index);
|
||||
if (texture_dict->mIsUsedByBakedTexture)
|
||||
{
|
||||
const EBakedTextureIndex baked_index = texture_dict->mBakedTextureIndex;
|
||||
if (texture_dict->mIsUsedByBakedTexture)
|
||||
{
|
||||
const EBakedTextureIndex baked_index = texture_dict->mBakedTextureIndex;
|
||||
return getLayerSet(baked_index);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
LLViewerTexLayerSet* LLVOAvatarSelf::getLayerSet(EBakedTextureIndex baked_index) const
|
||||
|
|
@ -2959,7 +2959,7 @@ void LLVOAvatarSelf::onCustomizeStart(bool disable_camera_switch)
|
|||
gAgentAvatarp->mUseLocalAppearance = true;
|
||||
|
||||
if (gSavedSettings.getBOOL("AppearanceCameraMovement") && !disable_camera_switch)
|
||||
{
|
||||
{
|
||||
gAgentCamera.changeCameraToCustomizeAvatar();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5386,7 +5386,7 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
|
|||
}
|
||||
else
|
||||
{
|
||||
registerFace(group, facep, LLRenderPass::PASS_FULLBRIGHT);
|
||||
registerFace(group, facep, LLRenderPass::PASS_FULLBRIGHT);
|
||||
}
|
||||
if (LLPipeline::sRenderDeferred && !hud_group && LLPipeline::sRenderBump && te->getBumpmap())
|
||||
{ //if this is the deferred render and a bump map is present, register in post deferred bump
|
||||
|
|
@ -5408,10 +5408,10 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
|
|||
}
|
||||
else
|
||||
{
|
||||
registerFace(group, facep, LLRenderPass::PASS_SIMPLE);
|
||||
registerFace(group, facep, LLRenderPass::PASS_SIMPLE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!gPipeline.canUseVertexShaders() &&
|
||||
|
|
|
|||
|
|
@ -1677,7 +1677,7 @@ U32 LLPipeline::getPoolTypeFromTE(const LLTextureEntry* te, LLViewerTexture* ima
|
|||
alpha = false;
|
||||
break;
|
||||
default: //alpha mode set to "mask", go to alpha pool if fullbright
|
||||
alpha = false; // Material's alpha mode is set to none, mask, or emissive. Toss it into the opaque material draw pool.
|
||||
alpha = false; // Material's alpha mode is set to none, mask, or emissive. Toss it into the opaque material draw pool.
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -584,7 +584,7 @@ public:
|
|||
static BOOL sRenderDeferred;
|
||||
static BOOL sMemAllocationThrottled;
|
||||
static S32 sVisibleLightCount;
|
||||
static F32 sMinRenderSize;
|
||||
static F32 sMinRenderSize;
|
||||
static BOOL sRenderingHUDs;
|
||||
|
||||
//screen texture
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
#include "../llvovolume.h"
|
||||
|
||||
#include "../../llprimitive/llmediaentry.cpp"
|
||||
#include "../../llprimitive/llmaterialid.cpp"
|
||||
#include "../../llprimitive/lltextureentry.cpp"
|
||||
#include "../../llmessage/tests/llcurl_stub.cpp"
|
||||
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ namespace tut
|
|||
|
||||
ensure("importStream() fn failed ",
|
||||
llsaleinfo.getSalePrice() == llsaleinfo1.getSalePrice() &&
|
||||
llsaleinfo.getSaleType() == llsaleinfo1.getSaleType());
|
||||
llsaleinfo.getSaleType() == llsaleinfo1.getSaleType());
|
||||
}
|
||||
|
||||
template<> template<>
|
||||
|
|
|
|||
Loading…
Reference in New Issue