diff options
Diffstat (limited to 'indra')
32 files changed, 472 insertions, 299 deletions
diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index b1970fba35..9224b04549 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -59,7 +59,7 @@ add_subdirectory(${LIBS_OPEN_PREFIX}llmessage) add_subdirectory(${LIBS_OPEN_PREFIX}llprimitive) add_subdirectory(${LIBS_OPEN_PREFIX}llrender) add_subdirectory(${LIBS_OPEN_PREFIX}llfilesystem) -if (NOT CMAKE_SYSTEM_NAME MATCHES FreeBSD) +if (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64))) add_subdirectory(${LIBS_OPEN_PREFIX}llwebrtc) endif () add_subdirectory(${LIBS_OPEN_PREFIX}llwindow) diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index df5f05a200..5a9e10b38b 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -20,13 +20,14 @@ target_link_libraries( ll::boost INTERFACE boost_context${sfx} boost_fiber${sfx} boost_filesystem${sfx} - boost_json${sfx} boost_program_options${sfx} boost_system${sfx} boost_thread${sfx} boost_url${sfx} ) -if (NOT WINDOWS) +if (WINDOWS) + target_link_libraries( ll::boost INTERFACE boost_json${sfx}) +else () target_link_libraries( ll::boost INTERFACE boost_regex${sfx}) endif () target_compile_definitions( ll::boost INTERFACE BOOST_BIND_GLOBAL_PLACEHOLDERS ) diff --git a/indra/cmake/CURL.cmake b/indra/cmake/CURL.cmake index 06d5927174..211c3ae9a0 100644 --- a/indra/cmake/CURL.cmake +++ b/indra/cmake/CURL.cmake @@ -5,8 +5,9 @@ include(Linking) include_guard() add_library( ll::libcurl INTERFACE IMPORTED ) -#use_system_binary(libcurl) -if (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR WINDOWS) +if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) +use_system_binary(libcurl) +elseif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR WINDOWS) use_prebuilt_binary(curl) if (DARWIN) execute_process( diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index 6a24f62619..7aa266d2db 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -18,7 +18,7 @@ if( USE_CONAN ) "${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/1.4/" ) endif() -if( LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD ) +if (LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD) # Build of the collada-dom for Linux and FreeBSD is done in # indra/llprimitive/CMakeLists.txt return() @@ -28,41 +28,39 @@ else () pkg_check_modules(Libxml2 REQUIRED libxml-2.0) target_link_libraries( ll::minizip-ng INTERFACE ${Minizip_LIBRARIES} ) target_link_libraries( ll::libxml INTERFACE ${Libxml2_LIBRARIES} ) - if( ${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0 ) - if( NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz ) + if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0) + if (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz) file(DOWNLOAD https://github.com/secondlife/3p-colladadom/archive/refs/tags/v2.3-r8.tar.gz ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz ) - endif() + endif () file(ARCHIVE_EXTRACT INPUT ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz DESTINATION ${CMAKE_BINARY_DIR} ) - if ( WINDOWS ) - execute_process( - COMMAND sed -i "s/SHARED/STATIC/" CMakeLists.txt - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4 - ) + if (WINDOWS) execute_process( - COMMAND sed -i "/#include <cstdarg>/a #define WIN32" daeUtils.cpp - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/dae + COMMAND sed -i "s/SHARED/STATIC/" 1.4/CMakeLists.txt + COMMAND sed -i "/#include <cstdarg>/a #define WIN32" dae/daeUtils.cpp + COMMAND sed -i "/using namespace cdom;/a namespace boost{void boost::throw_exception(class std::exception const &){}}" dae/daeURI.cpp + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src ) else () execute_process( - COMMAND sed -i "" -e "s/SHARED/STATIC/" CMakeLists.txt - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4 + COMMAND sed -i "" -e "s/SHARED/STATIC/" src/1.4/CMakeLists.txt + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 ) endif () - if( DARWIN ) + if (DARWIN) set(BOOST_CFLAGS -I${Libxml2_LIBRARY_DIRS}exec/boost/1.87/include) set(BOOST_LIBS -L${Minizip_LIBRARY_DIRS}exec/boost/1.87/lib) set(BOOST_LIBRARY_SUFFIX -mt) - elseif( WINDOWS ) + elseif (WINDOWS) set(BOOST_CFLAGS -I${prefix_result}/../include) set(BOOST_LIBS -L${prefix_result}) set(BOOST_LIBRARY_SUFFIX -vc143-mt-x64-1_88) - endif() + endif () file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/collada/1.4) try_compile(COLLADADOM_RESULT PROJECT colladadom @@ -85,17 +83,7 @@ else () -DOPT_COLLADA14:BOOL=ON -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:PATH=${LIBS_PREBUILT_DIR}/include/collada ) - if( ${COLLADADOM_RESULT} ) - execute_process( - COMMAND ${CMAKE_MAKE_PROGRAM} install - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 - OUTPUT_VARIABLE colladadom_installed - ) - file(RENAME - ${ARCH_PREBUILT_DIRS}/libcollada14dom.a - ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom.a - ) - elseif ( WINDOWS ) + if (WINDOWS) execute_process( COMMAND MSBuild.exe ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/Project.sln -p:Configuration=Release WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 @@ -114,12 +102,22 @@ else () ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4/Release/collada14dom.lib ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom23-s.lib ) - endif() + elseif (${COLLADADOM_RESULT}) + execute_process( + COMMAND ${CMAKE_MAKE_PROGRAM} install + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 + OUTPUT_VARIABLE colladadom_installed + ) + file(RENAME + ${ARCH_PREBUILT_DIRS}/libcollada14dom.a + ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom.a + ) + endif () file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "${colladadom_installed}") - endif() -endif() + endif () +endif () -if( FALSE ) +if (FALSE) use_system_binary( colladadom ) use_prebuilt_binary(colladadom) @@ -137,7 +135,7 @@ if (WINDOWS) else() target_link_libraries( ll::libxml INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libxml2.a) endif() -endif( FALSE ) +endif (FALSE) target_include_directories( ll::colladadom SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/collada diff --git a/indra/cmake/LibVLCPlugin.cmake b/indra/cmake/LibVLCPlugin.cmake index 5ed77af0c2..45ef25a63c 100644 --- a/indra/cmake/LibVLCPlugin.cmake +++ b/indra/cmake/LibVLCPlugin.cmake @@ -27,6 +27,12 @@ if (DARWIN) target_include_directories( ll::libvlc SYSTEM INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/include) target_link_directories( ll::libvlc INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib) target_link_libraries( ll::libvlc INTERFACE vlc vlccore ) +elseif (WINDOWS) +use_prebuilt_binary(vlc-bin) + target_link_libraries( ll::libvlc INTERFACE + libvlc.lib + libvlccore.lib + ) else () include(FindPkgConfig) pkg_check_modules(Libvlc REQUIRED libvlc vlc-plugin) @@ -35,7 +41,6 @@ else () target_link_libraries( ll::libvlc INTERFACE ${Libvlc_LIBRARIES} ) endif () -#use_prebuilt_binary(vlc-bin) set(LIBVLCPLUGIN ON CACHE BOOL "LIBVLCPLUGIN support for the llplugin/llmedia test apps.") diff --git a/indra/cmake/OpenSSL.cmake b/indra/cmake/OpenSSL.cmake index ef90068993..afa2ba377d 100644 --- a/indra/cmake/OpenSSL.cmake +++ b/indra/cmake/OpenSSL.cmake @@ -5,8 +5,9 @@ include(Linking) include_guard() add_library( ll::openssl INTERFACE IMPORTED ) -#use_system_binary(openssl) -if (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR WINDOWS) +if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) +use_system_binary(openssl) +elseif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR WINDOWS) use_prebuilt_binary(openssl) if (DARWIN) execute_process( diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 454ed8c0a1..5a750fe7f3 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -8,7 +8,7 @@ add_library( ll::webrtc INTERFACE IMPORTED ) target_include_directories( ll::webrtc SYSTEM INTERFACE "${LIBS_PREBUILT_DIR}/include/webrtc" "${LIBS_PREBUILT_DIR}/include/webrtc/third_party/abseil-cpp") if (${LINUX_DISTRO} MATCHES debian OR CMAKE_OSX_ARCHITECTURES MATCHES x86_64 OR WINDOWS) use_prebuilt_binary(webrtc) -elseif (NOT CMAKE_SYSTEM_NAME MATCHES FreeBSD) +elseif (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64))) target_compile_definitions(ll::webrtc INTERFACE CM_WEBRTC=1) if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/webrtc_installed OR NOT ${webrtc_installed} EQUAL 0) if (DARWIN) diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 6c1e1ef64a..04d14ff321 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -285,7 +285,7 @@ target_link_libraries( target_include_directories(llcommon INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(llcommon PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) -if (CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) +if (CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR CMAKE_SYSTEM_PROCESSOR MATCHES aarch64 OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64)) if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/sse2neon_installed OR NOT ${sse2neon_installed} EQUAL 0) file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/sse2neon) if (NOT EXISTS ${LIBS_PREBUILT_DIR}/include/sse2neon/sse2neon.h) diff --git a/indra/llcommon/llpreprocessor.h b/indra/llcommon/llpreprocessor.h index e9f07f6fdf..268109e8b7 100644 --- a/indra/llcommon/llpreprocessor.h +++ b/indra/llcommon/llpreprocessor.h @@ -169,7 +169,11 @@ #define LL_TO_STRING_HELPER(x) #x #define LL_TO_STRING(x) LL_TO_STRING_HELPER(x) +#if _M_ARM64 +#define LL_TO_WSTRING_HELPER(x) L## #x +#else #define LL_TO_WSTRING_HELPER(x) L#x +#endif #define LL_TO_WSTRING(x) LL_TO_WSTRING_HELPER(x) #define LL_FILE_LINENO_MSG(msg) __FILE__ "(" LL_TO_STRING(__LINE__) ") : " msg #define LL_GLUE_IMPL(x, y) x##y diff --git a/indra/llcommon/llsdjson.cpp b/indra/llcommon/llsdjson.cpp index a3f80b7c2e..a4b45ed80d 100644 --- a/indra/llcommon/llsdjson.cpp +++ b/indra/llcommon/llsdjson.cpp @@ -35,7 +35,11 @@ #include "llerror.h" #include "../llmath/llmath.h" +#if LL_WINDOWS #include <boost/json.hpp> +#else +#include <boost/json/src.hpp> +#endif //========================================================================= LLSD LlsdFromJson(const boost::json::value& val) diff --git a/indra/llfilesystem/lldir.cpp b/indra/llfilesystem/lldir.cpp index e8e5d6538b..d12080aafa 100644 --- a/indra/llfilesystem/lldir.cpp +++ b/indra/llfilesystem/lldir.cpp @@ -121,7 +121,11 @@ std::vector<std::string> LLDir::getFilesInDir(const std::string &dirname) { if (boost::filesystem::is_regular_file(dir_itr->status())) { +#if LL_WINDOWS + v.push_back(utf16str_to_utf8str(dir_itr->path().filename().wstring())); +#else v.push_back(dir_itr->path().filename().string()); +#endif } } } diff --git a/indra/llfilesystem/lldiriterator.cpp b/indra/llfilesystem/lldiriterator.cpp index 61f768c512..cd99c79357 100644 --- a/indra/llfilesystem/lldiriterator.cpp +++ b/indra/llfilesystem/lldiriterator.cpp @@ -72,7 +72,11 @@ LLDirIterator::Impl::Impl(const std::string &dirname, const std::string &mask) if (!is_dir) { +#if LL_WINDOWS + LL_WARNS() << "Invalid path: \"" << utf16str_to_utf8str(dir_path.wstring()) << "\"" << LL_ENDL; +#else LL_WARNS() << "Invalid path: \"" << dir_path.string() << "\"" << LL_ENDL; +#endif return; } @@ -130,7 +134,11 @@ bool LLDirIterator::Impl::next(std::string &fname) while (mIter != end_itr && !found) { boost::smatch match; +#if LL_WINDOWS + std::string name = utf16str_to_utf8str(mIter->path().filename().wstring()); +#else std::string name = mIter->path().filename().string(); +#endif found = ll_regex_match(name, match, mFilterExp); if (found) { diff --git a/indra/llfilesystem/lldiskcache.cpp b/indra/llfilesystem/lldiskcache.cpp index 49904911a9..d9b223fb49 100644 --- a/indra/llfilesystem/lldiskcache.cpp +++ b/indra/llfilesystem/lldiskcache.cpp @@ -114,14 +114,22 @@ void LLDiskCache::purge() { if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed()) { +#if LL_WINDOWS + if (utf16str_to_utf8str((*iter).path().wstring()).find(CACHE_FILENAME_PREFIX) != std::string::npos) +#else if ((*iter).path().string().find(CACHE_FILENAME_PREFIX) != std::string::npos) +#endif { uintmax_t file_size = boost::filesystem::file_size(*iter, ec); if (ec.failed()) { continue; } +#if LL_WINDOWS + const std::string file_path = utf16str_to_utf8str((*iter).path().wstring()); +#else const std::string file_path = (*iter).path().string(); +#endif const std::time_t file_time = boost::filesystem::last_write_time(*iter, ec); if (ec.failed()) { @@ -159,10 +167,16 @@ void LLDiskCache::purge() } if (should_remove) { +#if LL_WINDOWS + boost::filesystem::remove(utf8str_to_utf16str(entry.second.second), ec); +#else boost::filesystem::remove(entry.second.second, ec); +#endif if (ec.failed()) { +#if !LL_WINDOWS LL_WARNS() << "Failed to delete cache file " << entry.second.second << ": " << ec.message() << LL_ENDL; +#endif } } } @@ -237,12 +251,18 @@ void LLDiskCache::clearCache() { if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed()) { +#if LL_WINDOWS + if (utf16str_to_utf8str((*iter).path().wstring()).find(CACHE_FILENAME_PREFIX) != std::string::npos) +#else if ((*iter).path().string().find(CACHE_FILENAME_PREFIX) != std::string::npos) +#endif { boost::filesystem::remove(*iter, ec); if (ec.failed()) { +#if !LL_WINDOWS LL_WARNS() << "Failed to delete cache file " << *iter << ": " << ec.message() << LL_ENDL; +#endif } } } @@ -270,13 +290,20 @@ void LLDiskCache::removeOldVFSFiles() { if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed()) { +#if LL_WINDOWS + if ((utf16str_to_utf8str((*iter).path().wstring()).find(CACHE_FORMAT) != std::string::npos) || + (utf16str_to_utf8str((*iter).path().wstring()).find(DB_FORMAT) != std::string::npos)) +#else if (((*iter).path().string().find(CACHE_FORMAT) != std::string::npos) || ((*iter).path().string().find(DB_FORMAT) != std::string::npos)) +#endif { boost::filesystem::remove(*iter, ec); if (ec.failed()) { +#if !LL_WINDOWS LL_WARNS() << "Failed to delete cache file " << *iter << ": " << ec.message() << LL_ENDL; +#endif } } } @@ -311,7 +338,11 @@ uintmax_t LLDiskCache::dirFileSize(const std::string& dir) { if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed()) { +#if LL_WINDOWS + if (utf16str_to_utf8str((*iter).path().wstring()).find(CACHE_FILENAME_PREFIX) != std::string::npos) +#else if ((*iter).path().string().find(CACHE_FILENAME_PREFIX) != std::string::npos) +#endif { uintmax_t file_size = boost::filesystem::file_size(*iter, ec); if (!ec.failed()) diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp index 17f403e8e8..5eb22332d4 100644 --- a/indra/llplugin/llpluginclassmedia.cpp +++ b/indra/llplugin/llpluginclassmedia.cpp @@ -33,9 +33,7 @@ #include "llpluginmessageclasses.h" #include "llcontrol.h" -#if LL_DARWIN || LL_LINUX || __FreeBSD__ extern LLControlGroup gSavedSettings; -#endif #if LL_DARWIN extern bool gHiDPISupport; #endif @@ -936,10 +934,8 @@ void LLPluginClassMedia::setUserDataPath(const std::string &user_data_path_cache message.setValue("username", username); // cef shares cache between users but creates user-based contexts message.setValue("cef_log_file", user_data_path_cef_log); -#if LL_DARWIN || LL_LINUX || __FreeBSD__ bool cef_verbose_log = gSavedSettings.getBOOL("CefVerboseLog"); message.setValueBoolean("cef_verbose_log", cef_verbose_log); -#endif sendMessage(message); } diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp index 19a0ce639a..9e4640d20a 100644 --- a/indra/llplugin/llpluginprocessparent.cpp +++ b/indra/llplugin/llpluginprocessparent.cpp @@ -275,6 +275,9 @@ void LLPluginProcessParent::init(const std::string &launcher_filename, const std { mProcessParams.executable = launcher_filename; mProcessParams.cwd = plugin_dir; +#if LL_WINDOWS + mProcessParams.envs.add(llformat("SYSTEMROOT=%s", getenv("SYSTEMROOT"))); +#endif mPluginFile = plugin_filename; mPluginDir = plugin_dir; mCPUUsage = 0.0f; diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index d29731894f..2100e6f556 100644 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -66,14 +66,14 @@ if (BUILD_SHARED_LIBS) endif () if (INSTALL) - if (DARWIN) + if (DARWIN OR WINDOWS) install(TARGETS ${PROJECT_NAME} DESTINATION .) elseif (${LINUX_DISTRO} MATCHES arch) install(TARGETS ${PROJECT_NAME} DESTINATION lib/${VIEWER_BINARY_NAME}) - else (DARWIN) + else () install(TARGETS ${PROJECT_NAME} DESTINATION libexec/${VIEWER_BINARY_NAME}) - endif (DARWIN) -endif (INSTALL) + endif () +endif () if (LL_TESTS) ll_deploy_sharedlibs_command(SLPlugin) diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index 70a28a1740..ac66faaf5a 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -238,8 +238,6 @@ PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC wglBlitContextFramebufferAMD = n PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = nullptr; PFNWGLGETSWAPINTERVALEXTPROC wglGetSwapIntervalEXT = nullptr; -/* - // GL_VERSION_1_2 //PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements = nullptr; //PFNGLTEXIMAGE3DPROC glTexImage3D = nullptr; @@ -984,7 +982,6 @@ PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glMultiDrawArraysIndirectCount = nullpt PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glMultiDrawElementsIndirectCount = nullptr; PFNGLPOLYGONOFFSETCLAMPPROC glPolygonOffsetClamp = nullptr; -*/ #endif LLGLManager gGLManager; @@ -1434,7 +1431,6 @@ void LLGLManager::initExtensions() mInited = true; -/* #if LL_WINDOWS LL_DEBUGS("RenderInit") << "GL Probe: Getting symbols" << LL_ENDL; @@ -2272,7 +2268,6 @@ void LLGLManager::initExtensions() glPolygonOffsetClamp = (PFNGLPOLYGONOFFSETCLAMPPROC)GLH_EXT_GET_PROC_ADDRESS("glPolygonOffsetClamp"); #endif -*/ } void rotate_quat(LLQuaternion& rotation) diff --git a/indra/llwebrtc/CMakeLists.txt b/indra/llwebrtc/CMakeLists.txt index 6c0216234c..a64a3e4dac 100644 --- a/indra/llwebrtc/CMakeLists.txt +++ b/indra/llwebrtc/CMakeLists.txt @@ -82,8 +82,13 @@ if (INSTALL) set(_LIB lib/${ARCH}-linux-gnu) elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo)) set(_LIB lib${ADDRESS_SIZE}) - else (DARWIN) + else () set(_LIB lib) - endif (DARWIN) - install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB}) -endif (INSTALL) + endif () + + if (WINDOWS) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${PROJECT_NAME}.dll DESTINATION .) + else () + install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB}) + endif () +endif () diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index 9142a4516a..97b82ba050 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -193,8 +193,39 @@ if (INSTALL) DIRECTORY ${AUTOBUILD_INSTALL_DIR}/resources/locales DESTINATION ${_LIB} ) - else (DARWIN) + elseif (WINDOWS) + set(_LIB llplugin) + install( + PROGRAMS + ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${PROJECT_NAME}.dll + ${AUTOBUILD_INSTALL_DIR}/bin/release/chrome_elf.dll + ${AUTOBUILD_INSTALL_DIR}/bin/release/d3dcompiler_47.dll + ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host.exe + ${AUTOBUILD_INSTALL_DIR}/bin/release/libEGL.dll + ${AUTOBUILD_INSTALL_DIR}/bin/release/libGLESv2.dll + ${AUTOBUILD_INSTALL_DIR}/bin/release/libcef.dll + ${AUTOBUILD_INSTALL_DIR}/bin/release/libvlc.dll + ${AUTOBUILD_INSTALL_DIR}/bin/release/libvlccore.dll + DESTINATION llplugin + ) + install( + FILES + ${AUTOBUILD_INSTALL_DIR}/resources/chrome_100_percent.pak + ${AUTOBUILD_INSTALL_DIR}/resources/chrome_200_percent.pak + ${AUTOBUILD_INSTALL_DIR}/resources/icudtl.dat + ${AUTOBUILD_INSTALL_DIR}/resources/resources.pak + ${AUTOBUILD_INSTALL_DIR}/bin/release/snapshot_blob.bin + ${AUTOBUILD_INSTALL_DIR}/bin/release/v8_context_snapshot.bin + DESTINATION llplugin + ) + install( + DIRECTORY ${AUTOBUILD_INSTALL_DIR}/resources/locales + DESTINATION llplugin + ) + else () set(_LIB lib) - endif (DARWIN) - install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB}) -endif (INSTALL) + endif () + if (NOT WINDOWS) + install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB}) + endif () +endif () diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index e99f25a1df..1919f54a82 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -95,8 +95,13 @@ if (INSTALL) set(_LIB lib/${ARCH}-linux-gnu) elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo)) set(_LIB lib${ADDRESS_SIZE}) - else (DARWIN) + else () set(_LIB lib) - endif (DARWIN) - install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB}) -endif (INSTALL) + endif () + if (WINDOWS) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${PROJECT_NAME}.dll DESTINATION llplugin) + install(DIRECTORY ${AUTOBUILD_INSTALL_DIR}/bin/release/plugins DESTINATION llplugin) + else () + install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB}) + endif () +endif () diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 6657eee0b2..c8fba68e7c 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -745,7 +745,7 @@ set(viewer_SOURCE_FILES rlvhandler.cpp ) -if (CMAKE_SYSTEM_NAME MATCHES FreeBSD) +if (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64)) list(REMOVE_ITEM viewer_SOURCE_FILES llvoicewebrtc.cpp) endif () @@ -1750,6 +1750,62 @@ list(APPEND EVENT_HOST_SCRIPTS ${EVENT_HOST_SCRIPT_GLOB_LIST}) set(PACKAGE ON CACHE BOOL "Add a package target that builds an installer package.") +if (PACKAGE) + set(CPACK_PACKAGE_NAME ${VIEWER_BINARY_NAME} + CACHE STRING "Viewer binary name.") + set(CPACK_PACKAGE_VERSION ${VIEWER_VERSION_MAJOR}.${VIEWER_VERSION_MINOR}.${VIEWER_VERSION_PATCH}.${VIEWER_VERSION_REVISION} + CACHE STRING "Viewer major.minor.patch.revision versions.") + set(VIEWER_PACKAGE_COMMENT "A fork of the Second Life viewer") + set(VIEWER_PACKAGE_DESCRIPTION "An entrance to virtual empires in only megabytes. A shelter for the metaverse refugees, especially those from less supported operating systems.") + set(VIEWER_PACKAGE_DOMAIN_NAME ${VIEWER_BINARY_NAME}.net) +endif () + +if (CMAKE_COMMAND MATCHES /usr/bin/cmake OR WINDOWS) + add_custom_command( + TARGET ${VIEWER_BINARY_NAME} POST_BUILD + COMMAND sed + ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/^ .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sort + ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND paste + ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt + COMMAND sed + ARGS -i 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt + ) +else () + add_custom_command( + TARGET ${VIEWER_BINARY_NAME} POST_BUILD + COMMAND sed + ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '' -e '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '' -e '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '' -e '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '' -e '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '' -e '/^ .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sort + ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND paste + ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt + COMMAND sed + ARGS -i '' -e 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt + ) +endif () + if(USE_PRECOMPILED_HEADERS) target_precompile_headers( ${VIEWER_BINARY_NAME} PRIVATE llviewerprecompiledheaders.h ) endif(USE_PRECOMPILED_HEADERS) @@ -1907,6 +1963,17 @@ if (WINDOWS) endif (NOT UNATTENDED) if (PACKAGE) + + set(CPACK_NSIS_DISPLAY_NAME ${VIEWER_BINARY_NAME}) + set(CPACK_NSIS_PACKAGE_NAME ${VIEWER_BINARY_NAME}) + set(CPACK_NSIS_HELP_LINK https://${VIEWER_PACKAGE_DOMAIN_NAME}) + set(CPACK_NSIS_URL_INFO_ABOUT https://${VIEWER_PACKAGE_DOMAIN_NAME}) + set(CPACK_NSIS_CONTACT $ENV{USER}@${VIEWER_PACKAGE_DOMAIN_NAME}) + set(CPACK_NSIS_WELCOME_TITLE "Welcome to ${VIEWER_BINARY_NAME}!") + set(CPACK_NSIS_MENU_LINKS Megapahit.exe "Megapahit Viewer") + set(CPACK_PACKAGE_INSTALL_DIRECTORY ${VIEWER_BINARY_NAME}) + + if (FALSE) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.xz COMMAND ${PYTHON_EXECUTABLE} @@ -1953,6 +2020,7 @@ if (WINDOWS) # temporarily disable packaging of event_host until hg subrepos get # sorted out on the parabuild cluster... #${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.xz) + endif (FALSE) endif (PACKAGE) elseif (DARWIN) @@ -2023,7 +2091,7 @@ target_link_libraries(${VIEWER_BINARY_NAME} ll::openxr ) -if (NOT CMAKE_SYSTEM_NAME MATCHES FreeBSD) +if (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64))) target_link_libraries(${VIEWER_BINARY_NAME} llwebrtc ) endif () @@ -2124,38 +2192,47 @@ foreach(elem ${country_codes}) configure_file(${emoji_mapping_src_file} ${emoji_mapping_dst_file} COPYONLY) endforeach() -if (PACKAGE) - set(CPACK_PACKAGE_NAME ${VIEWER_BINARY_NAME} - CACHE STRING "Viewer binary name.") - set(CPACK_PACKAGE_VERSION ${VIEWER_VERSION_MAJOR}.${VIEWER_VERSION_MINOR}.${VIEWER_VERSION_PATCH}.${VIEWER_VERSION_REVISION} - CACHE STRING "Viewer major.minor.patch.revision versions.") - set(VIEWER_PACKAGE_COMMENT "A fork of the Second Life viewer") - set(VIEWER_PACKAGE_DESCRIPTION "An entrance to virtual empires in only megabytes. A shelter for the metaverse refugees, especially those from less supported operating systems.") - set(VIEWER_PACKAGE_DOMAIN_NAME ${VIEWER_BINARY_NAME}.net) -endif () - if (LINUX) - add_custom_command( - TARGET ${VIEWER_BINARY_NAME} POST_BUILD - COMMAND ${CMAKE_SYSROOT}/usr/bin/sed - ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND ${CMAKE_SYSROOT}/usr/bin/sed - ARGS -i '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND ${CMAKE_SYSROOT}/usr/bin/sed - ARGS -i '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND ${CMAKE_SYSROOT}/usr/bin/sed - ARGS -i '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND ${CMAKE_SYSROOT}/usr/bin/sed - ARGS -i '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND ${CMAKE_SYSROOT}/usr/bin/sed - ARGS -i '/^ .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND sort - ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND paste - ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt - COMMAND ${CMAKE_SYSROOT}/usr/bin/sed - ARGS -i 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt + if (FALSE) + set(product SecondLife-${ARCH}-${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}) + + # These are the generated targets that are copied to package/ + set(COPY_INPUT_DEPENDENCIES + ${VIEWER_BINARY_NAME} + SLPlugin + #media_plugin_gstreamer010 + llcommon ) + + #if (NOT USE_BUGSPLAT) + # LIST(APPEND COPY_INPUT_DEPENDENCIES linux-crash-logger) + #endif (NOT USE_BUGSPLAT) + + add_custom_command( + OUTPUT ${product}.tar.xz + COMMAND ${PYTHON_EXECUTABLE} + ARGS + ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + --arch=${ARCH} + --artwork=${ARTWORK_DIR} + "--bugsplat=${BUGSPLAT_DB}" + "--openal=${USE_OPENAL}" + "--tracy=${USE_TRACY}" + --build=${CMAKE_CURRENT_BINARY_DIR} + --buildtype=${CMAKE_BUILD_TYPE} + "--channel=${VIEWER_CHANNEL}" + --configuration=${CMAKE_CFG_INTDIR} + --dest=${CMAKE_CURRENT_BINARY_DIR}/packaged + --grid=${GRID} + --source=${CMAKE_CURRENT_SOURCE_DIR} + --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched + --versionfile=${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt + DEPENDS + ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + ${COPY_INPUT_DEPENDENCIES} + ) + endif (FALSE) + if (PACKAGE) if (${LINUX_DISTRO} MATCHES arch) configure_file( @@ -2204,47 +2281,6 @@ if (LINUX) endif (PACKAGE) if (FALSE) - set(product SecondLife-${ARCH}-${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}) - - # These are the generated targets that are copied to package/ - set(COPY_INPUT_DEPENDENCIES - ${VIEWER_BINARY_NAME} - SLPlugin - #media_plugin_gstreamer010 - llcommon - ) - - #if (NOT USE_BUGSPLAT) - # LIST(APPEND COPY_INPUT_DEPENDENCIES linux-crash-logger) - #endif (NOT USE_BUGSPLAT) - - add_custom_command( - OUTPUT ${product}.tar.xz - COMMAND ${PYTHON_EXECUTABLE} - ARGS - ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - --arch=${ARCH} - --artwork=${ARTWORK_DIR} - "--bugsplat=${BUGSPLAT_DB}" - "--openal=${USE_OPENAL}" - "--tracy=${USE_TRACY}" - --build=${CMAKE_CURRENT_BINARY_DIR} - --buildtype=${CMAKE_BUILD_TYPE} - "--channel=${VIEWER_CHANNEL}" - --configuration=${CMAKE_CFG_INTDIR} - --dest=${CMAKE_CURRENT_BINARY_DIR}/packaged - --grid=${GRID} - --source=${CMAKE_CURRENT_SOURCE_DIR} - --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched - --versionfile=${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt - DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - ${COPY_INPUT_DEPENDENCIES} - ) - - if (PACKAGE) - endif (PACKAGE) - add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.copy_touched COMMAND ${PYTHON_EXECUTABLE} @@ -2280,45 +2316,22 @@ if (LINUX) endif (PACKAGE) endif (FALSE) -else (LINUX) - add_custom_command( - TARGET ${VIEWER_BINARY_NAME} POST_BUILD - COMMAND sed - ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND sed - ARGS -i '' -e '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND sed - ARGS -i '' -e '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND sed - ARGS -i '' -e '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND sed - ARGS -i '' -e '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND sed - ARGS -i '' -e '/^ .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND sort - ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt - COMMAND paste - ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt - COMMAND sed - ARGS -i '' -e 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt - ) - if (CMAKE_SYSTEM_NAME MATCHES FreeBSD AND PACKAGE) - set(CPACK_BINARY_FREEBSD ON CACHE BOOL "Able to package FreeBSD PKG.") - set(CPACK_FREEBSD_PACKAGE_COMMENT ${VIEWER_PACKAGE_COMMENT} - CACHE STRING "FreeBSD package comment.") - set(CPACK_FREEBSD_PACKAGE_DESCRIPTION ${VIEWER_PACKAGE_DESCRIPTION} - CACHE STRING "FreeBSD package description.") - set(CPACK_FREEBSD_PACKAGE_WWW https://${VIEWER_PACKAGE_DOMAIN_NAME} - CACHE STRING "FreeBSD package WWW.") - set(CPACK_FREEBSD_PACKAGE_LICENSE LGPL21 - CACHE STRING "FreeBSD package license.") - set(CPACK_FREEBSD_PACKAGE_MAINTAINER $ENV{USER}@${VIEWER_PACKAGE_DOMAIN_NAME} - CACHE STRING "FreeBSD package maintainer.") - set(CPACK_FREEBSD_PACKAGE_ORIGIN net/${VIEWER_BINARY_NAME} - CACHE STRING "FreeBSD package origin.") - set(CPACK_FREEBSD_PACKAGE_DEPS "audio/freealut;devel/apr;devel/boost-libs;x11-toolkits/fltk;textproc/hunspell;misc/meshoptimizer;archivers/minizip;www/libnghttp2;graphics/openjpeg;devel/sdl2;multimedia/vlc;audio/libvorbis" - CACHE STRING "FreeBSD package dependencies.") - endif () +elseif (CMAKE_SYSTEM_NAME MATCHES FreeBSD AND PACKAGE) + set(CPACK_BINARY_FREEBSD ON CACHE BOOL "Able to package FreeBSD PKG.") + set(CPACK_FREEBSD_PACKAGE_COMMENT ${VIEWER_PACKAGE_COMMENT} + CACHE STRING "FreeBSD package comment.") + set(CPACK_FREEBSD_PACKAGE_DESCRIPTION ${VIEWER_PACKAGE_DESCRIPTION} + CACHE STRING "FreeBSD package description.") + set(CPACK_FREEBSD_PACKAGE_WWW https://${VIEWER_PACKAGE_DOMAIN_NAME} + CACHE STRING "FreeBSD package WWW.") + set(CPACK_FREEBSD_PACKAGE_LICENSE LGPL21 + CACHE STRING "FreeBSD package license.") + set(CPACK_FREEBSD_PACKAGE_MAINTAINER $ENV{USER}@${VIEWER_PACKAGE_DOMAIN_NAME} + CACHE STRING "FreeBSD package maintainer.") + set(CPACK_FREEBSD_PACKAGE_ORIGIN net/${VIEWER_BINARY_NAME} + CACHE STRING "FreeBSD package origin.") + set(CPACK_FREEBSD_PACKAGE_DEPS "audio/freealut;devel/apr;devel/boost-libs;x11-toolkits/fltk;textproc/hunspell;misc/meshoptimizer;archivers/minizip;www/libnghttp2;graphics/openjpeg;devel/sdl2;multimedia/vlc;audio/libvorbis" + CACHE STRING "FreeBSD package dependencies.") endif (LINUX) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 353ec290ec..e2fe13c9ab 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -84,6 +84,88 @@ if (DARWIN) endif (PACKAGE) install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake) +elseif (WINDOWS) + + install(DIRECTORY + app_settings + character + fonts + skins + DESTINATION . + ) + + install(FILES + ${AUTOBUILD_INSTALL_DIR}/ca-bundle.crt + cube.dae + featuretable.txt + DESTINATION . + ) + + install(FILES + licenses-win32.txt + RENAME licenses.txt + DESTINATION . + ) + + install(FILES + ${SCRIPTS_DIR}/messages/message_template.msg + ${SCRIPTS_DIR}/../etc/message.xml + ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt + DESTINATION app_settings + ) + + install(DIRECTORY + ${AUTOBUILD_INSTALL_DIR}/dictionaries + DESTINATION app_settings + ) + + install( + PROGRAMS + ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${VIEWER_BINARY_NAME}.exe + ${prefix_result}/../bin/OpenAL32.dll + ${prefix_result}/../bin/alut.dll + ${prefix_result}/../bin/boost_context-vc143-mt-x${ADDRESS_SIZE}-1_88.dll + ${prefix_result}/../bin/boost_fiber-vc143-mt-x${ADDRESS_SIZE}-1_88.dll + ${prefix_result}/../bin/boost_filesystem-vc143-mt-x${ADDRESS_SIZE}-1_88.dll + ${prefix_result}/../bin/boost_json-vc143-mt-x${ADDRESS_SIZE}-1_88.dll + ${prefix_result}/../bin/boost_program_options-vc143-mt-x${ADDRESS_SIZE}-1_88.dll + ${prefix_result}/../bin/boost_thread-vc143-mt-x${ADDRESS_SIZE}-1_88.dll + ${prefix_result}/../bin/boost_url-vc143-mt-x${ADDRESS_SIZE}-1_88.dll + ${prefix_result}/../bin/brotlicommon.dll + ${prefix_result}/../bin/brotlidec.dll + ${prefix_result}/../bin/bz2.dll + ${prefix_result}/../bin/fmt.dll + ${prefix_result}/../bin/freetype.dll + ${prefix_result}/../bin/hunspell-1.7-0.dll + ${prefix_result}/../bin/iconv-2.dll + ${prefix_result}/../bin/jpeg62.dll + ${prefix_result}/../bin/libapr-1.dll + ${prefix_result}/../bin/libaprutil-1.dll + ${prefix_result}/../bin/libexpat.dll + ${prefix_result}/../bin/libpng16.dll + ${prefix_result}/../bin/libxml2.dll + ${prefix_result}/../bin/meshoptimizer.dll + ${prefix_result}/../bin/minizip.dll + ${prefix_result}/../bin/nghttp2.dll + ${prefix_result}/../bin/ogg.dll + ${prefix_result}/../bin/openjp2.dll + ${prefix_result}/../bin/vorbis.dll + ${prefix_result}/../bin/vorbisenc.dll + ${prefix_result}/../bin/vorbisfile.dll + ${prefix_result}/../bin/zlib1.dll + DESTINATION . + ) + + install( + PROGRAMS + ${prefix_result}/../bin/boost_context-vc143-mt-x${ADDRESS_SIZE}-1_88.dll + ${prefix_result}/../bin/boost_fiber-vc143-mt-x${ADDRESS_SIZE}-1_88.dll + ${prefix_result}/../bin/libapr-1.dll + ${prefix_result}/../bin/libaprutil-1.dll + ${prefix_result}/../bin/libexpat.dll + DESTINATION llplugin + ) + else (DARWIN) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME} diff --git a/indra/newview/icons/test/secondlife.ico b/indra/newview/icons/test/secondlife.ico Binary files differindex ceb8e8e6eb..c8430a6bd3 100644 --- a/indra/newview/icons/test/secondlife.ico +++ b/indra/newview/icons/test/secondlife.ico diff --git a/indra/newview/icons/test/secondlife_256.BMP b/indra/newview/icons/test/secondlife_256.BMP Binary files differindex e23fcfdbe9..829db82c52 100644 --- a/indra/newview/icons/test/secondlife_256.BMP +++ b/indra/newview/icons/test/secondlife_256.BMP diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 3f716cc4ef..94e8fabcb2 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -131,12 +131,10 @@ #include "stringize.h" #include "llcoros.h" #include "llexception.h" -#if !LL_WINDOWS -#if LL_DARWIN || LL_LINUX || __FreeBSD__ +#if 1 // !LL_LINUX #include "cef/dullahan_version.h" -#endif // LL_DARWIN || LL_LINUX || __FreeBSD__ #include "vlc/libvlc_version.h" -#endif // !LL_WINDOWS +#endif // LL_LINUX #if LL_DARWIN #if LL_SDL @@ -989,7 +987,7 @@ bool LLAppViewer::init() return false; } -#if defined(__i386__) || defined(__x86_64__) || defined(__amd64__) +#if defined(__i386__) || defined(__x86_64__) || defined(__amd64__) || _M_X64 // Without SSE2 support we will crash almost immediately, warn here. if (!gSysCPU.hasSSE2()) { @@ -1547,11 +1545,7 @@ bool LLAppViewer::doFrame() if(fpsLimitSleepFor) { #if LL_WINDOWS - U64 time1 = 0, time2 = 0; - QueryPerformanceCounter((LARGE_INTEGER *)&time1); - do { - QueryPerformanceCounter((LARGE_INTEGER *)&time2); - } while ((time2-time1) < fpsLimitSleepFor); + std::this_thread::sleep_for(std::chrono::microseconds(fpsLimitSleepFor)); #else usleep(fpsLimitSleepFor); #endif @@ -3433,7 +3427,7 @@ LLSD LLAppViewer::getViewerInfo() const info["VOICE_VERSION"] = LLTrans::getString("NotConnected"); } -#if LL_DARWIN || LL_LINUX || __FreeBSD__ +#if 1 // !LL_LINUX std::ostringstream cef_ver_codec; cef_ver_codec << "Dullahan: "; cef_ver_codec << DULLAHAN_VERSION_MAJOR; @@ -3463,7 +3457,7 @@ LLSD LLAppViewer::getViewerInfo() const info["LIBCEF_VERSION"] = "Undefined"; #endif -#if !LL_WINDOWS +#if 1 // !LL_LINUX std::ostringstream vlc_ver_codec; vlc_ver_codec << LIBVLC_VERSION_MAJOR; vlc_ver_codec << "."; diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index e5eb2f8008..9b1f54437e 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -26,7 +26,7 @@ #include "llvoiceclient.h" #include "llvoicevivox.h" -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 #include "llvoicewebrtc.h" #endif #include "llviewernetwork.h" @@ -122,7 +122,7 @@ LLVoiceModuleInterface *getVoiceModule(const std::string &voice_server_type) { return (LLVoiceModuleInterface *) LLVivoxVoiceClient::getInstance(); } -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 else if (voice_server_type == WEBRTC_VOICE_SERVER_TYPE) { return (LLVoiceModuleInterface *) LLWebRTCVoiceClient::getInstance(); @@ -169,7 +169,7 @@ void LLVoiceClient::init(LLPumpIO *pump) { // Initialize all of the voice modules m_servicePump = pump; -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->init(pump); #endif LLVivoxVoiceClient::getInstance()->init(pump); @@ -182,7 +182,7 @@ void LLVoiceClient::userAuthorized(const std::string& user_id, const LLUUID &age mRegionChangedCallbackSlot.disconnect(); } mRegionChangedCallbackSlot = gAgent.addRegionChangedCallback(boost::bind(&LLVoiceClient::onRegionChanged, this)); -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->userAuthorized(user_id, agentID); #endif LLVivoxVoiceClient::getInstance()->userAuthorized(user_id, agentID); @@ -294,7 +294,7 @@ void LLVoiceClient::setNonSpatialVoiceModule(const std::string &voice_server_typ void LLVoiceClient::setHidden(bool hidden) { LL_INFOS("Voice") << "( " << (hidden ? "true" : "false") << " )" << LL_ENDL; -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->setHidden(hidden); #endif LLVivoxVoiceClient::getInstance()->setHidden(hidden); @@ -337,7 +337,7 @@ void LLVoiceClient::updateSettings() updateMicMuteLogic(); -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->updateSettings(); #endif LLVivoxVoiceClient::getInstance()->updateSettings(); @@ -348,7 +348,7 @@ void LLVoiceClient::updateSettings() void LLVoiceClient::tuningStart() { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->tuningStart(); #endif LLVivoxVoiceClient::getInstance()->tuningStart(); @@ -356,7 +356,7 @@ void LLVoiceClient::tuningStart() void LLVoiceClient::tuningStop() { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->tuningStop(); #endif LLVivoxVoiceClient::getInstance()->tuningStop(); @@ -364,7 +364,7 @@ void LLVoiceClient::tuningStop() bool LLVoiceClient::inTuningMode() { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return LLWebRTCVoiceClient::getInstance()->inTuningMode(); #else return LLVivoxVoiceClient::getInstance()->inTuningMode(); @@ -373,7 +373,7 @@ bool LLVoiceClient::inTuningMode() void LLVoiceClient::tuningSetMicVolume(float volume) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->tuningSetMicVolume(volume); #else LLVivoxVoiceClient::getInstance()->tuningSetMicVolume(volume); @@ -382,7 +382,7 @@ void LLVoiceClient::tuningSetMicVolume(float volume) void LLVoiceClient::tuningSetSpeakerVolume(float volume) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->tuningSetSpeakerVolume(volume); #else LLVivoxVoiceClient::getInstance()->tuningSetSpeakerVolume(volume); @@ -391,7 +391,7 @@ void LLVoiceClient::tuningSetSpeakerVolume(float volume) float LLVoiceClient::tuningGetEnergy(void) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return LLWebRTCVoiceClient::getInstance()->tuningGetEnergy(); #else return LLVivoxVoiceClient::getInstance()->tuningGetEnergy(); @@ -403,7 +403,7 @@ float LLVoiceClient::tuningGetEnergy(void) bool LLVoiceClient::deviceSettingsAvailable() { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return LLWebRTCVoiceClient::getInstance()->deviceSettingsAvailable(); #else return LLVivoxVoiceClient::getInstance()->deviceSettingsAvailable(); @@ -412,7 +412,7 @@ bool LLVoiceClient::deviceSettingsAvailable() bool LLVoiceClient::deviceSettingsUpdated() { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return LLWebRTCVoiceClient::getInstance()->deviceSettingsUpdated(); #else return LLVivoxVoiceClient::getInstance()->deviceSettingsUpdated(); @@ -421,7 +421,7 @@ bool LLVoiceClient::deviceSettingsUpdated() void LLVoiceClient::refreshDeviceLists(bool clearCurrentList) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->refreshDeviceLists(clearCurrentList); #else LLVivoxVoiceClient::getInstance()->refreshDeviceLists(clearCurrentList); @@ -431,7 +431,7 @@ void LLVoiceClient::refreshDeviceLists(bool clearCurrentList) void LLVoiceClient::setCaptureDevice(const std::string& name) { LLVivoxVoiceClient::getInstance()->setCaptureDevice(name); -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->setCaptureDevice(name); #endif } @@ -439,14 +439,14 @@ void LLVoiceClient::setCaptureDevice(const std::string& name) void LLVoiceClient::setRenderDevice(const std::string& name) { LLVivoxVoiceClient::getInstance()->setRenderDevice(name); -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->setRenderDevice(name); #endif } const LLVoiceDeviceList& LLVoiceClient::getCaptureDevices() { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return LLWebRTCVoiceClient::getInstance()->getCaptureDevices(); #else return LLVivoxVoiceClient::getInstance()->getCaptureDevices(); @@ -456,7 +456,7 @@ const LLVoiceDeviceList& LLVoiceClient::getCaptureDevices() const LLVoiceDeviceList& LLVoiceClient::getRenderDevices() { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return LLWebRTCVoiceClient::getInstance()->getRenderDevices(); #else return LLVivoxVoiceClient::getInstance()->getRenderDevices(); @@ -469,7 +469,7 @@ const LLVoiceDeviceList& LLVoiceClient::getRenderDevices() void LLVoiceClient::getParticipantList(std::set<LLUUID> &participants) const { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->getParticipantList(participants); #endif LLVivoxVoiceClient::getInstance()->getParticipantList(participants); @@ -477,7 +477,7 @@ void LLVoiceClient::getParticipantList(std::set<LLUUID> &participants) const bool LLVoiceClient::isParticipant(const LLUUID &speaker_id) const { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return LLWebRTCVoiceClient::getInstance()->isParticipant(speaker_id) || #else return @@ -574,7 +574,7 @@ void LLVoiceClient::activateSpatialChannel(bool activate) bool LLVoiceClient::isCurrentChannel(const LLSD& channelInfo) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return LLWebRTCVoiceClient::getInstance()->isCurrentChannel(channelInfo) || #else return @@ -584,7 +584,7 @@ bool LLVoiceClient::isCurrentChannel(const LLSD& channelInfo) bool LLVoiceClient::compareChannels(const LLSD &channelInfo1, const LLSD &channelInfo2) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return LLWebRTCVoiceClient::getInstance()->compareChannels(channelInfo1, channelInfo2) || #else return @@ -630,7 +630,7 @@ LLVoiceP2POutgoingCallInterface *LLVoiceClient::getOutgoingCallInterface(const L void LLVoiceClient::setVoiceVolume(F32 volume) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->setVoiceVolume(volume); #endif LLVivoxVoiceClient::getInstance()->setVoiceVolume(volume); @@ -638,7 +638,7 @@ void LLVoiceClient::setVoiceVolume(F32 volume) void LLVoiceClient::setMicGain(F32 gain) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->setMicGain(gain); #endif LLVivoxVoiceClient::getInstance()->setMicGain(gain); @@ -687,7 +687,7 @@ bool LLVoiceClient::voiceEnabled() void LLVoiceClient::setVoiceEnabled(bool enabled) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 if (LLWebRTCVoiceClient::instanceExists()) { LLWebRTCVoiceClient::getInstance()->setVoiceEnabled(enabled); @@ -715,7 +715,7 @@ void LLVoiceClient::updateMicMuteLogic() // Either of these always overrides any other PTT setting. new_mic_mute = true; } -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->setMuteMic(new_mic_mute); #endif LLVivoxVoiceClient::getInstance()->setMuteMic(new_mic_mute); @@ -812,7 +812,7 @@ bool LLVoiceClient::getVoiceEnabled(const LLUUID& id) const std::string LLVoiceClient::getDisplayName(const LLUUID& id) const { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 std::string result = LLWebRTCVoiceClient::getInstance()->getDisplayName(id); if (result.empty()) { @@ -826,7 +826,7 @@ std::string LLVoiceClient::getDisplayName(const LLUUID& id) const bool LLVoiceClient::isVoiceWorking() const { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return LLVivoxVoiceClient::getInstance()->isVoiceWorking() || LLWebRTCVoiceClient::getInstance()->isVoiceWorking(); #else @@ -846,7 +846,7 @@ bool LLVoiceClient::isOnlineSIP(const LLUUID& id) bool LLVoiceClient::getIsSpeaking(const LLUUID& id) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return LLWebRTCVoiceClient::getInstance()->getIsSpeaking(id) || #else return @@ -858,7 +858,7 @@ bool LLVoiceClient::getIsModeratorMuted(const LLUUID& id) { // don't bother worrying about p2p calls, as // p2p calls don't have mute. -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return LLWebRTCVoiceClient::getInstance()->getIsModeratorMuted(id) || #else return @@ -868,7 +868,7 @@ bool LLVoiceClient::getIsModeratorMuted(const LLUUID& id) F32 LLVoiceClient::getCurrentPower(const LLUUID& id) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return std::fmax(LLVivoxVoiceClient::getInstance()->getCurrentPower(id), LLWebRTCVoiceClient::getInstance()->getCurrentPower(id)); #else @@ -885,7 +885,7 @@ bool LLVoiceClient::getOnMuteList(const LLUUID& id) F32 LLVoiceClient::getUserVolume(const LLUUID& id) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 return std::fmax(LLVivoxVoiceClient::getInstance()->getUserVolume(id), LLWebRTCVoiceClient::getInstance()->getUserVolume(id)); #else return LLVivoxVoiceClient::getInstance()->getUserVolume(id); @@ -894,7 +894,7 @@ F32 LLVoiceClient::getUserVolume(const LLUUID& id) void LLVoiceClient::setUserVolume(const LLUUID& id, F32 volume) { -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->setUserVolume(id, volume); #endif LLVivoxVoiceClient::getInstance()->setUserVolume(id, volume); @@ -906,7 +906,7 @@ void LLVoiceClient::setUserVolume(const LLUUID& id, F32 volume) void LLVoiceClient::addObserver(LLVoiceClientStatusObserver* observer) { LLVivoxVoiceClient::getInstance()->addObserver(observer); -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->addObserver(observer); #endif } @@ -917,7 +917,7 @@ void LLVoiceClient::removeObserver(LLVoiceClientStatusObserver* observer) { LLVivoxVoiceClient::getInstance()->removeObserver(observer); } -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 if (LLWebRTCVoiceClient::instanceExists()) { LLWebRTCVoiceClient::getInstance()->removeObserver(observer); @@ -928,7 +928,7 @@ void LLVoiceClient::removeObserver(LLVoiceClientStatusObserver* observer) void LLVoiceClient::addObserver(LLFriendObserver* observer) { LLVivoxVoiceClient::getInstance()->addObserver(observer); -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->addObserver(observer); #endif } @@ -939,7 +939,7 @@ void LLVoiceClient::removeObserver(LLFriendObserver* observer) { LLVivoxVoiceClient::getInstance()->removeObserver(observer); } -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 if (LLWebRTCVoiceClient::instanceExists()) { LLWebRTCVoiceClient::getInstance()->removeObserver(observer); @@ -950,7 +950,7 @@ void LLVoiceClient::removeObserver(LLFriendObserver* observer) void LLVoiceClient::addObserver(LLVoiceClientParticipantObserver* observer) { LLVivoxVoiceClient::getInstance()->addObserver(observer); -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 LLWebRTCVoiceClient::getInstance()->addObserver(observer); #endif } @@ -961,7 +961,7 @@ void LLVoiceClient::removeObserver(LLVoiceClientParticipantObserver* observer) { LLVivoxVoiceClient::getInstance()->removeObserver(observer); } -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 if (LLWebRTCVoiceClient::instanceExists()) { LLWebRTCVoiceClient::getInstance()->removeObserver(observer); @@ -1029,7 +1029,7 @@ class LLViewerRequiredVoiceVersion : public LLHTTPNode { voiceModule = (LLVoiceModuleInterface *) LLVivoxVoiceClient::getInstance(); } -#if !__FreeBSD__ +#if !__FreeBSD__ && !_M_ARM64 else if (voice_server_type == "webrtc") { voiceModule = (LLVoiceModuleInterface *) LLWebRTCVoiceClient::getInstance(); diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc index 4ee26a312a..b01f5e700d 100755 --- a/indra/newview/res/viewerRes.rc +++ b/indra/newview/res/viewerRes.rc @@ -152,13 +152,13 @@ BEGIN BEGIN BLOCK "040904b0" BEGIN - VALUE "CompanyName", "Linden Lab" - VALUE "FileDescription", "Second Life" + VALUE "CompanyName", "Megapahit" + VALUE "FileDescription", "Megapahit viewer" VALUE "FileVersion", "${VIEWER_VERSION_MAJOR}.${VIEWER_VERSION_MINOR}.${VIEWER_VERSION_PATCH}.${VIEWER_VERSION_REVISION}" - VALUE "InternalName", "Second Life" - VALUE "LegalCopyright", "Copyright (c) 2020, Linden Research, Inc." - VALUE "OriginalFilename", "SecondLife.exe" - VALUE "ProductName", "Second Life" + VALUE "InternalName", "Megapahit" + VALUE "LegalCopyright", "Copyright (c) 2025, Megapahit." + VALUE "OriginalFilename", "Megapahit.exe" + VALUE "ProductName", "Megapahit viewer" VALUE "ProductVersion", "${VIEWER_VERSION_MAJOR}.${VIEWER_VERSION_MINOR}.${VIEWER_VERSION_PATCH}.${VIEWER_VERSION_REVISION}" END END diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index 09b134eac5..de047f5010 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -70,7 +70,7 @@ follows="all" left="10" name="megapahit_credits_panel" - height="420" + height="405" top="10"> <text follows="top|left|right" @@ -81,37 +81,29 @@ top="0" width="435" wrap="true"> -Megapahit is brought to you by (in order of appearance): +Megapahit is brought to you by: </text> <text_editor enabled="false" + font="Monospace" follows="top|left" - height="260" + height="200" bg_readonly_color="Transparent" left="5" text_color="LtGray" max_length="65536" top_pad="5" - width="545" - word_wrap="true"> -Erik Kundiman -LinneNoir -milo (observeur) -Fritigern Gothly -Kou Ayashi -Hadet Sonnenkern -Remmy (Secret Foxtail) -Eris Ravenwood -gwigz (nya) -EmilyAmiee -Bavid Dailey -Aria (Tashia Redrose) -Cate (32a) -Hiroo Ono -Melodey -Keysin (scoutkeysin) -Yikes Lopez -~ ( ^-^ ) ~ (cutie_qu) + width="475" + word_wrap="false"> +Erik Kundiman LinneNoir +milo (observeur) Fritigern Gothly +Kou Ayashi Hadet Sonnenkern +Remmy (Secret Foxtail) Eris Ravenwood +gwigz (nya) EmilyAmiee +Bavid Dailey Aria (Tashia Redrose) +Cate (32a) Hiroo Ono +Melodey Keysin (scoutkeysin) +Yikes Lopez ~ ( ^-^ ) ~ (cutie_qu) </text_editor> <text follows="top|left" @@ -122,7 +114,7 @@ Yikes Lopez top_pad="5" width="465" wrap="true"> -with special thanks to (in order of appearance): +with special thanks to: </text> <text_editor enabled="false" @@ -136,12 +128,12 @@ with special thanks to (in order of appearance): top_pad="5" width="450" word_wrap="true"> -Chorazin Allen and Nicky Perian for involving Erik Kundiman in viewer developments; -JenniWindrider for the pre-MP donation that was used to help build the website; -Vir Linden for making it possible for the project to have a place (in every sense of the word) in SL; -nutsobvious for the early testing and video proof; -Soft Linden for the security testing; and -Kyle Linden for selling TPV parcel 2 to Erik Kundiman at L$0 price. +Chorazin Allen and Nicky Perian - Involving Erik Kundiman in viewer development +JenniWindrider - Pre-MP donation used to help build the website +Vir Linden - Making it possible for the project to have a place in SL +nutsobvious - Early testing and video proof +Soft Linden - Security testing +Kyle Linden - Giving TPV parcel 2 to Erik Kundiman </text_editor> </panel> </accordion_tab> @@ -197,7 +189,7 @@ Dummy Name replaced at run time <text_editor enabled="false" follows="left|top" - height="375" + height="400" bg_readonly_color="Transparent" left="5" text_color="LtGray" @@ -206,27 +198,27 @@ Dummy Name replaced at run time top="5" width="465" word_wrap="true"> - 3Dconnexion SDK Copyright (C) 1992-2009 3Dconnexion - APR Copyright (C) 2011 The Apache Software Foundation - Collada DOM Copyright 2006 Sony Computer Entertainment Inc. - cURL Copyright (C) 1996-2010, Daniel Stenberg, (daniel@haxx.se) - expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd. - FreeType Copyright (C) 1996-2002, 2006 David Turner, Robert Wilhelm, and Werner Lemberg. - GL Copyright (C) 1999-2004 Brian Paul. - jpeglib Copyright (C) 1991-1998, Thomas G. Lane. - llphysicsextensions_tpv Copyright (c) 2010, Linden Research, Inc. - meshoptimizer Copyright (c) 2016-2021 Arseny Kapoulkine - ogg/vorbis Copyright (C) 2002, Xiphophorus - OpenSSL Copyright (C) 1998-2008 The OpenSSL Project. - PCRE Copyright (c) 1997-2012 University of Cambridge - SDL Copyright (C) 1997-2024 Sam Lantinga - SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - xxHash Copyright (C) 2012-2020 Yann Collet. - zlib Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler. +3Dconnexion SDK Copyright (C) 1992-2009 3Dconnexion +APR Copyright (C) 2011 The Apache Software Foundation +Collada DOM Copyright 2006 Sony Computer Entertainment Inc. +cURL Copyright (C) 1996-2010, Daniel Stenberg, (daniel@haxx.se) +expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd. +FreeType Copyright (C) 1996-2002, 2006 David Turner, Robert Wilhelm, and Werner Lemberg. +GL Copyright (C) 1999-2004 Brian Paul. +jpeglib Copyright (C) 1991-1998, Thomas G. Lane. +llphysicsextensions_tpv Copyright (c) 2010, Linden Research, Inc. +meshoptimizer Copyright (c) 2016-2021 Arseny Kapoulkine +ogg/vorbis Copyright (C) 2002, Xiphophorus +OpenSSL Copyright (C) 1998-2008 The OpenSSL Project. +PCRE Copyright (c) 1997-2012 University of Cambridge +SDL Copyright (C) 1997-2024 Sam Lantinga +SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +xxHash Copyright (C) 2012-2020 Yann Collet. +zlib Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler. - This software contains source code provided by NVIDIA Corporation. +This software contains source code provided by NVIDIA Corporation. - All rights reserved. See licenses.txt for details. +All rights reserved. See licenses.txt for details. </text_editor> </panel> </tab_container> diff --git a/indra/newview/skins/default/xui/en/panel_fs_search_legacy_classifieds.xml b/indra/newview/skins/default/xui/en/panel_fs_search_legacy_classifieds.xml index 66c35558b1..cdbfd4ac56 100644 --- a/indra/newview/skins/default/xui/en/panel_fs_search_legacy_classifieds.xml +++ b/indra/newview/skins/default/xui/en/panel_fs_search_legacy_classifieds.xml @@ -36,16 +36,16 @@ left_delta="0" name="classifieds_edit" top="29" - width="651" /> + width="650" /> <combo_box follows="right|top" layout="topleft" height="23" allow_text_entry="false" top_delta="0" - left_pad="2" + left_pad="1" name="classifieds_category" - width="122"> + width="120"> <combo_box.commit_callback function="CommitSearch" /> </combo_box> diff --git a/indra/newview/skins/default/xui/en/panel_fs_search_legacy_events.xml b/indra/newview/skins/default/xui/en/panel_fs_search_legacy_events.xml index 57cb4990e4..00f5de5ed4 100644 --- a/indra/newview/skins/default/xui/en/panel_fs_search_legacy_events.xml +++ b/indra/newview/skins/default/xui/en/panel_fs_search_legacy_events.xml @@ -74,15 +74,15 @@ left="6" name="events_edit" top="29" - width="651" /> + width="650" /> <combo_box follows="right|top" layout="topleft" height="23" top_delta="0" - left_pad="2" + left_pad="1" name="events_category" - width="122"> + width="120"> <combo_box.item label="Any Category" name="any" value="0" /> <combo_box.item label="" value="filter_separator" enabled="false" /> <combo_box.item label="Discussion" name="discussion" value="18" /> diff --git a/indra/newview/skins/default/xui/en/panel_fs_search_legacy_places.xml b/indra/newview/skins/default/xui/en/panel_fs_search_legacy_places.xml index 09c142b8fc..c63818f8e3 100644 --- a/indra/newview/skins/default/xui/en/panel_fs_search_legacy_places.xml +++ b/indra/newview/skins/default/xui/en/panel_fs_search_legacy_places.xml @@ -36,16 +36,16 @@ left_delta="0" name="places_edit" top="29" - width="651" /> + width="650" /> <combo_box follows="right|top" layout="topleft" height="23" allow_text_entry="false" top_delta="0" - left_pad="2" + left_pad="1" name="places_category" - width="122"> + width="120"> <combo_box.commit_callback function="CommitSearch" /> </combo_box> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index c5a59fac2a..c3cbfed9fb 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -2942,13 +2942,13 @@ Expected .wav, .tga, .bmp, .jpg, .jpeg, or .anim <string name="None">None</string> <string name="Linden Location">Linden Location</string> <string name="Adult">Adult</string> - <string name="Arts&Culture">Arts & Culture</string> + <string name="Arts and Culture">Arts and Culture</string> <string name="Business">Business</string> <string name="Educational">Educational</string> <string name="Gaming">Gaming</string> <string name="Hangout">Hangout</string> <string name="Newcomer Friendly">Newcomer Friendly</string> - <string name="Parks&Nature">Parks & Nature</string> + <string name="Parks and Nature">Parks and Nature</string> <string name="Residential">Residential</string> <!--<string name="Shopping">Shopping</string> --> <string name="Stage">Stage</string> |