From 1a35d35587a37a33405f9324bf577f4e71caf8d9 Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Sat, 31 May 2025 00:11:44 -0600 Subject: DisableLookAtAnimation persistence Make DisableLookAtAnimation setting persistent across restarts. --- indra/newview/app_settings/settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index dee3ffa7e4..85ac38aa49 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -14980,7 +14980,7 @@ Comment Avatar follows cursor with avatars eyes, when disabled, avatar will look forward Persist - 0 + 1 Type Boolean Value -- cgit v1.2.3 From 564c9b34ab7ad19345a02c215bbef939e7d01eb2 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 1 Jun 2025 14:07:52 +0800 Subject: Add install eselect-repository to Gentoo steps and remove the necessity of using sudo to su on FreeBSD, just like on Gentoo. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a5fd7a08e0..78978a33f1 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ $ megapahit ### FreeBSD ``` -$ sudo su - +$ su - # portmaster devel/cmake devel/pkgconf audio/freealut devel/apr1 devel/boost-libs x11-toolkits/fltk math/glm textproc/hunspell misc/meshoptimizer archivers/minizip graphics/nanosvg www/libnghttp2 graphics/openjpeg devel/sdl20 multimedia/vlc audio/libvorbis devel/xxhash # exit $ setenv LL_BUILD "-O3 -std=c++20 -fPIC" @@ -75,6 +75,7 @@ $ megapahit ### Gentoo ``` $ su - +# emerge -a eselect-repository # eselect repository add megapahit git git://megapahit.org/ebuild.git # emaint sync -r megapahit # emerge -a megapahit -- cgit v1.2.3 From d3efdf379d38a1b54e41b22a0cad4ad3cafc907c Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Sun, 1 Jun 2025 15:01:53 -0600 Subject: Update openSUSE Tumbleweed readme & cmakelists Update libboost package names. --- README.md | 2 +- indra/newview/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 78978a33f1..b6dfa754c1 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ $ open newview/Megapahit.app ### openSUSE Tumbleweed ``` -$ sudo zypper install gcc-c++ patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_87_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel +$ sudo zypper install gcc-c++ patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra $ make -j`nproc` diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 80f0b60f98..32afa2ba5f 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2196,7 +2196,7 @@ if (LINUX) set(CPACK_RPM_PACKAGE_REQUIRES "apr-util, boost-fiber, boost-program-options, boost-regex, boost-thread, boost-url, expat, fltk, mesa-libGLU, hunspell, libnghttp2, openjpeg2, SDL2, vlc-libs, vlc-plugins-base, libvorbis" CACHE STRING "RPM package requirements.") else () - set(CPACK_RPM_PACKAGE_REQUIRES "libapr-util1-0, libboost_fiber1_87_0, libboost_program_options1_87_0, libboost_regex1_87_0, libboost_thread1_87_0, libboost_url1_87_0, libboost_url1_87_0-x86-64-v3, expat, libfltk1_3, libGLU1, libhunspell-1_7-0, libnghttp2-14, openjpeg2, libSDL2-2_0-0, libvlc5, vlc-codecs, libvorbis0" + set(CPACK_RPM_PACKAGE_REQUIRES "libapr-util1-0, libboost_fiber1_88_0, libboost_program_options1_88_0, libboost_regex1_88_0, libboost_thread1_88_0, libboost_url1_88_0, libboost_url1_88_0-x86-64-v3, expat, libfltk1_3, libGLU1, libhunspell-1_7-0, libnghttp2-14, openjpeg2, libSDL2-2_0-0, libvlc5, vlc-codecs, libvorbis0" CACHE STRING "RPM package requirements.") endif () endif () -- cgit v1.2.3 From fcdef29504a32ad85ce32c3d95ea8648aa169004 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 2 Jun 2025 07:09:27 +0800 Subject: Stop trying to force OpenGL version on non-macOS Turns out my old GPU is detected as complying only to 4.5 when on Linux. The fact that it's been detected as complying to 4.6 on FreeBSD this whole time, is quite ironic. I've only tested that the viewer runs with 4.6 without this on FreeBSD (the implication works), will test Linux distros next. --- indra/llwindow/llwindowsdl.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp index 69332e36b6..53092e4f2e 100644 --- a/indra/llwindow/llwindowsdl.cpp +++ b/indra/llwindow/llwindowsdl.cpp @@ -376,11 +376,9 @@ bool LLWindowSDL::createContext(int x, int y, int width, int height, int bits, b SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, depthBits); SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, stencilBits); - SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 4); #if LL_DARWIN + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 4); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); -#else - SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 6); #endif SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); -- cgit v1.2.3 From 2e6dd2843b6b7c287783393ade1892568896a5a0 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 2 Jun 2025 08:02:39 +0800 Subject: Revert "Stop trying to force OpenGL version on non-macOS" This reverts commit fcdef29504a32ad85ce32c3d95ea8648aa169004. The moment 1 or 2 lines got removed, we lost core profile again. --- indra/llwindow/llwindowsdl.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp index 53092e4f2e..69332e36b6 100644 --- a/indra/llwindow/llwindowsdl.cpp +++ b/indra/llwindow/llwindowsdl.cpp @@ -376,9 +376,11 @@ bool LLWindowSDL::createContext(int x, int y, int width, int height, int bits, b SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, depthBits); SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, stencilBits); -#if LL_DARWIN SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 4); +#if LL_DARWIN SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); +#else + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 6); #endif SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); -- cgit v1.2.3 From 08d4f307b0c2281f5aa4a11329c6c6e8c625e6ea Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 2 Jun 2025 11:16:09 +0800 Subject: Revert "Make using the system browser for links works" This reverts commit 0b62583eb7dd6e193d5daa2e24646bbb9f3c74e5. We have SDL for opening URLs now. --- indra/newview/ViewerInstall.cmake | 10 ---------- indra/newview/linux_tools/launch_url.sh | 1 - 2 files changed, 11 deletions(-) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 1281136cef..353ec290ec 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -90,16 +90,6 @@ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME} DESTINATION bin ) -if (${LINUX_DISTRO} MATCHES arch) - install(PROGRAMS linux_tools/launch_url.sh - DESTINATION lib/${VIEWER_BINARY_NAME} - ) -else (${LINUX_DISTRO} MATCHES arch) - install(PROGRAMS linux_tools/launch_url.sh - DESTINATION libexec/${VIEWER_BINARY_NAME} - ) -endif (${LINUX_DISTRO} MATCHES arch) - if (LINUX) if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) set(_LIB lib/${ARCH}-linux-gnu) diff --git a/indra/newview/linux_tools/launch_url.sh b/indra/newview/linux_tools/launch_url.sh index 7c4ebf2291..404ea36f26 100755 --- a/indra/newview/linux_tools/launch_url.sh +++ b/indra/newview/linux_tools/launch_url.sh @@ -61,7 +61,6 @@ fi # will be tried first, which is a debian alternative. BROWSER_COMMANDS=" \ x-www-browser \ - chrome \ firefox \ mozilla-firefox \ iceweasel \ -- cgit v1.2.3 From 9bae19198fdc7bfb71f900cfe6c1982cb2a80e4f Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 3 Jun 2025 16:20:27 +0800 Subject: Revert "Fix up llexception.h's cross-platform SEH wrapper." This reverts commit 5ed8df22cd59680a685c4ada7daa5555bf59d4fe. --- indra/llcommon/always_return.h | 16 ------ indra/llcommon/llexception.cpp | 24 ++++++--- indra/llcommon/llexception.h | 104 +++++++++++++++------------------------ indra/llwindow/llwindowwin32.cpp | 2 +- indra/test/test.cpp | 2 +- 5 files changed, 59 insertions(+), 89 deletions(-) diff --git a/indra/llcommon/always_return.h b/indra/llcommon/always_return.h index b99eb49096..a206471da5 100644 --- a/indra/llcommon/always_return.h +++ b/indra/llcommon/always_return.h @@ -79,22 +79,6 @@ namespace LL DESIRED mDefault; }; - // specialize for AlwaysReturn - template <> - struct AlwaysReturn - { - public: - AlwaysReturn() {} - - // callable returns a type not convertible to DESIRED, return default - template - void operator()(CALLABLE&& callable, ARGS&&... args) - { - // discard whatever callable(args) returns - std::forward(callable)(std::forward(args)...); - } - }; - /** * always_return(some_function, some_args...) calls * some_function(some_args...). It is guaranteed to return a value of type diff --git a/indra/llcommon/llexception.cpp b/indra/llcommon/llexception.cpp index 107fdc2b2d..74b33f1e3b 100644 --- a/indra/llcommon/llexception.cpp +++ b/indra/llcommon/llexception.cpp @@ -101,36 +101,44 @@ void annotate_exception_(boost::exception& exc) static constexpr U32 STATUS_MSC_EXCEPTION = 0xE06D7363; // compiler specific static constexpr U32 STATUS_STACK_FULL = 0xC00000FD; -void LL::seh::fill_stacktrace(std::string& stacktrace, U32 code) +U32 ll_seh_filter( + std::string& stacktrace, + std::function filter, + U32 code, + struct _EXCEPTION_POINTERS* exception_infop) { - // Sadly, despite its diagnostic importance, trying to capture a - // stacktrace when the stack is already blown only terminates us faster. + // By the time the handler gets control, the stack has been unwound, + // so report the stack trace now at filter() time. + // Even though stack overflow is a problem we would very much like to + // diagnose, calling another function when the stack is already blown only + // terminates us faster. if (code == STATUS_STACK_FULL) { stacktrace = "(stack overflow, no traceback)"; } else { - stacktrace = to_string(boost::stacktrace::stacktrace()); + stacktrace = boost::stacktrace::stacktrace().to_string(); } + + return filter(code, exception_infop); } -U32 LL::seh::common_filter(U32 code, struct _EXCEPTION_POINTERS*) +U32 seh_filter(U32 code, struct _EXCEPTION_POINTERS*) { if (code == STATUS_MSC_EXCEPTION) { - // C++ exception, don't stop at this handler + // C++ exception, go on return EXCEPTION_CONTINUE_SEARCH; } else { // This is a non-C++ exception, e.g. hardware check. - // Pass control into the handler block. return EXCEPTION_EXECUTE_HANDLER; } } -void LL::seh::rethrow(U32 code, const std::string& stacktrace) +void seh_rethrow(U32 code, const std::string& stacktrace) { std::ostringstream out; out << "Windows exception 0x" << std::hex << code; diff --git a/indra/llcommon/llexception.h b/indra/llcommon/llexception.h index f58a553eb3..3e50678b44 100644 --- a/indra/llcommon/llexception.h +++ b/indra/llcommon/llexception.h @@ -12,7 +12,6 @@ #if ! defined(LL_LLEXCEPTION_H) #define LL_LLEXCEPTION_H -#include "always_return.h" #include #include #include @@ -107,111 +106,90 @@ void log_unhandled_exception_(const char*, int, const char*, const std::string&) * Structured Exception Handling *****************************************************************************/ // this is used in platform-generic code -- define outside #if LL_WINDOWS -struct Windows_SEH_exception: public LLException +struct Windows_SEH_exception: public std::runtime_error { - Windows_SEH_exception(const std::string& what): LLException(what) {} + Windows_SEH_exception(const std::string& what): std::runtime_error(what) {} }; -namespace LL -{ -namespace seh -{ - #if LL_WINDOWS //------------------------------------------------------------- -void fill_stacktrace(std::string& stacktrace, U32 code); - -// wrapper around caller's U32 filter(U32 code, struct _EXCEPTION_POINTERS*) -// filter function: capture a stacktrace, if possible, before forwarding the -// call to the caller's filter() function -template -U32 filter_(std::string& stacktrace, FILTER&& filter, - U32 code, struct _EXCEPTION_POINTERS* exptrs) -{ - // By the time the handler gets control, the stack has been unwound, - // so report the stack trace now at filter() time. - fill_stacktrace(stacktrace, code); - return std::forward(filter)(code, exptrs); -} +#include +// triadic variant specifies try(), filter(U32, struct _EXCEPTION_POINTERS*), +// handler(U32, const std::string& stacktrace) +// stacktrace may or may not be available template -auto catcher_inner(std::string& stacktrace, - TRYCODE&& trycode, FILTER&& filter, HANDLER&& handler) +auto seh_catcher(TRYCODE&& trycode, FILTER&& filter, HANDLER&& handler) { + // don't try to construct a std::function at the moment of Structured Exception + std::function + filter_function(std::forward(filter)); + std::string stacktrace; __try { return std::forward(trycode)(); } - __except (filter_(stacktrace, - std::forward(filter), - GetExceptionCode(), GetExceptionInformation())) + __except (ll_seh_filter( + stacktrace, + filter_function, + GetExceptionCode(), + GetExceptionInformation())) { - return always_return( - std::forward(handler), GetExceptionCode(), stacktrace); + return std::forward(handler)(GetExceptionCode(), stacktrace); } } -// triadic variant specifies try(), filter(U32, struct _EXCEPTION_POINTERS*), -// handler(U32, const std::string& stacktrace) -// stacktrace may or may not be available -template -auto catcher(TRYCODE&& trycode, FILTER&& filter, HANDLER&& handler) -{ - // Construct and destroy this stacktrace string in the outer function - // because we can't do either in the function with __try/__except. - std::string stacktrace; - return catcher_inner(stacktrace, - std::forward(trycode), - std::forward(filter), - std::forward(handler)); -} - -// common_filter() handles the typical case in which we want our handler -// clause to handle only Structured Exceptions rather than explicitly-thrown -// C++ exceptions -U32 common_filter(U32 code, struct _EXCEPTION_POINTERS*); - -// dyadic variant specifies try(), handler(U32, stacktrace), assumes common_filter() +// dyadic variant specifies try(), handler(U32, stacktrace), assumes default filter template -auto catcher(TRYCODE&& trycode, HANDLER&& handler) +auto seh_catcher(TRYCODE&& trycode, HANDLER&& handler) { - return catcher(std::forward(trycode), - common_filter, - std::forward(handler)); + return seh_catcher( + std::forward(trycode), + seh_filter, + std::forward(handler)); } // monadic variant specifies try(), assumes default filter and handler template -auto catcher(TRYCODE&& trycode) +auto seh_catcher(TRYCODE&& trycode) { - return catcher(std::forward(trycode), rethrow); + return seh_catcher( + std::forward(trycode), + seh_filter, + seh_rethrow); } -[[noreturn]] void rethrow(U32 code, const std::string& stacktrace); +// SEH exception filtering for use in __try __except +// Separates C++ exceptions from C SEH exceptions +// Todo: might be good idea to do some kind of seh_to_msc_wrapper(function, ARGS&&); +U32 ll_seh_filter( + std::string& stacktrace, + std::function filter, + U32 code, + struct _EXCEPTION_POINTERS* exception_infop); +U32 seh_filter(U32 code, struct _EXCEPTION_POINTERS* exception_infop); +void seh_rethrow(U32 code, const std::string& stacktrace); #else // not LL_WINDOWS ----------------------------------------------------- template -auto catcher(TRYCODE&& trycode, FILTER&&, HANDLER&&) +auto seh_catcher(TRYCODE&& trycode, FILTER&&, HANDLER&&) { return std::forward(trycode)(); } template -auto catcher(TRYCODE&& trycode, HANDLER&&) +auto seh_catcher(TRYCODE&& trycode, HANDLER&&) { return std::forward(trycode)(); } template -auto catcher(TRYCODE&& trycode) +auto seh_catcher(TRYCODE&& trycode) { return std::forward(trycode)(); } #endif // not LL_WINDOWS ----------------------------------------------------- -} // namespace LL::seh -} // namespace LL - #endif /* ! defined(LL_LLEXCEPTION_H) */ diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index a781e638ee..97bd789134 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -160,7 +160,7 @@ HGLRC SafeCreateContext(HDC &hdc) GLuint SafeChoosePixelFormat(HDC &hdc, const PIXELFORMATDESCRIPTOR *ppfd) { - return LL::seh::catcher([hdc, ppfd]{ return ChoosePixelFormat(hdc, ppfd); }); + return seh_catcher(ChoosePixelFormat(hdc, ppfd)); } //static diff --git a/indra/test/test.cpp b/indra/test/test.cpp index 6e280819df..536c252d97 100644 --- a/indra/test/test.cpp +++ b/indra/test/test.cpp @@ -638,7 +638,7 @@ int main(int argc, char **argv) // a chained_callback subclass must be linked with previous mycallback->link(); - LL::seh::catcher( + seh_catcher( // __try [test_group] { -- cgit v1.2.3 From bbe51e86249114cac4716c391e267c499a52847a Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 3 Jun 2025 16:21:58 +0800 Subject: Revert "Promote seh_catcher() et al. to llexception.{h,cpp} for general use." This reverts commit 71d777ea126e7f02cb46c11bdb606094ca06f75c. --- indra/llcommon/llexception.cpp | 50 ++++------------------ indra/llcommon/llexception.h | 86 ++------------------------------------ indra/llwindow/llwindowwin32.cpp | 13 +++++- indra/newview/llappviewerwin32.cpp | 36 ++++++++++++++-- indra/test/test.cpp | 68 +++++++++++++++++++++++++++++- 5 files changed, 121 insertions(+), 132 deletions(-) diff --git a/indra/llcommon/llexception.cpp b/indra/llcommon/llexception.cpp index 74b33f1e3b..c0154a569f 100644 --- a/indra/llcommon/llexception.cpp +++ b/indra/llcommon/llexception.cpp @@ -15,12 +15,7 @@ #include "llexception.h" // STL headers // std headers -#include -#include #include -#if LL_WINDOWS -#include -#endif // LL_WINDOWS // external library headers #include #include @@ -34,6 +29,7 @@ // On Windows, header-only implementation causes macro collisions -- use // prebuilt library #define BOOST_STACKTRACE_LINK +#include #endif // LL_WINDOWS #include @@ -98,34 +94,15 @@ void annotate_exception_(boost::exception& exc) // For windows SEH exception handling we sometimes need a filter that will // separate C++ exceptions from C SEH exceptions -static constexpr U32 STATUS_MSC_EXCEPTION = 0xE06D7363; // compiler specific -static constexpr U32 STATUS_STACK_FULL = 0xC00000FD; +static const U32 STATUS_MSC_EXCEPTION = 0xE06D7363; // compiler specific -U32 ll_seh_filter( - std::string& stacktrace, - std::function filter, - U32 code, - struct _EXCEPTION_POINTERS* exception_infop) +U32 msc_exception_filter(U32 code, struct _EXCEPTION_POINTERS *exception_infop) { - // By the time the handler gets control, the stack has been unwound, - // so report the stack trace now at filter() time. - // Even though stack overflow is a problem we would very much like to - // diagnose, calling another function when the stack is already blown only - // terminates us faster. - if (code == STATUS_STACK_FULL) - { - stacktrace = "(stack overflow, no traceback)"; - } - else - { - stacktrace = boost::stacktrace::stacktrace().to_string(); - } - - return filter(code, exception_infop); -} + const auto stack = to_string(boost::stacktrace::stacktrace()); + LL_WARNS() << "SEH Exception handled (that probably shouldn't be): Code " << code + << "\n Stack trace: \n" + << stack << LL_ENDL; -U32 seh_filter(U32 code, struct _EXCEPTION_POINTERS*) -{ if (code == STATUS_MSC_EXCEPTION) { // C++ exception, go on @@ -133,20 +110,9 @@ U32 seh_filter(U32 code, struct _EXCEPTION_POINTERS*) } else { - // This is a non-C++ exception, e.g. hardware check. + // handle it return EXCEPTION_EXECUTE_HANDLER; } } -void seh_rethrow(U32 code, const std::string& stacktrace) -{ - std::ostringstream out; - out << "Windows exception 0x" << std::hex << code; - if (! stacktrace.empty()) - { - out << '\n' << stacktrace; - } - LLTHROW(Windows_SEH_exception(out.str())); -} - #endif //LL_WINDOWS diff --git a/indra/llcommon/llexception.h b/indra/llcommon/llexception.h index 3e50678b44..68e609444e 100644 --- a/indra/llcommon/llexception.h +++ b/indra/llcommon/llexception.h @@ -102,94 +102,14 @@ void crash_on_unhandled_exception_(const char*, int, const char*, const std::str log_unhandled_exception_(__FILE__, __LINE__, BOOST_CURRENT_FUNCTION, CONTEXT) void log_unhandled_exception_(const char*, int, const char*, const std::string&); -/***************************************************************************** -* Structured Exception Handling -*****************************************************************************/ -// this is used in platform-generic code -- define outside #if LL_WINDOWS -struct Windows_SEH_exception: public std::runtime_error -{ - Windows_SEH_exception(const std::string& what): std::runtime_error(what) {} -}; - -#if LL_WINDOWS //------------------------------------------------------------- - -#include - -// triadic variant specifies try(), filter(U32, struct _EXCEPTION_POINTERS*), -// handler(U32, const std::string& stacktrace) -// stacktrace may or may not be available -template -auto seh_catcher(TRYCODE&& trycode, FILTER&& filter, HANDLER&& handler) -{ - // don't try to construct a std::function at the moment of Structured Exception - std::function - filter_function(std::forward(filter)); - std::string stacktrace; - __try - { - return std::forward(trycode)(); - } - __except (ll_seh_filter( - stacktrace, - filter_function, - GetExceptionCode(), - GetExceptionInformation())) - { - return std::forward(handler)(GetExceptionCode(), stacktrace); - } -} - -// dyadic variant specifies try(), handler(U32, stacktrace), assumes default filter -template -auto seh_catcher(TRYCODE&& trycode, HANDLER&& handler) -{ - return seh_catcher( - std::forward(trycode), - seh_filter, - std::forward(handler)); -} -// monadic variant specifies try(), assumes default filter and handler -template -auto seh_catcher(TRYCODE&& trycode) -{ - return seh_catcher( - std::forward(trycode), - seh_filter, - seh_rethrow); -} +#if LL_WINDOWS // SEH exception filtering for use in __try __except // Separates C++ exceptions from C SEH exceptions // Todo: might be good idea to do some kind of seh_to_msc_wrapper(function, ARGS&&); -U32 ll_seh_filter( - std::string& stacktrace, - std::function filter, - U32 code, - struct _EXCEPTION_POINTERS* exception_infop); -U32 seh_filter(U32 code, struct _EXCEPTION_POINTERS* exception_infop); -void seh_rethrow(U32 code, const std::string& stacktrace); - -#else // not LL_WINDOWS ----------------------------------------------------- - -template -auto seh_catcher(TRYCODE&& trycode, FILTER&&, HANDLER&&) -{ - return std::forward(trycode)(); -} - -template -auto seh_catcher(TRYCODE&& trycode, HANDLER&&) -{ - return std::forward(trycode)(); -} - -template -auto seh_catcher(TRYCODE&& trycode) -{ - return std::forward(trycode)(); -} +U32 msc_exception_filter(U32 code, struct _EXCEPTION_POINTERS *exception_infop); -#endif // not LL_WINDOWS ----------------------------------------------------- +#endif //LL_WINDOWS #endif /* ! defined(LL_LLEXCEPTION_H) */ diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 97bd789134..4fca74497f 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -160,7 +160,18 @@ HGLRC SafeCreateContext(HDC &hdc) GLuint SafeChoosePixelFormat(HDC &hdc, const PIXELFORMATDESCRIPTOR *ppfd) { - return seh_catcher(ChoosePixelFormat(hdc, ppfd)); + __try + { + return ChoosePixelFormat(hdc, ppfd); + } + __except (EXCEPTION_EXECUTE_HANDLER) + { + // convert to C++ styled exception + // C exception don't allow classes, so it's a regular char array + char integer_string[32]; + sprintf(integer_string, "SEH, code: %lu\n", GetExceptionCode()); + throw std::exception(integer_string); + } } //static diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp index ef609026ad..4f5fa53312 100644 --- a/indra/newview/llappviewerwin32.cpp +++ b/indra/newview/llappviewerwin32.cpp @@ -396,10 +396,17 @@ void ll_nvapi_init(NvDRSSessionHandle hSession) } } -int APIENTRY wWinMain(HINSTANCE hInstance, - HINSTANCE hPrevInstance, - PWSTR pCmdLine, - int nCmdShow) +//#define DEBUGGING_SEH_FILTER 1 +#if DEBUGGING_SEH_FILTER +# define WINMAIN DebuggingWinMain +#else +# define WINMAIN wWinMain +#endif + +int APIENTRY WINMAIN(HINSTANCE hInstance, + HINSTANCE hPrevInstance, + PWSTR pCmdLine, + int nCmdShow) { // Call Tracy first thing to have it allocate memory // https://github.com/wolfpld/tracy/issues/196 @@ -548,6 +555,27 @@ int APIENTRY wWinMain(HINSTANCE hInstance, return 0; } +#if DEBUGGING_SEH_FILTER +// The compiler doesn't like it when you use __try/__except blocks +// in a method that uses object destructors. Go figure. +// This winmain just calls the real winmain inside __try. +// The __except calls our exception filter function. For debugging purposes. +int APIENTRY wWinMain(HINSTANCE hInstance, + HINSTANCE hPrevInstance, + PWSTR lpCmdLine, + int nCmdShow) +{ + __try + { + WINMAIN(hInstance, hPrevInstance, lpCmdLine, nCmdShow); + } + __except( viewer_windows_exception_handler( GetExceptionInformation() ) ) + { + _tprintf( _T("Exception handled.\n") ); + } +} +#endif + void LLAppViewerWin32::disableWinErrorReporting() { std::string executable_name = gDirUtilp->getExecutableFilename(); diff --git a/indra/test/test.cpp b/indra/test/test.cpp index 536c252d97..09147a65a3 100644 --- a/indra/test/test.cpp +++ b/indra/test/test.cpp @@ -36,7 +36,6 @@ #include "linden_common.h" #include "llerrorcontrol.h" -#include "llexception.h" #include "lltut.h" #include "chained_callback.h" #include "stringize.h" @@ -57,6 +56,13 @@ #include #include +// On Mac, got: +// #error "Boost.Stacktrace requires `_Unwind_Backtrace` function. Define +// `_GNU_SOURCE` macro or `BOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED` if +// _Unwind_Backtrace is available without `_GNU_SOURCE`." +#define BOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED +#include + #include void wouldHaveCrashed(const std::string& message); @@ -506,6 +512,64 @@ void wouldHaveCrashed(const std::string& message) static LLTrace::ThreadRecorder* sMasterThreadRecorder = NULL; +// this is used in platform-generic code -- define outside #if LL_WINDOWS +struct Windows_SEH_exception: public std::runtime_error +{ + Windows_SEH_exception(const std::string& what): std::runtime_error(what) {} +}; + +#if LL_WINDOWS + +static constexpr U32 STATUS_MSC_EXCEPTION = 0xE06D7363; // compiler specific +static constexpr U32 STATUS_STACK_FULL = 0xC00000FD; + +U32 seh_filter(U32 code, struct _EXCEPTION_POINTERS*) +{ + if (code == STATUS_MSC_EXCEPTION) + { + // C++ exception, go on -- but TUT is supposed to have caught those already?! + return EXCEPTION_CONTINUE_SEARCH; + } + else + { + // This is a non-C++ exception, e.g. hardware check. + // By the time the handler gets control, the stack has been unwound, + // so report the stack trace now at filter() time. + // Sadly, even though, at the time of this writing, stack overflow is + // the problem we would most like to diagnose, calling another + // function when the stack is already blown only terminates us faster. + if (code != STATUS_STACK_FULL) + { + std::cerr << boost::stacktrace::stacktrace() << std::endl; + } + // pass control into the handler block + return EXCEPTION_EXECUTE_HANDLER; + } +} + +template +void seh_catcher(CALLABLE0&& trycode, CALLABLE1&& handler) +{ + __try + { + trycode(); + } + __except (seh_filter(GetExceptionCode(), GetExceptionInformation())) + { + handler(GetExceptionCode()); + } +} + +#else // not LL_WINDOWS + +template +void seh_catcher(CALLABLE0&& trycode, CALLABLE1&&) +{ + trycode(); +} + +#endif // not LL_WINDOWS + int main(int argc, char **argv) { ll_init_apr(); @@ -652,7 +716,7 @@ int main(int argc, char **argv) } }, // __except - [mycallback](U32 code, const std::string& /*stacktrace*/) + [mycallback](U32 code) { static std::map codes = { { 0xC0000005, "Access Violation" }, -- cgit v1.2.3 From 9ac2e961e3649ca03e333103d851005f2003ddbb Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 3 Jun 2025 16:57:51 +0800 Subject: Re-include GLEXT.cmake, but for Windows only There doesn't seem to be glext.h on Windows, so we'll just use the package from LL for now. --- indra/cmake/CMakeLists.txt | 1 + indra/cmake/GLEXT.cmake | 4 +++- indra/cmake/LLWindow.cmake | 2 +- indra/llwindow/CMakeLists.txt | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 746d242560..5525ac9f24 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -24,6 +24,7 @@ set(cmake_SOURCE_FILES FindAutobuild.cmake FMODSTUDIO.cmake FreeType.cmake + GLEXT.cmake GLH.cmake GLM.cmake Havok.cmake diff --git a/indra/cmake/GLEXT.cmake b/indra/cmake/GLEXT.cmake index a780966f0c..f45b27e7b8 100644 --- a/indra/cmake/GLEXT.cmake +++ b/indra/cmake/GLEXT.cmake @@ -3,7 +3,9 @@ include(Prebuilt) include(GLH) add_library( ll::glext INTERFACE IMPORTED ) -use_system_binary(glext) +#use_system_binary(glext) +if (WINDOWS) use_prebuilt_binary(glext) +endif () diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake index 34df3ad33b..007b8dfba6 100644 --- a/indra/cmake/LLWindow.cmake +++ b/indra/cmake/LLWindow.cmake @@ -1,7 +1,7 @@ # -*- cmake -*- include(Variables) -include(GLH) +include(GLEXT) include(Prebuilt) include_guard() diff --git a/indra/llwindow/CMakeLists.txt b/indra/llwindow/CMakeLists.txt index 1f0820a9f6..d29bd5cde4 100644 --- a/indra/llwindow/CMakeLists.txt +++ b/indra/llwindow/CMakeLists.txt @@ -55,6 +55,7 @@ set(llwindow_LINK_LIBRARIES llfilesystem llxml ll::glm + ll::glext ll::uilibraries ll::SDL ) -- cgit v1.2.3 From 36842acf763d664002cd89b8a76679ab8bbcda24 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 3 Jun 2025 17:04:09 +0800 Subject: Instruction for disabling VS fatal warnings otherwise we'd have to deal with every warning. Instruction for building from the command line too. Add MSBuild binary directory to PATH, and MSBuild needs its .exe extension typed too for it to be found, unlike other commands such as cmake, vcpkg, pkg-config, and so on. By default, MSBuild builds using the RelWithDebInfo configuration, hence the -p:Configuration parameter to have Release instead. I guess that's why CMake would consider CMAKE_BUILD_TYPE as not being used by the project. --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b6dfa754c1..c1eea48788 100644 --- a/README.md +++ b/README.md @@ -123,10 +123,11 @@ $ megapahit ``` $ vcpkg install pkgconf python3 freealut apr-util boost freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg libvorbis libxml2[tools] xxhash $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602" -$ export PATH="/c/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin:$VCPKG_ROOT/downloads/tools/msys2/21caed2f81ec917b/mingw64/bin:$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/libxml2:$PATH" +$ export PATH="/c/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin:/c/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin:$VCPKG_ROOT/downloads/tools/msys2/21caed2f81ec917b/mingw64/bin:$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/libxml2:$PATH" $ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/lib/pkgconfig" $ export PYTHON="$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/python3/python.exe" -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=OFF -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=OFF -DPACKAGE:BOOL=OFF ../indra +$ cmake -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=OFF -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=OFF -DPACKAGE:BOOL=OFF -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra +$ MSBuild.exe Megapahit.sln -p:Configuration=Release ``` ## Contribute -- cgit v1.2.3 From 2bf9d234aac30ed4a85282730da0ffc83acf9adf Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 3 Jun 2025 17:10:49 +0800 Subject: Use LL's prebuilt Windows Boost for now I got "definition of dllimport function not allowed" errors when using vcpkg's Boost. Someone else got this problem too: https://github.com/boostorg/serialization/issues/278 Hopefully later we can get back to using vcpkg's Boost. --- README.md | 2 +- indra/cmake/Boost.cmake | 52 +++++++++++++++++++++++++------------------------ 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index c1eea48788..6dfba3459c 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ $ megapahit ### Windows ``` -$ vcpkg install pkgconf python3 freealut apr-util boost freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg libvorbis libxml2[tools] xxhash +$ vcpkg install pkgconf python3 freealut apr-util freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg libvorbis libxml2[tools] xxhash $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602" $ export PATH="/c/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin:/c/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin:$VCPKG_ROOT/downloads/tools/msys2/21caed2f81ec917b/mingw64/bin:$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/libxml2:$PATH" $ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/lib/pkgconfig" diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index 9ea1f6c9a6..2c4ec193e7 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -4,38 +4,40 @@ include(Prebuilt) include_guard() add_library( ll::boost INTERFACE IMPORTED ) - -if (DARWIN) - target_include_directories( ll::boost SYSTEM INTERFACE /opt/local/libexec/boost/1.87/include) - target_link_directories( ll::boost INTERFACE /opt/local/libexec/boost/1.87/lib) - set(sfx -mt) -elseif (WINDOWS) - target_include_directories( ll::boost SYSTEM INTERFACE ${prefix_result}/../include) - target_link_directories( ll::boost INTERFACE ${prefix_result}) - set(sfx -vc143-mt-x64-1_88) -else () - find_package( Boost REQUIRED ) -endif () -target_link_libraries( ll::boost INTERFACE - boost_context${sfx} - boost_fiber${sfx} - boost_filesystem${sfx} - boost_program_options${sfx} - boost_regex${sfx} - boost_system${sfx} - boost_thread${sfx} - boost_url${sfx} - ) -target_compile_definitions( ll::boost INTERFACE BOOST_BIND_GLOBAL_PLACEHOLDERS ) -return() - if( USE_CONAN ) target_link_libraries( ll::boost INTERFACE CONAN_PKG::boost ) target_compile_definitions( ll::boost INTERFACE BOOST_ALLOW_DEPRECATED_HEADERS BOOST_BIND_GLOBAL_PLACEHOLDERS ) return() endif() +if (WINDOWS) use_prebuilt_binary(boost) + target_include_directories( ll::boost SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) +else () + if (DARWIN) + target_include_directories( ll::boost SYSTEM INTERFACE /opt/local/libexec/boost/1.87/include) + target_link_directories( ll::boost INTERFACE /opt/local/libexec/boost/1.87/lib) + set(sfx -mt) + elseif (WINDOWS) + target_include_directories( ll::boost SYSTEM INTERFACE ${prefix_result}/../include) + target_link_directories( ll::boost INTERFACE ${prefix_result}) + set(sfx -vc143-mt-x64-1_88) + else () + find_package( Boost REQUIRED ) + endif () + target_link_libraries( ll::boost INTERFACE + boost_context${sfx} + boost_fiber${sfx} + boost_filesystem${sfx} + boost_program_options${sfx} + boost_regex${sfx} + boost_system${sfx} + boost_thread${sfx} + boost_url${sfx} + ) + target_compile_definitions( ll::boost INTERFACE BOOST_BIND_GLOBAL_PLACEHOLDERS ) + return() +endif () # As of sometime between Boost 1.67 and 1.72, Boost libraries are suffixed # with the address size. -- cgit v1.2.3 From 163d425479ba305306e74701a453bd32eb9d34f6 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 3 Jun 2025 17:25:23 +0800 Subject: Make vcpkg APR able to find sockaddr_in6 definition and get rid of the error: 'apr_sockaddr_t::sin6' uses undefined struct 'sockaddr_in6' --- indra/llcommon/llwin32headers.h | 1 + 1 file changed, 1 insertion(+) diff --git a/indra/llcommon/llwin32headers.h b/indra/llcommon/llwin32headers.h index df433deb7a..32139821d5 100644 --- a/indra/llcommon/llwin32headers.h +++ b/indra/llcommon/llwin32headers.h @@ -29,6 +29,7 @@ #ifdef LL_WINDOWS #include // Does not include winsock.h because WIN32_LEAN_AND_MEAN is defined +#include #include // Requires windows.h #endif -- cgit v1.2.3 From a1d368a4528585d694340858939a7b2de35d7481 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 3 Jun 2025 17:51:57 +0800 Subject: Fix vcpkg APR library names to link with --- indra/cmake/APR.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake index fa3b8a4ffb..58a00c74da 100644 --- a/indra/cmake/APR.cmake +++ b/indra/cmake/APR.cmake @@ -8,7 +8,7 @@ add_library( ll::apr INTERFACE IMPORTED ) if (WINDOWS) target_include_directories(ll::apr SYSTEM INTERFACE ${prefix_result}/../include) target_link_directories(ll::apr INTERFACE ${prefix_result}) - target_link_libraries(ll::apr INTERFACE apr-1 apr-util-1) + target_link_libraries(ll::apr INTERFACE libapr-1 libaprutil-1) else () include(FindPkgConfig) pkg_check_modules(Apr REQUIRED apr-1 apr-util-1) -- cgit v1.2.3 From a9ff91e4124b58761539f44bc66979599b9f9c5b Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 3 Jun 2025 17:52:32 +0800 Subject: Fix ftsystem path for including vcpkg's FT one --- indra/llrender/llfontfreetype.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llrender/llfontfreetype.cpp b/indra/llrender/llfontfreetype.cpp index 41d0a1af31..e93c98970b 100644 --- a/indra/llrender/llfontfreetype.cpp +++ b/indra/llrender/llfontfreetype.cpp @@ -32,7 +32,7 @@ // Freetype stuff #include #ifdef LL_WINDOWS -#include +#include #endif #include "llfontfreetypesvg.h" -- cgit v1.2.3 From dad8be14580b75af6fa0b97e41d5f8103e23acbe Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 3 Jun 2025 17:59:37 +0800 Subject: Exclude Windows from compiling SDL related files --- indra/llwindow/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llwindow/CMakeLists.txt b/indra/llwindow/CMakeLists.txt index d29bd5cde4..6debd54665 100644 --- a/indra/llwindow/CMakeLists.txt +++ b/indra/llwindow/CMakeLists.txt @@ -64,7 +64,7 @@ include_directories(${CMAKE_SOURCE_DIR}/llrender) # Libraries on which this library depends, needed for Linux builds # Sort by high-level to low-level -if (NOT DARWIN) +if (NOT (DARWIN OR WINDOWS)) list(APPEND viewer_SOURCE_FILES llkeyboardsdl.cpp llwindowsdl.cpp -- cgit v1.2.3 From befce1b8547d7dadb692b9246339433dca869a45 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 3 Jun 2025 18:00:34 +0800 Subject: Exclude Windows from using -Wno-unused-but-set-variable compile flag. --- indra/newview/CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 32afa2ba5f..e61bb26c7e 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2045,8 +2045,9 @@ endif() set(ARTWORK_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH "Path to artwork files.") -set_source_files_properties(llinventorygallery.cpp PROPERTIES COMPILE_FLAGS - -Wno-unused-but-set-variable) +if (NOT WINDOWS) + set_source_files_properties(llinventorygallery.cpp PROPERTIES COMPILE_FLAGS -Wno-unused-but-set-variable) +endif () if (CMAKE_CXX_COMPILER_ID MATCHES Clang) set_source_files_properties(llappviewerlinux.cpp PROPERTIES COMPILE_FLAGS -Wno-dangling-gsl -- cgit v1.2.3 From 837d872bcdf809c88925e5e07bc4590ddf5e6510 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 3 Jun 2025 18:01:59 +0800 Subject: Simple usleep implementation for Windows Just copying from this site and adjusting it for now: https://filipivianna.blogspot.com/2010/07/usleep-on-windows-win32.html --- indra/newview/llappviewer.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 7580100977..e1e26372df 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1544,7 +1544,15 @@ 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); +#else usleep(fpsLimitSleepFor); +#endif } // yield some time to the os based on command line option -- cgit v1.2.3 From f0de1898e0b6a3b9f1ee1bcc762ba334b78bbcc6 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 3 Jun 2025 18:04:14 +0800 Subject: Exclude Windows from referring to LibVLC headers for now, until we are ready to enable media plugins on Windows. --- indra/newview/llappviewer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index e1e26372df..3f716cc4ef 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -131,10 +131,12 @@ #include "stringize.h" #include "llcoros.h" #include "llexception.h" +#if !LL_WINDOWS #if LL_DARWIN || LL_LINUX || __FreeBSD__ #include "cef/dullahan_version.h" -#endif +#endif // LL_DARWIN || LL_LINUX || __FreeBSD__ #include "vlc/libvlc_version.h" +#endif // !LL_WINDOWS #if LL_DARWIN #if LL_SDL @@ -3461,7 +3463,7 @@ LLSD LLAppViewer::getViewerInfo() const info["LIBCEF_VERSION"] = "Undefined"; #endif -//#if !LL_LINUX +#if !LL_WINDOWS std::ostringstream vlc_ver_codec; vlc_ver_codec << LIBVLC_VERSION_MAJOR; vlc_ver_codec << "."; @@ -3469,11 +3471,9 @@ LLSD LLAppViewer::getViewerInfo() const vlc_ver_codec << "."; vlc_ver_codec << LIBVLC_VERSION_REVISION; info["LIBVLC_VERSION"] = vlc_ver_codec.str(); -/* #else info["LIBVLC_VERSION"] = "Undefined"; #endif -*/ S32 packets_in = (S32)LLViewerStats::instance().getRecording().getSum(LLStatViewer::PACKETS_IN); if (packets_in > 0) -- cgit v1.2.3 From 8e096fdcdcfa4f8db762dfb9a2b8dd4e29c78eea Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 4 Jun 2025 06:16:17 +0800 Subject: Exclude Windows from compiling llappviewerlinux That's why it was trying to find llwindowsdl.h, through llappviewerlinux.cpp. I had to scroll up a bit to find out that it was trying to compile llappviewerlinux.cpp. The last error message only complained about missing SDL/SDL.h (referred from llwindowsdl.h). --- indra/newview/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index e61bb26c7e..6657eee0b2 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1492,7 +1492,7 @@ if (DARWIN) list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES}) endif (DARWIN) -if (NOT DARWIN) +if (NOT (DARWIN OR WINDOWS)) LIST(APPEND viewer_SOURCE_FILES llappviewerlinux.cpp) set_source_files_properties( llappviewerlinux.cpp -- cgit v1.2.3 From d8db0ff30cd1775a66694bd0f1e02795c85722be Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Tue, 3 Jun 2025 17:50:15 -0700 Subject: First commit - bare bones of it working - pointing to test page on S3 --- indra/newview/CMakeLists.txt | 2 + indra/newview/app_settings/commands.xml | 4 +- indra/newview/app_settings/settings.xml | 11 ++++ indra/newview/llfloateravatarwelcomepack.cpp | 58 ++++++++++++++++++++++ indra/newview/llfloateravatarwelcomepack.h | 45 +++++++++++++++++ indra/newview/llviewerfloaterreg.cpp | 2 + indra/newview/llviewerwindow.cpp | 8 +++ .../default/xui/en/floater_avatar_welcome_pack.xml | 25 ++++++++++ indra/newview/skins/default/xui/en/menu_viewer.xml | 6 +-- indra/newview/skins/default/xui/en/strings.xml | 2 +- 10 files changed, 157 insertions(+), 6 deletions(-) create mode 100644 indra/newview/llfloateravatarwelcomepack.cpp create mode 100644 indra/newview/llfloateravatarwelcomepack.h create mode 100644 indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 98151e2f4d..172c7f4b1f 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -178,6 +178,7 @@ set(viewer_SOURCE_FILES llflexibleobject.cpp llfloater360capture.cpp llfloaterabout.cpp + llfloateravatarwelcomepack.cpp llfloaterbvhpreview.cpp llfloateraddpaymentmethod.cpp llfloaterauction.cpp @@ -849,6 +850,7 @@ set(viewer_HEADER_FILES llflexibleobject.h llfloater360capture.h llfloaterabout.h + llfloateravatarwelcomepack.h llfloaterbvhpreview.h llfloateraddpaymentmethod.h llfloaterauction.h diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 4a3dfffde1..7bcfecf9fa 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -26,9 +26,9 @@ label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" execute_function="Floater.ToggleOrBringToFront" - execute_parameters="avatar" + execute_parameters="avatar_welcome_pack" is_running_function="Floater.IsOpen" - is_running_parameters="avatar" + is_running_parameters="avatar_welcome_pack" /> Value http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/avatars.html + AvatarWelcomePack + + Comment + Avatar Welcome Pack contents + Persist + 1 + Type + String + Value + https://sl-viewer-media-system.s3.amazonaws.com/vawp/index.html + AvatarBakedTextureUploadTimeout diff --git a/indra/newview/llfloateravatarwelcomepack.cpp b/indra/newview/llfloateravatarwelcomepack.cpp new file mode 100644 index 0000000000..82e44d1398 --- /dev/null +++ b/indra/newview/llfloateravatarwelcomepack.cpp @@ -0,0 +1,58 @@ +/** + * @file llfloateravatarwelcomepack.cpp + * @author Callum Prentice (callum@lindenlab.com) + * @brief Floater container for the Avatar Welcome Pack we app + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llfloateravatarwelcomepack.h" +#include "lluictrlfactory.h" +#include "llmediactrl.h" + +LLFloaterAvatarWelcomePack::LLFloaterAvatarWelcomePack(const LLSD& key) + : LLFloater(key) +{ +} + +LLFloaterAvatarWelcomePack::~LLFloaterAvatarWelcomePack() +{ + if (mAvatarPicker) + { + mAvatarPicker->navigateStop(); + mAvatarPicker->clearCache(); //images are reloading each time already + mAvatarPicker->unloadMediaSource(); + } +} + +bool LLFloaterAvatarWelcomePack::postBuild() +{ + mAvatarPicker = findChild("avatar_picker_contents"); + if (mAvatarPicker) + { + mAvatarPicker->clearCache(); + } + + return true; +} diff --git a/indra/newview/llfloateravatarwelcomepack.h b/indra/newview/llfloateravatarwelcomepack.h new file mode 100644 index 0000000000..a332d46708 --- /dev/null +++ b/indra/newview/llfloateravatarwelcomepack.h @@ -0,0 +1,45 @@ +/** + * @file llfloateravatarwelcomepack.h + * @author Callum Prentice (callum@lindenlab.com) + * @brief Floater container for the Avatar Welcome Pack we app + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#pragma once + +#include "llfloater.h" + +class LLMediaCtrl; + +class LLFloaterAvatarWelcomePack: + public LLFloater +{ + friend class LLFloaterReg; + + private: + LLFloaterAvatarWelcomePack(const LLSD& key); + ~LLFloaterAvatarWelcomePack(); + bool postBuild() override; + + LLMediaCtrl* mAvatarPicker; +}; diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 4d9c2f3281..c4daa6dd8b 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -40,6 +40,7 @@ #include "llfloaterautoreplacesettings.h" #include "llfloateravatar.h" #include "llfloateravatarpicker.h" +#include "llfloateravatarwelcomepack.h" #include "llfloateravatarrendersettings.h" #include "llfloateravatartextures.h" #include "llfloaterbanduration.h" @@ -333,6 +334,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("auction", "floater_auction.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("avatar", "floater_avatar.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("avatar_picker", "floater_avatar_picker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); + LLFloaterReg::add("avatar_welcome_pack", "floater_avatar_welcome_pack.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("avatar_render_settings", "floater_avatar_render_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("avatar_textures", "floater_avatar_textures.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index d2685bcc48..a279664522 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2299,6 +2299,14 @@ void LLViewerWindow::initWorldUI() url = LLWeb::expandURLSubstitutions(url, LLSD()); avatar_picker->navigateTo(url, HTTP_CONTENT_TEXT_HTML); } + LLMediaCtrl* avatar_welcome_pack = LLFloaterReg::getInstance("avatar_welcome_pack")->findChild("avatar_picker_contents"); + if (avatar_welcome_pack) + { + avatar_welcome_pack->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); + std::string url = gSavedSettings.getString("AvatarWelcomePack"); + url = LLWeb::expandURLSubstitutions(url, LLSD()); + avatar_welcome_pack->navigateTo(url, HTTP_CONTENT_TEXT_HTML); + } } } diff --git a/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml b/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml new file mode 100644 index 0000000000..0ea79e68c2 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml @@ -0,0 +1,25 @@ + + + + diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 343f0c0059..040fae3256 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -411,11 +411,11 @@ + label="Avatar Welcome Pack..." + name="Avatar Welcome Pack"> + parameter="avatar_welcome_pack" /> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index faa751bbf1..532d536589 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -4186,7 +4186,7 @@ Try enclosing path to the editor with double quotes. name="Command_360_Capture_Label">360 snapshot About land Outfits - Complete avatars + Avatar Welcome Pack Build Chat Conversations -- cgit v1.2.3 From 8d3d6ee56ad5615f8ffd4790e15b81909590a5f4 Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Tue, 3 Jun 2025 19:24:04 -0700 Subject: Remove the old avatar selector (Complete Avatars) - replaced by Avatar Welcome Pack --- indra/newview/CMakeLists.txt | 2 -- indra/newview/app_settings/settings.xml | 11 ------ indra/newview/llfloateravatar.cpp | 61 --------------------------------- indra/newview/llfloateravatar.h | 46 ------------------------- indra/newview/llviewerfloaterreg.cpp | 2 -- indra/newview/llviewerwindow.cpp | 8 ----- 6 files changed, 130 deletions(-) delete mode 100644 indra/newview/llfloateravatar.cpp delete mode 100644 indra/newview/llfloateravatar.h diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 172c7f4b1f..dc331b7330 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -183,7 +183,6 @@ set(viewer_SOURCE_FILES llfloateraddpaymentmethod.cpp llfloaterauction.cpp llfloaterautoreplacesettings.cpp - llfloateravatar.cpp llfloateravatarpicker.cpp llfloateravatarrendersettings.cpp llfloateravatartextures.cpp @@ -855,7 +854,6 @@ set(viewer_HEADER_FILES llfloateraddpaymentmethod.h llfloaterauction.h llfloaterautoreplacesettings.h - llfloateravatar.h llfloateravatarpicker.h llfloateravatarrendersettings.h llfloateravatartextures.h diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 90da70763f..0f0593c625 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -621,17 +621,6 @@ Value 16.0 - AvatarPickerURL - - Comment - Avatar picker contents - Persist - 1 - Type - String - Value - http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/avatars.html - AvatarWelcomePack Comment diff --git a/indra/newview/llfloateravatar.cpp b/indra/newview/llfloateravatar.cpp deleted file mode 100644 index 404316275d..0000000000 --- a/indra/newview/llfloateravatar.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file llfloateravatar.h - * @author Leyla Farazha - * @brief floater for the avatar changer - * - * $LicenseInfo:firstyear=2011&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "llfloateravatar.h" -#include "lluictrlfactory.h" -#include "llmediactrl.h" - - -LLFloaterAvatar::LLFloaterAvatar(const LLSD& key) - : LLFloater(key) -{ -} - -LLFloaterAvatar::~LLFloaterAvatar() -{ - if (mAvatarPicker) - { - mAvatarPicker->navigateStop(); - mAvatarPicker->clearCache(); //images are reloading each time already - mAvatarPicker->unloadMediaSource(); - } -} - -bool LLFloaterAvatar::postBuild() -{ - mAvatarPicker = findChild("avatar_picker_contents"); - if (mAvatarPicker) - { - mAvatarPicker->clearCache(); - } - enableResizeCtrls(true, true, false); - return true; -} - - diff --git a/indra/newview/llfloateravatar.h b/indra/newview/llfloateravatar.h deleted file mode 100644 index fb591c8306..0000000000 --- a/indra/newview/llfloateravatar.h +++ /dev/null @@ -1,46 +0,0 @@ -/** - * @file llfloateravatar.h - * @author Leyla Farazha - * @brief floater for the avatar changer - * - * $LicenseInfo:firstyear=2011&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_FLOATER_AVATAR_H -#define LL_FLOATER_AVATAR_H - -#include "llfloater.h" -class LLMediaCtrl; - -class LLFloaterAvatar: - public LLFloater -{ - friend class LLFloaterReg; -private: - LLFloaterAvatar(const LLSD& key); - ~LLFloaterAvatar(); - bool postBuild() override; - - LLMediaCtrl* mAvatarPicker; -}; - -#endif diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index c4daa6dd8b..4b3af6d7e8 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -38,7 +38,6 @@ #include "llfloateraddpaymentmethod.h" #include "llfloaterauction.h" #include "llfloaterautoreplacesettings.h" -#include "llfloateravatar.h" #include "llfloateravatarpicker.h" #include "llfloateravatarwelcomepack.h" #include "llfloateravatarrendersettings.h" @@ -332,7 +331,6 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("appearance", "floater_my_appearance.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("associate_listing", "floater_associate_listing.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("auction", "floater_auction.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); - LLFloaterReg::add("avatar", "floater_avatar.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("avatar_picker", "floater_avatar_picker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("avatar_welcome_pack", "floater_avatar_welcome_pack.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("avatar_render_settings", "floater_avatar_render_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index a279664522..e8a285f494 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2291,14 +2291,6 @@ void LLViewerWindow::initWorldUI() url = LLWeb::expandURLSubstitutions(url, LLSD()); destinations->navigateTo(url, HTTP_CONTENT_TEXT_HTML); } - LLMediaCtrl* avatar_picker = LLFloaterReg::getInstance("avatar")->findChild("avatar_picker_contents"); - if (avatar_picker) - { - avatar_picker->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); - std::string url = gSavedSettings.getString("AvatarPickerURL"); - url = LLWeb::expandURLSubstitutions(url, LLSD()); - avatar_picker->navigateTo(url, HTTP_CONTENT_TEXT_HTML); - } LLMediaCtrl* avatar_welcome_pack = LLFloaterReg::getInstance("avatar_welcome_pack")->findChild("avatar_picker_contents"); if (avatar_welcome_pack) { -- cgit v1.2.3 From 2971fde36e3a04772f317a08e5d1335161637e3c Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 4 Jun 2025 14:10:51 +0800 Subject: Self-build ColladaDOM on Windows Plus simplifying the SHARED to STATIC stream editing by not using the global 'g' key, cause it's only 1 instance to edit. For now, BOOST_CFLAGS & BOOST_LIBS are set to refer to SLv prebuilt binary installation, along with its library suffix. try_compile doesn't seem to "compile" it, but it does configure it, so we just execute MSBuild.exe afterwards. Last time I tried, it didn't finish building or didn't build successfully, though. So what I did is manually run MSBuild.exe on ColladaDOM's solution file, and the next CMake configuration picked up the generated library, renamed to be the same as expected when using SLv prebuilt one, so that we don't have to adjust more lines for this, it has to be copied/moved anyway, might as well rename it the same. About the WIN32 definition stream editing, somehow WIN32 is not defined in daeUtils.cpp, that it would fail at deciding which commands to compile. I did try adding /DWIN32 to CXX_FLAGS but it ruined it for the Minizip header directory search. So the hack is to just forcefully define WIN32 in that file. --- indra/cmake/LLPrimitive.cmake | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index 3429a744f5..a8b328b84b 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -22,7 +22,7 @@ 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() -elseif ( NOT WINDOWS ) +else () include(FindPkgConfig) pkg_check_modules(Minizip REQUIRED minizip) pkg_check_modules(Libxml2 REQUIRED libxml-2.0) @@ -41,13 +41,16 @@ elseif ( NOT WINDOWS ) ) if ( WINDOWS ) execute_process( - COMMAND sed -i "s/SHARED/STATIC/g" CMakeLists.txt + COMMAND sed -i "s/SHARED/STATIC/" CMakeLists.txt WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4 ) - set(BOOST_LIBRARY_SUFFIX -vc143-mt-x64-1_88) + execute_process( + COMMAND sed -i "/#include /a #define WIN32" daeUtils.cpp + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/dae + ) else () execute_process( - COMMAND sed -i "" -e "s/SHARED/STATIC/g" CMakeLists.txt + COMMAND sed -i "" -e "s/SHARED/STATIC/" CMakeLists.txt WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4 ) endif () @@ -55,6 +58,10 @@ elseif ( NOT WINDOWS ) 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 ) + set(BOOST_CFLAGS -I${LIBS_PREBUILT_DIR}/include) + set(BOOST_LIBS -L${ARCH_PREBUILT_DIRS_RELEASE}) + set(BOOST_LIBRARY_SUFFIX -mt-x${ADDRESS_SIZE}) endif() file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/collada/1.4) try_compile(COLLADADOM_RESULT @@ -88,17 +95,34 @@ elseif ( NOT WINDOWS ) ${ARCH_PREBUILT_DIRS}/libcollada14dom.a ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom.a ) - file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "${colladadom_installed}") + elseif ( 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 + OUTPUT_VARIABLE colladadom_installed + ) + file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/collada) + file( + COPY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/include + DESTINATION ${LIBS_PREBUILT_DIR}/include + ) + file(RENAME + ${LIBS_PREBUILT_DIR}/include/include + ${LIBS_PREBUILT_DIR}/include/collada + ) + file(RENAME + ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4/Release/collada14dom.lib + ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom23-s.lib + ) endif() + file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "${colladadom_installed}") endif() endif() -#use_system_binary( colladadom ) +if( FALSE ) +use_system_binary( colladadom ) -if (WINDOWS) use_prebuilt_binary(colladadom) -endif () -if( FALSE ) use_prebuilt_binary(minizip-ng) # needed for colladadom use_prebuilt_binary(libxml2) -- cgit v1.2.3 From 4497b343cb96b12567f2eedfa93d33d0a5b66f76 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 4 Jun 2025 18:09:06 +0800 Subject: Revert "Use LL's prebuilt Windows Boost for now" This reverts commit 2bf9d234aac30ed4a85282730da0ffc83acf9adf. --- README.md | 2 +- indra/cmake/Boost.cmake | 52 ++++++++++++++++++++++++------------------------- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 6dfba3459c..c1eea48788 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ $ megapahit ### Windows ``` -$ vcpkg install pkgconf python3 freealut apr-util freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg libvorbis libxml2[tools] xxhash +$ vcpkg install pkgconf python3 freealut apr-util boost freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg libvorbis libxml2[tools] xxhash $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602" $ export PATH="/c/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin:/c/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin:$VCPKG_ROOT/downloads/tools/msys2/21caed2f81ec917b/mingw64/bin:$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/libxml2:$PATH" $ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/lib/pkgconfig" diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index 2c4ec193e7..9ea1f6c9a6 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -4,40 +4,38 @@ include(Prebuilt) include_guard() add_library( ll::boost INTERFACE IMPORTED ) + +if (DARWIN) + target_include_directories( ll::boost SYSTEM INTERFACE /opt/local/libexec/boost/1.87/include) + target_link_directories( ll::boost INTERFACE /opt/local/libexec/boost/1.87/lib) + set(sfx -mt) +elseif (WINDOWS) + target_include_directories( ll::boost SYSTEM INTERFACE ${prefix_result}/../include) + target_link_directories( ll::boost INTERFACE ${prefix_result}) + set(sfx -vc143-mt-x64-1_88) +else () + find_package( Boost REQUIRED ) +endif () +target_link_libraries( ll::boost INTERFACE + boost_context${sfx} + boost_fiber${sfx} + boost_filesystem${sfx} + boost_program_options${sfx} + boost_regex${sfx} + boost_system${sfx} + boost_thread${sfx} + boost_url${sfx} + ) +target_compile_definitions( ll::boost INTERFACE BOOST_BIND_GLOBAL_PLACEHOLDERS ) +return() + if( USE_CONAN ) target_link_libraries( ll::boost INTERFACE CONAN_PKG::boost ) target_compile_definitions( ll::boost INTERFACE BOOST_ALLOW_DEPRECATED_HEADERS BOOST_BIND_GLOBAL_PLACEHOLDERS ) return() endif() -if (WINDOWS) use_prebuilt_binary(boost) - target_include_directories( ll::boost SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) -else () - if (DARWIN) - target_include_directories( ll::boost SYSTEM INTERFACE /opt/local/libexec/boost/1.87/include) - target_link_directories( ll::boost INTERFACE /opt/local/libexec/boost/1.87/lib) - set(sfx -mt) - elseif (WINDOWS) - target_include_directories( ll::boost SYSTEM INTERFACE ${prefix_result}/../include) - target_link_directories( ll::boost INTERFACE ${prefix_result}) - set(sfx -vc143-mt-x64-1_88) - else () - find_package( Boost REQUIRED ) - endif () - target_link_libraries( ll::boost INTERFACE - boost_context${sfx} - boost_fiber${sfx} - boost_filesystem${sfx} - boost_program_options${sfx} - boost_regex${sfx} - boost_system${sfx} - boost_thread${sfx} - boost_url${sfx} - ) - target_compile_definitions( ll::boost INTERFACE BOOST_BIND_GLOBAL_PLACEHOLDERS ) - return() -endif () # As of sometime between Boost 1.67 and 1.72, Boost libraries are suffixed # with the address size. -- cgit v1.2.3 From b7c12f52ef1848afec6e31ccea32ca86cd7ceef2 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 4 Jun 2025 22:09:25 +0800 Subject: Set ColladaDOM to refer to vcpkg Boost Turns out I couldn't repeat self-building ColladaDOM using SLv prebuilt Boost successfully, because of the zlib, minizip, libxml2 header directories search confusion, no matter how I tried tinkering with LL's ColladaDOM fork CXX_FLAGS and/or EXTRA_COMPILE_FLAGS settings. With vcpkg Boost, self-building ColladaDOM in the viewer CMake configuration stage goes smoothly (compiling ColladaDOM on Windows could take a while, though.. at least on my system). --- indra/cmake/LLPrimitive.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index a8b328b84b..6a24f62619 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -59,9 +59,9 @@ else () set(BOOST_LIBS -L${Minizip_LIBRARY_DIRS}exec/boost/1.87/lib) set(BOOST_LIBRARY_SUFFIX -mt) elseif( WINDOWS ) - set(BOOST_CFLAGS -I${LIBS_PREBUILT_DIR}/include) - set(BOOST_LIBS -L${ARCH_PREBUILT_DIRS_RELEASE}) - set(BOOST_LIBRARY_SUFFIX -mt-x${ADDRESS_SIZE}) + set(BOOST_CFLAGS -I${prefix_result}/../include) + set(BOOST_LIBS -L${prefix_result}) + set(BOOST_LIBRARY_SUFFIX -vc143-mt-x64-1_88) endif() file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/collada/1.4) try_compile(COLLADADOM_RESULT -- cgit v1.2.3 From 7be4892f658d2ac1a63c656bed4cb5628898be98 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 4 Jun 2025 22:15:10 +0800 Subject: Fix vcpkg Boost JSON linking errors The error was "definition of dllimport static data member not allowed", and not "definition of dllimport function not allowed" as mentioned in commit 2bf9d234aac30ed4a85282730da0ffc83acf9adf description. Basically there were about 5 offending files, and all had BOOST_JSON_REQUIRE_CONST_INIT in them. Not including json/src.hpp (that includes them among others), fixes those errors, but then there are definitions in them that are actually used by llsdjson. After doing so many searches, I came across this: https://stackoverflow.com/questions/3491990/c-definition-of-dllimport-static-data-member and just from the first paragraph in the accepted answer, I realised llsdjson can still have those definitions, just not from the offending headers, but by simply linking to Boost JSON compiled library instead. --- indra/cmake/Boost.cmake | 1 + indra/llcommon/llsdjson.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index 9ea1f6c9a6..764019408b 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -20,6 +20,7 @@ target_link_libraries( ll::boost INTERFACE boost_context${sfx} boost_fiber${sfx} boost_filesystem${sfx} + boost_json${sfx} boost_program_options${sfx} boost_regex${sfx} boost_system${sfx} diff --git a/indra/llcommon/llsdjson.cpp b/indra/llcommon/llsdjson.cpp index 655869a704..a3f80b7c2e 100644 --- a/indra/llcommon/llsdjson.cpp +++ b/indra/llcommon/llsdjson.cpp @@ -35,7 +35,7 @@ #include "llerror.h" #include "../llmath/llmath.h" -#include +#include //========================================================================= LLSD LlsdFromJson(const boost::json::value& val) -- cgit v1.2.3 From 628c200400dc9aa687c06a419d076a558651b1b9 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 4 Jun 2025 22:25:29 +0800 Subject: No link to vcpkg absent Boost Regex library file --- indra/cmake/Boost.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index 764019408b..df5f05a200 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -22,11 +22,13 @@ target_link_libraries( ll::boost INTERFACE boost_filesystem${sfx} boost_json${sfx} boost_program_options${sfx} - boost_regex${sfx} boost_system${sfx} boost_thread${sfx} boost_url${sfx} ) +if (NOT WINDOWS) + target_link_libraries( ll::boost INTERFACE boost_regex${sfx}) +endif () target_compile_definitions( ll::boost INTERFACE BOOST_BIND_GLOBAL_PLACEHOLDERS ) return() -- cgit v1.2.3 From 68232dc0b59f339139b42b19fb8fc7d7206f2fc8 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 4 Jun 2025 22:30:36 +0800 Subject: Re-enable GL extension loading function pointers on Windows, which might have been because I was still using MinGW back then. --- indra/llrender/llgl.cpp | 5 ----- 1 file changed, 5 deletions(-) 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) -- cgit v1.2.3 From a32a60727b1d49807cee4dfa189f4eda48ee44fb Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Wed, 4 Jun 2025 10:09:36 -0600 Subject: floater_about.xml -> List credits in 2 columns Use monospace font to manually format credits list in 2 columns, also fix annoying indent in licences tab --- .../newview/skins/default/xui/en/floater_about.xml | 90 ++++++++++------------ 1 file changed, 41 insertions(+), 49 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index 09b134eac5..40cb1b2c43 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"> -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) - + enabled="false" + font="Monospace" + follows="top|left" + height="200" + bg_readonly_color="Transparent" + left="5" + text_color="LtGray" + max_length="65536" + top_pad="5" + width="475" + word_wrap="false"> + Erik Kundiman EmilyAmiee + LinneNoir Bavid Dailey + milo (observeur) Aria (Tashia Redrose) + Fritigern Gothly Cate (32a) + Kou Ayashi Hiroo Ono + Hadet Sonnenkern Melodey + Remmy (Secret Foxtail) Keysin (scoutkeysin) + Eris Ravenwood Yikes Lopez + gwigz (nya) ~ ( ^-^ ) ~ (cutie_qu) + - 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. -- cgit v1.2.3 From f65bb5ecfb8930d7299f20dfeac2ccea95c798c6 Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Wed, 4 Jun 2025 15:51:39 -0700 Subject: Miniscule change to make the aspect ratio of the non-resizeable floater look better --- indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml b/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml index 0ea79e68c2..86aaf2a5c4 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml @@ -5,9 +5,9 @@ can_minimize="true" can_close="true" can_resize="false" - min_height="600" + min_height="660" min_width="800" - height="600" + height="660" layout="topleft" name="Avatar Welcome Pack" single_instance="true" @@ -17,7 +17,7 @@ width="800"> Date: Thu, 5 Jun 2025 14:04:32 +0800 Subject: Only Windows link to Boost JSON library file Adding another library file to link means adding many more lines for other platform(s), at least for macOS with its bundling. It's much simpler to make the condition on 2 files. --- indra/cmake/Boost.cmake | 5 +++-- indra/llcommon/llsdjson.cpp | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) 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/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 +#else +#include +#endif //========================================================================= LLSD LlsdFromJson(const boost::json::value& val) -- cgit v1.2.3 From 9be003f3ed0b3977760ec9764a6d8281de2a69aa Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 5 Jun 2025 14:21:08 +0800 Subject: Combine 2 ColladaDOM sed process in 1 execution and make the if, else, & endif styles more consistent. --- indra/cmake/LLPrimitive.cmake | 61 ++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index 6a24f62619..6dc0659bd8 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,38 @@ 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 /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 /a #define WIN32" dae/daeUtils.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 +82,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 +101,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 +134,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 -- cgit v1.2.3 From 936f22befc7a5cdf1c1cf94b35f6bb44fb504eb8 Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Thu, 5 Jun 2025 09:06:43 -0600 Subject: floater_about.xml -> credits cleanup Correct indendation in list of names and simplify special thanks text --- .../newview/skins/default/xui/en/floater_about.xml | 60 +++++++++++----------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index 40cb1b2c43..d6fa9cdd49 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -81,30 +81,30 @@ top="0" width="435" wrap="true"> -Megapahit is brought to you by (in order of appearance): +Megapahit is brought to you by: - Erik Kundiman EmilyAmiee - LinneNoir Bavid Dailey - milo (observeur) Aria (Tashia Redrose) - Fritigern Gothly Cate (32a) - Kou Ayashi Hiroo Ono - Hadet Sonnenkern Melodey - Remmy (Secret Foxtail) Keysin (scoutkeysin) - Eris Ravenwood Yikes Lopez - gwigz (nya) ~ ( ^-^ ) ~ (cutie_qu) - + enabled="false" + font="Monospace" + follows="top|left" + height="200" + bg_readonly_color="Transparent" + left="5" + text_color="LtGray" + max_length="65536" + top_pad="5" + width="475" + word_wrap="false"> +Erik Kundiman EmilyAmiee +LinneNoir Bavid Dailey +milo (observeur) Aria (Tashia Redrose) +Fritigern Gothly Cate (32a) +Kou Ayashi Hiroo Ono +Hadet Sonnenkern Melodey +Remmy (Secret Foxtail) Keysin (scoutkeysin) +Eris Ravenwood Yikes Lopez +gwigz (nya) ~ ( ^-^ ) ~ (cutie_qu) + -with special thanks to (in order of appearance): +with special thanks to: -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 @@ -189,7 +189,7 @@ Dummy Name replaced at run time Date: Thu, 5 Jun 2025 22:27:28 +0800 Subject: Fix 2 wstring linking errors to Boost filesystem The errors were: llfilesystem.lib(lldiskcache.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl boost::filesystem::detail::path_traits::convert(char const *,char const *,class std::basic_string,cla ss std::allocator > &,class std::codecvt const *)" (__imp_?convert@path_traits@detail@filesystem@boost@@YAXPEBD0AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@PEBV?$codecvt@GDU_Mbstatet@@@6@@Z) refe renced in function "public: void __cdecl LLDiskCache::purge(void)" (?purge@LLDiskCache@@QEAAXXZ) [C:\Users\erik\Documents\Megapahit\viewer\build-mingw64_nt-10.0-19045-x86_64\newview\megapahit.vcxproj] Hint on symbols that are defined and could potentially match: "__declspec(dllimport) void __cdecl boost::filesystem::detail::path_traits::convert(char const *,char const *,class std::basic_string,class std::allocator > &,class std::codecvt const *)" (__imp_?convert@path_traits@detail@filesystem@boost@@YAXPEBD0AEAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PEBV?$codecvt@_WDU_Mbstatet@@@6@@Z) "__declspec(dllimport) void __cdecl boost::filesystem::detail::path_traits::convert(wchar_t const *,wchar_t const *,class std::basic_string,class std::allocator > &,class std::codecvt const *) " (__imp_?convert@path_traits@detail@filesystem@boost@@YAXPEB_W0AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBV?$codecvt@_WDU_Mbstatet@@@6@@Z) llfilesystem.lib(lldir.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl boost::filesystem::detail::path_traits::convert(unsigned short const *,unsigned short const *,class std::basic_string,class std ::allocator > &,class std::codecvt const *)" (__imp_?convert@path_traits@detail@filesystem@boost@@YAXPEBG0AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBV?$codecvt@GDU_Mbstatet@@@6@@Z) referenced in functi on "public: class std::vector,class std::allocator >,class std::allocator,class std::allocator > > > __cdecl LLDir::getFilesInDir(class std: :basic_string,class std::allocator > const &)" (?getFilesInDir@LLDir@@QEAA?AV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@st d@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@@Z) [C:\Users\erik\Documents\Megapahit\viewer\build-mingw64_nt-10.0-19045-x86_64\newview\megapahit.vcxproj] --- indra/llfilesystem/lldir.cpp | 4 ++++ indra/llfilesystem/lldiskcache.cpp | 4 ++++ 2 files changed, 8 insertions(+) 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 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/lldiskcache.cpp b/indra/llfilesystem/lldiskcache.cpp index 49904911a9..58bbb995b0 100644 --- a/indra/llfilesystem/lldiskcache.cpp +++ b/indra/llfilesystem/lldiskcache.cpp @@ -159,7 +159,11 @@ 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()) { LL_WARNS() << "Failed to delete cache file " << entry.second.second << ": " << ec.message() << LL_ENDL; -- cgit v1.2.3 From 29983baebecfd0df7d16ec4de567628b6a61677f Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 5 Jun 2025 23:11:52 +0800 Subject: Rearrange the MP bringer names cause I see the order as per row, going right first, then down left, then right again, then down left again, and so on. --- indra/newview/skins/default/xui/en/floater_about.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index d6fa9cdd49..de047f5010 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -95,15 +95,15 @@ Megapahit is brought to you by: top_pad="5" width="475" word_wrap="false"> -Erik Kundiman EmilyAmiee -LinneNoir Bavid Dailey -milo (observeur) Aria (Tashia Redrose) -Fritigern Gothly Cate (32a) -Kou Ayashi Hiroo Ono -Hadet Sonnenkern Melodey -Remmy (Secret Foxtail) Keysin (scoutkeysin) -Eris Ravenwood Yikes Lopez -gwigz (nya) ~ ( ^-^ ) ~ (cutie_qu) +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) Date: Fri, 6 Jun 2025 00:14:35 +0800 Subject: Fix another wstring Boost filesystem linking error Basically string() functions call this convert(). The error was: llfilesystem.lib(lldiriterator.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) void __cdecl boost::filesystem::detail::path_traits::convert(unsigned short const *,unsigned short const *,class std::basic_string,c lass std::allocator > &,class std::codecvt const *)" (__imp_?convert@path_traits@detail@filesystem@boost@@YAXPEBG0AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBV?$codecvt@GDU_Mbstatet@@@6@@Z) [C:\Users\er ik\Documents\Megapahit\viewer\build-mingw64_nt-10.0-19045-x86_64\newview\megapahit.vcxproj] Hint on symbols that are defined and could potentially match: "__declspec(dllimport) void __cdecl boost::filesystem::detail::path_traits::convert(char const *,char const *,class std::basic_string,class std::allocator > &,class std::codecvt const *)" (__imp_?convert@path_traits@detail@filesystem@boost@@YAXPEBD0AEAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PEBV?$codecvt@_WDU_Mbstatet@@@6@@Z) "__declspec(dllimport) void __cdecl boost::filesystem::detail::path_traits::convert(wchar_t const *,wchar_t const *,class std::basic_string,class std::allocator > &,class std::codecvt const *) " (__imp_?convert@path_traits@detail@filesystem@boost@@YAXPEB_W0AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBV?$codecvt@_WDU_Mbstatet@@@6@@Z) --- indra/llfilesystem/lldiriterator.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) 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) { -- cgit v1.2.3 From 66251e9e06fb314b5d403d5faa83305f74b35a25 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 6 Jun 2025 10:28:39 +0800 Subject: Fix another wstring Boost filesystem linking error I couldn't get the LL_WARNS to link on Windows yet, so they're just disabled for now, they're only warnings to the users anyway. The error was: llfilesystem.lib(lldiskcache.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl boost::filesystem::detail::path_traits::convert(unsigned short const *,unsigned short const *,class std::basic_string,cla ss std::allocator > &,class std::codecvt const *)" (__imp_?convert@path_traits@detail@filesystem@boost@@YAXPEBG0AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBV?$codecvt@GDU_Mbstatet@@@6@@Z) referenced in function "public: void __cdecl LLDiskCache::clearCache(void)" (?clearCache@LLDiskCache@@QEAAXXZ) [C:\Users\erik\Documents\Megapahit\viewer\build-mingw64_nt-10.0-19045-x86_64\newview\megapahit.vcxproj] --- indra/llfilesystem/lldiskcache.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/indra/llfilesystem/lldiskcache.cpp b/indra/llfilesystem/lldiskcache.cpp index 58bbb995b0..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()) { @@ -166,7 +174,9 @@ void LLDiskCache::purge() #endif if (ec.failed()) { +#if !LL_WINDOWS LL_WARNS() << "Failed to delete cache file " << entry.second.second << ": " << ec.message() << LL_ENDL; +#endif } } } @@ -241,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 } } } @@ -274,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 } } } @@ -315,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()) -- cgit v1.2.3 From ddbcf74a8f171adabf3b61a8ce3419eea0d1e018 Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Thu, 5 Jun 2025 22:31:43 -0700 Subject: Open Avatar Welcome Pack floater on first login (or cleared settings) and move it to the center of the screen. Adjust the size of the floater (height) slightly. --- indra/newview/llfloateravatarwelcomepack.cpp | 1 + indra/newview/llstartup.cpp | 20 +++++++++++++++++--- .../default/xui/en/floater_avatar_welcome_pack.xml | 12 ++++++------ 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/indra/newview/llfloateravatarwelcomepack.cpp b/indra/newview/llfloateravatarwelcomepack.cpp index 82e44d1398..06b6de0cbf 100644 --- a/indra/newview/llfloateravatarwelcomepack.cpp +++ b/indra/newview/llfloateravatarwelcomepack.cpp @@ -48,6 +48,7 @@ LLFloaterAvatarWelcomePack::~LLFloaterAvatarWelcomePack() bool LLFloaterAvatarWelcomePack::postBuild() { + center(); mAvatarPicker = findChild("avatar_picker_contents"); if (mAvatarPicker) { diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index cc4f49c0b4..f065d286c8 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2103,9 +2103,6 @@ bool idle_startup() do_startup_frame(); - // We're successfully logged in. - gSavedSettings.setBOOL("FirstLoginThisInstall", false); - LLFloaterReg::showInitialVisibleInstances(); LLFloaterGridStatus::getInstance()->startGridStatusTimer(); @@ -2451,6 +2448,23 @@ bool idle_startup() LLPerfStats::StatsRecorder::setAutotuneInit(); + // Display Avatar Welcome Pack the first time a user logs in + // (or clears their settings....) + if (gSavedSettings.getBOOL("FirstLoginThisInstall")) + { + LLFloater* avatar_welcome_pack_floater = LLFloaterReg::findInstance("avatar_welcome_pack"); + if (avatar_welcome_pack_floater != nullptr) + { + avatar_welcome_pack_floater->center(); + avatar_welcome_pack_floater->setVisible(true); + } + } + + //// We're successfully logged in. + // 2025-06 Moved lower down in the state machine so the Avatar Welcome Pack + // floater display can be triggered correctly. + gSavedSettings.setBOOL("FirstLoginThisInstall", false); + return true; } diff --git a/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml b/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml index 86aaf2a5c4..1b0f91c7ea 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml @@ -5,20 +5,20 @@ can_minimize="true" can_close="true" can_resize="false" - min_height="660" - min_width="800" - height="660" + min_height="420" + min_width="500" + height="420" layout="topleft" name="Avatar Welcome Pack" single_instance="true" save_rect="true" save_visibility="true" title="AVATAR WELCOME PACK" - width="800"> + width="500"> -- cgit v1.2.3 From 63e297bd8bfe9cb20244c1e72c6e957510c32851 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 6 Jun 2025 19:29:39 +0800 Subject: Make the viewer installable & runnable on Windows Turns out the CMAKE_BUILD_TYPE setting is necessary, otherwise it would be built in RelWithDebInfo configuration. Reorganise the contributors generation and general CPack settings in indra/newview/CMakeLists.txt. Running sed when cross-comping for Linux, on FreeBSD, doesn't need to use Linux's sed, so no need for ${CMAKE_SYSROOT}/usr/bin prefix, this way that section can be reused for Windows. I still couldn't get CPack to make NSIS not use the version numbers as part of the default installation destination. Using TARGETS for installing llwebrtc would cause the .lib to be installed too, which isn't necessary, that's why we use PROGRAMS. contributors.txt still gets generated wrongly. The executable icon is still SL's test icon. ColladaDOM's failure to link to Boost throw_exception, from its use of Boost Regex, is not fixed yet. I got to this stage by temporarily removing the offending lines in daeURI.cpp (which are the lines where Boost Regex is used). --- README.md | 4 +- indra/llplugin/slplugin/CMakeLists.txt | 8 +- indra/llwebrtc/CMakeLists.txt | 13 +- indra/newview/CMakeLists.txt | 231 +++++++++++++++++---------------- indra/newview/ViewerInstall.cmake | 72 ++++++++++ 5 files changed, 209 insertions(+), 119 deletions(-) diff --git a/README.md b/README.md index c1eea48788..21099e881a 100644 --- a/README.md +++ b/README.md @@ -126,8 +126,10 @@ $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 / $ export PATH="/c/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin:/c/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin:$VCPKG_ROOT/downloads/tools/msys2/21caed2f81ec917b/mingw64/bin:$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/libxml2:$PATH" $ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/lib/pkgconfig" $ export PYTHON="$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/python3/python.exe" -$ cmake -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=OFF -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=OFF -DPACKAGE:BOOL=OFF -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=OFF -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra $ MSBuild.exe Megapahit.sln -p:Configuration=Release +$ cpack -G NSIS +$ start Megapahit-`cat newview/viewer_version.txt`-win64.exe ``` ## Contribute 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/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/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 6657eee0b2..4e6531e22b 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -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,15 @@ 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}!") + + if (FALSE) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.xz COMMAND ${PYTHON_EXECUTABLE} @@ -1953,6 +2018,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) @@ -2124,38 +2190,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 +2279,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 +2314,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..084f103822 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -84,6 +84,78 @@ 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 . + ) + else (DARWIN) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME} -- cgit v1.2.3 From 8f44cd4d043bcaa400ce0cc47d3c03196bb8defe Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 6 Jun 2025 20:18:18 +0800 Subject: Revert "Exclude Windows from referring to LibVLC headers" This reverts commit f0de1898e0b6a3b9f1ee1bcc762ba334b78bbcc6. --- indra/newview/llappviewer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 3f716cc4ef..e1e26372df 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__ #include "cef/dullahan_version.h" -#endif // LL_DARWIN || LL_LINUX || __FreeBSD__ +#endif #include "vlc/libvlc_version.h" -#endif // !LL_WINDOWS #if LL_DARWIN #if LL_SDL @@ -3463,7 +3461,7 @@ LLSD LLAppViewer::getViewerInfo() const info["LIBCEF_VERSION"] = "Undefined"; #endif -#if !LL_WINDOWS +//#if !LL_LINUX std::ostringstream vlc_ver_codec; vlc_ver_codec << LIBVLC_VERSION_MAJOR; vlc_ver_codec << "."; @@ -3471,9 +3469,11 @@ LLSD LLAppViewer::getViewerInfo() const vlc_ver_codec << "."; vlc_ver_codec << LIBVLC_VERSION_REVISION; info["LIBVLC_VERSION"] = vlc_ver_codec.str(); +/* #else info["LIBVLC_VERSION"] = "Undefined"; #endif +*/ S32 packets_in = (S32)LLViewerStats::instance().getRecording().getSum(LLStatViewer::PACKETS_IN); if (packets_in > 0) -- cgit v1.2.3 From b6c930833bce5d501f4c4496935b7fbf13ed34aa Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 6 Jun 2025 21:44:26 +0800 Subject: Enable media plugins on Windows Put the necessary files into place. But, none of them is working just yet. --- README.md | 2 +- indra/cmake/LibVLCPlugin.cmake | 7 +++++- indra/media_plugins/cef/CMakeLists.txt | 39 +++++++++++++++++++++++++++---- indra/media_plugins/libvlc/CMakeLists.txt | 14 +++++++---- 4 files changed, 52 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 21099e881a..2de2b4a00f 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,7 @@ $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 / $ export PATH="/c/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin:/c/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin:$VCPKG_ROOT/downloads/tools/msys2/21caed2f81ec917b/mingw64/bin:$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/libxml2:$PATH" $ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/lib/pkgconfig" $ export PYTHON="$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/python3/python.exe" -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=OFF -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra $ MSBuild.exe Megapahit.sln -p:Configuration=Release $ cpack -G NSIS $ start Megapahit-`cat newview/viewer_version.txt`-win64.exe 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/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..c7b12b17dc 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -95,8 +95,14 @@ 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) + elseif (WINDOWS) + set(_LIB llplugin) + 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 () 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 () -- cgit v1.2.3 From a366a49daff63af865aa5e3bda9186d8b0db4814 Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Fri, 6 Jun 2025 17:21:19 -0700 Subject: tweak the size of the AWP floater to take account of new image sizes. Do not center floater anymore because it obscures the avatar. --- indra/newview/llfloateravatarwelcomepack.cpp | 1 - indra/newview/llstartup.cpp | 6 +++++- .../skins/default/xui/en/floater_avatar_welcome_pack.xml | 12 ++++++------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/indra/newview/llfloateravatarwelcomepack.cpp b/indra/newview/llfloateravatarwelcomepack.cpp index 06b6de0cbf..82e44d1398 100644 --- a/indra/newview/llfloateravatarwelcomepack.cpp +++ b/indra/newview/llfloateravatarwelcomepack.cpp @@ -48,7 +48,6 @@ LLFloaterAvatarWelcomePack::~LLFloaterAvatarWelcomePack() bool LLFloaterAvatarWelcomePack::postBuild() { - center(); mAvatarPicker = findChild("avatar_picker_contents"); if (mAvatarPicker) { diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index f065d286c8..6bf0a50d1c 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2455,7 +2455,11 @@ bool idle_startup() LLFloater* avatar_welcome_pack_floater = LLFloaterReg::findInstance("avatar_welcome_pack"); if (avatar_welcome_pack_floater != nullptr) { - avatar_welcome_pack_floater->center(); + // There is a (very - 1 in ~50 times) hard to repro bug where the login + // page is not hidden when the AWP floater is presented. This (agressive) + // approach to always close it seems like the best fix for now. + LLPanelLogin::closePanel(); + avatar_welcome_pack_floater->setVisible(true); } } diff --git a/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml b/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml index 1b0f91c7ea..795d642755 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar_welcome_pack.xml @@ -5,20 +5,20 @@ can_minimize="true" can_close="true" can_resize="false" - min_height="420" - min_width="500" - height="420" + min_height="438" + min_width="530" + height="438" layout="topleft" name="Avatar Welcome Pack" single_instance="true" save_rect="true" save_visibility="true" title="AVATAR WELCOME PACK" - width="500"> + width="530"> -- cgit v1.2.3 From 9bd50d8dcfd00aaf08eb80e290cb0481ee79e5d8 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 7 Jun 2025 15:30:14 +0800 Subject: Install DLLs needed by media plugins to llplugin --- indra/newview/ViewerInstall.cmake | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 084f103822..e2fe13c9ab 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -156,6 +156,16 @@ elseif (WINDOWS) 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} -- cgit v1.2.3 From d1251b24f42ab5116336060abb698474a3fbc740 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 7 Jun 2025 17:35:53 +0800 Subject: Overwrite SL test icons with MP's with same names Less diffs. And only a couple. --- indra/newview/icons/test/secondlife.ico | Bin 76861 -> 9662 bytes indra/newview/icons/test/secondlife_256.BMP | Bin 196662 -> 262954 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/icons/test/secondlife.ico b/indra/newview/icons/test/secondlife.ico index ceb8e8e6eb..c8430a6bd3 100644 Binary files a/indra/newview/icons/test/secondlife.ico and b/indra/newview/icons/test/secondlife.ico differ diff --git a/indra/newview/icons/test/secondlife_256.BMP b/indra/newview/icons/test/secondlife_256.BMP index e23fcfdbe9..829db82c52 100644 Binary files a/indra/newview/icons/test/secondlife_256.BMP and b/indra/newview/icons/test/secondlife_256.BMP differ -- cgit v1.2.3 From 62e707f043028401e2e433578f7078d02539ef3e Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 7 Jun 2025 17:37:44 +0800 Subject: Adjust info for Windows viewer app properties --- indra/newview/res/viewerRes.rc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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 -- cgit v1.2.3 From 74cd194dc61373cb49279f87e802516963f3d172 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 7 Jun 2025 18:10:01 +0800 Subject: Fix ColladaDOM link error to Boost throw_exception in viewer linking stage on Windows. throw_exception is user defined (it's not picking up its definition from anywhere on Windows, at least when using vcpkg's Boost). (Link target) -> libcollada14dom23-s.lib(daeURI.obj) : error LNK2019: unresolved external symbol void __cdecl boost::throw_exception(class std::exception const &) (?throw_exception@boost@@YAXAEBVexception@std@@@Z) referenced in function void __cdecl boost::re_detail_500::raise_runtime_error(class boost::regex_error const &) (??$raise_runtime_error@Vregex_error@boost@@@re_detail_500@boost@@YAXAEBVregex_error@1@@Z) [C:\Users\erik\Documents\Megapahit\viewer\build-mingw64_nt-10.0-19045-x86_64\newview\megapahit.vcxproj] --- indra/cmake/LLPrimitive.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index 6dc0659bd8..7aa266d2db 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -43,6 +43,7 @@ else () execute_process( COMMAND sed -i "s/SHARED/STATIC/" 1.4/CMakeLists.txt COMMAND sed -i "/#include /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 () -- cgit v1.2.3 From c9fdaad8df2741b3a94151b66c574a63a0845529 Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Sat, 7 Jun 2025 09:22:02 -0600 Subject: FS search cleanup -> Categories dropdown button Move categories dropdown button so that it is not cut off by the edge of the floater, also fix "Arts and Culture" & "Parks and Nature" places categories displaying "MissingString" --- .../skins/default/xui/en/panel_fs_search_legacy_classifieds.xml | 6 +++--- .../newview/skins/default/xui/en/panel_fs_search_legacy_events.xml | 6 +++--- .../newview/skins/default/xui/en/panel_fs_search_legacy_places.xml | 6 +++--- indra/newview/skins/default/xui/en/strings.xml | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) 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" /> + width="120"> 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" /> + width="120"> 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" /> + width="120"> 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 None Linden Location Adult - Arts & Culture + Arts and Culture Business Educational Gaming Hangout Newcomer Friendly - Parks & Nature + Parks and Nature Residential Stage -- cgit v1.2.3 From d4f3a8c3d6c24b97f9be2445659b3a67baf3a414 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 8 Jun 2025 18:49:27 +0800 Subject: Make sure Windows include CEF & Dullahan headers and minimise diff related to LibVLC headers. --- indra/newview/llappviewer.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index e1e26372df..cee39fc651 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -131,10 +131,10 @@ #include "stringize.h" #include "llcoros.h" #include "llexception.h" -#if LL_DARWIN || LL_LINUX || __FreeBSD__ +#if 1 // !LL_LINUX #include "cef/dullahan_version.h" -#endif #include "vlc/libvlc_version.h" +#endif // LL_LINUX #if LL_DARWIN #if LL_SDL @@ -3431,7 +3431,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; @@ -3461,7 +3461,7 @@ LLSD LLAppViewer::getViewerInfo() const info["LIBCEF_VERSION"] = "Undefined"; #endif -//#if !LL_LINUX +#if 1 // !LL_LINUX std::ostringstream vlc_ver_codec; vlc_ver_codec << LIBVLC_VERSION_MAJOR; vlc_ver_codec << "."; @@ -3469,11 +3469,9 @@ LLSD LLAppViewer::getViewerInfo() const vlc_ver_codec << "."; vlc_ver_codec << LIBVLC_VERSION_REVISION; info["LIBVLC_VERSION"] = vlc_ver_codec.str(); -/* #else info["LIBVLC_VERSION"] = "Undefined"; #endif -*/ S32 packets_in = (S32)LLViewerStats::instance().getRecording().getSum(LLStatViewer::PACKETS_IN); if (packets_in > 0) -- cgit v1.2.3 From b3ab1336dcf2ecd51ce4792c8977771d73790a4b Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 8 Jun 2025 18:51:04 +0800 Subject: Windows x86-64 without SSE2 will be crashed too --- indra/newview/llappviewer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index cee39fc651..d91d2d3f4c 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -987,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()) { -- cgit v1.2.3 From e593649e42e70a45db16aaecce2a38c2f34dda69 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 8 Jun 2025 18:52:14 +0800 Subject: Fix tab to space and simplify logics --- indra/media_plugins/libvlc/CMakeLists.txt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index c7b12b17dc..1919f54a82 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -95,14 +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}) - elseif (WINDOWS) - set(_LIB llplugin) - 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 () set(_LIB lib) endif () - if (NOT WINDOWS) + 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 () -- cgit v1.2.3 From 5fa174cd7c27719d2f03fbb704a19e5fa3440ccd Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 8 Jun 2025 19:30:05 +0800 Subject: Re-enable gSavedSettings & CEF logging on Windows I started with disabling it for having BUILD_SHARED_LIBS on. Then I enabled it for macOS when I added internal browser support for macOS. Then I enabled it for Linux when I added internal browser support for Linux. Then I enabled it for FreeBSD when I added internal browser support attempt for FreeBSD. I should have left it enabled by default except for platforms that surely are not supported to have internal browser. --- indra/llplugin/llpluginclassmedia.cpp | 4 ---- 1 file changed, 4 deletions(-) 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); } -- cgit v1.2.3 From f8a13d8e14c5b420d2d76363f859febd11ee62ee Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 9 Jun 2025 21:12:07 +0800 Subject: Fix all media plugins failure on Windows Uncomment a couple of commented out lines out in indra/llplugin/slplugin.cpp and adjust to something like: LLError::setTagLevel("Plugin", LLError::LEVEL_DEBUG); LLError::logToFile("C:\\Users\\erik\\AppData\\Roaming\\Megapahit\\logs\\slplugin.log"); I got "The requested service provider could not be loaded or initialized" This really helped me solve it: https://travis-ci.community/t/socket-the-requested-service-provider-could-not-be-loaded-or-initialized/1127 --- indra/llplugin/llpluginprocessparent.cpp | 3 +++ 1 file changed, 3 insertions(+) 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; -- cgit v1.2.3 From dd05837c7aa5314a553235f46d13c88df8e448a9 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 9 Jun 2025 22:37:39 +0800 Subject: Fix usleep implementation for Windows https://stackoverflow.com/questions/5801813/c-usleep-is-obsolete-workarounds-for-windows-mingw --- indra/newview/llappviewer.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index d91d2d3f4c..94e8fabcb2 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1545,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 -- cgit v1.2.3 From 78f85aa6efdeb8ada9afb5083dc75e645aa34e8c Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 10 Jun 2025 12:21:41 +0800 Subject: Windows menu shortcut & InstallDir without version Referring to cpack-generators(7) manual, I don't know what to replace the in CPACK_NSIS__INSTALL_DIRECTORY with, but in CPACK_NSIS_INSTALL_ROOT explanation, it mentions the full directory presented to the end user, and from that we can conclude the variable we need to set for customisation is just CPACK_PACKAGE_INSTALL_DIRECTORY. --- indra/newview/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 4e6531e22b..d7d2860fd9 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1970,6 +1970,8 @@ if (WINDOWS) 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( -- cgit v1.2.3 From f1fa6c55b57b188d3c84711f51a2499a98b9b9e8 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 11 Jun 2025 23:56:20 +0800 Subject: Update Windows build instructions There's a different section for Windows arm64, cause there are different patterns in the commands that are too difficult to generalise. BuildTools is used instead of the full Visual Studio IDE, and BuildTools is installed in Program Files (x86) on both Windows x64 and arm64. The CMake used is the one automatically installed by vcpkg, and it can find the compilers when the toolchain file setting is set to the file provided by vcpkg. This way we don't have to install VS CMake component that depends on x64/x86 build tools, which we don't need for Windows arm64. The pkg-config used is the other one downloaded, as the path to it is common on both Windows arm64 and x64. cURL is installed on arm64 cause there doesn't seem to be any easy way to build OpenSSL 1.1 for Windows arm64 (which LL's cURL fork depends on). --- README.md | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2de2b4a00f..555ffc9626 100644 --- a/README.md +++ b/README.md @@ -119,14 +119,28 @@ $ sudo apt install ./megapahit-`cat newview/viewer_version.txt`-Linux.deb $ megapahit ``` -### Windows +### Windows arm64 +``` +$ vcpkg install pkgconf python3 freealut apr-util boost curl freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg libvorbis libxml2[tools] xxhash +$ vcpkg install --allow-unsupported boost-fiber +$ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602 /Zc:preprocessor" +$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-arm64/bin:$VCPKG_ROOT/downloads/tools/msys2/2db36fb050d01f45/usr/bin:$VCPKG_ROOT/installed/arm64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" +$ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/arm64-windows/lib/pkgconfig" +$ export PYTHON="$VCPKG_ROOT/installed/arm64-windows/tools/python3/python.exe" +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=OFF -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra +$ MSBuild.exe Megapahit.sln -p:Configuration=Release +$ cpack -G NSIS +$ start Megapahit-`cat newview/viewer_version.txt`-win64.exe +``` + +### Windows x64 ``` $ vcpkg install pkgconf python3 freealut apr-util boost freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg libvorbis libxml2[tools] xxhash $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602" -$ export PATH="/c/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin:/c/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin:$VCPKG_ROOT/downloads/tools/msys2/21caed2f81ec917b/mingw64/bin:$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/libxml2:$PATH" -$ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/lib/pkgconfig" -$ export PYTHON="$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/python3/python.exe" -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra +$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-i386/bin:$VCPKG_ROOT/downloads/tools/msys2/2db36fb050d01f45/usr/bin:$VCPKG_ROOT/installed/x64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" +$ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/x64-windows/lib/pkgconfig" +$ export PYTHON="$VCPKG_ROOT/installed/x64-windows/tools/python3/python.exe" +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra $ MSBuild.exe Megapahit.sln -p:Configuration=Release $ cpack -G NSIS $ start Megapahit-`cat newview/viewer_version.txt`-win64.exe -- cgit v1.2.3 From 63ef595c301dfb32122f15cac1b1e3b9f110a9bb Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Wed, 11 Jun 2025 09:05:29 -0700 Subject: Point the URL for the Avatar Welconme Pack at the production location (Eventually - marshalled by [GIRD LOWER]) --- indra/newview/app_settings/settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 0f0593c625..ac121999a3 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -630,7 +630,7 @@ Type String Value - https://sl-viewer-media-system.s3.amazonaws.com/vawp/index.html + http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/vawp/index.html AvatarBakedTextureUploadTimeout -- cgit v1.2.3 From 0c6dad371514dd004d936ad0f73f7c2a38f10fb5 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 12 Jun 2025 00:29:47 +0800 Subject: Exclude Windows arm64 from WebRTC Crow Misia's libwebrtc-bin, the one we've been relying on for WebRTC binaries, doesn't seem to be providing Windows arm64 binaries yet. --- indra/CMakeLists.txt | 2 +- indra/cmake/WebRTC.cmake | 2 +- indra/newview/CMakeLists.txt | 4 +- indra/newview/llvoiceclient.cpp | 82 ++++++++++++++++++++--------------------- 4 files changed, 45 insertions(+), 45 deletions(-) diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index b1970fba35..85591782f2 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/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 454ed8c0a1..ce012d31be 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/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index d7d2860fd9..e171a513f9 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 () @@ -2091,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 () 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 &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 &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(); -- cgit v1.2.3 From 3908abc96cb742623b2945eb382ad72628b234a0 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 12 Jun 2025 00:32:22 +0800 Subject: Use system (vcpkg) OpenSSL & cURL on Windows arm64 cURL is installed on arm64 cause there doesn't seem to be any easy way to build OpenSSL 1.1 for Windows arm64 (which LL's cURL fork depends on). --- indra/cmake/CURL.cmake | 5 +++-- indra/cmake/OpenSSL.cmake | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) 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/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( -- cgit v1.2.3 From cd97226eed97742f1823da4c85bfd14c32e9d265 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 12 Jun 2025 00:33:27 +0800 Subject: Get SSE2NEON for Windows arm64 too --- indra/llcommon/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 6c1e1ef64a..f9b36738b5 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) -- cgit v1.2.3 From 6619b030ef33101eaff4b0360858867f2e379e79 Mon Sep 17 00:00:00 2001 From: "Jonathan \"Geenz\" Goodman" Date: Wed, 11 Jun 2025 17:38:00 -0400 Subject: Update viewer version. --- indra/newview/VIEWER_VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index 099f298456..6329380f96 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -7.1.14 +7.1.15 -- cgit v1.2.3 From 7302558beb8790eab71ed270a9c29f12ab0c1a4d Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 12 Jun 2025 14:49:37 +0800 Subject: Put MSYSTEM_CARCH env setting check in parentheses Parsing failed on macOS' CMake (could be MacPorts, could be the version) for some reason. --- indra/CMakeLists.txt | 2 +- indra/cmake/WebRTC.cmake | 2 +- indra/llcommon/CMakeLists.txt | 2 +- indra/newview/CMakeLists.txt | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index 85591782f2..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 OR $ENV{MSYSTEM_CARCH} MATCHES aarch64)) +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/WebRTC.cmake b/indra/cmake/WebRTC.cmake index ce012d31be..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 OR $ENV{MSYSTEM_CARCH} MATCHES aarch64)) +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 f9b36738b5..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 OR $ENV{MSYSTEM_CARCH} 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/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index e171a513f9..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 OR $ENV{MSYSTEM_CARCH} MATCHES aarch64) +if (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64)) list(REMOVE_ITEM viewer_SOURCE_FILES llvoicewebrtc.cpp) endif () @@ -2091,7 +2091,7 @@ target_link_libraries(${VIEWER_BINARY_NAME} ll::openxr ) -if (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR $ENV{MSYSTEM_CARCH} MATCHES aarch64)) +if (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64))) target_link_libraries(${VIEWER_BINARY_NAME} llwebrtc ) endif () -- cgit v1.2.3 From f1b4f562785d5b911bf1ab8181ca037db4d9d8af Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 12 Jun 2025 14:52:10 +0800 Subject: Get rid of C5104 warnings on arm64 I felt like they slowed down the flow. https://developercommunity.visualstudio.com/t/warnings-in-a-windows-sdk-header-when-compiling-wi/897227 --- indra/llcommon/llpreprocessor.h | 4 ++++ 1 file changed, 4 insertions(+) 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 -- cgit v1.2.3 From 1cd2a89bd82a3c35dc4fd21d32211d8f81817050 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 13 Jun 2025 04:11:39 +0200 Subject: Fix implicit instantiation of undefined template 'std::char_traits' on FreeBSD. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282329 --- indra/llcommon/llstring.cpp | 2 +- indra/llcommon/llstring.h | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/indra/llcommon/llstring.cpp b/indra/llcommon/llstring.cpp index 07adf71d18..bb6d091a97 100644 --- a/indra/llcommon/llstring.cpp +++ b/indra/llcommon/llstring.cpp @@ -260,7 +260,7 @@ S32 utf16str_wstring_length(const llutf16string &utf16str, const S32 utf16_len) { S32 surrogate_pairs = 0; // ... craziness to make gcc happy (llutf16string.c_str() is tweaked on linux): - const U16 *const utf16_chars = &(*(utf16str.begin())); + const auto *const utf16_chars = &(*(utf16str.begin())); S32 i = 0; while (i < utf16_len) { diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h index 7a8edc176d..2e579a4d2d 100644 --- a/indra/llcommon/llstring.h +++ b/indra/llcommon/llstring.h @@ -635,7 +635,11 @@ LL_COMMON_API std::string rawstr_to_utf8(const std::string& raw); // // This typedef may or may not be identical to std::wstring, depending on // LL_WCHAR_T_NATIVE. +#if __FreeBSD__ +typedef std::basic_string llutf16string; +#else typedef std::basic_string llutf16string; +#endif // Considering wchar_t, llwchar and U16, there are three relevant cases: #if LLWCHAR_IS_WCHAR_T // every which way but Windows -- cgit v1.2.3 From 358260af531dd617195cc373ed4504048689b3ef Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 13 Jun 2025 17:51:59 +0800 Subject: Remove ../lib rpath from dullahan_host for all It's irrelevant on any distro anyway. --- indra/cmake/CEFPlugin.cmake | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/indra/cmake/CEFPlugin.cmake b/indra/cmake/CEFPlugin.cmake index 70e6c366a4..b70be7926f 100644 --- a/indra/cmake/CEFPlugin.cmake +++ b/indra/cmake/CEFPlugin.cmake @@ -88,12 +88,10 @@ else (CMAKE_OSX_ARCHITECTURES MATCHES arm64) use_prebuilt_binary(dullahan) endif (CMAKE_OSX_ARCHITECTURES MATCHES arm64) -if (${LINUX_DISTRO} MATCHES fedora) - execute_process( - COMMAND patchelf --remove-rpath bin/release/dullahan_host - WORKING_DIRECTORY ${LIBS_PREBUILT_DIR} - ) -endif (${LINUX_DISTRO} MATCHES fedora) +execute_process( + COMMAND patchelf --remove-rpath bin/release/dullahan_host + WORKING_DIRECTORY ${LIBS_PREBUILT_DIR} + ) target_include_directories( ll::cef SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/cef) -- cgit v1.2.3 From 1b7df922b23fa2b7ba74c8958f2799c7ebc1d0ae Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 13 Jun 2025 19:33:43 +0800 Subject: FMOD has been upgraded from 2.02.28 to 2.02.29 --- indra/cmake/FMODSTUDIO.cmake | 32 ++++++++++++++++---------------- indra/newview/ViewerInstall.cmake | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/indra/cmake/FMODSTUDIO.cmake b/indra/cmake/FMODSTUDIO.cmake index fb4734fe7b..8cac756ead 100644 --- a/indra/cmake/FMODSTUDIO.cmake +++ b/indra/cmake/FMODSTUDIO.cmake @@ -34,7 +34,7 @@ if (USE_FMODSTUDIO) file(MAKE_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE}) if (DARWIN) execute_process( - COMMAND hdiutil attach -noverify fmodstudioapi20228mac-installer.dmg + COMMAND hdiutil attach -noverify fmodstudioapi20229mac-installer.dmg WORKING_DIRECTORY $ENV{HOME}/Downloads ) file( @@ -64,36 +64,36 @@ if (USE_FMODSTUDIO) file(WRITE ${PREBUILD_TRACKING_DIR}/fmodstudio_installed "${fmodstudio_installed}") else () file(ARCHIVE_EXTRACT - INPUT $ENV{HOME}/Downloads/fmodstudioapi20228linux.tar.gz + INPUT $ENV{HOME}/Downloads/fmodstudioapi20229linux.tar.gz DESTINATION ${CMAKE_BINARY_DIR} ) file( COPY - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/inc/fmod.h - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/inc/fmod.hpp - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/inc/fmod_codec.h - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/inc/fmod_common.h - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/inc/fmod_dsp.h - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/inc/fmod_dsp_effects.h - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/inc/fmod_errors.h - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/inc/fmod_output.h + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/inc/fmod.h + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/inc/fmod.hpp + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/inc/fmod_codec.h + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/inc/fmod_common.h + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/inc/fmod_dsp.h + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/inc/fmod_dsp_effects.h + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/inc/fmod_errors.h + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/inc/fmod_output.h DESTINATION ${LIBS_PREBUILT_DIR}/include/fmodstudio ) if (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) file( COPY - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/lib/arm64/libfmod.so - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/lib/arm64/libfmod.so.13 - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/lib/arm64/libfmod.so.13.28 + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/lib/arm64/libfmod.so + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/lib/arm64/libfmod.so.13 + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/lib/arm64/libfmod.so.13.29 DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} FOLLOW_SYMLINK_CHAIN ) else () file( COPY - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so.13 - ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so.13.28 + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so.13 + ${CMAKE_BINARY_DIR}/fmodstudioapi20229linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so.13.29 DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} FOLLOW_SYMLINK_CHAIN ) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index e2fe13c9ab..27427c7145 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -184,7 +184,7 @@ if (LINUX) install(FILES ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so.13 - ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so.13.28 + ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so.13.29 DESTINATION ${_LIB}) endif (USE_FMODSTUDIO) endif (LINUX) -- cgit v1.2.3 From 32c60e931a0c5c2dd4c562f84a27286ce419456b Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 13 Jun 2025 22:16:46 +0800 Subject: Add Windows to the build list, sort alphabetically --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 555ffc9626..dbc225c327 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ As a third party maintained fork of the [Second Life][] viewer, which includes A ## Download -Most people use a pre-built viewer release to access Second Life. macOS, GNU/Linux and FreeBSD builds are +Most people use a pre-built viewer release to access Second Life. FreeBSD, GNU/Linux, macOS and Windows builds are [published on the official website][download]. More experimental viewers, such as release candidates and project viewers, would be detailed on the same page, [in-world group][] notices, or [Discord][] server. -- cgit v1.2.3 From a7c229914e1a88689b0e772baa1196b2ebd6142f Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Fri, 13 Jun 2025 09:08:47 -0600 Subject: panel_group_info_sidetray.xml adjustment move button_row_ls up a little bit so that the buttons are not cut off by the bottom edge of the floater. --- indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml index da900c783b..7b404ef5ca 100644 --- a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml @@ -203,7 +203,7 @@ background_visible="false" name="button_row_ls" left="6" orientation="horizontal" - top_pad="5" + top_pad="2" width="297"> Date: Sun, 15 Jun 2025 15:50:28 +0800 Subject: Make sure lib/release exists on Windows arm64 before using it for ColladaDOM library file, cause it seems that ColladaDOM is the first one that gets built on Windows arm64 before any other package gets installed and implicitly creating that folder. --- indra/cmake/LLPrimitive.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index 7aa266d2db..00e3c73851 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -85,7 +85,7 @@ else () ) if (WINDOWS) execute_process( - COMMAND MSBuild.exe ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/Project.sln -p:Configuration=Release + COMMAND MSBuild.exe ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/Project.sln -p:Configuration=${CMAKE_BUILD_TYPE} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 OUTPUT_VARIABLE colladadom_installed ) @@ -98,8 +98,9 @@ else () ${LIBS_PREBUILT_DIR}/include/include ${LIBS_PREBUILT_DIR}/include/collada ) + file(MAKE_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE}) file(RENAME - ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4/Release/collada14dom.lib + ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4/${CMAKE_BUILD_TYPE}/collada14dom.lib ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom23-s.lib ) elseif (${COLLADADOM_RESULT}) -- cgit v1.2.3 From 1e2c621af65cd1bde8ad122be4d4a6d4bb578f25 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 19 Jun 2025 17:41:15 +0800 Subject: Alternative to rdtsc, for Windows arm64 Just copying from this: https://forum.juce.com/t/windows-arm64-support/47572/6 This commit is for getting rid of the compile error for now, we don't know yet if this will work correctly or not. --- indra/llcommon/llfasttimer.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/indra/llcommon/llfasttimer.h b/indra/llcommon/llfasttimer.h index a69a03e419..8499655bfa 100644 --- a/indra/llcommon/llfasttimer.h +++ b/indra/llcommon/llfasttimer.h @@ -99,7 +99,11 @@ public: #if LL_FASTTIMER_USE_RDTSC static U32 getCPUClockCount32() { +#if _M_ARM64 + unsigned __int64 val = _ReadStatusReg(ARM64_PMCCNTR_EL0); +#else unsigned __int64 val = __rdtsc(); +#endif val = val >> 8; return static_cast(val); } @@ -107,7 +111,11 @@ public: // return full timer value, *not* shifted by 8 bits static U64 getCPUClockCount64() { +#if _M_ARM64 + return static_cast( _ReadStatusReg(ARM64_PMCCNTR_EL0) ); +#else return static_cast( __rdtsc() ); +#endif } #else -- cgit v1.2.3 From 32871ee579bfbd4828f7888550897f619fdfd9d7 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 19 Jun 2025 17:42:53 +0800 Subject: Attempt to replace __cpuid, on arm64 using cpuinfo This commit is for getting rid of the compile error for now, we don't know yet if this will work correctly or not. --- indra/cmake/cpuinfo.cmake | 5 ++++ indra/llcommon/CMakeLists.txt | 7 +++++ indra/llcommon/llprocessor.cpp | 63 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 indra/cmake/cpuinfo.cmake diff --git a/indra/cmake/cpuinfo.cmake b/indra/cmake/cpuinfo.cmake new file mode 100644 index 0000000000..10fcab8e40 --- /dev/null +++ b/indra/cmake/cpuinfo.cmake @@ -0,0 +1,5 @@ +include(Prebuilt) + +add_library( ll::cpuinfo INTERFACE IMPORTED ) + +use_system_binary(cpuinfo) diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 04d14ff321..670eb0fd0b 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -11,6 +11,9 @@ include(LLSharedLibs) include(ZLIBNG) include(Tracy) +if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) + include(cpuinfo) +endif () set(llcommon_SOURCE_FILES apply.cpp @@ -282,6 +285,10 @@ target_link_libraries( ll::tracy ) +if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) + target_link_libraries(llcommon ll::cpuinfo) +endif () + target_include_directories(llcommon INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(llcommon PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/indra/llcommon/llprocessor.cpp b/indra/llcommon/llprocessor.cpp index 9b3cdf4df5..434501af77 100644 --- a/indra/llcommon/llprocessor.cpp +++ b/indra/llcommon/llprocessor.cpp @@ -40,6 +40,9 @@ # include # undef _interlockedbittestandset # undef _interlockedbittestandreset +#if _M_ARM64 +# include +#endif #endif #include "llsd.h" @@ -439,13 +442,21 @@ static F64 calculate_cpu_frequency(U32 measure_msecs) //// completed now (serialization) //__asm cpuid int cpu_info[4] = {-1}; +#if _M_ARM64 + std::fill(cpu_info, cpu_info + 4, 0); +#else __cpuid(cpu_info, 0); +#endif // We ask the high-res timer for the start time QueryPerformanceCounter((LARGE_INTEGER *) &starttime); // Then we get the current cpu clock and store it +#if _M_ARM64 + start = _ReadStatusReg(ARM64_PMCCNTR_EL0); +#else start = __rdtsc(); +#endif // Now we wart for some msecs _Delay(measure_msecs); @@ -455,7 +466,11 @@ static F64 calculate_cpu_frequency(U32 measure_msecs) QueryPerformanceCounter((LARGE_INTEGER *) &endtime); // And also for the end cpu clock +#if _M_ARM64 + end = _ReadStatusReg(ARM64_PMCCNTR_EL0); +#else end = __rdtsc(); +#endif // Now we can restore the default process and thread priorities SetProcessAffinityMask(hProcess, dwProcessMask); @@ -495,17 +510,60 @@ private: // the other three array elements. The CPU identification string is // not in linear order. The code below arranges the information // in a human readable form. +#if _M_ARM64 + cpuinfo_initialize(); +#else int cpu_info[4] = {-1}; __cpuid(cpu_info, 0); unsigned int ids = (unsigned int)cpu_info[0]; setConfig(eMaxID, (S32)ids); +#endif char cpu_vendor[0x20]; memset(cpu_vendor, 0, sizeof(cpu_vendor)); +#if _M_ARM64 + switch (cpuinfo_get_current_core()->vendor) + { + case cpuinfo_vendor_unknown: + setInfo(eVendor, "Unknown"); + break; + case cpuinfo_vendor_arm: + setInfo(eVendor, "ARM"); + break; + case cpuinfo_vendor_qualcomm: + setInfo(eVendor, "Qualcomm"); + break; + case cpuinfo_vendor_apple: + setInfo(eVendor, "Apple"); + break; + case cpuinfo_vendor_samsung: + setInfo(eVendor, "Samsung"); + break; + case cpuinfo_vendor_nvidia: + setInfo(eVendor, "Nvidia"); + break; + case cpuinfo_vendor_cavium: + setInfo(eVendor, "Cavium"); + break; + case cpuinfo_vendor_broadcom: + setInfo(eVendor, "Broadcom"); + break; + case cpuinfo_vendor_apm: + setInfo(eVendor, "APM"); + break; + case cpuinfo_vendor_huawei: + setInfo(eVendor, "Huawei"); + break; + default: + setInfo(eVendor, "Unknown"); + break; + } +#else *((int*)cpu_vendor) = cpu_info[1]; *((int*)(cpu_vendor+4)) = cpu_info[3]; *((int*)(cpu_vendor+8)) = cpu_info[2]; setInfo(eVendor, cpu_vendor); +#endif std::string cmp_vendor(cpu_vendor); bool is_amd = false; if (cmp_vendor == "AuthenticAMD") @@ -513,6 +571,10 @@ private: is_amd = true; } +#if _M_ARM64 + setInfo(eModel, cpuinfo_get_package(0)->name); + setInfo(eType, cpuinfo_get_uarch(0)->uarch); +#else // Get the information associated with each valid Id for(unsigned int i=0; i<=ids; ++i) { @@ -623,6 +685,7 @@ private: setConfig(eCacheSizeK, (cpu_info[2] >> 16) & 0xffff); } } +#endif } }; -- cgit v1.2.3 From 75012c4f0c0b852c8bfa0b5632bf82c82f240754 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 19 Jun 2025 17:48:03 +0800 Subject: GLM_FORCE_NEON for Windows arm64 too though there are still so many compile errors, but it should be in the right direction, cause firstly we can't let it use GLM_FORCE_SSE2 otherwise it would include x/emmintrin headers, and secondly, if none of the GLM_FORCEs is used then the errors are much fewer but related to __m128 which should be translatable by SSE2NEON (that's why I believe GLM_FORCE_NEON should be ON for Windows arm64 too). --- indra/cmake/00-Common.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 0e3b89e98e..c8520b53ab 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -33,7 +33,7 @@ add_compile_definitions( ADDRESS_SIZE=${ADDRESS_SIZE}) # -- which we do. Without one or the other, we get a ton of Boost warnings. add_compile_definitions(BOOST_BIND_GLOBAL_PLACEHOLDERS) -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)) add_compile_definitions(GLM_FORCE_DEFAULT_ALIGNED_GENTYPES=1 GLM_FORCE_NEON=1 GLM_ENABLE_EXPERIMENTAL=1) else() # Force enable SSE2 instructions in GLM per the manual -- cgit v1.2.3 From 0c303fa9d33405435b67435146045a8edcc5f51e Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Thu, 19 Jun 2025 05:07:49 -0600 Subject: floater_about.xml -> Space out licenses tab Make licenses more readable, neater looking. --- indra/newview/skins/default/xui/en/floater_about.xml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index de047f5010..a251b3c5c5 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -189,7 +189,7 @@ Dummy Name replaced at run time 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. -- cgit v1.2.3 From 55d9c2f3973882477f04d052fd027e5af621ddff Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 19 Jun 2025 20:54:17 +0800 Subject: Bring back 3p logos to the viewer, mainly for FMOD I checked out the related files from 45249de1ca418324c4077312eefc7edc7e22c401, before the merge with upstream logo removal, but then I had to reapply c2d491905b668702d5640c7c5472629f7acc27e0, the MotD dynamic resizing, and remove the unused commented out vivox-related part since we're not redistributing it. --- indra/newview/llprogressview.cpp | 132 +++++++++++++++++++++ indra/newview/llprogressview.h | 19 +++ .../skins/default/textures/3p_icons/fmod_logo.png | Bin 0 -> 14486 bytes .../skins/default/textures/3p_icons/havok_logo.png | Bin 0 -> 41488 bytes .../skins/default/xui/de/panel_progress.xml | 2 + .../skins/default/xui/en/panel_progress.xml | 32 +++++ .../skins/default/xui/es/panel_progress.xml | 2 + .../skins/default/xui/fr/panel_progress.xml | 2 + .../skins/default/xui/it/panel_progress.xml | 2 + .../skins/default/xui/ja/panel_progress.xml | 4 + .../skins/default/xui/pl/panel_progress.xml | 5 + .../skins/default/xui/pt/panel_progress.xml | 2 + 12 files changed, 202 insertions(+) create mode 100644 indra/newview/skins/default/textures/3p_icons/fmod_logo.png create mode 100644 indra/newview/skins/default/textures/3p_icons/havok_logo.png diff --git a/indra/newview/llprogressview.cpp b/indra/newview/llprogressview.cpp index 2c09943b83..c77fc6dc84 100644 --- a/indra/newview/llprogressview.cpp +++ b/indra/newview/llprogressview.cpp @@ -81,6 +81,8 @@ bool LLProgressView::postBuild() { mProgressBar = getChild("login_progress_bar"); + mLogosLabel = getChild("logos_lbl"); + mProgressText = getChild("progress_text"); mMessageText = getChild("message_text"); mMessageTextRectInitial = mMessageText->getRect(); // auto resizes, save initial size @@ -239,6 +241,33 @@ void LLProgressView::drawStartTexture(F32 alpha) gGL.popMatrix(); } +void LLProgressView::drawLogos(F32 alpha) +{ + if (mLogosList.empty()) + { + return; + } + + // logos are tied to label, + // due to potential resizes we have to figure offsets out on draw or resize + S32 offset_x, offset_y; + mLogosLabel->localPointToScreen(0, 0, &offset_x, &offset_y); + std::vector::const_iterator iter = mLogosList.begin(); + std::vector::const_iterator end = mLogosList.end(); + for (; iter != end; iter++) + { + gl_draw_scaled_image_with_border(iter->mDrawRect.mLeft + offset_x, + iter->mDrawRect.mBottom + offset_y, + iter->mDrawRect.getWidth(), + iter->mDrawRect.getHeight(), + iter->mTexturep.get(), + UI_VERTEX_COLOR % alpha, + false, + iter->mClipRect, + iter->mOffsetRect); + } +} + void LLProgressView::draw() { static LLTimer timer; @@ -254,6 +283,7 @@ void LLProgressView::draw() } LLPanel::draw(); + drawLogos(alpha); return; } @@ -266,6 +296,7 @@ void LLProgressView::draw() drawStartTexture(alpha); LLPanel::draw(); + drawLogos(alpha); // faded out completely - remove panel and reveal world if (mFadeToWorldTimer.getElapsedTimeF32() > FADE_TO_WORLD_TIME ) @@ -300,6 +331,7 @@ void LLProgressView::draw() drawStartTexture(1.0f); // draw children LLPanel::draw(); + drawLogos(1.0f); } void LLProgressView::setText(const std::string& text) @@ -330,6 +362,98 @@ void LLProgressView::setMessage(const std::string& msg) } } +void LLProgressView::loadLogo(const std::string &path, + const U8 image_codec, + const LLRect &pos_rect, + const LLRectf &clip_rect, + const LLRectf &offset_rect) +{ + // We need these images very early, so we have to force-load them, otherwise they might not load in time. + if (!gDirUtilp->fileExists(path)) + { + return; + } + + LLPointer start_image_frmted = LLImageFormatted::createFromType(image_codec); + if (!start_image_frmted->load(path)) + { + LL_WARNS("AppInit") << "Image load failed: " << path << LL_ENDL; + return; + } + + LLPointer raw = new LLImageRaw; + if (!start_image_frmted->decode(raw, 0.0f)) + { + LL_WARNS("AppInit") << "Image decode failed " << path << LL_ENDL; + return; + } + // HACK: getLocalTexture allows only power of two dimentions + raw->expandToPowerOfTwo(); + + TextureData data; + data.mTexturep = LLViewerTextureManager::getLocalTexture(raw.get(), false); + data.mDrawRect = pos_rect; + data.mClipRect = clip_rect; + data.mOffsetRect = offset_rect; + mLogosList.push_back(data); +} + +void LLProgressView::initLogos() +{ + mLogosList.clear(); + +#if LL_FMODSTUDIO || LL_HAVOK + const U8 image_codec = IMG_CODEC_PNG; + const LLRectf default_clip(0.f, 1.f, 1.f, 0.f); + //const S32 default_height = 28; + const S32 default_pad = 15; + + S32 icon_width, icon_height; + + // We don't know final screen rect yet, so we can't precalculate position fully + S32 texture_start_x = (S32)mLogosLabel->getFont()->getWidthF32(mLogosLabel->getWText().c_str()) + default_pad; + S32 texture_start_y = -7; +#endif //LL_FMODSTUDIO || LL_HAVOK + + // Normally we would just preload these textures from textures.xml, + // and display them via icon control, but they are only needed on + // startup and preloaded/UI ones stay forever + // (and this code was done already so simply reused it) + std::string temp_str = gDirUtilp->getExpandedFilename(LL_PATH_DEFAULT_SKIN, "textures", "3p_icons"); + + temp_str += gDirUtilp->getDirDelimiter(); + +#ifdef LL_FMODSTUDIO + // original image size is 264x96, it is on longer side but + // with no internal paddings so it gets additional padding + icon_width = 77; + icon_height = 21; + S32 pad_fmod_y = 4; + texture_start_x++; + loadLogo(temp_str + "fmod_logo.png", + image_codec, + LLRect(texture_start_x, texture_start_y + pad_fmod_y + icon_height, texture_start_x + icon_width, texture_start_y + pad_fmod_y), + default_clip, + default_clip); + + texture_start_x += icon_width + default_pad + 1; +#endif //LL_FMODSTUDIO +#ifdef LL_HAVOK + // original image size is 342x113, central element is on a larger side + // plus internal padding, so it gets slightly more height than desired 32 + icon_width = 88; + icon_height = 29; + S32 pad_havok_y = -1; + loadLogo(temp_str + "havok_logo.png", + image_codec, + LLRect(texture_start_x, texture_start_y + pad_havok_y + icon_height, texture_start_x + icon_width, texture_start_y + pad_havok_y), + default_clip, + default_clip); + + texture_start_x += icon_width + default_pad; +#endif //LL_HAVOK +} + void LLProgressView::initStartTexture(S32 location_id, bool is_in_production) { if (gStartTexture.notNull()) @@ -408,11 +532,19 @@ void LLProgressView::initStartTexture(S32 location_id, bool is_in_production) void LLProgressView::initTextures(S32 location_id, bool is_in_production) { initStartTexture(location_id, is_in_production); + initLogos(); + + childSetVisible("panel_icons", !mLogosList.empty()); + childSetVisible("panel_top_spacer", mLogosList.empty()); } void LLProgressView::releaseTextures() { gStartTexture = NULL; + mLogosList.clear(); + + childSetVisible("panel_top_spacer", true); + childSetVisible("panel_icons", false); } void LLProgressView::setCancelButtonVisible(bool b, const std::string& label) diff --git a/indra/newview/llprogressview.h b/indra/newview/llprogressview.h index 250ee511d7..f529c16c1d 100644 --- a/indra/newview/llprogressview.h +++ b/indra/newview/llprogressview.h @@ -53,6 +53,7 @@ public: /*virtual*/ void draw(); void drawStartTexture(F32 alpha); + void drawLogos(F32 alpha); /*virtual*/ bool handleHover(S32 x, S32 y, MASK mask); /*virtual*/ bool handleKeyHere(KEY key, MASK mask); @@ -85,6 +86,7 @@ public: protected: LLProgressBar* mProgressBar; LLMediaCtrl* mMediaCtrl; + LLTextBox* mLogosLabel = nullptr; LLTextBox* mProgressText = nullptr; LLTextBox* mMessageText = nullptr; F32 mPercentDone; @@ -110,8 +112,25 @@ protected: bool handleUpdate(const LLSD& event_data); static void onIdle(void* user_data); + void loadLogo(const std::string &path, const U8 image_codec, const LLRect &pos_rect, const LLRectf &clip_rect, const LLRectf &offset_rect); + // logos have unusual location and need to be preloaded to not appear grey, then deleted + void initLogos(); // Loads a bitmap to display during load void initStartTexture(S32 location_id, bool is_in_production); + +private: + // We need to draw textures on login, but only once. + // So this vector gets filled up for textures to render and gets cleaned later + // Some textures have unusual requirements, so we are rendering directly + class TextureData + { + public: + LLPointer mTexturep; + LLRect mDrawRect; + LLRectf mClipRect; + LLRectf mOffsetRect; + }; + std::vector mLogosList; }; #endif // LL_LLPROGRESSVIEW_H diff --git a/indra/newview/skins/default/textures/3p_icons/fmod_logo.png b/indra/newview/skins/default/textures/3p_icons/fmod_logo.png new file mode 100644 index 0000000000..5a50e0ad34 Binary files /dev/null and b/indra/newview/skins/default/textures/3p_icons/fmod_logo.png differ diff --git a/indra/newview/skins/default/textures/3p_icons/havok_logo.png b/indra/newview/skins/default/textures/3p_icons/havok_logo.png new file mode 100644 index 0000000000..ff1ea3a72e Binary files /dev/null and b/indra/newview/skins/default/textures/3p_icons/havok_logo.png differ diff --git a/indra/newview/skins/default/xui/de/panel_progress.xml b/indra/newview/skins/default/xui/de/panel_progress.xml index c9bed9fd9b..8d1abdcac1 100644 --- a/indra/newview/skins/default/xui/de/panel_progress.xml +++ b/indra/newview/skins/default/xui/de/panel_progress.xml @@ -1,8 +1,10 @@ + + Second Life verwendet diff --git a/indra/newview/skins/default/xui/en/panel_progress.xml b/indra/newview/skins/default/xui/en/panel_progress.xml index 6b19907372..8e0e6408ed 100644 --- a/indra/newview/skins/default/xui/en/panel_progress.xml +++ b/indra/newview/skins/default/xui/en/panel_progress.xml @@ -68,6 +68,14 @@ animate="false" top="0" width="670"> + + + + + + Megapahit uses + + + + Usos de Second Life diff --git a/indra/newview/skins/default/xui/fr/panel_progress.xml b/indra/newview/skins/default/xui/fr/panel_progress.xml index c9bed9fd9b..673ec63642 100644 --- a/indra/newview/skins/default/xui/fr/panel_progress.xml +++ b/indra/newview/skins/default/xui/fr/panel_progress.xml @@ -1,8 +1,10 @@ + + Second Life utilise diff --git a/indra/newview/skins/default/xui/it/panel_progress.xml b/indra/newview/skins/default/xui/it/panel_progress.xml index c9bed9fd9b..fd2892a88f 100644 --- a/indra/newview/skins/default/xui/it/panel_progress.xml +++ b/indra/newview/skins/default/xui/it/panel_progress.xml @@ -1,8 +1,10 @@ + + Utilizzi di Second Life diff --git a/indra/newview/skins/default/xui/ja/panel_progress.xml b/indra/newview/skins/default/xui/ja/panel_progress.xml index 1edada6098..7fd7d5ab5c 100644 --- a/indra/newview/skins/default/xui/ja/panel_progress.xml +++ b/indra/newview/skins/default/xui/ja/panel_progress.xml @@ -1,8 +1,12 @@ + + + セカンドライフ使用 + diff --git a/indra/newview/skins/default/xui/pl/panel_progress.xml b/indra/newview/skins/default/xui/pl/panel_progress.xml index 8da982cc3f..a701d98398 100644 --- a/indra/newview/skins/default/xui/pl/panel_progress.xml +++ b/indra/newview/skins/default/xui/pl/panel_progress.xml @@ -5,6 +5,11 @@ + + + Second Life używa + + diff --git a/indra/newview/skins/default/xui/pt/panel_progress.xml b/indra/newview/skins/default/xui/pt/panel_progress.xml index c9bed9fd9b..63bb663cfc 100644 --- a/indra/newview/skins/default/xui/pt/panel_progress.xml +++ b/indra/newview/skins/default/xui/pt/panel_progress.xml @@ -1,8 +1,10 @@ + + Usos do Second Life -- cgit v1.2.3 From 9e30b65081735bed52e4b37588b2707812ec0816 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 20 Jun 2025 09:50:33 +0800 Subject: Megapahit words on panel progress localisations --- indra/newview/skins/default/xui/de/panel_progress.xml | 2 +- indra/newview/skins/default/xui/es/panel_progress.xml | 2 +- indra/newview/skins/default/xui/fr/panel_progress.xml | 2 +- indra/newview/skins/default/xui/it/panel_progress.xml | 2 +- indra/newview/skins/default/xui/ja/panel_progress.xml | 2 +- indra/newview/skins/default/xui/pl/panel_progress.xml | 2 +- indra/newview/skins/default/xui/pt/panel_progress.xml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/indra/newview/skins/default/xui/de/panel_progress.xml b/indra/newview/skins/default/xui/de/panel_progress.xml index 8d1abdcac1..a3813c91d0 100644 --- a/indra/newview/skins/default/xui/de/panel_progress.xml +++ b/indra/newview/skins/default/xui/de/panel_progress.xml @@ -5,6 +5,6 @@ - Second Life verwendet + Megapahit verwendet diff --git a/indra/newview/skins/default/xui/es/panel_progress.xml b/indra/newview/skins/default/xui/es/panel_progress.xml index 64aaf246f8..377badc89e 100644 --- a/indra/newview/skins/default/xui/es/panel_progress.xml +++ b/indra/newview/skins/default/xui/es/panel_progress.xml @@ -5,6 +5,6 @@ - Usos de Second Life + Usos de Megapahit diff --git a/indra/newview/skins/default/xui/fr/panel_progress.xml b/indra/newview/skins/default/xui/fr/panel_progress.xml index 673ec63642..7d31bb7138 100644 --- a/indra/newview/skins/default/xui/fr/panel_progress.xml +++ b/indra/newview/skins/default/xui/fr/panel_progress.xml @@ -5,6 +5,6 @@ - Second Life utilise + Megapahit utilise diff --git a/indra/newview/skins/default/xui/it/panel_progress.xml b/indra/newview/skins/default/xui/it/panel_progress.xml index fd2892a88f..ab906cbedb 100644 --- a/indra/newview/skins/default/xui/it/panel_progress.xml +++ b/indra/newview/skins/default/xui/it/panel_progress.xml @@ -5,6 +5,6 @@ - Utilizzi di Second Life + Utilizzi di Megapahit diff --git a/indra/newview/skins/default/xui/ja/panel_progress.xml b/indra/newview/skins/default/xui/ja/panel_progress.xml index 7fd7d5ab5c..cafc7c2d1d 100644 --- a/indra/newview/skins/default/xui/ja/panel_progress.xml +++ b/indra/newview/skins/default/xui/ja/panel_progress.xml @@ -6,7 +6,7 @@ - セカンドライフ使用 + メガパイト使用 diff --git a/indra/newview/skins/default/xui/pl/panel_progress.xml b/indra/newview/skins/default/xui/pl/panel_progress.xml index a701d98398..3f68a32a7f 100644 --- a/indra/newview/skins/default/xui/pl/panel_progress.xml +++ b/indra/newview/skins/default/xui/pl/panel_progress.xml @@ -7,7 +7,7 @@ - Second Life używa + Megapahit używa diff --git a/indra/newview/skins/default/xui/pt/panel_progress.xml b/indra/newview/skins/default/xui/pt/panel_progress.xml index 63bb663cfc..be0364a70a 100644 --- a/indra/newview/skins/default/xui/pt/panel_progress.xml +++ b/indra/newview/skins/default/xui/pt/panel_progress.xml @@ -5,6 +5,6 @@ - Usos do Second Life + Usos do Megapahit -- cgit v1.2.3 From 3ed1035ff23688316d7a2ffa166c80dd6ea0c20f Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 20 Jun 2025 20:02:55 +0800 Subject: Fix chat history (with seconds) parsed wrong https://megapahit.com/show_bug.cgi?id=163 --- indra/newview/lllogchat.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/lllogchat.cpp b/indra/newview/lllogchat.cpp index 5e230d95bd..e86599035e 100644 --- a/indra/newview/lllogchat.cpp +++ b/indra/newview/lllogchat.cpp @@ -78,7 +78,7 @@ const static std::string MULTI_LINE_PREFIX(" "); * * Note: "You" was used as an avatar names in viewers of previous versions */ -const static boost::regex TIMESTAMP_AND_STUFF("^(\\[\\d{4}/\\d{1,2}/\\d{1,2}\\s+\\d{1,2}:\\d{2}\\]\\s+|\\[\\d{1,2}:\\d{2}\\]\\s+)?(.*)$"); +const static boost::regex TIMESTAMP_AND_STUFF("^(\\[\\d{4}/\\d{1,2}/\\d{1,2}\\s+\\d{1,2}:\\d{2}:\\d{2}\\]\\s+|\\[\\d{1,2}:\\d{2}\\]\\s+)?(.*)$"); const static boost::regex TIMESTAMP("^(\\[\\d{4}/\\d{1,2}/\\d{1,2}\\s+\\d{1,2}:\\d{2}\\]|\\[\\d{1,2}:\\d{2}\\]).*"); /** -- cgit v1.2.3 From 917cf2c654fdbf5ad8ff32030b71cc21e5f25014 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 20 Jun 2025 20:53:23 +0800 Subject: Re-heighten progress panel to accomodate 3p logos 275 became 240 when they removed the logos, and then 240 became 220 when MotD became dynamic. So logos being back but with dynamic MotD should be 255. --- indra/newview/skins/default/xui/en/panel_progress.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/indra/newview/skins/default/xui/en/panel_progress.xml b/indra/newview/skins/default/xui/en/panel_progress.xml index 8e0e6408ed..9f1f741b52 100644 --- a/indra/newview/skins/default/xui/en/panel_progress.xml +++ b/indra/newview/skins/default/xui/en/panel_progress.xml @@ -44,9 +44,9 @@ width="670" /> Date: Fri, 20 Jun 2025 21:45:15 +0800 Subject: Fix SL contributors credits on Windows Somehow when the stream editing to delete anything that begins with 4 spaces is run from CMake (as opposed to directly on shell), it deletes most of the contributors on Windows. I've tried many methods like using \w, \s, etc., but what works is just using the first letters of the bug codenames. There are still empty results (, , ,) among the final parsed contributors, but we'll ignore them for now. --- indra/newview/CMakeLists.txt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index c8fba68e7c..1515addad4 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1774,7 +1774,19 @@ if (CMAKE_COMMAND MATCHES /usr/bin/cmake OR WINDOWS) COMMAND sed ARGS -i '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt COMMAND sed - ARGS -i '/^ .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + ARGS -i '/^ B.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/^ C.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/^ M.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/^ O.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/^ S.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/^ s.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt + COMMAND sed + ARGS -i '/^ V.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt COMMAND sort ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt COMMAND paste -- cgit v1.2.3 From f7f5c21ab9a859f6abbec27f0d26c03483f55735 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 21 Jun 2025 14:24:14 +0800 Subject: Windows arm64 can use sse2neon from vcpkg Also add cpuinfo to build preparation instruction. --- README.md | 2 +- indra/llcommon/CMakeLists.txt | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dbc225c327..6c657e4972 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ $ megapahit ### Windows arm64 ``` -$ vcpkg install pkgconf python3 freealut apr-util boost curl freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg libvorbis libxml2[tools] xxhash +$ vcpkg install pkgconf python3 freealut apr-util boost cpuinfo curl freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg sse2neon libvorbis libxml2[tools] xxhash $ vcpkg install --allow-unsupported boost-fiber $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602 /Zc:preprocessor" $ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-arm64/bin:$VCPKG_ROOT/downloads/tools/msys2/2db36fb050d01f45/usr/bin:$VCPKG_ROOT/installed/arm64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 670eb0fd0b..07d2c4afeb 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -292,7 +292,7 @@ endif () 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 OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64)) +if (CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR CMAKE_SYSTEM_PROCESSOR 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) @@ -304,6 +304,8 @@ if (CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR CMAKE_SYSTEM_PROCESSOR MATCHES aarc file(WRITE ${PREBUILD_TRACKING_DIR}/sse2neon_installed "0") endif () target_include_directories(llcommon PUBLIC ${LIBS_PREBUILT_DIR}/include/sse2neon) +elseif ($ENV{MSYSTEM_CARCH} MATCHES aarch64) + target_include_directories(llcommon PUBLIC ${prefix_result}/../include/sse2neon) endif () if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu) OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed)) -- cgit v1.2.3 From 1f87660273bcf6f4cafe5db75a668354485b2a50 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 21 Jun 2025 14:55:34 +0800 Subject: Windows ARM64 support for StackWalker Basically just add what the author added to the file. https://github.com/JochenKalmbach/StackWalker/commit/2a96079ba54a905d29afb3834182cbf06eff9132#diff-0d2beffe54d2ad0b9c31814fc48e5ef5841ba542fe545bba8b8971c767c89911 --- indra/llcommon/StackWalker.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/indra/llcommon/StackWalker.cpp b/indra/llcommon/StackWalker.cpp index e9ae1723fb..027df80df5 100644 --- a/indra/llcommon/StackWalker.cpp +++ b/indra/llcommon/StackWalker.cpp @@ -1100,6 +1100,14 @@ bool StackWalker::ShowCallstack(bool verbose, HANDLE hThread, const CONTEXT *con s.AddrBStore.Mode = AddrModeFlat; s.AddrStack.Offset = c.IntSp; s.AddrStack.Mode = AddrModeFlat; +#elif _M_ARM64 + imageType = IMAGE_FILE_MACHINE_ARM64; + s.AddrPC.Offset = c.Pc; + s.AddrPC.Mode = AddrModeFlat; + s.AddrFrame.Offset = c.Fp; + s.AddrFrame.Mode = AddrModeFlat; + s.AddrStack.Offset = c.Sp; + s.AddrStack.Mode = AddrModeFlat; #else #error "Platform not supported!" #endif -- cgit v1.2.3 From f5de250c3e74ecc8eb658d0b070c0884616f041d Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 23 Jun 2025 06:24:33 +0800 Subject: Revert "GLM_FORCE_NEON for Windows arm64 too" This reverts commit 75012c4f0c0b852c8bfa0b5632bf82c82f240754. I realised I was in the wrong direction after I avoided the offending lines by setting GLM_FORCE_XYZW_ONLY, and then by setting GLM_FORCE_CXX_UNKNOWN, to end up with the same 16 __m128-related "too many initializers" errors, which I believe were just obscured by the 160 syntax errors, which are to be fixed in the next commit. I had already mentioned SSE2NEON being responsible for translating __m128, but I had forgotten that it was a different package from GLM, obviously, that __m128 was never GLM_FORCE_NEON's responsibility. --- indra/cmake/00-Common.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index c8520b53ab..5cb0c23d6d 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -33,8 +33,10 @@ add_compile_definitions( ADDRESS_SIZE=${ADDRESS_SIZE}) # -- which we do. Without one or the other, we get a ton of Boost warnings. add_compile_definitions(BOOST_BIND_GLOBAL_PLACEHOLDERS) -if(CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR CMAKE_SYSTEM_PROCESSOR MATCHES aarch64 OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64)) +if(CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) add_compile_definitions(GLM_FORCE_DEFAULT_ALIGNED_GENTYPES=1 GLM_FORCE_NEON=1 GLM_ENABLE_EXPERIMENTAL=1) +elseif($ENV{MSYSTEM_CARCH} MATCHES aarch64) +add_compile_definitions(GLM_FORCE_DEFAULT_ALIGNED_GENTYPES=1 GLM_ENABLE_EXPERIMENTAL=1) else() # Force enable SSE2 instructions in GLM per the manual # https://github.com/g-truc/glm/blob/master/manual.md#section2_10 -- cgit v1.2.3 From c4bbf2134ce541854498561a939bb29dfb058e04 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 23 Jun 2025 06:40:16 +0800 Subject: Fix "too many initializers" LLQuad initialisations LLQuad is a typedef of __m128, which is already translated by sse2neon to float32x4_t (I thought sse2neon wasn't taking effect and I tried just replacing __m128 with float32x4_t to see that it didn't make a difference), but then I searched using the keyword float32x4_t this time and found that others have had a similar problem: https://developercommunity.visualstudio.com/t/static-initialization-arm64-neon-datatypes/1238406 https://stackoverflow.com/questions/54016821/error-c2078-when-initializing-uint32x4-t-on-arm https://github.com/kcat/openal-soft/issues/494 Looking at the type definition, on arm64 it can be initialised using a designator, the member with the float type and 4 array elements. I know it's an MSVC (arm64) problem, but since MSVC is also used on x64 and only Windows arm64 is suffering from this one in our case anyway (we only support Windows arm64 building using MSVC so far), it's just simpler to use the _M_ARM64 preprocessor instead of _MSC_VER. --- indra/llmath/llquaternion2.inl | 5 +++++ indra/llmath/llvector4a.cpp | 10 ++++++++++ indra/llmath/llvector4a.inl | 15 +++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/indra/llmath/llquaternion2.inl b/indra/llmath/llquaternion2.inl index ce5ed73926..b431d5766c 100644 --- a/indra/llmath/llquaternion2.inl +++ b/indra/llmath/llquaternion2.inl @@ -26,8 +26,13 @@ #include "llquaternion2.h" +#if _M_ARM64 +static const LLQuad LL_V4A_PLUS_ONE = {.n128_f32 = {1.f, 1.f, 1.f, 1.f}}; +static const LLQuad LL_V4A_MINUS_ONE = {.n128_f32 = {-1.f, -1.f, -1.f, -1.f}}; +#else static const LLQuad LL_V4A_PLUS_ONE = {1.f, 1.f, 1.f, 1.f}; static const LLQuad LL_V4A_MINUS_ONE = {-1.f, -1.f, -1.f, -1.f}; +#endif // Ctor from LLQuaternion inline LLQuaternion2::LLQuaternion2( const LLQuaternion& quat ) diff --git a/indra/llmath/llvector4a.cpp b/indra/llmath/llvector4a.cpp index b81d50f0f9..df20585d16 100644 --- a/indra/llmath/llvector4a.cpp +++ b/indra/llmath/llvector4a.cpp @@ -30,6 +30,15 @@ #include "llmath.h" #include "llquantize.h" +#if _M_ARM64 +extern const LLQuad F_ZERO_4A = {.n128_f32 = {0, 0, 0, 0}}; +extern const LLQuad F_APPROXIMATELY_ZERO_4A = {.n128_f32 = { + F_APPROXIMATELY_ZERO, + F_APPROXIMATELY_ZERO, + F_APPROXIMATELY_ZERO, + F_APPROXIMATELY_ZERO +}}; +#else extern const LLQuad F_ZERO_4A = { 0, 0, 0, 0 }; extern const LLQuad F_APPROXIMATELY_ZERO_4A = { F_APPROXIMATELY_ZERO, @@ -37,6 +46,7 @@ extern const LLQuad F_APPROXIMATELY_ZERO_4A = { F_APPROXIMATELY_ZERO, F_APPROXIMATELY_ZERO }; +#endif extern const LLVector4a LL_V4A_ZERO = reinterpret_cast ( F_ZERO_4A ); extern const LLVector4a LL_V4A_EPSILON = reinterpret_cast ( F_APPROXIMATELY_ZERO_4A ); diff --git a/indra/llmath/llvector4a.inl b/indra/llmath/llvector4a.inl index 36dbec078c..17e7de6eeb 100644 --- a/indra/llmath/llvector4a.inl +++ b/indra/llmath/llvector4a.inl @@ -335,8 +335,13 @@ inline void LLVector4a::normalize3() LLVector4a lenSqrd; lenSqrd.setAllDot3( *this, *this ); // rsqrt = approximate reciprocal square (i.e., { ~1/len(a)^2, ~1/len(a)^2, ~1/len(a)^2, ~1/len(a)^2 } const LLQuad rsqrt = _mm_rsqrt_ps(lenSqrd.mQ); +#if _M_ARM64 + static const LLQuad half = {.n128_f32 = {0.5f, 0.5f, 0.5f, 0.5f}}; + static const LLQuad three = {.n128_f32 = {3.f, 3.f, 3.f, 3.f }}; +#else static const LLQuad half = { 0.5f, 0.5f, 0.5f, 0.5f }; static const LLQuad three = {3.f, 3.f, 3.f, 3.f }; +#endif // Now we do one round of Newton-Raphson approximation to get full accuracy // According to the Newton-Raphson method, given a first 'w' for the root of f(x) = 1/x^2 - a (i.e., x = 1/sqrt(a)) // the next better approximation w[i+1] = w - f(w)/f'(w) = w - (1/w^2 - a)/(-2*w^(-3)) @@ -359,8 +364,13 @@ inline void LLVector4a::normalize4() LLVector4a lenSqrd; lenSqrd.setAllDot4( *this, *this ); // rsqrt = approximate reciprocal square (i.e., { ~1/len(a)^2, ~1/len(a)^2, ~1/len(a)^2, ~1/len(a)^2 } const LLQuad rsqrt = _mm_rsqrt_ps(lenSqrd.mQ); +#if _M_ARM64 + static const LLQuad half = {.n128_f32 = {0.5f, 0.5f, 0.5f, 0.5f}}; + static const LLQuad three = {.n128_f32 = {3.f, 3.f, 3.f, 3.f}}; +#else static const LLQuad half = { 0.5f, 0.5f, 0.5f, 0.5f }; static const LLQuad three = {3.f, 3.f, 3.f, 3.f }; +#endif // Now we do one round of Newton-Raphson approximation to get full accuracy // According to the Newton-Raphson method, given a first 'w' for the root of f(x) = 1/x^2 - a (i.e., x = 1/sqrt(a)) // the next better approximation w[i+1] = w - f(w)/f'(w) = w - (1/w^2 - a)/(-2*w^(-3)) @@ -383,8 +393,13 @@ inline LLSimdScalar LLVector4a::normalize3withLength() LLVector4a lenSqrd; lenSqrd.setAllDot3( *this, *this ); // rsqrt = approximate reciprocal square (i.e., { ~1/len(a)^2, ~1/len(a)^2, ~1/len(a)^2, ~1/len(a)^2 } const LLQuad rsqrt = _mm_rsqrt_ps(lenSqrd.mQ); +#if _M_ARM64 + static const LLQuad half = {.n128_f32 = {0.5f, 0.5f, 0.5f, 0.5f}}; + static const LLQuad three = {.n128_f32 = {3.f, 3.f, 3.f, 3.f}}; +#else static const LLQuad half = { 0.5f, 0.5f, 0.5f, 0.5f }; static const LLQuad three = {3.f, 3.f, 3.f, 3.f }; +#endif // Now we do one round of Newton-Raphson approximation to get full accuracy // According to the Newton-Raphson method, given a first 'w' for the root of f(x) = 1/x^2 - a (i.e., x = 1/sqrt(a)) // the next better approximation w[i+1] = w - f(w)/f'(w) = w - (1/w^2 - a)/(-2*w^(-3)) -- cgit v1.2.3 From 603589fde0ad81fc3687ecda0b046fb1f5260053 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 23 Jun 2025 06:58:01 +0800 Subject: Fix the vcpkg Boost libraries suffix on Win arm64 --- indra/cmake/Boost.cmake | 6 +++++- indra/cmake/LLPrimitive.cmake | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index 5a9e10b38b..8459214f59 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -12,7 +12,11 @@ if (DARWIN) elseif (WINDOWS) target_include_directories( ll::boost SYSTEM INTERFACE ${prefix_result}/../include) target_link_directories( ll::boost INTERFACE ${prefix_result}) - set(sfx -vc143-mt-x64-1_88) + if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) + set(sfx -vc143-mt-a64-1_88) + else () + set(sfx -vc143-mt-x64-1_88) + endif () else () find_package( Boost REQUIRED ) endif () diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index 00e3c73851..e6adea477f 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -59,7 +59,11 @@ else () elseif (WINDOWS) set(BOOST_CFLAGS -I${prefix_result}/../include) set(BOOST_LIBS -L${prefix_result}) - set(BOOST_LIBRARY_SUFFIX -vc143-mt-x64-1_88) + if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) + set(BOOST_LIBRARY_SUFFIX -vc143-mt-a64-1_88) + else () + 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 -- cgit v1.2.3 From 98e99812072e6125411174236e1421d9312a50da Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 23 Jun 2025 07:01:30 +0800 Subject: Link clog too to Windows arm64 SLPlugin Referred from cpuinfo. --- indra/llplugin/slplugin/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index 2100e6f556..03a057fbcb 100644 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -49,6 +49,10 @@ target_link_libraries(SLPlugin ll::pluginlibraries ) +if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) + target_link_libraries(${PROJECT_NAME} clog) +endif () + if (DARWIN) # Make sure the app bundle has a Resources directory (it will get populated by viewer-manifest.py later) add_custom_command( -- cgit v1.2.3 From 61d49c273d0ad0a58ecd9dc54d8c48d43e17199a Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 23 Jun 2025 10:14:51 +0800 Subject: Exclude _M_ARM64 from including media plugin headers until we are ready to enable media plugins on Windows ARM64. --- indra/newview/llappviewer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 94e8fabcb2..d9596164eb 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -131,7 +131,7 @@ #include "stringize.h" #include "llcoros.h" #include "llexception.h" -#if 1 // !LL_LINUX +#if !_M_ARM64 // !LL_LINUX #include "cef/dullahan_version.h" #include "vlc/libvlc_version.h" #endif // LL_LINUX @@ -3427,7 +3427,7 @@ LLSD LLAppViewer::getViewerInfo() const info["VOICE_VERSION"] = LLTrans::getString("NotConnected"); } -#if 1 // !LL_LINUX +#if !_M_ARM64 // !LL_LINUX std::ostringstream cef_ver_codec; cef_ver_codec << "Dullahan: "; cef_ver_codec << DULLAHAN_VERSION_MAJOR; @@ -3457,7 +3457,7 @@ LLSD LLAppViewer::getViewerInfo() const info["LIBCEF_VERSION"] = "Undefined"; #endif -#if 1 // !LL_LINUX +#if !_M_ARM64 // !LL_LINUX std::ostringstream vlc_ver_codec; vlc_ver_codec << LIBVLC_VERSION_MAJOR; vlc_ver_codec << "."; -- cgit v1.2.3 From aac750c57fbd22814958a112d6c262254243130f Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 23 Jun 2025 10:20:10 +0800 Subject: Link clog too to Windows arm64 Megapahit.exe Referred from cpuinfo. --- indra/newview/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 1515addad4..c9a04a09cb 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2107,6 +2107,10 @@ if (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch target_link_libraries(${VIEWER_BINARY_NAME} llwebrtc ) endif () +if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) + target_link_libraries(${VIEWER_BINARY_NAME} clog) +endif () + if (ENABLE_MEDIA_PLUGINS) target_link_libraries(${VIEWER_BINARY_NAME} ll::libvlc ) if (DARWIN OR LINUX) -- cgit v1.2.3 From ce7feccefb41764546a840d8e1abca12ea6e68c7 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 23 Jun 2025 10:23:36 +0800 Subject: No NVAPI on Windows ARM64 --- indra/cmake/NVAPI.cmake | 4 ++-- indra/newview/llappviewerwin32.cpp | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/indra/cmake/NVAPI.cmake b/indra/cmake/NVAPI.cmake index ff5a5428e0..1bec691a18 100644 --- a/indra/cmake/NVAPI.cmake +++ b/indra/cmake/NVAPI.cmake @@ -4,10 +4,10 @@ include(Prebuilt) set(NVAPI ON CACHE BOOL "Use NVAPI.") if (NVAPI) - if (WINDOWS) + if (WINDOWS AND NOT ($ENV{MSYSTEM_CARCH} MATCHES aarch64)) add_library( ll::nvapi INTERFACE IMPORTED ) target_link_libraries( ll::nvapi INTERFACE nvapi) use_prebuilt_binary(nvapi) - endif (WINDOWS) + endif () endif (NVAPI) diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp index 4f5fa53312..3e51a900ce 100644 --- a/indra/newview/llappviewerwin32.cpp +++ b/indra/newview/llappviewerwin32.cpp @@ -47,8 +47,10 @@ #include "llviewercontrol.h" #include "lldxhardware.h" +#if !_M_ARM64 #include "nvapi/nvapi.h" #include "nvapi/NvApiDriverSettings.h" +#endif #include @@ -206,6 +208,7 @@ LONG WINAPI catchallCrashHandler(EXCEPTION_POINTERS * /*ExceptionInfo*/) const std::string LLAppViewerWin32::sWindowClass = "Second Life"; +#if !_M_ARM64 /* This function is used to print to the command line a text message describing the nvapi error and quits @@ -219,6 +222,7 @@ void nvapi_error(NvAPI_Status status) //should always trigger when asserts are enabled //llassert(status == NVAPI_OK); } +#endif // Create app mutex creates a unique global windows object. // If the object can be created it returns true, otherwise @@ -241,6 +245,7 @@ bool create_app_mutex() return result; } +#if !_M_ARM64 void ll_nvapi_init(NvDRSSessionHandle hSession) { // (2) load all the system settings into the session @@ -395,6 +400,7 @@ void ll_nvapi_init(NvDRSSessionHandle hSession) return; } } +#endif //#define DEBUGGING_SEH_FILTER 1 #if DEBUGGING_SEH_FILTER @@ -464,6 +470,7 @@ int APIENTRY WINMAIN(HINSTANCE hInstance, return -1; } +#if !_M_ARM64 NvDRSSessionHandle hSession = 0; static LLCachedControl use_nv_api(gSavedSettings, "NvAPICreateApplicationProfile", true); if (use_nv_api) @@ -488,6 +495,7 @@ int APIENTRY WINMAIN(HINSTANCE hInstance, } } } +#endif // Have to wait until after logging is initialized to display LFH info if (num_heaps > 0) @@ -545,12 +553,14 @@ int APIENTRY WINMAIN(HINSTANCE hInstance, delete viewer_app_ptr; viewer_app_ptr = NULL; +#if !_M_ARM64 // (NVAPI) (6) We clean up. This is analogous to doing a free() if (hSession) { NvAPI_DRS_DestroySession(hSession); hSession = 0; } +#endif return 0; } -- cgit v1.2.3 From ab2afc71751527c05cbcb00e04e06b69a1b05d21 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 23 Jun 2025 15:46:08 +0800 Subject: Fix the vcpkg Boost libraries suffix on Win arm64 This time for installation/packaging. --- indra/newview/ViewerInstall.cmake | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 27427c7145..61a8a4ee4e 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -119,18 +119,24 @@ elseif (WINDOWS) DESTINATION app_settings ) + if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) + set(BOOST_PLATFORM a${ADDRESS_SIZE}) + else () + set(BOOST_PLATFORM x${ADDRESS_SIZE}) + endif () + 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/boost_context-vc143-mt-${BOOST_PLATFORM}-1_88.dll + ${prefix_result}/../bin/boost_fiber-vc143-mt-${BOOST_PLATFORM}-1_88.dll + ${prefix_result}/../bin/boost_filesystem-vc143-mt-${BOOST_PLATFORM}-1_88.dll + ${prefix_result}/../bin/boost_json-vc143-mt-${BOOST_PLATFORM}-1_88.dll + ${prefix_result}/../bin/boost_program_options-vc143-mt-${BOOST_PLATFORM}-1_88.dll + ${prefix_result}/../bin/boost_thread-vc143-mt-${BOOST_PLATFORM}-1_88.dll + ${prefix_result}/../bin/boost_url-vc143-mt-${BOOST_PLATFORM}-1_88.dll ${prefix_result}/../bin/brotlicommon.dll ${prefix_result}/../bin/brotlidec.dll ${prefix_result}/../bin/bz2.dll @@ -158,8 +164,8 @@ elseif (WINDOWS) 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/boost_context-vc143-mt-${BOOST_PLATFORM}-1_88.dll + ${prefix_result}/../bin/boost_fiber-vc143-mt-${BOOST_PLATFORM}-1_88.dll ${prefix_result}/../bin/libapr-1.dll ${prefix_result}/../bin/libaprutil-1.dll ${prefix_result}/../bin/libexpat.dll -- cgit v1.2.3 From 3862a36ac846a9e8f892b079336d41299fee57a3 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 23 Jun 2025 16:07:34 +0800 Subject: Bundle OpenSSL & libcurl for Windows arm64 --- indra/newview/ViewerInstall.cmake | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 61a8a4ee4e..343c3fb9c7 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -120,6 +120,13 @@ elseif (WINDOWS) ) if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) + install( + PROGRAMS + ${prefix_result}/../bin/libcrypto-3-arm64.dll + ${prefix_result}/../bin/libssl-3-arm64.dll + ${prefix_result}/../bin/libcurl.dll + DESTINATION . + ) set(BOOST_PLATFORM a${ADDRESS_SIZE}) else () set(BOOST_PLATFORM x${ADDRESS_SIZE}) -- cgit v1.2.3 From 6001fcc3e518fd638d081e84ed9dc755446d6b4e Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Tue, 24 Jun 2025 08:25:25 -0600 Subject: Update tumbleweed build instructions & CMakeLists package lists --- README.md | 2 +- indra/newview/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6c657e4972..a93a19834b 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ $ open newview/Megapahit.app ### openSUSE Tumbleweed ``` -$ sudo zypper install gcc-c++ patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel +$ sudo zypper install gcc-c++ patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0 libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libpng16-devel libxml++-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra $ make -j`nproc` diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index c385428e0e..9046bccdd8 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2290,7 +2290,7 @@ if (LINUX) set(CPACK_RPM_PACKAGE_REQUIRES "apr-util, boost-fiber, boost-program-options, boost-regex, boost-thread, boost-url, expat, fltk, mesa-libGLU, hunspell, libnghttp2, openjpeg2, SDL2, vlc-libs, vlc-plugins-base, libvorbis" CACHE STRING "RPM package requirements.") else () - set(CPACK_RPM_PACKAGE_REQUIRES "libapr-util1-0, libboost_fiber1_88_0, libboost_program_options1_88_0, libboost_regex1_88_0, libboost_thread1_88_0, libboost_url1_88_0, libboost_url1_88_0-x86-64-v3, expat, libfltk1_3, libGLU1, libhunspell-1_7-0, libnghttp2-14, openjpeg2, libSDL2-2_0-0, libvlc5, vlc-codecs, libvorbis0" + set(CPACK_RPM_PACKAGE_REQUIRES "libapr-util1-0, libboost_fiber1_88_0, libboost_program_options1_88_0, libboost_regex1_88_0, libboost_thread1_88_0, libboost_url1_88_0, libboost_url1_88_0-x86-64-v3, libpng16-16 expat, libfltk1_3, libGLU1, libhunspell-1_7-0, libnghttp2-14, openjpeg2, libSDL2-2_0-0, libvlc5, vlc-codecs, libvorbis0" CACHE STRING "RPM package requirements.") endif () endif () -- cgit v1.2.3 From 6e5a575d36f3cc4b65e478655955ae84839165a9 Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Tue, 24 Jun 2025 08:39:06 -0600 Subject: Update build instructions for distros that require fmodstudio for working CEF Add notes about where to get fmodstudio, and optionally how to build with openal instead. --- README.md | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a93a19834b..1dd260ef89 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,16 @@ $ cd build-`uname -s|tr '[:upper:]' '[:lower:]'`-`uname -m` ``` $ sudo pacman -S cmake base-devel python apr-util boost fltk glm glu hunspell minizip nanosvg libnghttp2 openjpeg2 libpipewire sdl2 vlc libvorbis xxhash $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr ../indra +``` +build with FMOD Studio ([register with fmod to get linux package][https://www.fmod.com/studio] and then place .tar.gz in /Downloads): +``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +OR, use openal audio (currently breaks CEF): +``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +``` $ make -j`nproc` $ makepkg -R $ sudo pacman -U megapahit-`cat newview/viewer_version.txt|sed 's/\(.*\)\./\1-/'`-`uname -m`.pkg.tar.zst @@ -45,7 +54,16 @@ $ megapahit ``` $ sudo dnf install cmake gcc-c++ patch patchelf rpm-build perl-FindBin apr-util-devel boost-devel boost-url expat-devel fltk-devel glm-devel mesa-libGLU-devel hunspell-devel minizip-ng-compat-devel libnghttp2-devel nanosvg-devel openjpeg-devel pipewire-devel pulseaudio-libs-devel SDL2-devel vlc-devel libvorbis-devel libXcursor-devel libXfixes-devel libXinerama-devel xxhash-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" +``` +build with FMOD Studio ([register with fmod to get linux package][https://www.fmod.com/studio] and then place .tar.gz in /Downloads): +``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +OR, use openal audio (currently breaks CEF): +``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +``` $ make -j`nproc` $ cpack -G RPM $ sudo dnf install megapahit-`cat newview/viewer_version.txt`-Linux.rpm @@ -53,6 +71,7 @@ $ megapahit ``` ### FreeBSD +(Currently does not have CEF or webrtcvoice) ``` $ su - # portmaster devel/cmake devel/pkgconf audio/freealut devel/apr1 devel/boost-libs x11-toolkits/fltk math/glm textproc/hunspell misc/meshoptimizer archivers/minizip graphics/nanosvg www/libnghttp2 graphics/openjpeg devel/sdl20 multimedia/vlc audio/libvorbis devel/xxhash @@ -99,7 +118,16 @@ $ open newview/Megapahit.app ``` $ sudo zypper install gcc-c++ patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0 libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libpng16-devel libxml++-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +build with FMOD Studio ([register with fmod to get linux package][https://www.fmod.com/studio] and then place .tar.gz in /Downloads): +``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +OR, use openal audio (currently breaks CEF): +``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +``` $ make -j`nproc` $ cpack -G RPM $ rpm --addsign megapahit-`cat newview/viewer_version.txt`-Linux.rpm (Set up pgp public key first) @@ -112,7 +140,16 @@ $ megapahit ``` $ sudo apt install cmake pkg-config libxml2-utils libaprutil1-dev libboost-fiber-dev libboost-json-dev libboost-program-options-dev libboost-regex-dev libboost-url-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnanosvg-dev libnghttp2-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" +``` +build with FMOD Studio ([register with fmod to get linux package][https://www.fmod.com/studio] and then place .tar.gz in /Downloads): +``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +OR, use openal audio (currently breaks CEF): +``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +``` $ make -j`nproc` $ cpack -G DEB $ sudo apt install ./megapahit-`cat newview/viewer_version.txt`-Linux.deb -- cgit v1.2.3 From 0edd6270d21c08a450396e3b0ac22663f14109c5 Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Tue, 24 Jun 2025 08:44:02 -0600 Subject: Revert "Update build instructions for distros that require fmodstudio for working CEF" (I messed up the hyperlinks lol) --- README.md | 41 ++--------------------------------------- 1 file changed, 2 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 1dd260ef89..a93a19834b 100644 --- a/README.md +++ b/README.md @@ -21,16 +21,7 @@ $ cd build-`uname -s|tr '[:upper:]' '[:lower:]'`-`uname -m` ``` $ sudo pacman -S cmake base-devel python apr-util boost fltk glm glu hunspell minizip nanosvg libnghttp2 openjpeg2 libpipewire sdl2 vlc libvorbis xxhash $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" -``` -build with FMOD Studio ([register with fmod to get linux package][https://www.fmod.com/studio] and then place .tar.gz in /Downloads): -``` -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra -``` -OR, use openal audio (currently breaks CEF): -``` -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra -``` -``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr ../indra $ make -j`nproc` $ makepkg -R $ sudo pacman -U megapahit-`cat newview/viewer_version.txt|sed 's/\(.*\)\./\1-/'`-`uname -m`.pkg.tar.zst @@ -54,16 +45,7 @@ $ megapahit ``` $ sudo dnf install cmake gcc-c++ patch patchelf rpm-build perl-FindBin apr-util-devel boost-devel boost-url expat-devel fltk-devel glm-devel mesa-libGLU-devel hunspell-devel minizip-ng-compat-devel libnghttp2-devel nanosvg-devel openjpeg-devel pipewire-devel pulseaudio-libs-devel SDL2-devel vlc-devel libvorbis-devel libXcursor-devel libXfixes-devel libXinerama-devel xxhash-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" -``` -build with FMOD Studio ([register with fmod to get linux package][https://www.fmod.com/studio] and then place .tar.gz in /Downloads): -``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra -``` -OR, use openal audio (currently breaks CEF): -``` -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra -``` -``` $ make -j`nproc` $ cpack -G RPM $ sudo dnf install megapahit-`cat newview/viewer_version.txt`-Linux.rpm @@ -71,7 +53,6 @@ $ megapahit ``` ### FreeBSD -(Currently does not have CEF or webrtcvoice) ``` $ su - # portmaster devel/cmake devel/pkgconf audio/freealut devel/apr1 devel/boost-libs x11-toolkits/fltk math/glm textproc/hunspell misc/meshoptimizer archivers/minizip graphics/nanosvg www/libnghttp2 graphics/openjpeg devel/sdl20 multimedia/vlc audio/libvorbis devel/xxhash @@ -118,16 +99,7 @@ $ open newview/Megapahit.app ``` $ sudo zypper install gcc-c++ patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0 libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libpng16-devel libxml++-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" -``` -build with FMOD Studio ([register with fmod to get linux package][https://www.fmod.com/studio] and then place .tar.gz in /Downloads): -``` -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra -``` -OR, use openal audio (currently breaks CEF): -``` -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra -``` -``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra $ make -j`nproc` $ cpack -G RPM $ rpm --addsign megapahit-`cat newview/viewer_version.txt`-Linux.rpm (Set up pgp public key first) @@ -140,16 +112,7 @@ $ megapahit ``` $ sudo apt install cmake pkg-config libxml2-utils libaprutil1-dev libboost-fiber-dev libboost-json-dev libboost-program-options-dev libboost-regex-dev libboost-url-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnanosvg-dev libnghttp2-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" -``` -build with FMOD Studio ([register with fmod to get linux package][https://www.fmod.com/studio] and then place .tar.gz in /Downloads): -``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra -``` -OR, use openal audio (currently breaks CEF): -``` -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra -``` -``` $ make -j`nproc` $ cpack -G DEB $ sudo apt install ./megapahit-`cat newview/viewer_version.txt`-Linux.deb -- cgit v1.2.3 From 829e49375ccb68522a7bdd6b78a3bf5024941df3 Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Tue, 24 Jun 2025 08:45:52 -0600 Subject: Update README.md for distributions that need fmod Update build instructions for distributions that require fmod in order for CEF to work, optionally include instructions for building with openal anyway. --- README.md | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a93a19834b..c11a7fee69 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,16 @@ $ cd build-`uname -s|tr '[:upper:]' '[:lower:]'`-`uname -m` ``` $ sudo pacman -S cmake base-devel python apr-util boost fltk glm glu hunspell minizip nanosvg libnghttp2 openjpeg2 libpipewire sdl2 vlc libvorbis xxhash $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr ../indra +``` +build with FMOD Studio ([register with fmod to get linux package][fmod] and then place .tar.gz in /Downloads): +``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +OR, use openal audio (currently breaks CEF): +``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +``` $ make -j`nproc` $ makepkg -R $ sudo pacman -U megapahit-`cat newview/viewer_version.txt|sed 's/\(.*\)\./\1-/'`-`uname -m`.pkg.tar.zst @@ -45,7 +54,16 @@ $ megapahit ``` $ sudo dnf install cmake gcc-c++ patch patchelf rpm-build perl-FindBin apr-util-devel boost-devel boost-url expat-devel fltk-devel glm-devel mesa-libGLU-devel hunspell-devel minizip-ng-compat-devel libnghttp2-devel nanosvg-devel openjpeg-devel pipewire-devel pulseaudio-libs-devel SDL2-devel vlc-devel libvorbis-devel libXcursor-devel libXfixes-devel libXinerama-devel xxhash-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" +``` +build with FMOD Studio ([register with fmod to get linux package][fmod] and then place .tar.gz in /Downloads): +``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +OR, use openal audio (currently breaks CEF): +``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +``` $ make -j`nproc` $ cpack -G RPM $ sudo dnf install megapahit-`cat newview/viewer_version.txt`-Linux.rpm @@ -53,6 +71,7 @@ $ megapahit ``` ### FreeBSD +(Currently does not have CEF or webrtcvoice) ``` $ su - # portmaster devel/cmake devel/pkgconf audio/freealut devel/apr1 devel/boost-libs x11-toolkits/fltk math/glm textproc/hunspell misc/meshoptimizer archivers/minizip graphics/nanosvg www/libnghttp2 graphics/openjpeg devel/sdl20 multimedia/vlc audio/libvorbis devel/xxhash @@ -99,7 +118,16 @@ $ open newview/Megapahit.app ``` $ sudo zypper install gcc-c++ patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0 libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libpng16-devel libxml++-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +build with FMOD Studio ([register with fmod to get linux package][fmod] and then place .tar.gz in /Downloads): +``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +OR, use openal audio (currently breaks CEF): +``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +``` $ make -j`nproc` $ cpack -G RPM $ rpm --addsign megapahit-`cat newview/viewer_version.txt`-Linux.rpm (Set up pgp public key first) @@ -112,7 +140,16 @@ $ megapahit ``` $ sudo apt install cmake pkg-config libxml2-utils libaprutil1-dev libboost-fiber-dev libboost-json-dev libboost-program-options-dev libboost-regex-dev libboost-url-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnanosvg-dev libnghttp2-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" +``` +build with FMOD Studio ([register with fmod to get linux package][fmod] and then place .tar.gz in /Downloads): +``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +OR, use openal audio (currently breaks CEF): +``` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +``` +``` $ make -j`nproc` $ cpack -G DEB $ sudo apt install ./megapahit-`cat newview/viewer_version.txt`-Linux.deb @@ -158,3 +195,4 @@ pull requests and more. See the [CONTRIBUTING][] and the [open source portal][] [contributing]: https://megapahit.org/viewer.git/tree/CONTRIBUTING.md [in-world group]: https://world.secondlife.com/group/1142646c-5fb2-162c-ecf8-c5e422ab5c6d [Discord]: https://discord.gg/jpt33HPVEK +[fmod]: https://www.fmod.com/studio -- cgit v1.2.3 From 003a2affb687e3af6610c1d59dd0b020b7e9ceb4 Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Tue, 24 Jun 2025 08:51:19 -0600 Subject: README.md adjustment II Put ".tar.gz" and "/Downloads" in code blocks for increased visibility. --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c11a7fee69..c3b04fedfb 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ $ cd build-`uname -s|tr '[:upper:]' '[:lower:]'`-`uname -m` $ sudo pacman -S cmake base-devel python apr-util boost fltk glm glu hunspell minizip nanosvg libnghttp2 openjpeg2 libpipewire sdl2 vlc libvorbis xxhash $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` -build with FMOD Studio ([register with fmod to get linux package][fmod] and then place .tar.gz in /Downloads): +build with FMOD Studio ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`): ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` @@ -55,7 +55,7 @@ $ megapahit $ sudo dnf install cmake gcc-c++ patch patchelf rpm-build perl-FindBin apr-util-devel boost-devel boost-url expat-devel fltk-devel glm-devel mesa-libGLU-devel hunspell-devel minizip-ng-compat-devel libnghttp2-devel nanosvg-devel openjpeg-devel pipewire-devel pulseaudio-libs-devel SDL2-devel vlc-devel libvorbis-devel libXcursor-devel libXfixes-devel libXinerama-devel xxhash-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` -build with FMOD Studio ([register with fmod to get linux package][fmod] and then place .tar.gz in /Downloads): +build with FMOD Studio ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`): ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` @@ -119,7 +119,7 @@ $ open newview/Megapahit.app $ sudo zypper install gcc-c++ patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0 libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libpng16-devel libxml++-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` -build with FMOD Studio ([register with fmod to get linux package][fmod] and then place .tar.gz in /Downloads): +build with FMOD Studio ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`): ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` @@ -141,7 +141,7 @@ $ megapahit $ sudo apt install cmake pkg-config libxml2-utils libaprutil1-dev libboost-fiber-dev libboost-json-dev libboost-program-options-dev libboost-regex-dev libboost-url-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnanosvg-dev libnghttp2-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` -build with FMOD Studio ([register with fmod to get linux package][fmod] and then place .tar.gz in /Downloads): +build with FMOD Studio ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`): ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` -- cgit v1.2.3 From 4b0d83f447b7ef11e0de3a63a19ac1075b68f3ec Mon Sep 17 00:00:00 2001 From: secretfoxtail Date: Tue, 24 Jun 2025 08:54:37 -0600 Subject: README.md adjustment III Move semicolons for improved readability. (Sorry!) --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c3b04fedfb..e6001ac180 100644 --- a/README.md +++ b/README.md @@ -22,11 +22,11 @@ $ cd build-`uname -s|tr '[:upper:]' '[:lower:]'`-`uname -m` $ sudo pacman -S cmake base-devel python apr-util boost fltk glm glu hunspell minizip nanosvg libnghttp2 openjpeg2 libpipewire sdl2 vlc libvorbis xxhash $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` -build with FMOD Studio ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`): +build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`) ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` -OR, use openal audio (currently breaks CEF): +OR, use openal audio: (currently breaks CEF) ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` @@ -55,11 +55,11 @@ $ megapahit $ sudo dnf install cmake gcc-c++ patch patchelf rpm-build perl-FindBin apr-util-devel boost-devel boost-url expat-devel fltk-devel glm-devel mesa-libGLU-devel hunspell-devel minizip-ng-compat-devel libnghttp2-devel nanosvg-devel openjpeg-devel pipewire-devel pulseaudio-libs-devel SDL2-devel vlc-devel libvorbis-devel libXcursor-devel libXfixes-devel libXinerama-devel xxhash-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` -build with FMOD Studio ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`): +build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`) ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` -OR, use openal audio (currently breaks CEF): +OR, use openal audio: (currently breaks CEF) ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` @@ -71,7 +71,7 @@ $ megapahit ``` ### FreeBSD -(Currently does not have CEF or webrtcvoice) +(Currently does not have CEF or WebRTC Voice) ``` $ su - # portmaster devel/cmake devel/pkgconf audio/freealut devel/apr1 devel/boost-libs x11-toolkits/fltk math/glm textproc/hunspell misc/meshoptimizer archivers/minizip graphics/nanosvg www/libnghttp2 graphics/openjpeg devel/sdl20 multimedia/vlc audio/libvorbis devel/xxhash @@ -119,11 +119,11 @@ $ open newview/Megapahit.app $ sudo zypper install gcc-c++ patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0 libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libpng16-devel libxml++-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` -build with FMOD Studio ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`): +build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`) ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` -OR, use openal audio (currently breaks CEF): +OR, use openal audio: (currently breaks CEF) ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` @@ -141,11 +141,11 @@ $ megapahit $ sudo apt install cmake pkg-config libxml2-utils libaprutil1-dev libboost-fiber-dev libboost-json-dev libboost-program-options-dev libboost-regex-dev libboost-url-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnanosvg-dev libnghttp2-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` -build with FMOD Studio ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`): +build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`) ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` -OR, use openal audio (currently breaks CEF): +OR, use openal audio: (currently breaks CEF) ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` -- cgit v1.2.3 From a8cbf9f7fa0b4eb131748e682e23c74d5cd001ce Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 25 Jun 2025 08:15:54 +0800 Subject: Add tildes & make sure FMOD is OFF if using OpenAL --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e6001ac180..eedf2e7b5d 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,13 @@ $ cd build-`uname -s|tr '[:upper:]' '[:lower:]'`-`uname -m` $ sudo pacman -S cmake base-devel python apr-util boost fltk glm glu hunspell minizip nanosvg libnghttp2 openjpeg2 libpipewire sdl2 vlc libvorbis xxhash $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` -build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`) +build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `~/Downloads`) ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` OR, use openal audio: (currently breaks CEF) ``` -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` ``` $ make -j`nproc` @@ -55,13 +55,13 @@ $ megapahit $ sudo dnf install cmake gcc-c++ patch patchelf rpm-build perl-FindBin apr-util-devel boost-devel boost-url expat-devel fltk-devel glm-devel mesa-libGLU-devel hunspell-devel minizip-ng-compat-devel libnghttp2-devel nanosvg-devel openjpeg-devel pipewire-devel pulseaudio-libs-devel SDL2-devel vlc-devel libvorbis-devel libXcursor-devel libXfixes-devel libXinerama-devel xxhash-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` -build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`) +build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `~/Downloads`) ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` OR, use openal audio: (currently breaks CEF) ``` -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` ``` $ make -j`nproc` @@ -119,13 +119,13 @@ $ open newview/Megapahit.app $ sudo zypper install gcc-c++ patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0 libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libpng16-devel libxml++-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` -build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`) +build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `~/Downloads`) ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` OR, use openal audio: (currently breaks CEF) ``` -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` ``` $ make -j`nproc` @@ -141,13 +141,13 @@ $ megapahit $ sudo apt install cmake pkg-config libxml2-utils libaprutil1-dev libboost-fiber-dev libboost-json-dev libboost-program-options-dev libboost-regex-dev libboost-url-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnanosvg-dev libnghttp2-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` -build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `/Downloads`) +build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `~/Downloads`) ``` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` OR, use openal audio: (currently breaks CEF) ``` -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra ``` ``` $ make -j`nproc` -- cgit v1.2.3 From b62c99d379a3831059344b96c66c8ccb08acb49d Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 25 Jun 2025 17:26:44 +0800 Subject: Revert "Link clog too to Windows arm64 Megapahit.exe" This reverts commit aac750c57fbd22814958a112d6c262254243130f. --- indra/newview/CMakeLists.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 9046bccdd8..9ff70ee095 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2107,10 +2107,6 @@ if (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch target_link_libraries(${VIEWER_BINARY_NAME} llwebrtc ) endif () -if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) - target_link_libraries(${VIEWER_BINARY_NAME} clog) -endif () - if (ENABLE_MEDIA_PLUGINS) target_link_libraries(${VIEWER_BINARY_NAME} ll::libvlc ) if (DARWIN OR LINUX) -- cgit v1.2.3 From 692c047a9e952779b81bda0d8b040e9729e1793c Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 25 Jun 2025 17:37:48 +0800 Subject: Revert "Link clog too to Windows arm64 SLPlugin" This reverts commit 98e99812072e6125411174236e1421d9312a50da. --- indra/llplugin/slplugin/CMakeLists.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index 03a057fbcb..2100e6f556 100644 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -49,10 +49,6 @@ target_link_libraries(SLPlugin ll::pluginlibraries ) -if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) - target_link_libraries(${PROJECT_NAME} clog) -endif () - if (DARWIN) # Make sure the app bundle has a Resources directory (it will get populated by viewer-manifest.py later) add_custom_command( -- cgit v1.2.3 From 266c327b2d91ff16c4ffd44d14e3bbde86681dc6 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 25 Jun 2025 17:39:08 +0800 Subject: Revert "Attempt to replace __cpuid, on arm64 using cpuinfo" This reverts commit 32871ee579bfbd4828f7888550897f619fdfd9d7. --- indra/cmake/cpuinfo.cmake | 5 ---- indra/llcommon/CMakeLists.txt | 7 ----- indra/llcommon/llprocessor.cpp | 63 ------------------------------------------ 3 files changed, 75 deletions(-) delete mode 100644 indra/cmake/cpuinfo.cmake diff --git a/indra/cmake/cpuinfo.cmake b/indra/cmake/cpuinfo.cmake deleted file mode 100644 index 10fcab8e40..0000000000 --- a/indra/cmake/cpuinfo.cmake +++ /dev/null @@ -1,5 +0,0 @@ -include(Prebuilt) - -add_library( ll::cpuinfo INTERFACE IMPORTED ) - -use_system_binary(cpuinfo) diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 07d2c4afeb..e8c51c4c8e 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -11,9 +11,6 @@ include(LLSharedLibs) include(ZLIBNG) include(Tracy) -if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) - include(cpuinfo) -endif () set(llcommon_SOURCE_FILES apply.cpp @@ -285,10 +282,6 @@ target_link_libraries( ll::tracy ) -if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) - target_link_libraries(llcommon ll::cpuinfo) -endif () - target_include_directories(llcommon INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(llcommon PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/indra/llcommon/llprocessor.cpp b/indra/llcommon/llprocessor.cpp index 434501af77..9b3cdf4df5 100644 --- a/indra/llcommon/llprocessor.cpp +++ b/indra/llcommon/llprocessor.cpp @@ -40,9 +40,6 @@ # include # undef _interlockedbittestandset # undef _interlockedbittestandreset -#if _M_ARM64 -# include -#endif #endif #include "llsd.h" @@ -442,21 +439,13 @@ static F64 calculate_cpu_frequency(U32 measure_msecs) //// completed now (serialization) //__asm cpuid int cpu_info[4] = {-1}; -#if _M_ARM64 - std::fill(cpu_info, cpu_info + 4, 0); -#else __cpuid(cpu_info, 0); -#endif // We ask the high-res timer for the start time QueryPerformanceCounter((LARGE_INTEGER *) &starttime); // Then we get the current cpu clock and store it -#if _M_ARM64 - start = _ReadStatusReg(ARM64_PMCCNTR_EL0); -#else start = __rdtsc(); -#endif // Now we wart for some msecs _Delay(measure_msecs); @@ -466,11 +455,7 @@ static F64 calculate_cpu_frequency(U32 measure_msecs) QueryPerformanceCounter((LARGE_INTEGER *) &endtime); // And also for the end cpu clock -#if _M_ARM64 - end = _ReadStatusReg(ARM64_PMCCNTR_EL0); -#else end = __rdtsc(); -#endif // Now we can restore the default process and thread priorities SetProcessAffinityMask(hProcess, dwProcessMask); @@ -510,60 +495,17 @@ private: // the other three array elements. The CPU identification string is // not in linear order. The code below arranges the information // in a human readable form. -#if _M_ARM64 - cpuinfo_initialize(); -#else int cpu_info[4] = {-1}; __cpuid(cpu_info, 0); unsigned int ids = (unsigned int)cpu_info[0]; setConfig(eMaxID, (S32)ids); -#endif char cpu_vendor[0x20]; memset(cpu_vendor, 0, sizeof(cpu_vendor)); -#if _M_ARM64 - switch (cpuinfo_get_current_core()->vendor) - { - case cpuinfo_vendor_unknown: - setInfo(eVendor, "Unknown"); - break; - case cpuinfo_vendor_arm: - setInfo(eVendor, "ARM"); - break; - case cpuinfo_vendor_qualcomm: - setInfo(eVendor, "Qualcomm"); - break; - case cpuinfo_vendor_apple: - setInfo(eVendor, "Apple"); - break; - case cpuinfo_vendor_samsung: - setInfo(eVendor, "Samsung"); - break; - case cpuinfo_vendor_nvidia: - setInfo(eVendor, "Nvidia"); - break; - case cpuinfo_vendor_cavium: - setInfo(eVendor, "Cavium"); - break; - case cpuinfo_vendor_broadcom: - setInfo(eVendor, "Broadcom"); - break; - case cpuinfo_vendor_apm: - setInfo(eVendor, "APM"); - break; - case cpuinfo_vendor_huawei: - setInfo(eVendor, "Huawei"); - break; - default: - setInfo(eVendor, "Unknown"); - break; - } -#else *((int*)cpu_vendor) = cpu_info[1]; *((int*)(cpu_vendor+4)) = cpu_info[3]; *((int*)(cpu_vendor+8)) = cpu_info[2]; setInfo(eVendor, cpu_vendor); -#endif std::string cmp_vendor(cpu_vendor); bool is_amd = false; if (cmp_vendor == "AuthenticAMD") @@ -571,10 +513,6 @@ private: is_amd = true; } -#if _M_ARM64 - setInfo(eModel, cpuinfo_get_package(0)->name); - setInfo(eType, cpuinfo_get_uarch(0)->uarch); -#else // Get the information associated with each valid Id for(unsigned int i=0; i<=ids; ++i) { @@ -685,7 +623,6 @@ private: setConfig(eCacheSizeK, (cpu_info[2] >> 16) & 0xffff); } } -#endif } }; -- cgit v1.2.3 From bd4f7fd03d428e1592d96b75522716a72ab673b1 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 25 Jun 2025 17:55:37 +0800 Subject: Attempt to replace __cpuid on arm64 without cpuinfo https://stackoverflow.com/questions/60588765/how-to-get-cpu-brand-information-in-arm64 --- README.md | 2 +- indra/llcommon/llprocessor.cpp | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index eedf2e7b5d..d755121aa1 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,7 @@ $ megapahit ### Windows arm64 ``` -$ vcpkg install pkgconf python3 freealut apr-util boost cpuinfo curl freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg sse2neon libvorbis libxml2[tools] xxhash +$ vcpkg install pkgconf python3 freealut apr-util boost curl freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg sse2neon libvorbis libxml2[tools] xxhash $ vcpkg install --allow-unsupported boost-fiber $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602 /Zc:preprocessor" $ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-arm64/bin:$VCPKG_ROOT/downloads/tools/msys2/2db36fb050d01f45/usr/bin:$VCPKG_ROOT/installed/arm64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" diff --git a/indra/llcommon/llprocessor.cpp b/indra/llcommon/llprocessor.cpp index 9b3cdf4df5..c0b1a5c9e3 100644 --- a/indra/llcommon/llprocessor.cpp +++ b/indra/llcommon/llprocessor.cpp @@ -439,13 +439,21 @@ static F64 calculate_cpu_frequency(U32 measure_msecs) //// completed now (serialization) //__asm cpuid int cpu_info[4] = {-1}; +#if _M_ARM64 + std::fill(cpu_info, cpu_info + 4, 0); +#else __cpuid(cpu_info, 0); +#endif // We ask the high-res timer for the start time QueryPerformanceCounter((LARGE_INTEGER *) &starttime); // Then we get the current cpu clock and store it +#if _M_ARM64 + start = _ReadStatusReg(ARM64_PMCCNTR_EL0); +#else start = __rdtsc(); +#endif // Now we wart for some msecs _Delay(measure_msecs); @@ -455,7 +463,11 @@ static F64 calculate_cpu_frequency(U32 measure_msecs) QueryPerformanceCounter((LARGE_INTEGER *) &endtime); // And also for the end cpu clock +#if _M_ARM64 + end = _ReadStatusReg(ARM64_PMCCNTR_EL0); +#else end = __rdtsc(); +#endif // Now we can restore the default process and thread priorities SetProcessAffinityMask(hProcess, dwProcessMask); @@ -495,17 +507,21 @@ private: // the other three array elements. The CPU identification string is // not in linear order. The code below arranges the information // in a human readable form. +#if !_M_ARM64 int cpu_info[4] = {-1}; __cpuid(cpu_info, 0); unsigned int ids = (unsigned int)cpu_info[0]; setConfig(eMaxID, (S32)ids); +#endif char cpu_vendor[0x20]; memset(cpu_vendor, 0, sizeof(cpu_vendor)); +#if !_M_ARM64 *((int*)cpu_vendor) = cpu_info[1]; *((int*)(cpu_vendor+4)) = cpu_info[3]; *((int*)(cpu_vendor+8)) = cpu_info[2]; setInfo(eVendor, cpu_vendor); +#endif std::string cmp_vendor(cpu_vendor); bool is_amd = false; if (cmp_vendor == "AuthenticAMD") @@ -513,6 +529,20 @@ private: is_amd = true; } +#if _M_ARM64 + HKEY hKey; + DWORD gotType; + char inBuffer[48] = ""; + if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", 0, KEY_READ, &hKey) == ERROR_SUCCESS) + { + if (!RegQueryValueExA(hKey, "ProcessorNameString", nullptr, &gotType, (PBYTE)(inBuffer), nullptr)) + { + if ((gotType == REG_SZ) && strlen(inBuffer)) + setInfo(eModel, inBuffer); + } + RegCloseKey(hKey); + } +#else // Get the information associated with each valid Id for(unsigned int i=0; i<=ids; ++i) { @@ -623,6 +653,7 @@ private: setConfig(eCacheSizeK, (cpu_info[2] >> 16) & 0xffff); } } +#endif } }; -- cgit v1.2.3 From 89a6a94e4026e6f87f54dfe5214173b07f520fc5 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 26 Jun 2025 22:09:30 +0800 Subject: Disable direct input init on Win ARM64 for now This would be for joysticks & spacemouses, which aren't that urgent. This is disabled as it seems to be causing a segmentation fault on Windows ARM64. --- indra/llwindow/llwindowwin32.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 4fca74497f..64f20e65ca 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -576,6 +576,7 @@ LLWindowWin32::LLWindowWin32(LLWindowCallbacks* callbacks, // Make an instance of our window then define the window class mhInstance = GetModuleHandle(NULL); +#if !_M_ARM64 // Init Direct Input - needed for joystick / Spacemouse LPDIRECTINPUT8 di8_interface; @@ -590,6 +591,7 @@ LLWindowWin32::LLWindowWin32(LLWindowCallbacks* callbacks, { gDirectInput8 = di8_interface; } +#endif mSwapMethod = SWAP_METHOD_UNDEFINED; -- cgit v1.2.3 From 68513b2d0b9f070aeabfc3cfff09d477006cd0a0 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 27 Jun 2025 13:59:42 +0800 Subject: Privacy preference for hiding selection beam https://megapahit.com/show_bug.cgi?id=108 --- .../skins/default/xui/en/panel_preferences_privacy.xml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml index 5041fb4878..f1a38dc894 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml @@ -55,13 +55,24 @@ width="350" /> + + Date: Sat, 28 Jun 2025 08:52:44 +0800 Subject: Fix user env value & lower case domain for NSIS and avoid viewer/project name hardcoding. --- indra/newview/CMakeLists.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 9ff70ee095..0ded363901 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1757,7 +1757,8 @@ if (PACKAGE) 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) + string(TOLOWER ${VIEWER_BINARY_NAME} DOMAIN_NAME) + set(VIEWER_PACKAGE_DOMAIN_NAME ${DOMAIN_NAME}.net) endif () if (CMAKE_COMMAND MATCHES /usr/bin/cmake OR WINDOWS) @@ -1980,9 +1981,9 @@ if (WINDOWS) 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_CONTACT $ENV{USERNAME}@${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_NSIS_MENU_LINKS ${VIEWER_BINARY_NAME}.exe "${VIEWER_BINARY_NAME} Viewer") set(CPACK_PACKAGE_INSTALL_DIRECTORY ${VIEWER_BINARY_NAME}) if (FALSE) -- cgit v1.2.3 From 3831d3a8dc9ce85e6128d5943df781c4ef9e0157 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 28 Jun 2025 20:28:41 +0800 Subject: Basic scaffolding to support force commands --- indra/newview/rlvhandler.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 6c4b439105..63914064cf 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -109,6 +109,7 @@ ECmdRet RlvHandler::processCommand(std::reference_wrapper rlvC switch (rlvCmd.get().getParamType()) { case EParamType::Reply: + case EParamType::Force: eRet = rlvCmd.get().processCommand(); break; case EParamType::Unknown: @@ -222,4 +223,11 @@ ECmdRet ReplyHandler::onCommand(const RlvCommand& rlvCmd return ECmdRet::Succeeded; } +// Force + +ECmdRet CommandHandlerBaseImpl::processCommand(const RlvCommand& rlvCmd, ForceHandlerFunc* pHandler) +{ + return (*pHandler)(rlvCmd); +} + // ============================================================================ -- cgit v1.2.3 From 70732b62c9fcdb57b36492945dd63ee072fbb7ab Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 28 Jun 2025 20:31:50 +0800 Subject: Minimal @sit:=force command implementation --- indra/newview/rlvdefines.h | 1 + indra/newview/rlvhandler.cpp | 8 ++++++++ indra/newview/rlvhelper.cpp | 3 +++ 3 files changed, 12 insertions(+) diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index e39328fdd6..77c5e3c5f1 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -93,6 +93,7 @@ namespace Rlv Version = 0, VersionNew, VersionNum, + Sit, GetCommand, Count, diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 63914064cf..52448d8495 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -30,6 +30,7 @@ #include "llstartup.h" #include "llviewercontrol.h" #include "llviewerobject.h" +#include "llviewermenu.h" #include "rlvcommon.h" #include "rlvhandler.h" @@ -230,4 +231,11 @@ ECmdRet CommandHandlerBaseImpl::processCommand(const RlvComma return (*pHandler)(rlvCmd); } +template<> template<> +ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) +{ + handle_object_sit(LLUUID{rlvCmd.getOption()}); + return ECmdRet::Succeeded; +} + // ============================================================================ diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp index 7cb1473c8c..cfbac6bc8d 100644 --- a/indra/newview/rlvhelper.cpp +++ b/indra/newview/rlvhelper.cpp @@ -54,6 +54,9 @@ BehaviourDictionary::BehaviourDictionary() addEntry(new ReplyProcessor("versionnew")); addEntry(new ReplyProcessor("versionnum")); + // Force + addEntry(new ForceProcessor("sit")); + // Populate mString2InfoMap (the tuple should be unique) for (const BehaviourInfo* bhvr_info_p : mBhvrInfoList) { -- cgit v1.2.3 From e87685aacfd2873f6b41b8036ee63a9ed67e2be2 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 29 Jun 2025 09:43:05 +0800 Subject: Minimal @unsit=force command implementation --- indra/newview/rlvdefines.h | 1 + indra/newview/rlvhandler.cpp | 7 +++++++ indra/newview/rlvhelper.cpp | 1 + 3 files changed, 9 insertions(+) diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index 77c5e3c5f1..71550ac63f 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -94,6 +94,7 @@ namespace Rlv VersionNew, VersionNum, Sit, + Unsit, GetCommand, Count, diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 52448d8495..3394362c93 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -238,4 +238,11 @@ ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) return ECmdRet::Succeeded; } +template<> template<> +ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) +{ + gAgent.standUp(); + return ECmdRet::Succeeded; +} + // ============================================================================ diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp index cfbac6bc8d..a0a98d796e 100644 --- a/indra/newview/rlvhelper.cpp +++ b/indra/newview/rlvhelper.cpp @@ -56,6 +56,7 @@ BehaviourDictionary::BehaviourDictionary() // Force addEntry(new ForceProcessor("sit")); + addEntry(new ForceProcessor("unsit")); // Populate mString2InfoMap (the tuple should be unique) for (const BehaviourInfo* bhvr_info_p : mBhvrInfoList) -- cgit v1.2.3 From 6ad39e2c3b3df0ebc54f1056f4659b1a51b62f1e Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 30 Jun 2025 09:32:20 +0800 Subject: Basic scaffolding to support add/remove commands plus reorder header inclusions alphabetically. --- indra/newview/rlvhandler.cpp | 17 ++++++++++++++++- indra/newview/rlvhelper.cpp | 2 ++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 3394362c93..869ada40ab 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -29,8 +29,8 @@ #include "llagent.h" #include "llstartup.h" #include "llviewercontrol.h" -#include "llviewerobject.h" #include "llviewermenu.h" +#include "llviewerobject.h" #include "rlvcommon.h" #include "rlvhandler.h" @@ -111,6 +111,8 @@ ECmdRet RlvHandler::processCommand(std::reference_wrapper rlvC { case EParamType::Reply: case EParamType::Force: + case EParamType::Remove: + case EParamType::Add: eRet = rlvCmd.get().processCommand(); break; case EParamType::Unknown: @@ -245,4 +247,17 @@ ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) return ECmdRet::Succeeded; } +// AddRem + +ECmdRet CommandHandlerBaseImpl::processCommand(const RlvCommand& rlvCmd, BhvrHandlerFunc* pHandler, BhvrToggleHandlerFunc* pToggleHandler) +{ + auto param = rlvCmd.getParam(); + bool toggle = false; + if (param == "y") + toggle = true; + else if (param != "n") + return ECmdRet::FailedParam; + return (*pHandler)(rlvCmd, toggle); +} + // ============================================================================ diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp index a0a98d796e..01a0b84eb5 100644 --- a/indra/newview/rlvhelper.cpp +++ b/indra/newview/rlvhelper.cpp @@ -58,6 +58,8 @@ BehaviourDictionary::BehaviourDictionary() addEntry(new ForceProcessor("sit")); addEntry(new ForceProcessor("unsit")); + // AddRem + // Populate mString2InfoMap (the tuple should be unique) for (const BehaviourInfo* bhvr_info_p : mBhvrInfoList) { -- cgit v1.2.3 From d6e7979612be80b24441fa84678adb476fda8405 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 30 Jun 2025 14:20:07 +0800 Subject: Minimal @sitground=force command implementation Untested cause I couldn't find any force ground sit command on the attachment I got access to. --- indra/newview/rlvdefines.h | 1 + indra/newview/rlvhandler.cpp | 7 +++++++ indra/newview/rlvhelper.cpp | 1 + 3 files changed, 9 insertions(+) diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index 71550ac63f..50e0c95f7b 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -94,6 +94,7 @@ namespace Rlv VersionNew, VersionNum, Sit, + SitGround, Unsit, GetCommand, diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 869ada40ab..49b89c8cdf 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -240,6 +240,13 @@ ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) return ECmdRet::Succeeded; } +template<> template<> +ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) +{ + gAgent.sitDown(); + return ECmdRet::Succeeded; +} + template<> template<> ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) { diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp index 01a0b84eb5..c0658f8f8a 100644 --- a/indra/newview/rlvhelper.cpp +++ b/indra/newview/rlvhelper.cpp @@ -56,6 +56,7 @@ BehaviourDictionary::BehaviourDictionary() // Force addEntry(new ForceProcessor("sit")); + addEntry(new ForceProcessor("sitground")); addEntry(new ForceProcessor("unsit")); // AddRem -- cgit v1.2.3 From d0e3c7a40395ea5ad7f7a9982ce4dbf464e24caa Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 30 Jun 2025 18:09:32 +0800 Subject: Minimal @unsit= command implementation Hides the Stand up button too, but doesn't prevent teleporting yet. --- indra/newview/llagent.cpp | 5 ++++- indra/newview/llagent.h | 4 ++++ indra/newview/llmoveview.cpp | 2 +- indra/newview/llmoveview.h | 1 + indra/newview/rlvhandler.cpp | 11 +++++++++++ indra/newview/rlvhelper.cpp | 1 + 6 files changed, 22 insertions(+), 2 deletions(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 2161dbe19e..b8b5ba2264 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -386,6 +386,8 @@ LLAgent::LLAgent() : mbRunning(false), mbTeleportKeepsLookAt(false), + mAllowedToStand(true), + mAgentAccess(new LLAgentAccess(gSavedSettings)), mGodLevelChangeSignal(), mCanEditParcel(false), @@ -969,7 +971,8 @@ bool LLAgent::isSitting() void LLAgent::standUp() { - setControlFlags(AGENT_CONTROL_STAND_UP); + if (mAllowedToStand) + setControlFlags(AGENT_CONTROL_STAND_UP); } void LLAgent::changeParcels() diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index c1d3c6c14b..74d8719047 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -446,6 +446,10 @@ public: void standUp(); /// @brief ground-sit at agent's current position void sitDown(); + bool isAllowedToStand() const { return mAllowedToStand; } + void setAllowedToStand(bool allow) { mAllowedToStand = allow; } +private: + bool mAllowedToStand; //-------------------------------------------------------------------- // Do Not Disturb diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp index a8ceaffde8..df515389c5 100644 --- a/indra/newview/llmoveview.cpp +++ b/indra/newview/llmoveview.cpp @@ -538,7 +538,7 @@ void LLPanelStandStopFlying::setStandStopFlyingMode(EStandStopFlyingMode mode) LLFirstUse::sit(); LLFirstUse::notMoving(false); } - panel->mStandButton->setVisible(SSFM_STAND == mode); + panel->mStandButton->setVisible((SSFM_STAND == mode) & gAgent.isAllowedToStand()); panel->mStopFlyingButton->setVisible(SSFM_STOP_FLYING == mode); //visibility of it should be updated after updating visibility of the buttons diff --git a/indra/newview/llmoveview.h b/indra/newview/llmoveview.h index 3690245e1d..208e1e80f1 100644 --- a/indra/newview/llmoveview.h +++ b/indra/newview/llmoveview.h @@ -143,6 +143,7 @@ public: static void clearStandStopFlyingMode(EStandStopFlyingMode mode); /*virtual*/ bool postBuild(); /*virtual*/ void setVisible(bool visible); + void setVisibleStandButton(bool visible) { mStandButton->setVisible(visible); } // *HACK: due to hard enough to have this control aligned with "Move" button while resizing // let update its position in each frame diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 49b89c8cdf..01f5d28ced 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -28,6 +28,7 @@ #include "llviewerprecompiledheaders.h" #include "llagent.h" #include "llstartup.h" +#include "llmoveview.h" #include "llviewercontrol.h" #include "llviewermenu.h" #include "llviewerobject.h" @@ -267,4 +268,14 @@ ECmdRet CommandHandlerBaseImpl::processCommand(const RlvComm return (*pHandler)(rlvCmd, toggle); } +template<> template<> +ECmdRet BehaviourToggleHandler::onCommand(const RlvCommand& rlvCmd, bool& toggle) +{ + gAgent.setAllowedToStand(toggle); + if (gAgent.isSitting()) + LLPanelStandStopFlying::getInstance()->setVisibleStandButton(toggle); + return ECmdRet::Succeeded; +} + +template<> template<> // ============================================================================ diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp index c0658f8f8a..7c5f939d31 100644 --- a/indra/newview/rlvhelper.cpp +++ b/indra/newview/rlvhelper.cpp @@ -60,6 +60,7 @@ BehaviourDictionary::BehaviourDictionary() addEntry(new ForceProcessor("unsit")); // AddRem + addEntry(new BehaviourProcessor("unsit")); // Populate mString2InfoMap (the tuple should be unique) for (const BehaviourInfo* bhvr_info_p : mBhvrInfoList) -- cgit v1.2.3 From 2ed42e44bd6bc78b93c0a38abc2c073a10263c9b Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 30 Jun 2025 19:34:07 +0800 Subject: Minimal @sit= command implementation --- indra/newview/llagent.cpp | 6 +++--- indra/newview/llagent.h | 3 +++ indra/newview/llviewermenu.cpp | 2 +- indra/newview/rlvhandler.cpp | 7 +++++++ indra/newview/rlvhelper.cpp | 1 + 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index b8b5ba2264..3a4e29afc1 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -387,6 +387,7 @@ LLAgent::LLAgent() : mbTeleportKeepsLookAt(false), mAllowedToStand(true), + mAllowedToSit(true), mAgentAccess(new LLAgentAccess(gSavedSettings)), mGodLevelChangeSignal(), @@ -971,8 +972,7 @@ bool LLAgent::isSitting() void LLAgent::standUp() { - if (mAllowedToStand) - setControlFlags(AGENT_CONTROL_STAND_UP); + if (mAllowedToStand) setControlFlags(AGENT_CONTROL_STAND_UP); } void LLAgent::changeParcels() @@ -1346,7 +1346,7 @@ LLVector3d LLAgent::getPosGlobalFromAgent(const LLVector3 &pos_agent) const void LLAgent::sitDown() { - setControlFlags(AGENT_CONTROL_SIT_ON_GROUND); + if (mAllowedToSit) setControlFlags(AGENT_CONTROL_SIT_ON_GROUND); } diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 74d8719047..ca8aaaee86 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -448,8 +448,11 @@ public: void sitDown(); bool isAllowedToStand() const { return mAllowedToStand; } void setAllowedToStand(bool allow) { mAllowedToStand = allow; } + bool isAllowedToSit() const { return mAllowedToSit; } + void setAllowedToSit(bool allow) { mAllowedToSit = allow; } private: bool mAllowedToStand; + bool mAllowedToSit; //-------------------------------------------------------------------- // Do Not Disturb diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 63527d8594..cb2a8a54b7 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -4506,7 +4506,7 @@ void handle_object_sit(LLViewerObject* object, const LLVector3& offset) { // get object selection offset - if (object && object->getPCode() == LL_PCODE_VOLUME) + if (gAgent.isAllowedToSit() && object && object->getPCode() == LL_PCODE_VOLUME) { gMessageSystem->newMessageFast(_PREHASH_AgentRequestSit); diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 01f5d28ced..dce1471100 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -268,6 +268,13 @@ ECmdRet CommandHandlerBaseImpl::processCommand(const RlvComm return (*pHandler)(rlvCmd, toggle); } +template<> template<> +ECmdRet BehaviourToggleHandler::onCommand(const RlvCommand& rlvCmd, bool& toggle) +{ + gAgent.setAllowedToSit(toggle); + return ECmdRet::Succeeded; +} + template<> template<> ECmdRet BehaviourToggleHandler::onCommand(const RlvCommand& rlvCmd, bool& toggle) { diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp index 7c5f939d31..f26b5a115f 100644 --- a/indra/newview/rlvhelper.cpp +++ b/indra/newview/rlvhelper.cpp @@ -60,6 +60,7 @@ BehaviourDictionary::BehaviourDictionary() addEntry(new ForceProcessor("unsit")); // AddRem + addEntry(new BehaviourProcessor("sit")); addEntry(new BehaviourProcessor("unsit")); // Populate mString2InfoMap (the tuple should be unique) -- cgit v1.2.3 From 90117b89f6eef8785a1701ed79527f8175c55752 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 30 Jun 2025 22:33:00 +0800 Subject: Minimal @getsitid= implementation --- indra/newview/llagent.cpp | 7 ++++++- indra/newview/llagent.h | 3 +++ indra/newview/llviewermessage.cpp | 2 ++ indra/newview/rlvdefines.h | 1 + indra/newview/rlvhandler.cpp | 10 ++++++++++ indra/newview/rlvhelper.cpp | 1 + 6 files changed, 23 insertions(+), 1 deletion(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 3a4e29afc1..f7b48d25f2 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -388,6 +388,7 @@ LLAgent::LLAgent() : mAllowedToStand(true), mAllowedToSit(true), + mSitObjectID(LLUUID::null), mAgentAccess(new LLAgentAccess(gSavedSettings)), mGodLevelChangeSignal(), @@ -972,7 +973,11 @@ bool LLAgent::isSitting() void LLAgent::standUp() { - if (mAllowedToStand) setControlFlags(AGENT_CONTROL_STAND_UP); + if (mAllowedToStand) + { + setControlFlags(AGENT_CONTROL_STAND_UP); + mSitObjectID = LLUUID::null; + } } void LLAgent::changeParcels() diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index ca8aaaee86..b475782946 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -450,9 +450,12 @@ public: void setAllowedToStand(bool allow) { mAllowedToStand = allow; } bool isAllowedToSit() const { return mAllowedToSit; } void setAllowedToSit(bool allow) { mAllowedToSit = allow; } + const LLUUID& getSitObjectID() const { return mSitObjectID; } + void setSitObjectID(const LLUUID& objectID) { mSitObjectID = objectID; } private: bool mAllowedToStand; bool mAllowedToSit; + LLUUID mSitObjectID; //-------------------------------------------------------------------- // Do Not Disturb diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index b35be7d385..47d7d42bf7 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -4212,6 +4212,8 @@ void process_avatar_sit_response(LLMessageSystem *mesgsys, void **user_data) { LL_WARNS("Messaging") << "Received sit approval for unknown object " << sitObjectID << LL_ENDL; } + + gAgent.setSitObjectID(sitObjectID); } void process_clear_follow_cam_properties(LLMessageSystem *mesgsys, void **user_data) diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index 50e0c95f7b..132aae9b2c 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -93,6 +93,7 @@ namespace Rlv Version = 0, VersionNew, VersionNum, + GetSitID, Sit, SitGround, Unsit, diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index dce1471100..cdde43debf 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -227,6 +227,16 @@ ECmdRet ReplyHandler::onCommand(const RlvCommand& rlvCmd return ECmdRet::Succeeded; } +template<> template<> +ECmdRet ReplyHandler::onCommand(const RlvCommand& rlvCmd, std::string& strReply) +{ + if (gAgent.isSitting()) + gAgent.getSitObjectID().toString(strReply); + else + strReply = "00000000-0000-0000-0000-000000000000"; + return ECmdRet::Succeeded; +} + // Force ECmdRet CommandHandlerBaseImpl::processCommand(const RlvCommand& rlvCmd, ForceHandlerFunc* pHandler) diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp index f26b5a115f..ccb4675cbb 100644 --- a/indra/newview/rlvhelper.cpp +++ b/indra/newview/rlvhelper.cpp @@ -50,6 +50,7 @@ BehaviourDictionary::BehaviourDictionary() // Reply-only // addEntry(new ReplyProcessor("getcommand")); + addEntry(new ReplyProcessor("getsitid")); addEntry(new ReplyProcessor("version")); addEntry(new ReplyProcessor("versionnew")); addEntry(new ReplyProcessor("versionnum")); -- cgit v1.2.3 From 71c8547184458fb5b2a79cec28787a6999cad4a6 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 1 Jul 2025 11:21:45 +0800 Subject: Fix commit d0e3c7a40395ea5ad7f7a9982ce4dbf464e24caa Accidentally git added a line that wasn't meant to be staged yet. --- indra/newview/rlvhandler.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index cdde43debf..122a87ec43 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -294,5 +294,4 @@ ECmdRet BehaviourToggleHandler::onCommand(const RlvCommand& r return ECmdRet::Succeeded; } -template<> template<> // ============================================================================ -- cgit v1.2.3 From 6d9bda960f179aa8ea3765c10aa3140d22c74086 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 1 Jul 2025 18:01:20 +0800 Subject: Fix media_plugin_cef failing on Linux aarch64 WARNING #Plugin# llplugin/llplugininstance.cpp(106) LLPluginInstance::load: apr_dso_load of /usr/lib64/libmedia_plugin_cef.so failed with error 20019, additional info string: /usr/lib64/libcef.so: cannot allocate memory in static TLS block https://github.com/chromiumembedded/cef/issues/3616 https://github.com/chromiumembedded/cef/issues/3803 https://magpcss.org/ceforum/viewtopic.php?t=19622 I tried adding mProcessParams.envs.add("LD_PRELOAD=/usr/lib64/libcef.so"); to indra/llplugin/llpluginprocessparent.cpp, it didn't get rid of the error, but running `LD_PRELOAD=/usr/lib64/libcef.so megapahit` OR `LD_PRELOAD=/usr/lib64/libmedia_plugin_cef.so megapahit` does. It still doesn't load web pages, however, even though there are process plugin activities. --- indra/newview/llappviewerlinux.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llappviewerlinux.cpp b/indra/newview/llappviewerlinux.cpp index c1e8f38c51..9135921acc 100644 --- a/indra/newview/llappviewerlinux.cpp +++ b/indra/newview/llappviewerlinux.cpp @@ -126,7 +126,7 @@ int main( int argc, char **argv ) // install unexpected exception handler gOldTerminateHandler = std::set_terminate(exceptionTerminateHandler); - unsetenv( "LD_PRELOAD" ); // Get rid of any preloading, we do not want this to happen during startup of plugins. + //unsetenv( "LD_PRELOAD" ); // Get rid of any preloading, we do not want this to happen during startup of plugins. bool ok = viewer_app_ptr->init(); if(!ok) -- cgit v1.2.3 From dcb1bf8b508c4fb8303e2a1b4c4f64c58f3e0580 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 1 Jul 2025 19:15:29 +0800 Subject: Make Windows SDL-ready (in case we need to) --- indra/llwindow/llwindow.cpp | 26 +++++++++++++------------- indra/llwindow/llwindowsdl.h | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp index 4f3cc69c75..bff559591f 100644 --- a/indra/llwindow/llwindow.cpp +++ b/indra/llwindow/llwindow.cpp @@ -74,12 +74,12 @@ S32 OSMessageBox(const std::string& text, const std::string& caption, U32 type) LL_WARNS() << "OSMessageBox: " << text << LL_ENDL; #if LL_MESA_HEADLESS // !!! *FIX: (?) return OSBTN_OK; +#elif LL_SDL + result = OSMessageBoxSDL(text, caption, type); #elif LL_WINDOWS result = OSMessageBoxWin32(text, caption, type); -#elif LL_DARWIN && !LL_SDL +#elif LL_DARWIN result = OSMessageBoxMacOSX(text, caption, type); -#elif LL_SDL - result = OSMessageBoxSDL(text, caption, type); #else #error("OSMessageBox not implemented for this platform!") #endif @@ -259,12 +259,12 @@ bool LLWindow::copyTextToPrimary(const LLWString &src) // static std::vector LLWindow::getDynamicFallbackFontList() { -#if LL_WINDOWS +#if LL_SDL + return LLWindowSDL::getDynamicFallbackFontList(); +#elif LL_WINDOWS return LLWindowWin32::getDynamicFallbackFontList(); -#elif LL_DARWIN && !LL_SDL +#elif LL_DARWIN return LLWindowMacOSX::getDynamicFallbackFontList(); -#elif LL_SDL - return LLWindowSDL::getDynamicFallbackFontList(); #else return std::vector(); #endif @@ -273,12 +273,12 @@ std::vector LLWindow::getDynamicFallbackFontList() // static std::vector LLWindow::getDisplaysResolutionList() { -#if LL_WINDOWS +#if LL_SDL + return std::vector(); +#elif LL_WINDOWS return LLWindowWin32::getDisplaysResolutionList(); -#elif LL_DARWIN && !LL_SDL +#elif LL_DARWIN return LLWindowMacOSX::getDisplaysResolutionList(); -#else - return std::vector(); #endif } @@ -346,7 +346,7 @@ LLSplashScreen *LLSplashScreen::create() return 0; #elif LL_WINDOWS return new LLSplashScreenWin32; -#elif LL_DARWIN && !LL_SDL +#elif LL_DARWIN return new LLSplashScreenMacOSX; #else #error("LLSplashScreen not implemented on this platform!") @@ -359,7 +359,7 @@ void LLSplashScreen::show() { if (!gSplashScreenp) { -#if LL_WINDOWS && !LL_MESA_HEADLESS +#if LL_WINDOWS && !LL_MESA_HEADLESS && !LL_SDL gSplashScreenp = new LLSplashScreenWin32; #elif LL_DARWIN && !LL_SDL gSplashScreenp = new LLSplashScreenMacOSX; diff --git a/indra/llwindow/llwindowsdl.h b/indra/llwindow/llwindowsdl.h index 144216f658..076d7234bc 100644 --- a/indra/llwindow/llwindowsdl.h +++ b/indra/llwindow/llwindowsdl.h @@ -32,7 +32,7 @@ #include "llwindow.h" #include "lltimer.h" -#if !defined(__i386__) && !defined(__x86_64__) +#if !defined(__i386__) && !defined(__x86_64__) && !_M_X64 #define SDL_DISABLE_IMMINTRIN_H #endif #include "SDL2/SDL.h" -- cgit v1.2.3 From 16d3d725998f1189083c429a1cbb2cc3fb15b7da Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 2 Jul 2025 15:12:00 +0800 Subject: Preload CEF automatically on Linux aarch64" This reverts commit 6d9bda960f179aa8ea3765c10aa3140d22c74086, and add the aarch64 condition for preloading. We can't use gDirUtilp->getLLPluginDir() yet in llappviewerlinux because it's not instantiated yet in that phase. --- indra/newview/CMakeLists.txt | 4 ++++ indra/newview/llappviewerlinux.cpp | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 0ded363901..7c79f658a0 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -46,6 +46,9 @@ include(VisualLeakDetector) #include(VulkanGltf) include(ZLIBNG) include(LLPrimitive) +if (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) + include(UnixInstall) +endif () if (ENABLE_MEDIA_PLUGINS) include(LibVLCPlugin) @@ -1498,6 +1501,7 @@ if (NOT (DARWIN OR WINDOWS)) llappviewerlinux.cpp PROPERTIES COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}" + COMPILE_FLAGS "-DAPP_PLUGIN_DIR=\\\"${INSTALL_LIBRARY_DIR}\\\"" ) #LIST(APPEND viewer_SOURCE_FILES llappviewerlinux_api_dbus.cpp) if (NOT CMAKE_CXX_COMPILER_ID MATCHES AppleClang) diff --git a/indra/newview/llappviewerlinux.cpp b/indra/newview/llappviewerlinux.cpp index 9135921acc..376eeca9fd 100644 --- a/indra/newview/llappviewerlinux.cpp +++ b/indra/newview/llappviewerlinux.cpp @@ -126,7 +126,11 @@ int main( int argc, char **argv ) // install unexpected exception handler gOldTerminateHandler = std::set_terminate(exceptionTerminateHandler); - //unsetenv( "LD_PRELOAD" ); // Get rid of any preloading, we do not want this to happen during startup of plugins. +#ifdef __aarch64__ + setenv("LD_PRELOAD", APP_PLUGIN_DIR"/libcef.so", 1); +#else + unsetenv( "LD_PRELOAD" ); // Get rid of any preloading, we do not want this to happen during startup of plugins. +#endif bool ok = viewer_app_ptr->init(); if(!ok) -- cgit v1.2.3 From a89991feac78b87d784dde742a17e67772856d18 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 3 Jul 2025 09:32:32 +0800 Subject: Fix SL contributors credit on Linux broken by Win in commit b54464a34c3f441d40977e872df53825c7df4959 --- indra/newview/CMakeLists.txt | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 7c79f658a0..66806dccea 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1765,7 +1765,29 @@ if (PACKAGE) set(VIEWER_PACKAGE_DOMAIN_NAME ${DOMAIN_NAME}.net) endif () -if (CMAKE_COMMAND MATCHES /usr/bin/cmake OR WINDOWS) +if (CMAKE_COMMAND MATCHES /usr/bin/cmake) + 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 + ) +elseif (WINDOWS) add_custom_command( TARGET ${VIEWER_BINARY_NAME} POST_BUILD COMMAND sed -- cgit v1.2.3 From 40de4208328bcac51782302e7028ec2dd057224e Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 3 Jul 2025 10:31:01 +0800 Subject: Partial @detach= command implementation Only greying out the detach option on the contextual menu popped up by right clicking the attachment in the 3D view/world, and not yet preventing detachment from the inventory/wearing panels. --- indra/newview/llviewermenu.cpp | 1 + indra/newview/llviewerobject.cpp | 1 + indra/newview/llviewerobject.h | 4 ++++ indra/newview/rlvdefines.h | 1 + indra/newview/rlvhandler.cpp | 8 ++++++++ indra/newview/rlvhelper.cpp | 1 + 6 files changed, 16 insertions(+) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index cb2a8a54b7..c3bb8ef4c4 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -7700,6 +7700,7 @@ bool enable_detach(const LLSD&) // Only enable detach if all faces of object are selected if (!object || !object->isAttachment() || + object->isLocked() || !LLSelectMgr::getInstance()->getSelection()->contains(object,SELECT_ALL_TES )) { return false; diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 8d90187e91..d64c0aa0d5 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -310,6 +310,7 @@ LLViewerObject::LLViewerObject(const LLUUID &id, const LLPCode pcode, LLViewerRe mAttachmentItemID(LLUUID::null), mLastUpdateType(OUT_UNKNOWN), mLastUpdateCached(false), + mLocked(false), mCachedMuteListUpdateTime(0), mCachedOwnerInMuteList(false), mRiggedAttachedWarned(false) diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h index 2b52ea2076..972f8cf846 100644 --- a/indra/newview/llviewerobject.h +++ b/indra/newview/llviewerobject.h @@ -974,10 +974,14 @@ public: LLJointRiggingInfoTab mJointRiggingInfoTab; + bool isLocked() const { return mLocked; } + void setLocked(bool locked) { mLocked = locked; } + private: LLUUID mAttachmentItemID; // ItemID of the associated object is in user inventory. EObjectUpdateType mLastUpdateType; bool mLastUpdateCached; + bool mLocked; public: // reflection probe state diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index 132aae9b2c..c6ba135f3e 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -97,6 +97,7 @@ namespace Rlv Sit, SitGround, Unsit, + Detach, GetCommand, Count, diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 122a87ec43..67739ec72f 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -32,6 +32,7 @@ #include "llviewercontrol.h" #include "llviewermenu.h" #include "llviewerobject.h" +#include "llviewerobjectlist.h" #include "rlvcommon.h" #include "rlvhandler.h" @@ -294,4 +295,11 @@ ECmdRet BehaviourToggleHandler::onCommand(const RlvCommand& r return ECmdRet::Succeeded; } +template<> template<> +ECmdRet BehaviourToggleHandler::onCommand(const RlvCommand& rlvCmd, bool& toggle) +{ + gObjectList.findObject(rlvCmd.getObjectID())->setLocked(!toggle); + return ECmdRet::Succeeded; +} + // ============================================================================ diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp index ccb4675cbb..b4abbc04f3 100644 --- a/indra/newview/rlvhelper.cpp +++ b/indra/newview/rlvhelper.cpp @@ -63,6 +63,7 @@ BehaviourDictionary::BehaviourDictionary() // AddRem addEntry(new BehaviourProcessor("sit")); addEntry(new BehaviourProcessor("unsit")); + addEntry(new BehaviourProcessor("detach")); // Populate mString2InfoMap (the tuple should be unique) for (const BehaviourInfo* bhvr_info_p : mBhvrInfoList) -- cgit v1.2.3 From 9820b16404ba18a9a0103aa94c28ea452e0c99e6 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 3 Jul 2025 13:22:53 +0800 Subject: getCursorDelta isn't implemented if using SDL on Win --- indra/llwindow/llwindow.h | 2 +- indra/llwindow/llwindowheadless.h | 2 +- indra/newview/llviewerwindow.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h index 5e06e665f3..37e681c41b 100644 --- a/indra/llwindow/llwindow.h +++ b/indra/llwindow/llwindow.h @@ -92,7 +92,7 @@ public: virtual bool setCursorPosition(LLCoordWindow position) = 0; virtual bool getCursorPosition(LLCoordWindow *position) = 0; -#if LL_WINDOWS +#if LL_WINDOWS && !LL_SDL virtual bool getCursorDelta(LLCoordCommon* delta) = 0; #endif virtual void showCursor() = 0; diff --git a/indra/llwindow/llwindowheadless.h b/indra/llwindow/llwindowheadless.h index 5696b69a59..acec401133 100644 --- a/indra/llwindow/llwindowheadless.h +++ b/indra/llwindow/llwindowheadless.h @@ -60,7 +60,7 @@ public: /*virtual*/ void toggleVSync(bool enable_vsync) override { } /*virtual*/ bool setCursorPosition(LLCoordWindow position) override {return false;} /*virtual*/ bool getCursorPosition(LLCoordWindow *position) override {return false;} -#if LL_WINDOWS +#if LL_WINDOWS && !LL_SDL /*virtual*/ bool getCursorDelta(LLCoordCommon* delta) override { return false; } #endif /*virtual*/ void showCursor() override {} diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 5c84346917..2b02d5165f 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -3848,7 +3848,7 @@ void LLViewerWindow::updateLayout() void LLViewerWindow::updateMouseDelta() { -#if LL_WINDOWS +#if LL_WINDOWS && !LL_SDL LLCoordCommon delta; mWindow->getCursorDelta(&delta); S32 dx = delta.mX; -- cgit v1.2.3 From d6eb08d0740c30eed00bd600091d60128a6d079a Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 29 Jul 2023 12:58:51 +0800 Subject: Anticipate curl 8 from not being able to download This is cherry-picked from an old commit which was reverted before, but modified so that it only affects the platform that has to use system libcurl 8 (only Windows ARM64 so far). System libcurl, which is typically newer, doesn't accept when SL server responses with an invalid Content-Encoding value (usually some value that's probably meant to be put as the Content-Type value), that we'd get "unrecognized or bad HTTP Content or Transfer-Encoding" https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding A way to fix this would be to just not expect decompressed contents, by letting libcurl have the default value for CURLOPT_ACCEPT_ENCODING, which is NULL. --- indra/llcorehttp/_httpoprequest.cpp | 4 ++++ indra/llcorehttp/httpcommon.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/indra/llcorehttp/_httpoprequest.cpp b/indra/llcorehttp/_httpoprequest.cpp index 6186e7a308..56c0a97635 100644 --- a/indra/llcorehttp/_httpoprequest.cpp +++ b/indra/llcorehttp/_httpoprequest.cpp @@ -513,7 +513,9 @@ HttpStatus HttpOpRequest::prepareRequest(HttpService * service) check_curl_easy_setopt(mCurlHandle, CURLOPT_NOPROGRESS, 1); check_curl_easy_setopt(mCurlHandle, CURLOPT_URL, mReqURL.c_str()); check_curl_easy_setopt(mCurlHandle, CURLOPT_PRIVATE, getHandle()); +#if LIBCURL_VERSION_MAJOR < 8 check_curl_easy_setopt(mCurlHandle, CURLOPT_ENCODING, ""); +#endif check_curl_easy_setopt(mCurlHandle, CURLOPT_AUTOREFERER, 1); check_curl_easy_setopt(mCurlHandle, CURLOPT_MAXREDIRS, HTTP_REDIRECTS_DEFAULT); @@ -603,7 +605,9 @@ HttpStatus HttpOpRequest::prepareRequest(HttpService * service) case HOR_POST: { check_curl_easy_setopt(mCurlHandle, CURLOPT_POST, 1); +#if LIBCURL_VERSION_MAJOR < 8 check_curl_easy_setopt(mCurlHandle, CURLOPT_ENCODING, ""); +#endif long data_size(0); if (mReqBody) { diff --git a/indra/llcorehttp/httpcommon.cpp b/indra/llcorehttp/httpcommon.cpp index 315ff15ebb..2b09653d8e 100644 --- a/indra/llcorehttp/httpcommon.cpp +++ b/indra/llcorehttp/httpcommon.cpp @@ -289,8 +289,10 @@ CURL *getCurlTemplateHandle() check_curl_code(result, CURLOPT_NOSIGNAL); result = curl_easy_setopt(curlpTemplateHandle, CURLOPT_NOPROGRESS, 1); check_curl_code(result, CURLOPT_NOPROGRESS); +#if LIBCURL_VERSION_MAJOR < 8 result = curl_easy_setopt(curlpTemplateHandle, CURLOPT_ENCODING, ""); check_curl_code(result, CURLOPT_ENCODING); +#endif result = curl_easy_setopt(curlpTemplateHandle, CURLOPT_AUTOREFERER, 1); check_curl_code(result, CURLOPT_AUTOREFERER); result = curl_easy_setopt(curlpTemplateHandle, CURLOPT_FOLLOWLOCATION, 1); -- cgit v1.2.3 From d2936affe3cf357e1402eca1d9a871a432893266 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 3 Jul 2025 15:22:59 +0800 Subject: No setDPIAwareness or gIconResource if using SDL for now, and if we do have to use SDL for Windows ARM64. --- indra/newview/llappviewerwin32.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp index 3e51a900ce..67a44cfb27 100644 --- a/indra/newview/llappviewerwin32.cpp +++ b/indra/newview/llappviewerwin32.cpp @@ -31,7 +31,9 @@ #endif #include "llwin32headers.h" +#if !LL_SDL #include "llwindowwin32.h" // *FIX: for setting gIconResource. +#endif #include "llappviewerwin32.h" @@ -423,7 +425,9 @@ int APIENTRY WINMAIN(HINSTANCE hInstance, DWORD heap_enable_lfh_error[MAX_HEAPS]; S32 num_heaps = 0; +#if !LL_SDL LLWindowWin32::setDPIAwareness(); +#endif #if WINDOWS_CRT_MEM_CHECKS && !INCLUDE_VLD _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); // dump memory leaks on exit @@ -452,8 +456,10 @@ int APIENTRY WINMAIN(HINSTANCE hInstance, #endif #endif +#if !LL_SDL // *FIX: global gIconResource = MAKEINTRESOURCE(IDI_LL_ICON); +#endif LLAppViewerWin32* viewer_app_ptr = new LLAppViewerWin32(ll_convert_wide_to_string(pCmdLine).c_str()); -- cgit v1.2.3 From 2283c5c35103dd99b35ca43a09bf8e11e6cd7957 Mon Sep 17 00:00:00 2001 From: mobserveur Date: Thu, 3 Jul 2025 14:33:59 +0200 Subject: New Avatar Cloud design This commit changes the look of the avatar cloud --- indra/newview/llvoavatar.cpp | 2 +- .../newview/skins/contrast/textures/cloud-particle.j2c | Bin 4049 -> 0 bytes .../newview/skins/contrast/textures/cloud-particle.png | Bin 0 -> 42378 bytes indra/newview/skins/contrast/textures/textures.xml | 2 +- indra/newview/skins/default/textures/cloud-particle.j2c | Bin 4049 -> 0 bytes indra/newview/skins/default/textures/cloud-particle.png | Bin 0 -> 42378 bytes indra/newview/skins/default/textures/textures.xml | 2 +- 7 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 indra/newview/skins/contrast/textures/cloud-particle.j2c create mode 100644 indra/newview/skins/contrast/textures/cloud-particle.png delete mode 100644 indra/newview/skins/default/textures/cloud-particle.j2c create mode 100644 indra/newview/skins/default/textures/cloud-particle.png diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index a6d50af025..7ea70a781b 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -1191,7 +1191,7 @@ void LLVOAvatar::initClass() LLControlAvatar::sRegionChangedSlot = gAgent.addRegionChangedCallback(&LLControlAvatar::onRegionChanged); - sCloudTexture = LLViewerTextureManager::getFetchedTextureFromFile("cloud-particle.j2c"); + sCloudTexture = LLViewerTextureManager::getFetchedTextureFromFile("cloud-particle.png"); } diff --git a/indra/newview/skins/contrast/textures/cloud-particle.j2c b/indra/newview/skins/contrast/textures/cloud-particle.j2c deleted file mode 100644 index 6c03bf6d05..0000000000 Binary files a/indra/newview/skins/contrast/textures/cloud-particle.j2c and /dev/null differ diff --git a/indra/newview/skins/contrast/textures/cloud-particle.png b/indra/newview/skins/contrast/textures/cloud-particle.png new file mode 100644 index 0000000000..f2080ddb9f Binary files /dev/null and b/indra/newview/skins/contrast/textures/cloud-particle.png differ diff --git a/indra/newview/skins/contrast/textures/textures.xml b/indra/newview/skins/contrast/textures/textures.xml index f824816183..1fe1ff333a 100644 --- a/indra/newview/skins/contrast/textures/textures.xml +++ b/indra/newview/skins/contrast/textures/textures.xml @@ -796,7 +796,7 @@ with the same filename but different name - + diff --git a/indra/newview/skins/default/textures/cloud-particle.j2c b/indra/newview/skins/default/textures/cloud-particle.j2c deleted file mode 100644 index 6c03bf6d05..0000000000 Binary files a/indra/newview/skins/default/textures/cloud-particle.j2c and /dev/null differ diff --git a/indra/newview/skins/default/textures/cloud-particle.png b/indra/newview/skins/default/textures/cloud-particle.png new file mode 100644 index 0000000000..f2080ddb9f Binary files /dev/null and b/indra/newview/skins/default/textures/cloud-particle.png differ diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index f824816183..1fe1ff333a 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -796,7 +796,7 @@ with the same filename but different name - + -- cgit v1.2.3 From cb1289694cf9d25f47d6fb4fdd0d440a1411ac90 Mon Sep 17 00:00:00 2001 From: Secret Foxtail Date: Fri, 4 Jul 2025 07:02:02 -0600 Subject: Fix tumbleweed build instructions add cmake and patch to tumbleweed build instructions --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d755121aa1..02d4a33fec 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,7 @@ $ open newview/Megapahit.app ### openSUSE Tumbleweed ``` -$ sudo zypper install gcc-c++ patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0 libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libpng16-devel libxml++-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel +$ sudo zypper install cmake gcc-c++ patch patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0 libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libpng16-devel libxml++-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `~/Downloads`) -- cgit v1.2.3 From 42231f37b438c2ee685a58ed7d0689369721e70f Mon Sep 17 00:00:00 2001 From: Secret Foxtail Date: Fri, 4 Jul 2025 07:04:13 -0600 Subject: Add rpm-build to tumbleweed instructions too almost forgot! --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 02d4a33fec..e32fda0b45 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,7 @@ $ open newview/Megapahit.app ### openSUSE Tumbleweed ``` -$ sudo zypper install cmake gcc-c++ patch patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0 libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libpng16-devel libxml++-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel +$ sudo zypper install cmake gcc-c++ patch patchelf apr-util-devel boost-devel libboost_program_options-devel libboost_url1_88_0 libboost_url1_88_0-devel libboost_context-devel libboost_fiber-devel libboost_filesystem-devel libboost_regex-devel libboost_system-devel libboost_thread-devel libpng16-devel libxml++-devel libexpat-devel fltk-devel glu-devel hunspell-devel minizip-devel nanosvg-devel libnghttp2-devel openjpeg2-devel pipewire-devel libpulse-devel libSDL2_gfx-1_0-0 libSDL2_gfx-devel sdl2-compat-devel vlc-devel libvorbis-devel xxhash-devel zlib-ng-devel libXrender-devel libXcursor-devel libXfixes-devel libXext-devel libXft-devel libXinerama-devel freetype2-devel fontconfig-devel libjpeg8-devel libjpeg8-devel freealut-devel rpm-build $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" ``` build with FMOD Studio: ([register with fmod to get linux package][fmod] and then place the `.tar.gz` in `~/Downloads`) -- cgit v1.2.3 From 360df5406e70cdae305701451b3805d31697a004 Mon Sep 17 00:00:00 2001 From: Secret Foxtail Date: Fri, 4 Jul 2025 11:11:06 -0600 Subject: /skins/default adjustment Make some widgets less opaque for more consistency --- .../default/textures/widgets/ComboButton_Off.png | Bin 583 -> 5629 bytes .../default/textures/widgets/ComboButton_UpOff.png | Bin 553 -> 5555 bytes .../textures/widgets/SegmentedBtn_Left_Disabled.png | Bin 513 -> 4673 bytes .../textures/widgets/SegmentedBtn_Left_Off.png | Bin 521 -> 4680 bytes .../textures/widgets/SegmentedBtn_Left_Over.png | Bin 527 -> 4619 bytes .../textures/widgets/SegmentedBtn_Left_Press.png | Bin 576 -> 4786 bytes .../textures/widgets/SegmentedBtn_Left_Selected.png | Bin 576 -> 4786 bytes .../widgets/SegmentedBtn_Left_Selected_Disabled.png | Bin 4940 -> 4850 bytes .../widgets/SegmentedBtn_Left_Selected_Over.png | Bin 4778 -> 4388 bytes .../widgets/SegmentedBtn_Left_Selected_Press.png | Bin 5427 -> 5438 bytes .../textures/widgets/SegmentedBtn_Middle_Disabled.png | Bin 454 -> 4542 bytes .../textures/widgets/SegmentedBtn_Middle_Selected.png | Bin 524 -> 4574 bytes .../widgets/SegmentedBtn_Middle_Selected_Disabled.png | Bin 4678 -> 4601 bytes .../widgets/SegmentedBtn_Middle_Selected_Press.png | Bin 5313 -> 5348 bytes .../textures/widgets/SegmentedBtn_Right_Disabled.png | Bin 525 -> 4922 bytes .../textures/widgets/SegmentedBtn_Right_Off.png | Bin 531 -> 4921 bytes .../widgets/SegmentedBtn_Right_On_Selected.png | Bin 5687 -> 5725 bytes .../textures/widgets/SegmentedBtn_Right_Over.png | Bin 539 -> 4844 bytes .../textures/widgets/SegmentedBtn_Right_Press.png | Bin 585 -> 4926 bytes .../textures/widgets/SegmentedBtn_Right_Selected.png | Bin 585 -> 4926 bytes .../widgets/SegmentedBtn_Right_Selected_Disabled.png | Bin 5159 -> 5112 bytes .../widgets/SegmentedBtn_Right_Selected_Press.png | Bin 5687 -> 5725 bytes 22 files changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_Off.png b/indra/newview/skins/default/textures/widgets/ComboButton_Off.png index 4f573cf6fa..8c315a9d25 100644 Binary files a/indra/newview/skins/default/textures/widgets/ComboButton_Off.png and b/indra/newview/skins/default/textures/widgets/ComboButton_Off.png differ diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_UpOff.png b/indra/newview/skins/default/textures/widgets/ComboButton_UpOff.png index 5a067aca7c..34edea9421 100644 Binary files a/indra/newview/skins/default/textures/widgets/ComboButton_UpOff.png and b/indra/newview/skins/default/textures/widgets/ComboButton_UpOff.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Disabled.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Disabled.png index ba63751690..ef50fb5d51 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Disabled.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Disabled.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Off.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Off.png index 1a9f7e9d71..191dbf08fc 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Off.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Off.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Over.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Over.png index e4fcf491ba..d5882bce85 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Over.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Over.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Press.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Press.png index dbe6651dc8..ddaab1cfcd 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Press.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Press.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected.png index dbe6651dc8..c8634b1294 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png index b78f2bc62e..465ce8d7da 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Over.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Over.png index f2abcb3ce0..9ff1e05a52 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Over.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Over.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Press.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Press.png index 9a14e7c69d..4775dab43b 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Press.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Press.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Disabled.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Disabled.png index d9f05d33ec..65d082b993 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Disabled.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Disabled.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected.png index d2342f6538..12f55c599e 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png index 7b612ade9c..6a023156c5 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Press.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Press.png index eb08fed30e..457644e69a 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Press.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Press.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Disabled.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Disabled.png index ecd2144d6d..ccea8fc784 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Disabled.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Disabled.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Off.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Off.png index 1901d5e843..f90ede3b71 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Off.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Off.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_On_Selected.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_On_Selected.png index ffcb2772e0..524d3b6bfd 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_On_Selected.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_On_Selected.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Over.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Over.png index 534c30cddc..cadcec085a 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Over.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Over.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Press.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Press.png index a97612ce2f..889d06a690 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Press.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Press.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected.png index a97612ce2f..aa3906d236 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png index d8f02b3730..255fd1c415 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png differ diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Press.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Press.png index 3d93e5e73b..a69d0b525f 100644 Binary files a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Press.png and b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Press.png differ -- cgit v1.2.3 From dba8e9044e589e25665c7bb32adef811903dec86 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 7 Jul 2025 11:47:25 +0800 Subject: Revert "Adjust viewer name for when logging the skin used" This reverts commit ced2d634a76561d231e2c5854721c643ac071916. Turns out the original string is depended on by in-world creations, specifically HUDs, to determine whether the media is viewed from within SL or not. Thank you Jenni Windrider for pointing this out. --- indra/newview/llviewermedia.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 569924298f..ce8ce791b9 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -397,7 +397,7 @@ std::string LLViewerMedia::getCurrentUserAgent() // This was also helpful: // http://www.mozilla.org/build/revised-user-agent-strings.html std::ostringstream codec; - codec << "Megapahit/"; + codec << "SecondLife/"; codec << LLVersionInfo::instance().getVersion(); codec << " (" << channel << "; " << skin_name << " skin)"; LL_INFOS() << codec.str() << LL_ENDL; -- cgit v1.2.3 From 2c3bebeec7c7490b5f2f22ee542ba99aeebfcb19 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 7 Jul 2025 22:32:30 +0800 Subject: Get the viewer installable on Debian arm64 The Debian version supported is 13 (trixie), because that's the version I could install on my M1, hence the Boost default version is 1.83 & we can use system's OpenJPEG 2.5.3. Somehow CMake's FindOpenGL wasn't effective, but we can get around this by setting the GL libraries paths when running cmake. Debian aarch64 suffers from the same problem Fedora aarch64 had when compiling libcurl, and it's assumed that it's Linux aarch64 thing. When trying to build ColladaDOM when building the viewer, it couldn't find Boost somehow, so building ColladaDOM is done in configuration stage instead. Upstream Variables.cmake is full of assumptions regarding architecture, and ARCH is used in many places already for Debian/Ubuntu, so we have to make sure ARCH is set with the correct value at the root level. Pipewire on trixie is also too new, so it's cancelled here. Some dependencies have the t64 suffixes on them, just like the currently supported Ubuntu (because I guess 24.04 *is*, based on trixie). The executable still crashes when launched on my M1, however, but we'll commit the progress so far for now. --- README.md | 14 +++++++++++++- indra/cmake/CURL.cmake | 2 +- indra/cmake/LLPrimitive.cmake | 2 +- indra/cmake/OpenJPEG.cmake | 4 ++-- indra/cmake/Variables.cmake | 1 + indra/cmake/WebRTC.cmake | 2 +- indra/llprimitive/CMakeLists.txt | 4 ++-- indra/media_plugins/cef/CMakeLists.txt | 4 ++-- indra/newview/CMakeLists.txt | 14 +++++++++++--- 9 files changed, 34 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index e32fda0b45..d174a1d828 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,19 @@ $ sudo pacman -U megapahit-`cat newview/viewer_version.txt|sed 's/\(.*\)\./\1-/' $ megapahit ``` -### Debian +### Debian aarch64 + +``` +$ sudo apt install cmake pkg-config libxml2-utils libalut-dev libaprutil1-dev libboost-fiber-dev libboost-json-dev libboost-program-options-dev libboost-regex-dev libboost-url-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnghttp2-dev libopenjp2-7-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev +$ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DOPENGL_glu_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libGLU.so -DOPENGL_glx_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libGLX.so -DOPENGL_opengl_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libOpenGL.so ../indra +$ make -j`nproc` +$ cpack -G DEB +$ sudo apt install ./megapahit-`cat newview/viewer_version.txt`-Linux.deb +$ megapahit +``` + +### Debian x86-64 ``` $ sudo apt install cmake pkg-config libxml2-utils libalut-dev libaprutil1-dev libboost-fiber1.81-dev libboost-json1.81-dev libboost-program-options1.81-dev libboost-regex1.81-dev libboost-url1.81-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnghttp2-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev diff --git a/indra/cmake/CURL.cmake b/indra/cmake/CURL.cmake index 211c3ae9a0..f8048ab324 100644 --- a/indra/cmake/CURL.cmake +++ b/indra/cmake/CURL.cmake @@ -37,7 +37,7 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA INPUT ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1.tar.gz DESTINATION ${CMAKE_BINARY_DIR} ) - if (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64 AND (${LINUX_DISTRO} MATCHES fedora)) + if (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) execute_process( COMMAND sed -i netrc.c -e "s/defined(HAVE_GETPWUID_R)/0/g" netrc.c WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/lib diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index e6adea477f..b092f064c2 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 AND NOT (${LINUX_DISTRO} MATCHES debian AND CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) OR CMAKE_SYSTEM_NAME MATCHES FreeBSD) # Build of the collada-dom for Linux and FreeBSD is done in # indra/llprimitive/CMakeLists.txt return() diff --git a/indra/cmake/OpenJPEG.cmake b/indra/cmake/OpenJPEG.cmake index 5729f6a10e..94dcde0d5c 100644 --- a/indra/cmake/OpenJPEG.cmake +++ b/indra/cmake/OpenJPEG.cmake @@ -19,7 +19,7 @@ if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKIN DESTINATION ${CMAKE_BINARY_DIR} ) - if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) + if (${LINUX_DISTRO} MATCHES debian AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR (${LINUX_DISTRO} MATCHES ubuntu)) try_compile(OPENJPEG_RESULT PROJECT OPENJPEG SOURCE_DIR ${CMAKE_BINARY_DIR}/openjpeg-2.5.3 @@ -61,7 +61,7 @@ if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKIN file(WRITE ${PREBUILD_TRACKING_DIR}/openjpeg_installed "${openjpeg_installed}") endif () -if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) +if (${LINUX_DISTRO} MATCHES debian AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR (${LINUX_DISTRO} MATCHES ubuntu)) target_link_libraries(ll::openjpeg INTERFACE openjp2 ) else () include(FindPkgConfig) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index c287f135fe..0720bbf53b 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -118,6 +118,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") else (ADDRESS_SIZE EQUAL 32) set(DEB_ARCHITECTURE amd64) set(FIND_LIBRARY_USE_LIB64_PATHS ON) + set(ARCH ${CMAKE_SYSTEM_PROCESSOR}) endif (ADDRESS_SIZE EQUAL 32) execute_process(COMMAND dpkg-architecture -a${DEB_ARCHITECTURE} -qDEB_HOST_MULTIARCH diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 5a750fe7f3..a7f43be13e 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -6,7 +6,7 @@ include_guard() 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) +if (${LINUX_DISTRO} MATCHES debian AND CMAKE_SYSTEM_PROCESSOR MATCHES x86-64 OR CMAKE_OSX_ARCHITECTURES MATCHES x86_64 OR WINDOWS) use_prebuilt_binary(webrtc) elseif (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64))) target_compile_definitions(ll::webrtc INTERFACE CM_WEBRTC=1) diff --git a/indra/llprimitive/CMakeLists.txt b/indra/llprimitive/CMakeLists.txt index 00d821c470..627f3513dc 100644 --- a/indra/llprimitive/CMakeLists.txt +++ b/indra/llprimitive/CMakeLists.txt @@ -11,7 +11,7 @@ include(LLPrimitive) include(GLM) include(TinyGLTF) -if(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD ) +if (LINUX AND NOT (${LINUX_DISTRO} MATCHES debian AND CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) OR CMAKE_SYSTEM_NAME MATCHES FreeBSD) set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${CMAKE_SOURCE_DIR}/../patches/collada-dom-v2.3-r8.patch) prepare_thirdparty( @@ -30,7 +30,7 @@ if(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD ) ${colladadom_SOURCE_DIR}/include/1.4 ) target_link_libraries( ll::colladadom INTERFACE collada14dom ) -endif(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD ) +endif () set(llprimitive_SOURCE_FILES lldaeloader.cpp diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index 97b82ba050..304d387eea 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -49,7 +49,7 @@ if (LINUX) linux/volume_catcher_pipewire.cpp ) - if (NOT (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu))) + if (NOT (${LINUX_DISTRO} MATCHES debian AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR (${LINUX_DISTRO} MATCHES ubuntu))) message( "Building with Linux volume catcher for PulseAudio only and cancelling PipeWire" ) list(REMOVE_ITEM LINUX_VOLUME_CATCHER linux/volume_catcher_pipewire.cpp) endif () @@ -76,7 +76,7 @@ add_library(media_plugin_cef ${media_plugin_cef_SOURCE_FILES} ) -if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) +if (${LINUX_DISTRO} MATCHES debian AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR (${LINUX_DISTRO} MATCHES ubuntu)) target_compile_definitions(media_plugin_cef PRIVATE USE_VOLUME_CATCHER_PW=1) endif () diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 66806dccea..5e9a59a0e5 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2280,8 +2280,11 @@ if (LINUX) ) elseif (${LINUX_DISTRO} MATCHES debian OR ${LINUX_DISTRO} MATCHES ubuntu) set(CPACK_BINARY_DEB ON CACHE BOOL "Able to package Debian DEB.") - set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE amd64 - CACHE STRING "Debian package architecture.") + if (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) + set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE arm64 CACHE STRING "Debian package architecture.") + elseif (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) + set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE amd64 CACHE STRING "Debian package architecture.") + endif () set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${VIEWER_PACKAGE_COMMENT} CACHE STRING "Debian package description.") set(CPACK_DEBIAN_PACKAGE_MAINTAINER $ENV{USER}@${VIEWER_PACKAGE_DOMAIN_NAME} @@ -2289,8 +2292,13 @@ if (LINUX) set(CPACK_DEBIAN_PACKAGE_SECTION net CACHE STRING "Debian package section.") if (${LINUX_DISTRO} MATCHES debian) - set(CPACK_DEBIAN_PACKAGE_DEPENDS "libalut0, libaprutil1, libboost-fiber1.81.0, libboost-filesystem1.81.0, libboost-program-options1.81.0, libboost-regex1.81.0, libboost-thread1.81.0, libboost-url1.81.0, libexpat1, libfltk1.3, libgles-dev, libglu1-mesa, libhunspell-1.7-0, libmeshoptimizer2d, libminizip1, libnghttp2-14, libsdl2-2.0-0, libvlc5, libvorbisenc2, libvorbisfile3, vlc-plugin-base" + if (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) + set(CPACK_DEBIAN_PACKAGE_DEPENDS "libalut0, libaprutil1t64, libboost-fiber1.83.0, libboost-filesystem1.83.0, libboost-program-options1.83.0, libboost-regex1.83.0, libboost-thread1.83.0, libboost-url1.83.0, libexpat1, libfltk1.3t64, libgles-dev, libglu1-mesa, libhunspell-1.7-0, libmeshoptimizer2d, libminizip1t64, libnghttp2-14, libopenjp2-7, libsdl2-2.0-0, libvlc5, libvorbisenc2, libvorbisfile3, vlc-plugin-base" + CACHE STRING "Debian package dependencies.") + else () + set(CPACK_DEBIAN_PACKAGE_DEPENDS "libalut0, libaprutil1, libboost-fiber1.81.0, libboost-filesystem1.81.0, libboost-program-options1.81.0, libboost-regex1.81.0, libboost-thread1.81.0, libboost-url1.81.0, libexpat1, libfltk1.3, libgles-dev, libglu1-mesa, libhunspell-1.7-0, libmeshoptimizer2d, libminizip1, libnghttp2-14, libsdl2-2.0-0, libvlc5, libvorbisenc2, libvorbisfile3, vlc-plugin-base" CACHE STRING "Debian package dependencies.") + endif () else () set(CPACK_DEBIAN_PACKAGE_DEPENDS "libaprutil1t64, libboost-fiber1.83.0, libboost-filesystem1.83.0, libboost-program-options1.83.0, libboost-regex1.83.0, libboost-thread1.83.0, libboost-url1.83.0, libexpat1, libfltk1.3t64, libgles-dev, libglu1-mesa, libhunspell-1.7-0, libmeshoptimizer2d, libminizip1, libnghttp2-14, libsdl2-2.0-0, libvlc5, libvorbisenc2, libvorbisfile3, vlc-plugin-base" CACHE STRING "Debian package dependencies.") -- cgit v1.2.3 From 145e76276190b295a3a2416182964542aa6baf1b Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 8 Jul 2025 06:57:42 +0800 Subject: Change Debian arch labels, sort & NDOF off on arm64 --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index d174a1d828..d2a6fa9a64 100644 --- a/README.md +++ b/README.md @@ -37,24 +37,24 @@ $ sudo pacman -U megapahit-`cat newview/viewer_version.txt|sed 's/\(.*\)\./\1-/' $ megapahit ``` -### Debian aarch64 +### Debian amd64 ``` -$ sudo apt install cmake pkg-config libxml2-utils libalut-dev libaprutil1-dev libboost-fiber-dev libboost-json-dev libboost-program-options-dev libboost-regex-dev libboost-url-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnghttp2-dev libopenjp2-7-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev +$ sudo apt install cmake pkg-config libxml2-utils libalut-dev libaprutil1-dev libboost-fiber1.81-dev libboost-json1.81-dev libboost-program-options1.81-dev libboost-regex1.81-dev libboost-url1.81-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnghttp2-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DOPENGL_glu_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libGLU.so -DOPENGL_glx_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libGLX.so -DOPENGL_opengl_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libOpenGL.so ../indra +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra $ make -j`nproc` $ cpack -G DEB $ sudo apt install ./megapahit-`cat newview/viewer_version.txt`-Linux.deb $ megapahit ``` -### Debian x86-64 +### Debian arm64 ``` -$ sudo apt install cmake pkg-config libxml2-utils libalut-dev libaprutil1-dev libboost-fiber1.81-dev libboost-json1.81-dev libboost-program-options1.81-dev libboost-regex1.81-dev libboost-url1.81-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnghttp2-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev +$ sudo apt install cmake pkg-config libxml2-utils libalut-dev libaprutil1-dev libboost-fiber-dev libboost-json-dev libboost-program-options-dev libboost-regex-dev libboost-url-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnghttp2-dev libopenjp2-7-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DOPENGL_glu_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libGLU.so -DOPENGL_glx_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libGLX.so -DOPENGL_opengl_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libOpenGL.so ../indra $ make -j`nproc` $ cpack -G DEB $ sudo apt install ./megapahit-`cat newview/viewer_version.txt`-Linux.deb -- cgit v1.2.3 From a8dfeed4632aad0233ff08d1efd950b620fd1be7 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 8 Jul 2025 10:29:03 +0800 Subject: LL_WEBRTC for marking WebRTC supporting platforms so we don't have to keep adding unsupporting ones to the preprocessors in llvoiceclient. Note that CM_WEBRTC is complementary to LL_WEBRTC, which means its purpose is not to be XOR-ed. Any WebRTC supporting (either using LL's or CM's build) will have LL_WEBRTC set to ON, but *only* ones that use CM builds will have CM_WEBRTC set to ON *too*. --- indra/llwebrtc/CMakeLists.txt | 1 + indra/newview/llvoiceclient.cpp | 82 ++++++++++++++++++++--------------------- 2 files changed, 42 insertions(+), 41 deletions(-) diff --git a/indra/llwebrtc/CMakeLists.txt b/indra/llwebrtc/CMakeLists.txt index a64a3e4dac..e6493e044d 100644 --- a/indra/llwebrtc/CMakeLists.txt +++ b/indra/llwebrtc/CMakeLists.txt @@ -28,6 +28,7 @@ list(APPEND llwebrtc_SOURCE_FILES ${llwebrtc_HEADER_FILES}) add_library (llwebrtc SHARED ${llwebrtc_SOURCE_FILES}) +target_compile_definitions(ll::webrtc INTERFACE LL_WEBRTC=1) #set_target_properties(llwebrtc PROPERTIES PUBLIC_HEADER llwebrtc.h) if (WINDOWS) diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index 9b1f54437e..b42e0b375a 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -26,7 +26,7 @@ #include "llvoiceclient.h" #include "llvoicevivox.h" -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC #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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC LLWebRTCVoiceClient::getInstance()->setHidden(hidden); #endif LLVivoxVoiceClient::getInstance()->setHidden(hidden); @@ -337,7 +337,7 @@ void LLVoiceClient::updateSettings() updateMicMuteLogic(); -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC LLWebRTCVoiceClient::getInstance()->updateSettings(); #endif LLVivoxVoiceClient::getInstance()->updateSettings(); @@ -348,7 +348,7 @@ void LLVoiceClient::updateSettings() void LLVoiceClient::tuningStart() { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC LLWebRTCVoiceClient::getInstance()->tuningStart(); #endif LLVivoxVoiceClient::getInstance()->tuningStart(); @@ -356,7 +356,7 @@ void LLVoiceClient::tuningStart() void LLVoiceClient::tuningStop() { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC LLWebRTCVoiceClient::getInstance()->tuningStop(); #endif LLVivoxVoiceClient::getInstance()->tuningStop(); @@ -364,7 +364,7 @@ void LLVoiceClient::tuningStop() bool LLVoiceClient::inTuningMode() { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC return LLWebRTCVoiceClient::getInstance()->inTuningMode(); #else return LLVivoxVoiceClient::getInstance()->inTuningMode(); @@ -373,7 +373,7 @@ bool LLVoiceClient::inTuningMode() void LLVoiceClient::tuningSetMicVolume(float volume) { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC LLWebRTCVoiceClient::getInstance()->tuningSetSpeakerVolume(volume); #else LLVivoxVoiceClient::getInstance()->tuningSetSpeakerVolume(volume); @@ -391,7 +391,7 @@ void LLVoiceClient::tuningSetSpeakerVolume(float volume) float LLVoiceClient::tuningGetEnergy(void) { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC return LLWebRTCVoiceClient::getInstance()->tuningGetEnergy(); #else return LLVivoxVoiceClient::getInstance()->tuningGetEnergy(); @@ -403,7 +403,7 @@ float LLVoiceClient::tuningGetEnergy(void) bool LLVoiceClient::deviceSettingsAvailable() { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC return LLWebRTCVoiceClient::getInstance()->deviceSettingsAvailable(); #else return LLVivoxVoiceClient::getInstance()->deviceSettingsAvailable(); @@ -412,7 +412,7 @@ bool LLVoiceClient::deviceSettingsAvailable() bool LLVoiceClient::deviceSettingsUpdated() { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC return LLWebRTCVoiceClient::getInstance()->deviceSettingsUpdated(); #else return LLVivoxVoiceClient::getInstance()->deviceSettingsUpdated(); @@ -421,7 +421,7 @@ bool LLVoiceClient::deviceSettingsUpdated() void LLVoiceClient::refreshDeviceLists(bool clearCurrentList) { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC LLWebRTCVoiceClient::getInstance()->setRenderDevice(name); #endif } const LLVoiceDeviceList& LLVoiceClient::getCaptureDevices() { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC return LLWebRTCVoiceClient::getInstance()->getCaptureDevices(); #else return LLVivoxVoiceClient::getInstance()->getCaptureDevices(); @@ -456,7 +456,7 @@ const LLVoiceDeviceList& LLVoiceClient::getCaptureDevices() const LLVoiceDeviceList& LLVoiceClient::getRenderDevices() { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC return LLWebRTCVoiceClient::getInstance()->getRenderDevices(); #else return LLVivoxVoiceClient::getInstance()->getRenderDevices(); @@ -469,7 +469,7 @@ const LLVoiceDeviceList& LLVoiceClient::getRenderDevices() void LLVoiceClient::getParticipantList(std::set &participants) const { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC LLWebRTCVoiceClient::getInstance()->getParticipantList(participants); #endif LLVivoxVoiceClient::getInstance()->getParticipantList(participants); @@ -477,7 +477,7 @@ void LLVoiceClient::getParticipantList(std::set &participants) const bool LLVoiceClient::isParticipant(const LLUUID &speaker_id) const { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC return LLWebRTCVoiceClient::getInstance()->compareChannels(channelInfo1, channelInfo2) || #else return @@ -630,7 +630,7 @@ LLVoiceP2POutgoingCallInterface *LLVoiceClient::getOutgoingCallInterface(const L void LLVoiceClient::setVoiceVolume(F32 volume) { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC LLWebRTCVoiceClient::getInstance()->setMicGain(gain); #endif LLVivoxVoiceClient::getInstance()->setMicGain(gain); @@ -687,7 +687,7 @@ bool LLVoiceClient::voiceEnabled() void LLVoiceClient::setVoiceEnabled(bool enabled) { -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC LLWebRTCVoiceClient::getInstance()->addObserver(observer); #endif } @@ -917,7 +917,7 @@ void LLVoiceClient::removeObserver(LLVoiceClientStatusObserver* observer) { LLVivoxVoiceClient::getInstance()->removeObserver(observer); } -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC LLWebRTCVoiceClient::getInstance()->addObserver(observer); #endif } @@ -939,7 +939,7 @@ void LLVoiceClient::removeObserver(LLFriendObserver* observer) { LLVivoxVoiceClient::getInstance()->removeObserver(observer); } -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC 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__ && !_M_ARM64 +#if LL_WEBRTC LLWebRTCVoiceClient::getInstance()->addObserver(observer); #endif } @@ -961,7 +961,7 @@ void LLVoiceClient::removeObserver(LLVoiceClientParticipantObserver* observer) { LLVivoxVoiceClient::getInstance()->removeObserver(observer); } -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC if (LLWebRTCVoiceClient::instanceExists()) { LLWebRTCVoiceClient::getInstance()->removeObserver(observer); @@ -1029,7 +1029,7 @@ class LLViewerRequiredVoiceVersion : public LLHTTPNode { voiceModule = (LLVoiceModuleInterface *) LLVivoxVoiceClient::getInstance(); } -#if !__FreeBSD__ && !_M_ARM64 +#if LL_WEBRTC else if (voice_server_type == "webrtc") { voiceModule = (LLVoiceModuleInterface *) LLWebRTCVoiceClient::getInstance(); -- cgit v1.2.3 From e5a7ba4f8f807626e9602d7b231893e2d1ab92d7 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 8 Jul 2025 12:16:14 +0800 Subject: NDOF support for non x86-64 Linux --- README.md | 2 +- indra/cmake/NDOF.cmake | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d2a6fa9a64..6a490e841e 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ $ megapahit ``` $ sudo apt install cmake pkg-config libxml2-utils libalut-dev libaprutil1-dev libboost-fiber-dev libboost-json-dev libboost-program-options-dev libboost-regex-dev libboost-url-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnghttp2-dev libopenjp2-7-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DOPENGL_glu_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libGLU.so -DOPENGL_glx_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libGLX.so -DOPENGL_opengl_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libOpenGL.so ../indra +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DOPENGL_glu_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libGLU.so -DOPENGL_glx_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libGLX.so -DOPENGL_opengl_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libOpenGL.so ../indra $ make -j`nproc` $ cpack -G DEB $ sudo apt install ./megapahit-`cat newview/viewer_version.txt`-Linux.deb diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake index d6e5e53ac9..4d8ca9fce5 100644 --- a/indra/cmake/NDOF.cmake +++ b/indra/cmake/NDOF.cmake @@ -43,7 +43,34 @@ if (NDOF) endif () endif () elseif (LINUX) + if (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) use_prebuilt_binary(open-libndofdev) + else () + file(DOWNLOAD + https://github.com/janoc/libndofdev/archive/refs/tags/v0.14.tar.gz + ${CMAKE_BINARY_DIR}/libndofdev-0.14.tar.gz + ) + file(ARCHIVE_EXTRACT + INPUT ${CMAKE_BINARY_DIR}/libndofdev-0.14.tar.gz + DESTINATION ${CMAKE_BINARY_DIR} + ) + set(ENV{USE_SDL2} 1) + execute_process( + COMMAND make -j${MAKE_JOBS} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libndofdev-0.14 + RESULT_VARIABLE libndofdev_installed + ) + unset(ENV{USE_SDL2}) + file( + COPY ${CMAKE_BINARY_DIR}/libndofdev-0.14/ndofdev_external.h + DESTINATION ${LIBS_PREBUILT_DIR}/include + ) + file( + COPY ${CMAKE_BINARY_DIR}/libndofdev-0.14/libndofdev.a + DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} + ) + file(WRITE ${PREBUILD_TRACKING_DIR}/libndofdev_installed "${libndofdev_installed}") + endif () endif (WINDOWS OR DARWIN) if (WINDOWS) -- cgit v1.2.3 From bd6c39192b0f29be1fbbbbbc257cd0351e505afb Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 8 Jul 2025 15:21:43 +0800 Subject: Preventing detachment from the inventory panels Part of the @detach= command implementation. --- indra/newview/llappearancemgr.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index e9d455ae53..ee7af8692f 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -4160,6 +4160,7 @@ void LLAppearanceMgr::removeItemsFromAvatar(const uuid_vec_t& ids_to_remove, nul for (uuid_vec_t::const_iterator it = ids_to_remove.begin(); it != ids_to_remove.end(); ++it) { const LLUUID& id_to_remove = *it; + if (gAgentAvatarp->getWornAttachment(id_to_remove)->isLocked()) return; const LLUUID& linked_item_id = gInventory.getLinkedItemID(id_to_remove); LLViewerInventoryItem *item = gInventory.getItem(linked_item_id); if (item && item->getType() == LLAssetType::AT_OBJECT) -- cgit v1.2.3 From f7b958e88e8cc3e867cbb6abf6f169df5e993261 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 8 Jul 2025 17:06:44 +0800 Subject: Turn NDOF back on for Windows x64 and don't rebuild NDOF on non x86-64 Linux when it's already installed. --- README.md | 2 +- indra/cmake/NDOF.cmake | 59 ++++++++++++++++++++++++++------------------------ 2 files changed, 32 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 6a490e841e..e49e445824 100644 --- a/README.md +++ b/README.md @@ -189,7 +189,7 @@ $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 / $ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-i386/bin:$VCPKG_ROOT/downloads/tools/msys2/2db36fb050d01f45/usr/bin:$VCPKG_ROOT/installed/x64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" $ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/x64-windows/lib/pkgconfig" $ export PYTHON="$VCPKG_ROOT/installed/x64-windows/tools/python3/python.exe" -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra $ MSBuild.exe Megapahit.sln -p:Configuration=Release $ cpack -G NSIS $ start Megapahit-`cat newview/viewer_version.txt`-win64.exe diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake index 4d8ca9fce5..9f33c6e220 100644 --- a/indra/cmake/NDOF.cmake +++ b/indra/cmake/NDOF.cmake @@ -7,9 +7,10 @@ include_guard() add_library( ll::ndof INTERFACE IMPORTED ) if (NDOF) - if (WINDOWS OR DARWIN) - #use_prebuilt_binary(libndofdev) - if (DARWIN AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/libndofdev_installed OR NOT ${libndofdev_installed} EQUAL 0)) + if (WINDOWS) + use_prebuilt_binary(libndofdev) + elseif (DARWIN) + if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/libndofdev_installed OR NOT ${libndofdev_installed} EQUAL 0) file(DOWNLOAD https://github.com/secondlife/3p-libndofdev/archive/refs/tags/v0.1.8e9edc7.tar.gz ${CMAKE_BINARY_DIR}/3p-libndofdev-0.1.8e9edc7.tar.gz @@ -46,32 +47,34 @@ if (NDOF) if (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) use_prebuilt_binary(open-libndofdev) else () - file(DOWNLOAD - https://github.com/janoc/libndofdev/archive/refs/tags/v0.14.tar.gz - ${CMAKE_BINARY_DIR}/libndofdev-0.14.tar.gz - ) - file(ARCHIVE_EXTRACT - INPUT ${CMAKE_BINARY_DIR}/libndofdev-0.14.tar.gz - DESTINATION ${CMAKE_BINARY_DIR} - ) - set(ENV{USE_SDL2} 1) - execute_process( - COMMAND make -j${MAKE_JOBS} - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libndofdev-0.14 - RESULT_VARIABLE libndofdev_installed - ) - unset(ENV{USE_SDL2}) - file( - COPY ${CMAKE_BINARY_DIR}/libndofdev-0.14/ndofdev_external.h - DESTINATION ${LIBS_PREBUILT_DIR}/include - ) - file( - COPY ${CMAKE_BINARY_DIR}/libndofdev-0.14/libndofdev.a - DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} - ) - file(WRITE ${PREBUILD_TRACKING_DIR}/libndofdev_installed "${libndofdev_installed}") + if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/libndofdev_installed OR NOT ${libndofdev_installed} EQUAL 0) + file(DOWNLOAD + https://github.com/janoc/libndofdev/archive/refs/tags/v0.14.tar.gz + ${CMAKE_BINARY_DIR}/libndofdev-0.14.tar.gz + ) + file(ARCHIVE_EXTRACT + INPUT ${CMAKE_BINARY_DIR}/libndofdev-0.14.tar.gz + DESTINATION ${CMAKE_BINARY_DIR} + ) + set(ENV{USE_SDL2} 1) + execute_process( + COMMAND make -j${MAKE_JOBS} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libndofdev-0.14 + RESULT_VARIABLE libndofdev_installed + ) + unset(ENV{USE_SDL2}) + file( + COPY ${CMAKE_BINARY_DIR}/libndofdev-0.14/ndofdev_external.h + DESTINATION ${LIBS_PREBUILT_DIR}/include + ) + file( + COPY ${CMAKE_BINARY_DIR}/libndofdev-0.14/libndofdev.a + DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} + ) + file(WRITE ${PREBUILD_TRACKING_DIR}/libndofdev_installed "${libndofdev_installed}") + endif () endif () - endif (WINDOWS OR DARWIN) + endif () if (WINDOWS) target_link_libraries( ll::ndof INTERFACE libndofdev) -- cgit v1.2.3 From 84b8f4355322984a451967eaeb0bb1258b9ff2a6 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 8 Jul 2025 17:54:38 +0800 Subject: Windows can use vcpkg nanosvg --- README.md | 4 ++-- indra/cmake/ViewerMiscLibs.cmake | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e49e445824..5cc362c228 100644 --- a/README.md +++ b/README.md @@ -170,7 +170,7 @@ $ megapahit ### Windows arm64 ``` -$ vcpkg install pkgconf python3 freealut apr-util boost curl freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg sse2neon libvorbis libxml2[tools] xxhash +$ vcpkg install pkgconf python3 freealut apr-util boost curl freetype glm hunspell libjpeg-turbo meshoptimizer minizip nanosvg nghttp2 openjpeg sse2neon libvorbis libxml2[tools] xxhash $ vcpkg install --allow-unsupported boost-fiber $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602 /Zc:preprocessor" $ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-arm64/bin:$VCPKG_ROOT/downloads/tools/msys2/2db36fb050d01f45/usr/bin:$VCPKG_ROOT/installed/arm64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" @@ -184,7 +184,7 @@ $ start Megapahit-`cat newview/viewer_version.txt`-win64.exe ### Windows x64 ``` -$ vcpkg install pkgconf python3 freealut apr-util boost freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg libvorbis libxml2[tools] xxhash +$ vcpkg install pkgconf python3 freealut apr-util boost freetype glm hunspell libjpeg-turbo meshoptimizer minizip nanosvg nghttp2 openjpeg libvorbis libxml2[tools] xxhash $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602" $ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-i386/bin:$VCPKG_ROOT/downloads/tools/msys2/2db36fb050d01f45/usr/bin:$VCPKG_ROOT/installed/x64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" $ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/x64-windows/lib/pkgconfig" diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index 4ab69e30aa..7a7a986d78 100644 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake @@ -16,7 +16,7 @@ endif() use_prebuilt_binary(slvoice) endif (FALSE) -if (${LINUX_DISTRO} MATCHES debian OR DARWIN OR WINDOWS) +if (${LINUX_DISTRO} MATCHES debian OR DARWIN) use_prebuilt_binary(nanosvg) endif () use_prebuilt_binary(viewer-fonts) -- cgit v1.2.3 From a874360de2261be937d21bc01d706c141067df93 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 8 Jul 2025 18:01:02 +0800 Subject: Debian arm64 can use system nanosvg cause it's available now on trixie. --- README.md | 2 +- indra/cmake/ViewerMiscLibs.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5cc362c228..118c59d8d8 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ $ megapahit ### Debian arm64 ``` -$ sudo apt install cmake pkg-config libxml2-utils libalut-dev libaprutil1-dev libboost-fiber-dev libboost-json-dev libboost-program-options-dev libboost-regex-dev libboost-url-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnghttp2-dev libopenjp2-7-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev +$ sudo apt install cmake pkg-config libxml2-utils libalut-dev libaprutil1-dev libboost-fiber-dev libboost-json-dev libboost-program-options-dev libboost-regex-dev libboost-url-dev libexpat1-dev libfltk1.3-dev libfontconfig-dev libfreetype-dev libglu1-mesa-dev libhunspell-dev libjpeg-dev libmeshoptimizer-dev libminizip-dev libnanosvg-dev libnghttp2-dev libopenjp2-7-dev libpipewire-0.3-dev libpng-dev libsdl2-dev libvlc-dev libvlccore-dev libvorbis-dev libxft-dev libxml2-dev libxxhash-dev $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DOPENGL_glu_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libGLU.so -DOPENGL_glx_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libGLX.so -DOPENGL_opengl_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libOpenGL.so ../indra $ make -j`nproc` diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index 7a7a986d78..af13746c91 100644 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake @@ -16,7 +16,7 @@ endif() use_prebuilt_binary(slvoice) endif (FALSE) -if (${LINUX_DISTRO} MATCHES debian OR DARWIN) +if (${LINUX_DISTRO} MATCHES debian AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN) use_prebuilt_binary(nanosvg) endif () use_prebuilt_binary(viewer-fonts) -- cgit v1.2.3 From 2df2f6fcae489b7e5ad90033acf2f7ee82868722 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 8 Jul 2025 20:04:12 +0800 Subject: Correct commit bd6c39192b0f29be1fbbbbbc257cd0351e505afb --- indra/newview/llappearancemgr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index ee7af8692f..504582f2d7 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -4160,7 +4160,7 @@ void LLAppearanceMgr::removeItemsFromAvatar(const uuid_vec_t& ids_to_remove, nul for (uuid_vec_t::const_iterator it = ids_to_remove.begin(); it != ids_to_remove.end(); ++it) { const LLUUID& id_to_remove = *it; - if (gAgentAvatarp->getWornAttachment(id_to_remove)->isLocked()) return; + if (gAgentAvatarp->getWornAttachment(id_to_remove)->isLocked()) continue; const LLUUID& linked_item_id = gInventory.getLinkedItemID(id_to_remove); LLViewerInventoryItem *item = gInventory.getItem(linked_item_id); if (item && item->getType() == LLAssetType::AT_OBJECT) -- cgit v1.2.3 From b20f37043e6b6d65d91dfd3cb1dcc809a00a6227 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 8 Jul 2025 21:48:17 +0800 Subject: Detachment by replacing outfit can be prevented Part of the @detach= command implementation. --- indra/newview/llagentwearables.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index cd4222dddf..5211884bc2 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1304,7 +1304,7 @@ void LLAgentWearables::findAttachmentsAddRemoveInfo(LLInventoryModel::item_array LLUUID object_item_id = objectp->getAttachmentItemID(); bool remove_attachment = true; - if (requested_item_ids.find(object_item_id) != requested_item_ids.end()) + if (requested_item_ids.find(object_item_id) != requested_item_ids.end() || objectp->isLocked()) { // Object currently worn, was requested to keep it // Flag as currently worn so we won't have to add it again. remove_attachment = false; -- cgit v1.2.3 From 1d5e25e4e09f81de233a45dea3d3d5d427fa2877 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 9 Jul 2025 09:02:15 +0800 Subject: vcpkg's pkg-config.exe path has been updated and it turns it's installed automatically for building some of our dependencies, and *not* by the "pkgconf" package. --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 118c59d8d8..00fa009620 100644 --- a/README.md +++ b/README.md @@ -170,10 +170,10 @@ $ megapahit ### Windows arm64 ``` -$ vcpkg install pkgconf python3 freealut apr-util boost curl freetype glm hunspell libjpeg-turbo meshoptimizer minizip nanosvg nghttp2 openjpeg sse2neon libvorbis libxml2[tools] xxhash +$ vcpkg install python3 freealut apr-util boost curl freetype glm hunspell libjpeg-turbo meshoptimizer minizip nanosvg nghttp2 openjpeg sse2neon libvorbis libxml2[tools] xxhash $ vcpkg install --allow-unsupported boost-fiber $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602 /Zc:preprocessor" -$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-arm64/bin:$VCPKG_ROOT/downloads/tools/msys2/2db36fb050d01f45/usr/bin:$VCPKG_ROOT/installed/arm64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" +$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-arm64/bin:$VCPKG_ROOT/downloads/tools/msys2/8392cd453c24d30d/usr/bin:$VCPKG_ROOT/installed/arm64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" $ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/arm64-windows/lib/pkgconfig" $ export PYTHON="$VCPKG_ROOT/installed/arm64-windows/tools/python3/python.exe" $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=OFF -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra @@ -184,9 +184,9 @@ $ start Megapahit-`cat newview/viewer_version.txt`-win64.exe ### Windows x64 ``` -$ vcpkg install pkgconf python3 freealut apr-util boost freetype glm hunspell libjpeg-turbo meshoptimizer minizip nanosvg nghttp2 openjpeg libvorbis libxml2[tools] xxhash +$ vcpkg install python3 freealut apr-util boost freetype glm hunspell libjpeg-turbo meshoptimizer minizip nanosvg nghttp2 openjpeg libvorbis libxml2[tools] xxhash $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602" -$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-i386/bin:$VCPKG_ROOT/downloads/tools/msys2/2db36fb050d01f45/usr/bin:$VCPKG_ROOT/installed/x64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" +$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-i386/bin:$VCPKG_ROOT/downloads/tools/msys2/8392cd453c24d30d/usr/bin:$VCPKG_ROOT/installed/x64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" $ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/x64-windows/lib/pkgconfig" $ export PYTHON="$VCPKG_ROOT/installed/x64-windows/tools/python3/python.exe" $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra -- cgit v1.2.3 From cd60b3e339c28d0cd86ca8a3bde5b2382a4b79b4 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 9 Jul 2025 09:43:42 +0800 Subject: No env settings needed for vcpkg pkgconf.exe Turns out the one used is installed/-windows/tools/pkgconf/pkgconf.exe which is installed by some package... No special PKG_CONFIG_LIBDIR/PATH needed either. --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 00fa009620..9f35db08bb 100644 --- a/README.md +++ b/README.md @@ -173,8 +173,7 @@ $ megapahit $ vcpkg install python3 freealut apr-util boost curl freetype glm hunspell libjpeg-turbo meshoptimizer minizip nanosvg nghttp2 openjpeg sse2neon libvorbis libxml2[tools] xxhash $ vcpkg install --allow-unsupported boost-fiber $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602 /Zc:preprocessor" -$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-arm64/bin:$VCPKG_ROOT/downloads/tools/msys2/8392cd453c24d30d/usr/bin:$VCPKG_ROOT/installed/arm64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" -$ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/arm64-windows/lib/pkgconfig" +$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-arm64/bin:$VCPKG_ROOT/installed/arm64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" $ export PYTHON="$VCPKG_ROOT/installed/arm64-windows/tools/python3/python.exe" $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=OFF -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra $ MSBuild.exe Megapahit.sln -p:Configuration=Release @@ -186,8 +185,7 @@ $ start Megapahit-`cat newview/viewer_version.txt`-win64.exe ``` $ vcpkg install python3 freealut apr-util boost freetype glm hunspell libjpeg-turbo meshoptimizer minizip nanosvg nghttp2 openjpeg libvorbis libxml2[tools] xxhash $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602" -$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-i386/bin:$VCPKG_ROOT/downloads/tools/msys2/8392cd453c24d30d/usr/bin:$VCPKG_ROOT/installed/x64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" -$ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/x64-windows/lib/pkgconfig" +$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-i386/bin:$VCPKG_ROOT/installed/x64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" $ export PYTHON="$VCPKG_ROOT/installed/x64-windows/tools/python3/python.exe" $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra $ MSBuild.exe Megapahit.sln -p:Configuration=Release -- cgit v1.2.3 From 651df17f2c76b60b52c56a7cc35787a8ea87b246 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 9 Jul 2025 22:11:47 +0800 Subject: Partial @getinv= command implementation Returns an empty string if #RLV folder doesn't contain any folder. Listing sub-folders (folders under any folder under #RLV, listed on the options) isn't implemented yet in this commit. --- indra/newview/rlvdefines.h | 1 + indra/newview/rlvhandler.cpp | 25 +++++++++++++++++++++++++ indra/newview/rlvhelper.cpp | 1 + 3 files changed, 27 insertions(+) diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index c6ba135f3e..5161e9241c 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -98,6 +98,7 @@ namespace Rlv SitGround, Unsit, Detach, + GetInv, GetCommand, Count, diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 67739ec72f..57275af54a 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -28,6 +28,8 @@ #include "llviewerprecompiledheaders.h" #include "llagent.h" #include "llstartup.h" +#include "llappearancemgr.h" +#include "llinventorymodel.h" #include "llmoveview.h" #include "llviewercontrol.h" #include "llviewermenu.h" @@ -238,6 +240,29 @@ ECmdRet ReplyHandler::onCommand(const RlvCommand& rlvCmd, return ECmdRet::Succeeded; } +template<> template<> +ECmdRet ReplyHandler::onCommand(const RlvCommand& rlvCmd, std::string& strReply) +{ + LLInventoryModel::cat_array_t* cats; + LLInventoryModel::item_array_t* items; + auto rlvFolderID = findDescendentCategoryIDByName(gInventory.getRootFolderID(), "#RLV"); + if (rlvFolderID == LLUUID::null) + return ECmdRet::FailedNoSharedRoot; + strReply = ""; + gInventory.getDirectDescendentsOf(rlvFolderID, cats, items); + auto iter = cats->begin(); + for(; cats->end() != iter; ++iter) + { + auto name = (*iter)->getName(); + if (name.front() == '.') + continue; + if (iter != cats->begin()) + strReply.append(","); + strReply.append(name); + } + return ECmdRet::Succeeded; +} + // Force ECmdRet CommandHandlerBaseImpl::processCommand(const RlvCommand& rlvCmd, ForceHandlerFunc* pHandler) diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp index b4abbc04f3..9f71d81206 100644 --- a/indra/newview/rlvhelper.cpp +++ b/indra/newview/rlvhelper.cpp @@ -51,6 +51,7 @@ BehaviourDictionary::BehaviourDictionary() // addEntry(new ReplyProcessor("getcommand")); addEntry(new ReplyProcessor("getsitid")); + addEntry(new ReplyProcessor("getinv")); addEntry(new ReplyProcessor("version")); addEntry(new ReplyProcessor("versionnew")); addEntry(new ReplyProcessor("versionnum")); -- cgit v1.2.3 From a9b5563065fa4768072bbe2ffc023cc73675d701 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 10 Jul 2025 15:03:55 +0800 Subject: Fix crash from trying to detach alpha --- indra/newview/llappearancemgr.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 504582f2d7..242d407219 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -4160,7 +4160,8 @@ void LLAppearanceMgr::removeItemsFromAvatar(const uuid_vec_t& ids_to_remove, nul for (uuid_vec_t::const_iterator it = ids_to_remove.begin(); it != ids_to_remove.end(); ++it) { const LLUUID& id_to_remove = *it; - if (gAgentAvatarp->getWornAttachment(id_to_remove)->isLocked()) continue; + auto attachment = gAgentAvatarp->getWornAttachment(id_to_remove); + if (attachment && attachment->isLocked()) continue; const LLUUID& linked_item_id = gInventory.getLinkedItemID(id_to_remove); LLViewerInventoryItem *item = gInventory.getItem(linked_item_id); if (item && item->getType() == LLAssetType::AT_OBJECT) -- cgit v1.2.3 From af6a85ef15a3de2d4051a012b4f06c0df510a858 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 10 Jul 2025 18:16:05 +0800 Subject: @getinv[:folder1/...]= implementation The collar I happen to have issued @getinv:.outfits/=98745923, so I just assume ignoring folders beginning with a dot only applies to the answer, not the command. --- indra/newview/rlvhandler.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 57275af54a..413d3758e4 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -243,13 +243,26 @@ ECmdRet ReplyHandler::onCommand(const RlvCommand& rlvCmd, template<> template<> ECmdRet ReplyHandler::onCommand(const RlvCommand& rlvCmd, std::string& strReply) { - LLInventoryModel::cat_array_t* cats; - LLInventoryModel::item_array_t* items; - auto rlvFolderID = findDescendentCategoryIDByName(gInventory.getRootFolderID(), "#RLV"); - if (rlvFolderID == LLUUID::null) + auto folderID = findDescendentCategoryIDByName(gInventory.getRootFolderID(), "#RLV"); + if (folderID == LLUUID::null) return ECmdRet::FailedNoSharedRoot; strReply = ""; - gInventory.getDirectDescendentsOf(rlvFolderID, cats, items); + LLInventoryModel::cat_array_t* cats; + LLInventoryModel::item_array_t* items; + std::vector optionList; + auto option = rlvCmd.getOption(); + if (!option.empty()) + { + Util::parseStringList(option, optionList, "/"); + auto optIter = optionList.begin(); + for(; optionList.end() != optIter; ++optIter) + { + auto name = *optIter; + if (!name.empty()) + folderID = findDescendentCategoryIDByName(folderID, name); + } + } + gInventory.getDirectDescendentsOf(folderID, cats, items); auto iter = cats->begin(); for(; cats->end() != iter; ++iter) { -- cgit v1.2.3 From f4e04a3e7bac42a8cb18e9c70b67bf97ce020d8c Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 10 Jul 2025 21:48:27 +0800 Subject: @attach:=force implementation A minimal one. It would still work even when the path leading to the right name of the end folder is wrong, but since scripts would likely be trying to get path components from issuing @getinv commands beforehand instead of inserting random names, we'll perfect this implementation later. --- indra/newview/rlvdefines.h | 1 + indra/newview/rlvhandler.cpp | 27 +++++++++++++++++++++++++++ indra/newview/rlvhelper.cpp | 1 + 3 files changed, 29 insertions(+) diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index 5161e9241c..5de428d093 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -99,6 +99,7 @@ namespace Rlv Unsit, Detach, GetInv, + Attach, GetCommand, Count, diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 413d3758e4..f3306b0f21 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -304,6 +304,33 @@ ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) return ECmdRet::Succeeded; } +template<> template<> +ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) +{ + auto rlvFolderID = findDescendentCategoryIDByName(gInventory.getRootFolderID(), "#RLV"); + if (rlvFolderID == LLUUID::null) + return ECmdRet::FailedNoSharedRoot; + std::vector optionList; + auto option = rlvCmd.getOption(); + if (!option.empty()) + { + auto folderID = findDescendentCategoryIDByName(rlvFolderID, option); + if (folderID == LLUUID::null) + { + Util::parseStringList(option, optionList, "/"); + auto iter = optionList.begin(); + for(; optionList.end() != iter; ++iter) + { + auto name = *iter; + if (!name.empty()) + folderID = findDescendentCategoryIDByName(folderID, name); + } + } + LLAppearanceMgr::instance().replaceCurrentOutfit(folderID); + } + return ECmdRet::Succeeded; +} + // AddRem ECmdRet CommandHandlerBaseImpl::processCommand(const RlvCommand& rlvCmd, BhvrHandlerFunc* pHandler, BhvrToggleHandlerFunc* pToggleHandler) diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp index 9f71d81206..bba1c4c6fd 100644 --- a/indra/newview/rlvhelper.cpp +++ b/indra/newview/rlvhelper.cpp @@ -60,6 +60,7 @@ BehaviourDictionary::BehaviourDictionary() addEntry(new ForceProcessor("sit")); addEntry(new ForceProcessor("sitground")); addEntry(new ForceProcessor("unsit")); + addEntry(new ForceProcessor("attach")); // AddRem addEntry(new BehaviourProcessor("sit")); -- cgit v1.2.3 From 77e6c8c26d056f9d25d1d1c392affd7aa7c74f6f Mon Sep 17 00:00:00 2001 From: Secret Foxtail Date: Thu, 10 Jul 2025 09:09:09 -0600 Subject: Add "gold" skin Variant of default skin with gold buttons & tabs --- indra/newview/skins/default/colors.xml | 2 +- .../skins/default/textures/navbar/Info_Off.png | Bin 608 -> 2654 bytes .../skins/default/textures/navbar/Info_Over.png | Bin 622 -> 675 bytes .../skins/default/textures/navbar/Info_Press.png | Bin 605 -> 700 bytes .../default/xui/en/panel_preferences_colors.xml | 11 +- indra/newview/skins/gold/colors.xml | 1019 ++++++++++++++++++++ .../skins/gold/textures/3p_icons/fmod_logo.png | Bin 0 -> 14486 bytes .../skins/gold/textures/3p_icons/havok_logo.png | Bin 0 -> 41488 bytes indra/newview/skins/gold/textures/Blank.png | Bin 0 -> 110 bytes indra/newview/skins/gold/textures/Rounded_Rect.png | Bin 0 -> 338 bytes .../newview/skins/gold/textures/alpha_gradient.tga | Bin 0 -> 300 bytes .../skins/gold/textures/alpha_gradient_2d.j2c | Bin 0 -> 4325 bytes indra/newview/skins/gold/textures/arrow_down.tga | Bin 0 -> 1068 bytes indra/newview/skins/gold/textures/arrow_up.tga | Bin 0 -> 1068 bytes .../skins/gold/textures/avatar_thumb_bkgrnd.png | Bin 0 -> 17692 bytes indra/newview/skins/gold/textures/badge_note.j2c | Bin 0 -> 2040 bytes indra/newview/skins/gold/textures/badge_ok.j2c | Bin 0 -> 2043 bytes indra/newview/skins/gold/textures/badge_warn.j2c | Bin 0 -> 2043 bytes .../gold/textures/bottomtray/Cam_Avatar_Off.png | Bin 0 -> 527 bytes .../gold/textures/bottomtray/Cam_FreeCam_Off.png | Bin 0 -> 365 bytes .../gold/textures/bottomtray/Cam_Orbit_Off.png | Bin 0 -> 532 bytes .../skins/gold/textures/bottomtray/Cam_Pan_Off.png | Bin 0 -> 328 bytes .../textures/bottomtray/Cam_Preset_Back_Off.png | Bin 0 -> 49285 bytes .../textures/bottomtray/Cam_Preset_Back_On.png | Bin 0 -> 50855 bytes .../textures/bottomtray/Cam_Preset_Eye_Off.png | Bin 0 -> 914 bytes .../textures/bottomtray/Cam_Preset_Front_Off.png | Bin 0 -> 50394 bytes .../textures/bottomtray/Cam_Preset_Front_On.png | Bin 0 -> 50127 bytes .../textures/bottomtray/Cam_Preset_Side_Off.png | Bin 0 -> 49268 bytes .../textures/bottomtray/Cam_Preset_Side_On.png | Bin 0 -> 50209 bytes .../gold/textures/bottomtray/Cam_Rotate_Center.png | Bin 0 -> 663 bytes .../gold/textures/bottomtray/Cam_Rotate_In.png | Bin 0 -> 935 bytes .../gold/textures/bottomtray/Cam_Rotate_Out.png | Bin 0 -> 8388 bytes .../textures/bottomtray/Cam_Tracking_Center.png | Bin 0 -> 764 bytes .../gold/textures/bottomtray/Cam_Tracking_In.png | Bin 0 -> 764 bytes .../gold/textures/bottomtray/Cam_Tracking_Out.png | Bin 0 -> 5711 bytes .../gold/textures/bottomtray/ChatBarHandle.png | Bin 0 -> 260 bytes .../skins/gold/textures/bottomtray/DownArrow.png | Bin 0 -> 139 bytes .../textures/bottomtray/Mouselook_View_Off.png | Bin 0 -> 51189 bytes .../gold/textures/bottomtray/Mouselook_View_On.png | Bin 0 -> 53113 bytes .../gold/textures/bottomtray/Move_Fly_Off.png | Bin 0 -> 609 bytes .../gold/textures/bottomtray/Move_Run_Off.png | Bin 0 -> 496 bytes .../gold/textures/bottomtray/Move_Walk_Off.png | Bin 0 -> 515 bytes .../textures/bottomtray/Movement_Backward_Off.png | Bin 0 -> 354 bytes .../textures/bottomtray/Movement_Backward_On.png | Bin 0 -> 3473 bytes .../gold/textures/bottomtray/Movement_Down_Off.png | Bin 0 -> 51706 bytes .../gold/textures/bottomtray/Movement_Down_On.png | Bin 0 -> 4134 bytes .../textures/bottomtray/Movement_Forward_Off.png | Bin 0 -> 322 bytes .../textures/bottomtray/Movement_Forward_On.png | Bin 0 -> 412 bytes .../gold/textures/bottomtray/Movement_Left_Off.png | Bin 0 -> 51016 bytes .../gold/textures/bottomtray/Movement_Left_On.png | Bin 0 -> 328 bytes .../textures/bottomtray/Movement_Right_Off.png | Bin 0 -> 49845 bytes .../gold/textures/bottomtray/Movement_Right_On.png | Bin 0 -> 340 bytes .../textures/bottomtray/Movement_TurnLeft_Off.png | Bin 0 -> 431 bytes .../textures/bottomtray/Movement_TurnLeft_On.png | Bin 0 -> 570 bytes .../textures/bottomtray/Movement_TurnRight_Off.png | Bin 0 -> 432 bytes .../textures/bottomtray/Movement_TurnRight_On.png | Bin 0 -> 512 bytes .../gold/textures/bottomtray/Movement_Up_Off.png | Bin 0 -> 53763 bytes .../gold/textures/bottomtray/Movement_Up_On.png | Bin 0 -> 380 bytes .../gold/textures/bottomtray/Notices_Unread.png | Bin 0 -> 436 bytes .../gold/textures/bottomtray/Object_View_Off.png | Bin 0 -> 55000 bytes .../gold/textures/bottomtray/Object_View_On.png | Bin 0 -> 51183 bytes .../gold/textures/bottomtray/PanOrbit_Off.png | Bin 0 -> 51539 bytes .../gold/textures/bottomtray/Snapshot_Off.png | Bin 0 -> 549 bytes .../gold/textures/bottomtray/Unread_Chiclet.png | Bin 0 -> 334 bytes .../gold/textures/bottomtray/VoicePTT_Lvl1.png | Bin 0 -> 6625 bytes .../gold/textures/bottomtray/VoicePTT_Lvl2.png | Bin 0 -> 6879 bytes .../gold/textures/bottomtray/VoicePTT_Lvl3.png | Bin 0 -> 607 bytes .../gold/textures/bottomtray/VoicePTT_Off.png | Bin 0 -> 461 bytes .../skins/gold/textures/bottomtray/VoicePTT_On.png | Bin 0 -> 5521 bytes .../gold/textures/bottomtray/WellButton_Lit.png | Bin 0 -> 5762 bytes .../bottomtray/WellButton_Lit_Selected.png | Bin 0 -> 5762 bytes .../skins/gold/textures/build/Object_Cone.png | Bin 0 -> 481 bytes .../gold/textures/build/Object_Cone_Selected.png | Bin 0 -> 5269 bytes .../skins/gold/textures/build/Object_Cube.png | Bin 0 -> 370 bytes .../gold/textures/build/Object_Cube_Selected.png | Bin 0 -> 4505 bytes .../skins/gold/textures/build/Object_Cylinder.png | Bin 0 -> 373 bytes .../textures/build/Object_Cylinder_Selected.png | Bin 0 -> 4451 bytes .../skins/gold/textures/build/Object_Grass.png | Bin 0 -> 456 bytes .../gold/textures/build/Object_Grass_Selected.png | Bin 0 -> 7922 bytes .../skins/gold/textures/build/Object_Hemi_Cone.png | Bin 0 -> 441 bytes .../textures/build/Object_Hemi_Cone_Selected.png | Bin 0 -> 5001 bytes .../gold/textures/build/Object_Hemi_Cylinder.png | Bin 0 -> 378 bytes .../build/Object_Hemi_Cylinder_Selected.png | Bin 0 -> 4497 bytes .../gold/textures/build/Object_Hemi_Sphere.png | Bin 0 -> 545 bytes .../textures/build/Object_Hemi_Sphere_Selected.png | Bin 0 -> 5224 bytes .../skins/gold/textures/build/Object_Prism.png | Bin 0 -> 395 bytes .../gold/textures/build/Object_Prism_Selected.png | Bin 0 -> 4747 bytes .../skins/gold/textures/build/Object_Pyramid.png | Bin 0 -> 452 bytes .../textures/build/Object_Pyramid_Selected.png | Bin 0 -> 5137 bytes .../skins/gold/textures/build/Object_Ring.png | Bin 0 -> 615 bytes .../gold/textures/build/Object_Ring_Selected.png | Bin 0 -> 6066 bytes .../skins/gold/textures/build/Object_Sphere.png | Bin 0 -> 737 bytes .../gold/textures/build/Object_Sphere_Selected.png | Bin 0 -> 7005 bytes .../gold/textures/build/Object_Tetrahedron.png | Bin 0 -> 411 bytes .../textures/build/Object_Tetrahedron_Selected.png | Bin 0 -> 5201 bytes .../skins/gold/textures/build/Object_Torus.png | Bin 0 -> 803 bytes .../gold/textures/build/Object_Torus_Selected.png | Bin 0 -> 6125 bytes .../skins/gold/textures/build/Object_Tree.png | Bin 0 -> 737 bytes .../gold/textures/build/Object_Tree_Selected.png | Bin 0 -> 6377 bytes .../skins/gold/textures/build/Object_Tube.png | Bin 0 -> 460 bytes .../gold/textures/build/Object_Tube_Selected.png | Bin 0 -> 5131 bytes .../skins/gold/textures/build/Tool_Create.png | Bin 0 -> 705 bytes .../gold/textures/build/Tool_Create_Selected.png | Bin 0 -> 621 bytes .../skins/gold/textures/build/Tool_Dozer.png | Bin 0 -> 492 bytes .../gold/textures/build/Tool_Dozer_Selected.png | Bin 0 -> 537 bytes .../skins/gold/textures/build/Tool_Face.png | Bin 0 -> 304 bytes .../gold/textures/build/Tool_Face_Selected.png | Bin 0 -> 373 bytes .../skins/gold/textures/build/Tool_Grab.png | Bin 0 -> 417 bytes .../gold/textures/build/Tool_Grab_Selected.png | Bin 0 -> 456 bytes .../skins/gold/textures/build/Tool_Zoom.png | Bin 0 -> 533 bytes .../gold/textures/build/Tool_Zoom_Selected.png | Bin 0 -> 526 bytes .../skins/gold/textures/button_anim_pause.tga | Bin 0 -> 4140 bytes .../gold/textures/button_anim_pause_selected.tga | Bin 0 -> 4140 bytes .../skins/gold/textures/button_anim_play.tga | Bin 0 -> 4140 bytes .../gold/textures/button_anim_play_selected.tga | Bin 0 -> 4140 bytes indra/newview/skins/gold/textures/checker.png | Bin 0 -> 130 bytes .../newview/skins/gold/textures/cloud-particle.png | Bin 0 -> 42378 bytes .../skins/gold/textures/color_swatch_alpha.tga | Bin 0 -> 16428 bytes .../containers/Accordion_ArrowClosed_Off.png | Bin 0 -> 175 bytes .../containers/Accordion_ArrowClosed_Press.png | Bin 0 -> 175 bytes .../containers/Accordion_ArrowOpened_Off.png | Bin 0 -> 169 bytes .../containers/Accordion_ArrowOpened_Press.png | Bin 0 -> 169 bytes .../gold/textures/containers/Accordion_Off.png | Bin 0 -> 239 bytes .../gold/textures/containers/Accordion_Over.png | Bin 0 -> 206 bytes .../gold/textures/containers/Accordion_Press.png | Bin 0 -> 200 bytes .../textures/containers/Accordion_Selected.png | Bin 0 -> 2235 bytes .../skins/gold/textures/containers/Container.png | Bin 0 -> 673 bytes .../gold/textures/containers/TabTop_Left_Off.png | Bin 0 -> 6072 bytes .../textures/containers/TabTop_Left_Selected.png | Bin 0 -> 568 bytes .../gold/textures/containers/TabTop_Middle.png | Bin 0 -> 4440 bytes .../gold/textures/containers/TabTop_Middle_Off.png | Bin 0 -> 5999 bytes .../textures/containers/TabTop_Middle_Selected.png | Bin 0 -> 470 bytes .../textures/containers/TabTop_Right_Flashing.png | Bin 0 -> 252 bytes .../gold/textures/containers/TabTop_Right_Off.png | Bin 0 -> 5638 bytes .../textures/containers/TabTop_Right_Selected.png | Bin 0 -> 597 bytes .../textures/containers/Toolbar_Left_Flash.png | Bin 0 -> 356 bytes .../gold/textures/containers/Toolbar_Left_Off.png | Bin 0 -> 4894 bytes .../gold/textures/containers/Toolbar_Left_Over.png | Bin 0 -> 4903 bytes .../textures/containers/Toolbar_Left_Selected.png | Bin 0 -> 502 bytes .../textures/containers/Toolbar_Middle_Flash.png | Bin 0 -> 316 bytes .../textures/containers/Toolbar_Middle_Off.png | Bin 0 -> 4812 bytes .../textures/containers/Toolbar_Middle_Over.png | Bin 0 -> 4818 bytes .../containers/Toolbar_Middle_Selected.png | Bin 0 -> 409 bytes .../textures/containers/Toolbar_Right_Flash.png | Bin 0 -> 428 bytes .../gold/textures/containers/Toolbar_Right_Off.png | Bin 0 -> 4917 bytes .../textures/containers/Toolbar_Right_Over.png | Bin 0 -> 4921 bytes .../textures/containers/Toolbar_Right_Selected.png | Bin 0 -> 525 bytes indra/newview/skins/gold/textures/crosshairs.tga | Bin 0 -> 300 bytes .../skins/gold/textures/default_irradiance.png | Bin 0 -> 48853 bytes .../skins/gold/textures/default_land_picture.j2c | Bin 0 -> 24492 bytes .../gold/textures/default_profile_picture.j2c | Bin 0 -> 1512 bytes .../skins/gold/textures/direction_arrow.tga | Bin 0 -> 1068 bytes indra/newview/skins/gold/textures/down_arrow.png | Bin 0 -> 423 bytes .../skins/gold/textures/eye_button_active.tga | Bin 0 -> 3116 bytes .../skins/gold/textures/eye_button_inactive.tga | Bin 0 -> 3116 bytes indra/newview/skins/gold/textures/flatnormal.tga | Bin 0 -> 92 bytes indra/newview/skins/gold/textures/folder_arrow.tga | Bin 0 -> 4140 bytes indra/newview/skins/gold/textures/foot_shadow.j2c | Bin 0 -> 1647 bytes .../skins/gold/textures/green_checkmark.png | Bin 0 -> 414 bytes .../skins/gold/textures/icn_media_movie.tga | Bin 0 -> 4140 bytes .../newview/skins/gold/textures/icn_media_web.tga | Bin 0 -> 4140 bytes indra/newview/skins/gold/textures/icon_auction.tga | Bin 0 -> 1068 bytes .../skins/gold/textures/icon_avatar_offline.tga | Bin 0 -> 1068 bytes .../skins/gold/textures/icon_avatar_online.tga | Bin 0 -> 1068 bytes indra/newview/skins/gold/textures/icon_diurnal.tga | Bin 0 -> 6162 bytes .../skins/gold/textures/icon_for_sale_adult.tga | Bin 0 -> 743 bytes indra/newview/skins/gold/textures/icon_group.tga | Bin 0 -> 1068 bytes .../skins/gold/textures/icon_legacy_event.tga | Bin 0 -> 1068 bytes .../gold/textures/icon_legacy_event_adult.tga | Bin 0 -> 648 bytes .../gold/textures/icon_legacy_event_mature.tga | Bin 0 -> 1068 bytes indra/newview/skins/gold/textures/icon_place.tga | Bin 0 -> 1068 bytes .../newview/skins/gold/textures/icon_top_pick.tga | Bin 0 -> 1068 bytes .../skins/gold/textures/icons/AddItem_Disabled.png | Bin 0 -> 403 bytes .../skins/gold/textures/icons/AddItem_Off.png | Bin 0 -> 397 bytes .../skins/gold/textures/icons/AddItem_Press.png | Bin 0 -> 392 bytes .../skins/gold/textures/icons/AudioMute_Off.png | Bin 0 -> 800 bytes .../skins/gold/textures/icons/AudioMute_Over.png | Bin 0 -> 787 bytes .../skins/gold/textures/icons/Audio_Off.png | Bin 0 -> 596 bytes .../skins/gold/textures/icons/Audio_Press.png | Bin 0 -> 585 bytes .../skins/gold/textures/icons/BackArrow_Off.png | Bin 0 -> 434 bytes .../gold/textures/icons/ClipboardMenu_Disabled.png | Bin 0 -> 406 bytes .../gold/textures/icons/ClipboardMenu_Off.png | Bin 0 -> 392 bytes .../gold/textures/icons/ClipboardMenu_Press.png | Bin 0 -> 403 bytes .../textures/icons/ClipboardSmallMenu_Disabled.png | Bin 0 -> 395 bytes .../gold/textures/icons/ClipboardSmallMenu_Off.png | Bin 0 -> 386 bytes .../textures/icons/ClipboardSmallMenu_Press.png | Bin 0 -> 395 bytes .../skins/gold/textures/icons/Conv_log_inbox.png | Bin 0 -> 544 bytes .../textures/icons/Conv_toolbar_add_person.png | Bin 0 -> 522 bytes .../gold/textures/icons/Conv_toolbar_arrow_ne.png | Bin 0 -> 428 bytes .../gold/textures/icons/Conv_toolbar_arrow_sw.png | Bin 0 -> 428 bytes .../gold/textures/icons/Conv_toolbar_call_log.png | Bin 0 -> 592 bytes .../gold/textures/icons/Conv_toolbar_close.png | Bin 0 -> 479 bytes .../gold/textures/icons/Conv_toolbar_collapse.png | Bin 0 -> 538 bytes .../gold/textures/icons/Conv_toolbar_expand.png | Bin 0 -> 533 bytes .../gold/textures/icons/Conv_toolbar_hang_up.png | Bin 0 -> 609 bytes .../gold/textures/icons/Conv_toolbar_open_call.png | Bin 0 -> 546 bytes .../gold/textures/icons/Conv_toolbar_plus.png | Bin 0 -> 368 bytes .../gold/textures/icons/Conv_toolbar_sort.png | Bin 0 -> 424 bytes indra/newview/skins/gold/textures/icons/Copy.png | Bin 0 -> 588 bytes .../skins/gold/textures/icons/CopyBright.png | Bin 0 -> 615 bytes .../gold/textures/icons/Default_Outfit_Photo.png | Bin 0 -> 13832 bytes .../skins/gold/textures/icons/DownArrow_Off.png | Bin 0 -> 431 bytes .../skins/gold/textures/icons/Edit_Wrench.png | Bin 0 -> 502 bytes .../gold/textures/icons/ExternalBrowser_Off.png | Bin 0 -> 476 bytes .../newview/skins/gold/textures/icons/Facebook.png | Bin 0 -> 576 bytes indra/newview/skins/gold/textures/icons/Female.png | Bin 0 -> 489 bytes .../skins/gold/textures/icons/ForSale_Badge.png | Bin 0 -> 5896 bytes .../skins/gold/textures/icons/ForwardArrow_Off.png | Bin 0 -> 424 bytes .../gold/textures/icons/ForwardArrow_Press.png | Bin 0 -> 424 bytes .../skins/gold/textures/icons/Generic_Group.png | Bin 0 -> 2683 bytes .../gold/textures/icons/Generic_Group_Large.png | Bin 0 -> 2772 bytes .../gold/textures/icons/Generic_Object_Small.png | Bin 0 -> 502 bytes .../skins/gold/textures/icons/Generic_Person.png | Bin 0 -> 544 bytes .../gold/textures/icons/Generic_Person_Large.png | Bin 0 -> 2510 bytes .../skins/gold/textures/icons/Group_Notices.png | Bin 0 -> 3502 bytes .../textures/icons/Hierarchy_View_Disabled.png | Bin 0 -> 401 bytes .../gold/textures/icons/Hierarchy_View_On.png | Bin 0 -> 356 bytes .../gold/textures/icons/Icon_Attachment_Large.png | Bin 0 -> 1593 bytes .../gold/textures/icons/Icon_Attachment_Small.png | Bin 0 -> 1383 bytes .../gold/textures/icons/Icon_Color_Palette.png | Bin 0 -> 3419 bytes .../skins/gold/textures/icons/Icon_Font_Size.png | Bin 0 -> 2994 bytes .../skins/gold/textures/icons/Icon_For_Sale.png | Bin 0 -> 729 bytes .../textures/icons/Icon_Notification_Condense.png | Bin 0 -> 465 bytes .../textures/icons/Icon_Notification_Expand.png | Bin 0 -> 427 bytes indra/newview/skins/gold/textures/icons/Info.png | Bin 0 -> 535 bytes .../skins/gold/textures/icons/Info_Over.png | Bin 0 -> 724 bytes .../skins/gold/textures/icons/Info_Small.png | Bin 0 -> 478 bytes .../skins/gold/textures/icons/Inv_Alpha.png | Bin 0 -> 494 bytes .../skins/gold/textures/icons/Inv_Animation.png | Bin 0 -> 708 bytes .../skins/gold/textures/icons/Inv_BodyShape.png | Bin 0 -> 828 bytes .../skins/gold/textures/icons/Inv_CallingCard.png | Bin 0 -> 462 bytes .../skins/gold/textures/icons/Inv_Clothing.png | Bin 0 -> 463 bytes .../newview/skins/gold/textures/icons/Inv_Eye.png | Bin 0 -> 654 bytes .../skins/gold/textures/icons/Inv_FolderClosed.png | Bin 0 -> 441 bytes .../skins/gold/textures/icons/Inv_FolderOpen.png | Bin 0 -> 614 bytes .../skins/gold/textures/icons/Inv_Gesture.png | Bin 0 -> 615 bytes .../skins/gold/textures/icons/Inv_Gloves.png | Bin 0 -> 582 bytes .../newview/skins/gold/textures/icons/Inv_Hair.png | Bin 0 -> 551 bytes .../skins/gold/textures/icons/Inv_Invalid.png | Bin 0 -> 539 bytes .../skins/gold/textures/icons/Inv_Jacket.png | Bin 0 -> 893 bytes .../skins/gold/textures/icons/Inv_Landmark.png | Bin 0 -> 965 bytes .../newview/skins/gold/textures/icons/Inv_Link.png | Bin 0 -> 367 bytes .../skins/gold/textures/icons/Inv_LinkFolder.png | Bin 0 -> 508 bytes .../skins/gold/textures/icons/Inv_LinkItem.png | Bin 0 -> 508 bytes .../gold/textures/icons/Inv_LookFolderClosed.png | Bin 0 -> 538 bytes .../gold/textures/icons/Inv_LookFolderOpen.png | Bin 0 -> 697 bytes .../skins/gold/textures/icons/Inv_LostClosed.png | Bin 0 -> 495 bytes .../skins/gold/textures/icons/Inv_LostOpen.png | Bin 0 -> 745 bytes .../skins/gold/textures/icons/Inv_Material.png | Bin 0 -> 1008 bytes .../newview/skins/gold/textures/icons/Inv_Mesh.png | Bin 0 -> 977 bytes .../skins/gold/textures/icons/Inv_Notecard.png | Bin 0 -> 414 bytes .../skins/gold/textures/icons/Inv_Object.png | Bin 0 -> 575 bytes .../skins/gold/textures/icons/Inv_Object_Multi.png | Bin 0 -> 976 bytes .../skins/gold/textures/icons/Inv_Pants.png | Bin 0 -> 611 bytes .../skins/gold/textures/icons/Inv_Physics.png | Bin 0 -> 758 bytes .../skins/gold/textures/icons/Inv_Script.png | Bin 0 -> 551 bytes .../skins/gold/textures/icons/Inv_Settings.png | Bin 0 -> 1623 bytes .../skins/gold/textures/icons/Inv_SettingsDay.png | Bin 0 -> 1812 bytes .../skins/gold/textures/icons/Inv_SettingsSky.png | Bin 0 -> 1811 bytes .../gold/textures/icons/Inv_SettingsWater.png | Bin 0 -> 1621 bytes .../skins/gold/textures/icons/Inv_Shape.png | Bin 0 -> 693 bytes .../skins/gold/textures/icons/Inv_Shirt.png | Bin 0 -> 612 bytes .../newview/skins/gold/textures/icons/Inv_Shoe.png | Bin 0 -> 3875 bytes .../newview/skins/gold/textures/icons/Inv_Skin.png | Bin 0 -> 627 bytes .../skins/gold/textures/icons/Inv_Skirt.png | Bin 0 -> 702 bytes .../skins/gold/textures/icons/Inv_Snapshot.png | Bin 0 -> 722 bytes .../skins/gold/textures/icons/Inv_Socks.png | Bin 0 -> 565 bytes .../skins/gold/textures/icons/Inv_Sound.png | Bin 0 -> 584 bytes .../gold/textures/icons/Inv_StockFolderClosed.png | Bin 0 -> 1120 bytes .../gold/textures/icons/Inv_StockFolderOpen.png | Bin 0 -> 1282 bytes .../skins/gold/textures/icons/Inv_SysClosed.png | Bin 0 -> 4558 bytes .../skins/gold/textures/icons/Inv_SysOpen.png | Bin 0 -> 4649 bytes .../skins/gold/textures/icons/Inv_Tattoo.png | Bin 0 -> 559 bytes .../skins/gold/textures/icons/Inv_Texture.png | Bin 0 -> 379 bytes .../icons/Inv_Toolbar_SearchVisibility.png | Bin 0 -> 722 bytes .../skins/gold/textures/icons/Inv_TrashClosed.png | Bin 0 -> 480 bytes .../skins/gold/textures/icons/Inv_TrashOpen.png | Bin 0 -> 479 bytes .../skins/gold/textures/icons/Inv_Underpants.png | Bin 0 -> 577 bytes .../skins/gold/textures/icons/Inv_Undershirt.png | Bin 0 -> 423 bytes .../skins/gold/textures/icons/Inv_Universal.png | Bin 0 -> 1081 bytes .../gold/textures/icons/Inv_UnknownObject.png | Bin 0 -> 1752 bytes .../textures/icons/Inv_VersionFolderClosed.png | Bin 0 -> 1120 bytes .../gold/textures/icons/Inv_VersionFolderOpen.png | Bin 0 -> 1438 bytes .../gold/textures/icons/List_View_Disabled.png | Bin 0 -> 374 bytes .../skins/gold/textures/icons/List_View_On.png | Bin 0 -> 379 bytes indra/newview/skins/gold/textures/icons/Lock.png | Bin 0 -> 577 bytes .../skins/gold/textures/icons/Locked_Icon.png | Bin 0 -> 471 bytes .../newview/skins/gold/textures/icons/MP_Logo.png | Bin 0 -> 1106 bytes indra/newview/skins/gold/textures/icons/Male.png | Bin 0 -> 494 bytes .../skins/gold/textures/icons/Microphone_On.png | Bin 0 -> 520 bytes .../gold/textures/icons/MinusItem_Disabled.png | Bin 0 -> 370 bytes .../skins/gold/textures/icons/MinusItem_Off.png | Bin 0 -> 377 bytes .../skins/gold/textures/icons/MinusItem_Press.png | Bin 0 -> 373 bytes .../skins/gold/textures/icons/MusicNote.png | Bin 0 -> 764 bytes .../gold/textures/icons/OptionsMenu_Disabled.png | Bin 0 -> 520 bytes .../skins/gold/textures/icons/OptionsMenu_Off.png | Bin 0 -> 523 bytes .../gold/textures/icons/OptionsMenu_Press.png | Bin 0 -> 506 bytes .../gold/textures/icons/OutboxPush_Disabled.png | Bin 0 -> 5520 bytes .../skins/gold/textures/icons/OutboxPush_Off.png | Bin 0 -> 5495 bytes .../skins/gold/textures/icons/OutboxPush_On.png | Bin 0 -> 5570 bytes .../gold/textures/icons/OutboxPush_On_Over.png | Bin 0 -> 5556 bytes .../skins/gold/textures/icons/OutboxPush_Over.png | Bin 0 -> 5274 bytes .../skins/gold/textures/icons/OutboxPush_Press.png | Bin 0 -> 5563 bytes .../gold/textures/icons/OutboxPush_Progress_1.png | Bin 0 -> 5529 bytes .../gold/textures/icons/OutboxPush_Progress_2.png | Bin 0 -> 5483 bytes .../gold/textures/icons/OutboxPush_Progress_3.png | Bin 0 -> 5486 bytes .../gold/textures/icons/OutboxPush_Progress_4.png | Bin 0 -> 5557 bytes .../gold/textures/icons/OutboxPush_Progress_5.png | Bin 0 -> 5593 bytes .../gold/textures/icons/OutboxPush_Progress_6.png | Bin 0 -> 5526 bytes .../gold/textures/icons/OutboxPush_Selected.png | Bin 0 -> 5596 bytes .../icons/OutboxPush_Selected_Disabled.png | Bin 0 -> 5554 bytes .../textures/icons/OutboxPush_Selected_Over.png | Bin 0 -> 5576 bytes .../textures/icons/OutboxPush_Selected_Press.png | Bin 0 -> 5628 bytes .../gold/textures/icons/Parcel_BuildNo_Dark.png | Bin 0 -> 721 bytes .../gold/textures/icons/Parcel_BuildNo_Light.png | Bin 0 -> 730 bytes .../gold/textures/icons/Parcel_Build_Dark.png | Bin 0 -> 527 bytes .../gold/textures/icons/Parcel_DamageNo_Dark.png | Bin 0 -> 636 bytes .../gold/textures/icons/Parcel_Damage_Dark.png | Bin 0 -> 511 bytes .../skins/gold/textures/icons/Parcel_Exp_Color.png | Bin 0 -> 460 bytes .../gold/textures/icons/Parcel_FlyNo_Dark.png | Bin 0 -> 943 bytes .../gold/textures/icons/Parcel_FlyNo_Light.png | Bin 0 -> 934 bytes .../skins/gold/textures/icons/Parcel_Fly_Dark.png | Bin 0 -> 524 bytes .../gold/textures/icons/Parcel_ForSale_Light.png | Bin 0 -> 652 bytes .../gold/textures/icons/Parcel_Health_Dark.png | Bin 0 -> 600 bytes .../skins/gold/textures/icons/Parcel_M_Dark.png | Bin 0 -> 490 bytes .../skins/gold/textures/icons/Parcel_M_Light.png | Bin 0 -> 488 bytes .../skins/gold/textures/icons/Parcel_PG_Dark.png | Bin 0 -> 495 bytes .../skins/gold/textures/icons/Parcel_PG_Light.png | Bin 0 -> 492 bytes .../gold/textures/icons/Parcel_PushNo_Dark.png | Bin 0 -> 683 bytes .../gold/textures/icons/Parcel_PushNo_Light.png | Bin 0 -> 654 bytes .../skins/gold/textures/icons/Parcel_Push_Dark.png | Bin 0 -> 596 bytes .../skins/gold/textures/icons/Parcel_R_Dark.png | Bin 0 -> 490 bytes .../skins/gold/textures/icons/Parcel_R_Light.png | Bin 0 -> 487 bytes .../gold/textures/icons/Parcel_ScriptsNo_Dark.png | Bin 0 -> 723 bytes .../gold/textures/icons/Parcel_Scripts_Dark.png | Bin 0 -> 553 bytes .../gold/textures/icons/Parcel_SeeAVsOff_Dark.png | Bin 0 -> 660 bytes .../gold/textures/icons/Parcel_SeeAVsOff_Light.png | Bin 0 -> 655 bytes .../gold/textures/icons/Parcel_SeeAVsOn_Dark.png | Bin 0 -> 502 bytes .../gold/textures/icons/Parcel_SeeAVsOn_Light.png | Bin 0 -> 503 bytes .../gold/textures/icons/Parcel_VoiceNo_Dark.png | Bin 0 -> 710 bytes .../gold/textures/icons/Parcel_VoiceNo_Light.png | Bin 0 -> 710 bytes .../gold/textures/icons/Parcel_Voice_Dark.png | Bin 0 -> 550 bytes .../gold/textures/icons/Parcel_Voice_Light.png | Bin 0 -> 599 bytes .../gold/textures/icons/Pathfinding_Dirty.png | Bin 0 -> 713 bytes .../gold/textures/icons/Pathfinding_Disabled.png | Bin 0 -> 579 bytes .../skins/gold/textures/icons/Pause_Off.png | Bin 0 -> 385 bytes .../skins/gold/textures/icons/Pause_Over.png | Bin 0 -> 380 bytes .../skins/gold/textures/icons/Pause_Press.png | Bin 0 -> 376 bytes .../gold/textures/icons/Permission_Ungranted.png | Bin 0 -> 834 bytes .../skins/gold/textures/icons/Person_Check.png | Bin 0 -> 855 bytes .../skins/gold/textures/icons/Person_Star.png | Bin 0 -> 690 bytes .../newview/skins/gold/textures/icons/Play_Off.png | Bin 0 -> 451 bytes .../skins/gold/textures/icons/Play_Over.png | Bin 0 -> 443 bytes .../skins/gold/textures/icons/Play_Press.png | Bin 0 -> 448 bytes .../skins/gold/textures/icons/Presets_Icon.png | Bin 0 -> 1069 bytes .../gold/textures/icons/Presets_Icon_Graphic.png | Bin 0 -> 535 bytes .../gold/textures/icons/Profile_Friend_Offline.png | Bin 0 -> 420 bytes .../gold/textures/icons/Profile_Friend_Online.png | Bin 0 -> 433 bytes .../textures/icons/Profile_Perm_Find_Disabled.png | Bin 0 -> 1008 bytes .../textures/icons/Profile_Perm_Find_Enabled.png | Bin 0 -> 1051 bytes .../icons/Profile_Perm_Objects_Disabled.png | Bin 0 -> 888 bytes .../icons/Profile_Perm_Objects_Enabled.png | Bin 0 -> 949 bytes .../icons/Profile_Perm_Online_Disabled.png | Bin 0 -> 897 bytes .../textures/icons/Profile_Perm_Online_Enabled.png | Bin 0 -> 939 bytes .../skins/gold/textures/icons/ProgressLarge_1.png | Bin 0 -> 6163 bytes .../skins/gold/textures/icons/ProgressLarge_10.png | Bin 0 -> 6310 bytes .../skins/gold/textures/icons/ProgressLarge_11.png | Bin 0 -> 6169 bytes .../skins/gold/textures/icons/ProgressLarge_12.png | Bin 0 -> 6197 bytes .../skins/gold/textures/icons/ProgressLarge_2.png | Bin 0 -> 6227 bytes .../skins/gold/textures/icons/ProgressLarge_3.png | Bin 0 -> 6090 bytes .../skins/gold/textures/icons/ProgressLarge_4.png | Bin 0 -> 6295 bytes .../skins/gold/textures/icons/ProgressLarge_5.png | Bin 0 -> 6158 bytes .../skins/gold/textures/icons/ProgressLarge_6.png | Bin 0 -> 6220 bytes .../skins/gold/textures/icons/ProgressLarge_7.png | Bin 0 -> 6100 bytes .../skins/gold/textures/icons/ProgressLarge_8.png | Bin 0 -> 6223 bytes .../skins/gold/textures/icons/ProgressLarge_9.png | Bin 0 -> 6034 bytes .../skins/gold/textures/icons/Progress_1.png | Bin 0 -> 678 bytes .../skins/gold/textures/icons/Progress_10.png | Bin 0 -> 671 bytes .../skins/gold/textures/icons/Progress_11.png | Bin 0 -> 674 bytes .../skins/gold/textures/icons/Progress_12.png | Bin 0 -> 685 bytes .../skins/gold/textures/icons/Progress_2.png | Bin 0 -> 675 bytes .../skins/gold/textures/icons/Progress_3.png | Bin 0 -> 679 bytes .../skins/gold/textures/icons/Progress_4.png | Bin 0 -> 673 bytes .../skins/gold/textures/icons/Progress_5.png | Bin 0 -> 671 bytes .../skins/gold/textures/icons/Progress_6.png | Bin 0 -> 684 bytes .../skins/gold/textures/icons/Progress_7.png | Bin 0 -> 674 bytes .../skins/gold/textures/icons/Progress_8.png | Bin 0 -> 680 bytes .../skins/gold/textures/icons/Progress_9.png | Bin 0 -> 680 bytes .../skins/gold/textures/icons/Refresh_Off.png | Bin 0 -> 624 bytes .../newview/skins/gold/textures/icons/SL_Logo.png | Bin 0 -> 1484 bytes .../skins/gold/textures/icons/Search_Icon.png | Bin 0 -> 628 bytes .../skins/gold/textures/icons/Shirt_Large.png | Bin 0 -> 641 bytes indra/newview/skins/gold/textures/icons/Shop.png | Bin 0 -> 523 bytes .../skins/gold/textures/icons/SkipBackward_Off.png | Bin 0 -> 477 bytes .../skins/gold/textures/icons/SkipForward_Off.png | Bin 0 -> 469 bytes .../skins/gold/textures/icons/StopReload_Off.png | Bin 0 -> 639 bytes .../skins/gold/textures/icons/StopReload_Over.png | Bin 0 -> 626 bytes .../newview/skins/gold/textures/icons/Stop_Off.png | Bin 0 -> 363 bytes .../skins/gold/textures/icons/Sync_Disabled.png | Bin 0 -> 1089 bytes .../skins/gold/textures/icons/Sync_Enabled.png | Bin 0 -> 4636 bytes .../skins/gold/textures/icons/Sync_Progress_1.png | Bin 0 -> 1080 bytes .../skins/gold/textures/icons/Sync_Progress_2.png | Bin 0 -> 1077 bytes .../skins/gold/textures/icons/Sync_Progress_3.png | Bin 0 -> 1114 bytes .../skins/gold/textures/icons/Sync_Progress_4.png | Bin 0 -> 1108 bytes .../skins/gold/textures/icons/Sync_Progress_5.png | Bin 0 -> 1070 bytes .../skins/gold/textures/icons/Sync_Progress_6.png | Bin 0 -> 1095 bytes .../textures/icons/System_Notification_Large.png | Bin 0 -> 1170 bytes .../textures/icons/System_Notification_Small.png | Bin 0 -> 593 bytes .../gold/textures/icons/TrashItem_Disabled.png | Bin 0 -> 416 bytes .../skins/gold/textures/icons/TrashItem_Off.png | Bin 0 -> 415 bytes .../skins/gold/textures/icons/TrashItem_Press.png | Bin 0 -> 407 bytes .../skins/gold/textures/icons/UnZoom_Off.png | Bin 0 -> 587 bytes .../skins/gold/textures/icons/UpArrow_Off.png | Bin 0 -> 428 bytes .../skins/gold/textures/icons/Video_URL_Off.png | Bin 0 -> 466 bytes .../skins/gold/textures/icons/VoiceMute_Off.png | Bin 0 -> 753 bytes .../skins/gold/textures/icons/VoicePTT_Lvl1.png | Bin 0 -> 6625 bytes .../skins/gold/textures/icons/VoicePTT_Lvl2.png | Bin 0 -> 6879 bytes .../skins/gold/textures/icons/VoicePTT_Lvl3.png | Bin 0 -> 952 bytes .../skins/gold/textures/icons/VoicePTT_Off.png | Bin 0 -> 583 bytes .../skins/gold/textures/icons/VoicePTT_On.png | Bin 0 -> 5521 bytes .../skins/gold/textures/icons/Web_Profile_Off.png | Bin 0 -> 460 bytes .../skins/gold/textures/icons/YouAreHere_Badge.png | Bin 0 -> 6385 bytes .../newview/skins/gold/textures/icons/Zoom_Off.png | Bin 0 -> 598 bytes .../newview/skins/gold/textures/icons/add_icon.png | Bin 0 -> 691 bytes .../skins/gold/textures/icons/back_arrow_off.png | Bin 0 -> 1177 bytes .../skins/gold/textures/icons/back_arrow_over.png | Bin 0 -> 1258 bytes .../skins/gold/textures/icons/back_arrow_press.png | Bin 0 -> 1326 bytes .../skins/gold/textures/icons/check_mark.png | Bin 0 -> 370 bytes .../gold/textures/icons/collapse_to_one_line.png | Bin 0 -> 621 bytes .../skins/gold/textures/icons/copy_clipboard.png | Bin 0 -> 811 bytes .../skins/gold/textures/icons/delete_icon.png | Bin 0 -> 809 bytes .../skins/gold/textures/icons/edit_mine.png | Bin 0 -> 896 bytes .../skins/gold/textures/icons/edit_theirs.png | Bin 0 -> 902 bytes .../gold/textures/icons/emoji_picker_icon.png | Bin 0 -> 787 bytes .../skins/gold/textures/icons/expand_one_liner.png | Bin 0 -> 627 bytes .../skins/gold/textures/icons/file_upload.png | Bin 0 -> 640 bytes indra/newview/skins/gold/textures/icons/hand.png | Bin 0 -> 899 bytes .../skins/gold/textures/icons/map_placeholder.png | Bin 0 -> 8718 bytes .../gold/textures/icons/multi_folder_mode.png | Bin 0 -> 329 bytes .../skins/gold/textures/icons/nearby_chat_icon.png | Bin 0 -> 586 bytes .../skins/gold/textures/icons/object_icon.png | Bin 0 -> 502 bytes .../skins/gold/textures/icons/paste_clipboard.png | Bin 0 -> 792 bytes .../skins/gold/textures/icons/pop_up_caution.png | Bin 0 -> 765 bytes .../gold/textures/icons/profile_badge_beta.png | Bin 0 -> 644 bytes .../textures/icons/profile_badge_beta_lifetime.png | Bin 0 -> 641 bytes .../gold/textures/icons/profile_badge_lifetime.png | Bin 0 -> 780 bytes .../gold/textures/icons/profile_badge_linden.png | Bin 0 -> 1065 bytes .../icons/profile_badge_pplus_lifetime.png | Bin 0 -> 780 bytes .../icons/profile_badge_premium_lifetime.png | Bin 0 -> 777 bytes .../icons/profile_group_visibility_eye_off.png | Bin 0 -> 656 bytes .../profile_group_visibility_eye_off_pressed.png | Bin 0 -> 656 bytes .../icons/profile_group_visibility_eye_on.png | Bin 0 -> 616 bytes .../profile_group_visibility_eye_on_pressed.png | Bin 0 -> 646 bytes .../skins/gold/textures/icons/remove_icon.png | Bin 0 -> 705 bytes .../skins/gold/textures/icons/see_me_online.png | Bin 0 -> 2315 bytes .../skins/gold/textures/icons/see_on_map.png | Bin 0 -> 2665 bytes .../skins/gold/textures/icons/see_them_on_map.png | Bin 0 -> 2679 bytes .../skins/gold/textures/icons/see_them_online.png | Bin 0 -> 2469 bytes .../gold/textures/icons/single_folder_back.png | Bin 0 -> 607 bytes .../gold/textures/icons/single_folder_forward.png | Bin 0 -> 608 bytes .../gold/textures/icons/single_folder_mode.png | Bin 0 -> 320 bytes .../skins/gold/textures/icons/single_folder_up.png | Bin 0 -> 545 bytes .../skins/gold/textures/icons/snapshot_icon.png | Bin 0 -> 717 bytes .../skins/gold/textures/icons/texture_icon.png | Bin 0 -> 349 bytes .../textures/icons/thumbnail_fallback_icon.png | Bin 0 -> 2203 bytes .../skins/gold/textures/icons/unknown_icon.png | Bin 0 -> 1177 bytes indra/newview/skins/gold/textures/jump_left_in.tga | Bin 0 -> 812 bytes .../newview/skins/gold/textures/jump_left_out.tga | Bin 0 -> 812 bytes .../newview/skins/gold/textures/jump_right_in.tga | Bin 0 -> 812 bytes .../newview/skins/gold/textures/jump_right_out.tga | Bin 0 -> 812 bytes .../skins/gold/textures/lag_status_critical.tga | Bin 0 -> 4140 bytes .../skins/gold/textures/lag_status_good.tga | Bin 0 -> 658 bytes .../skins/gold/textures/lag_status_warning.tga | Bin 0 -> 658 bytes indra/newview/skins/gold/textures/legend.tga | Bin 0 -> 1068 bytes indra/newview/skins/gold/textures/locked_image.j2c | Bin 0 -> 6140 bytes .../newview/skins/gold/textures/map_avatar_16.tga | Bin 0 -> 1068 bytes .../newview/skins/gold/textures/map_avatar_32.tga | Bin 0 -> 2894 bytes indra/newview/skins/gold/textures/map_avatar_8.tga | Bin 0 -> 300 bytes .../skins/gold/textures/map_avatar_above_32.tga | Bin 0 -> 2909 bytes .../skins/gold/textures/map_avatar_below_32.tga | Bin 0 -> 3037 bytes .../skins/gold/textures/map_avatar_unknown_32.tga | Bin 0 -> 4140 bytes .../skins/gold/textures/map_avatar_you_32.tga | Bin 0 -> 4140 bytes indra/newview/skins/gold/textures/map_event.tga | Bin 0 -> 1068 bytes indra/newview/skins/gold/textures/map_home.tga | Bin 0 -> 1068 bytes indra/newview/skins/gold/textures/map_infohub.tga | Bin 0 -> 1068 bytes indra/newview/skins/gold/textures/map_telehub.tga | Bin 0 -> 1068 bytes indra/newview/skins/gold/textures/map_track_16.tga | Bin 0 -> 1068 bytes .../skins/gold/textures/map_ui_collapse_icon.png | Bin 0 -> 300 bytes .../skins/gold/textures/map_ui_expand_icon.png | Bin 0 -> 284 bytes .../skins/gold/textures/materials_ui_x_24.png | Bin 0 -> 602 bytes .../skins/gold/textures/megapahit/icon_group.png | Bin 0 -> 1479 bytes .../gold/textures/megapahit/icon_land_auction.png | Bin 0 -> 1464 bytes .../gold/textures/megapahit/icon_land_forsale.png | Bin 0 -> 1485 bytes .../skins/gold/textures/megapahit/icon_place.png | Bin 0 -> 1584 bytes .../newview/skins/gold/textures/menu_separator.png | Bin 0 -> 304 bytes .../newview/skins/gold/textures/missing_asset.tga | Bin 0 -> 2511 bytes .../gold/textures/model_wizard/progress_bar_bg.png | Bin 0 -> 556 bytes .../gold/textures/model_wizard/progress_light.png | Bin 0 -> 366 bytes .../skins/gold/textures/navbar/Arrow_Left_Off.png | Bin 0 -> 382 bytes .../skins/gold/textures/navbar/Arrow_Right_Off.png | Bin 0 -> 380 bytes .../skins/gold/textures/navbar/BuyArrow_Off.png | Bin 0 -> 324 bytes .../skins/gold/textures/navbar/BuyArrow_Over.png | Bin 0 -> 258 bytes .../skins/gold/textures/navbar/BuyArrow_Press.png | Bin 0 -> 258 bytes .../gold/textures/navbar/Favorite_Link_Over.png | Bin 0 -> 191 bytes .../gold/textures/navbar/Favorite_Star_Active.png | Bin 0 -> 808 bytes .../gold/textures/navbar/Favorite_Star_Off.png | Bin 0 -> 444 bytes .../gold/textures/navbar/Favorite_Star_Over.png | Bin 0 -> 563 bytes .../gold/textures/navbar/Favorite_Star_Press.png | Bin 0 -> 616 bytes .../gold/textures/navbar/FileMenu_Divider.png | Bin 0 -> 116 bytes indra/newview/skins/gold/textures/navbar/Flag.png | Bin 0 -> 338 bytes .../skins/gold/textures/navbar/Help_Press.png | Bin 0 -> 384 bytes .../skins/gold/textures/navbar/Home_Off.png | Bin 0 -> 379 bytes .../skins/gold/textures/navbar/Info_Off.png | Bin 0 -> 724 bytes .../skins/gold/textures/navbar/Info_Over.png | Bin 0 -> 693 bytes .../skins/gold/textures/navbar/Info_Press.png | Bin 0 -> 707 bytes .../skins/gold/textures/navbar/Landmarks.png | Bin 0 -> 15870 bytes indra/newview/skins/gold/textures/navbar/Lock.png | Bin 0 -> 302 bytes .../skins/gold/textures/navbar/NavBar_BG.png | Bin 0 -> 6334 bytes .../gold/textures/navbar/NavBar_BG_NoFav_Bevel.png | Bin 0 -> 5658 bytes .../gold/textures/navbar/NavBar_BG_NoNav_Bevel.png | Bin 0 -> 5130 bytes .../skins/gold/textures/navbar/Row_Selection.png | Bin 0 -> 1197 bytes .../newview/skins/gold/textures/navbar/Search.png | Bin 0 -> 516 bytes .../skins/gold/textures/navbar/separator.png | Bin 0 -> 330 bytes .../skins/gold/textures/notify_caution_icon.tga | Bin 0 -> 4140 bytes indra/newview/skins/gold/textures/pixiesmall.j2c | Bin 0 -> 2845 bytes indra/newview/skins/gold/textures/red_x.png | Bin 0 -> 624 bytes .../newview/skins/gold/textures/rounded_square.j2c | Bin 0 -> 1074 bytes indra/newview/skins/gold/textures/script_error.j2c | Bin 0 -> 8132 bytes indra/newview/skins/gold/textures/silhouette.j2c | Bin 0 -> 1460 bytes .../skins/gold/textures/slim_icon_16_viewer.tga | Bin 0 -> 1032 bytes .../skins/gold/textures/snapshot_download.png | Bin 0 -> 1226 bytes .../newview/skins/gold/textures/snapshot_email.png | Bin 0 -> 1231 bytes indra/newview/skins/gold/textures/spacer24.tga | Bin 0 -> 2348 bytes indra/newview/skins/gold/textures/tabarea.tga | Bin 0 -> 1340 bytes .../gold/textures/taskpanel/Activate_Checkmark.png | Bin 0 -> 435 bytes .../taskpanel/Sidebar_Icon_Dock_Foreground.png | Bin 0 -> 355 bytes .../textures/taskpanel/Sidebar_Icon_Dock_Press.png | Bin 0 -> 339 bytes .../taskpanel/Sidebar_Icon_Undock_Foreground.png | Bin 0 -> 341 bytes .../taskpanel/Sidebar_Icon_Undock_Press.png | Bin 0 -> 344 bytes .../gold/textures/taskpanel/TabIcon_Close_Off.png | Bin 0 -> 305 bytes .../textures/taskpanel/TabIcon_Home_Selected.png | Bin 0 -> 790 bytes .../gold/textures/taskpanel/TabIcon_Me_Off.png | Bin 0 -> 297 bytes .../gold/textures/taskpanel/TabIcon_Open_Off.png | Bin 0 -> 294 bytes .../gold/textures/taskpanel/TabIcon_People_Off.png | Bin 0 -> 367 bytes .../gold/textures/taskpanel/TabIcon_Places_Off.png | Bin 0 -> 405 bytes .../gold/textures/taskpanel/TabIcon_Things_Off.png | Bin 0 -> 223 bytes .../gold/textures/taskpanel/TaskPanel_Tab_Off.png | Bin 0 -> 272 bytes .../textures/taskpanel/TaskPanel_Tab_Selected.png | Bin 0 -> 325 bytes .../skins/gold/textures/tearoff_pressed.tga | Bin 0 -> 513 bytes indra/newview/skins/gold/textures/tearoffbox.tga | Bin 0 -> 408 bytes indra/newview/skins/gold/textures/textures.xml | 934 ++++++++++++++++++ .../gold/textures/toolbar_icons/360_capture.png | Bin 0 -> 793 bytes .../gold/textures/toolbar_icons/appearance.png | Bin 0 -> 1205 bytes .../skins/gold/textures/toolbar_icons/avatars.png | Bin 0 -> 1432 bytes .../skins/gold/textures/toolbar_icons/build.png | Bin 0 -> 1246 bytes .../gold/textures/toolbar_icons/caret_bottom.png | Bin 0 -> 195 bytes .../gold/textures/toolbar_icons/caret_left.png | Bin 0 -> 948 bytes .../gold/textures/toolbar_icons/caret_right.png | Bin 0 -> 949 bytes .../skins/gold/textures/toolbar_icons/chat.png | Bin 0 -> 1277 bytes .../gold/textures/toolbar_icons/destinations.png | Bin 0 -> 1297 bytes .../gold/textures/toolbar_icons/environments.png | Bin 0 -> 1630 bytes .../skins/gold/textures/toolbar_icons/facebook.png | Bin 0 -> 424 bytes .../textures/toolbar_icons/favorite_folder.png | Bin 0 -> 572 bytes .../skins/gold/textures/toolbar_icons/flickr.png | Bin 0 -> 15530 bytes .../skins/gold/textures/toolbar_icons/gestures.png | Bin 0 -> 1675 bytes .../gold/textures/toolbar_icons/grid_status.png | Bin 0 -> 483 bytes .../gold/textures/toolbar_icons/highlighting.png | Bin 0 -> 500 bytes .../toolbar_icons/highlighting_selected.png | Bin 0 -> 748 bytes .../skins/gold/textures/toolbar_icons/howto.png | Bin 0 -> 1306 bytes .../gold/textures/toolbar_icons/inventory.png | Bin 0 -> 1114 bytes .../skins/gold/textures/toolbar_icons/land.png | Bin 0 -> 1123 bytes .../skins/gold/textures/toolbar_icons/map.png | Bin 0 -> 1206 bytes .../gold/textures/toolbar_icons/marketplace.png | Bin 0 -> 1311 bytes .../gold/textures/toolbar_icons/mini_cart.png | Bin 0 -> 474 bytes .../skins/gold/textures/toolbar_icons/mini_map.png | Bin 0 -> 1766 bytes .../gold/textures/toolbar_icons/mktlistings.png | Bin 0 -> 579 bytes .../skins/gold/textures/toolbar_icons/move.png | Bin 0 -> 1328 bytes .../gold/textures/toolbar_icons/nearbyvoice.png | Bin 0 -> 1479 bytes .../skins/gold/textures/toolbar_icons/outbox.png | Bin 0 -> 1521 bytes .../skins/gold/textures/toolbar_icons/people.png | Bin 0 -> 1313 bytes .../gold/textures/toolbar_icons/performance.png | Bin 0 -> 451 bytes .../skins/gold/textures/toolbar_icons/picks.png | Bin 0 -> 1396 bytes .../skins/gold/textures/toolbar_icons/places.png | Bin 0 -> 1391 bytes .../gold/textures/toolbar_icons/preferences.png | Bin 0 -> 1587 bytes .../skins/gold/textures/toolbar_icons/profile.png | Bin 0 -> 1180 bytes .../gold/textures/toolbar_icons/report_abuse.png | Bin 0 -> 407 bytes .../textures/toolbar_icons/resync_animations.png | Bin 0 -> 3627 bytes .../skins/gold/textures/toolbar_icons/search.png | Bin 0 -> 1406 bytes .../skins/gold/textures/toolbar_icons/snapshot.png | Bin 0 -> 1142 bytes .../skins/gold/textures/toolbar_icons/speak.png | Bin 0 -> 1253 bytes .../skins/gold/textures/toolbar_icons/twitter.png | Bin 0 -> 5696 bytes .../skins/gold/textures/toolbar_icons/view.png | Bin 0 -> 1487 bytes indra/newview/skins/gold/textures/transparent.j2c | Bin 0 -> 172 bytes indra/newview/skins/gold/textures/up_arrow.png | Bin 0 -> 426 bytes indra/newview/skins/gold/textures/uv_test1.j2c | Bin 0 -> 1206 bytes indra/newview/skins/gold/textures/uv_test2.tga | Bin 0 -> 1308 bytes .../skins/gold/textures/voice_meter_dot.j2c | Bin 0 -> 499 bytes .../skins/gold/textures/voice_meter_rings.j2c | Bin 0 -> 2518 bytes indra/newview/skins/gold/textures/white.tga | Bin 0 -> 178 bytes .../skins/gold/textures/widgets/Arrow_Down.png | Bin 0 -> 517 bytes .../skins/gold/textures/widgets/Arrow_Left.png | Bin 0 -> 485 bytes .../skins/gold/textures/widgets/Arrow_Right.png | Bin 0 -> 487 bytes .../gold/textures/widgets/Arrow_Small_Down.png | Bin 0 -> 478 bytes .../gold/textures/widgets/Arrow_Small_Left.png | Bin 0 -> 414 bytes .../gold/textures/widgets/Arrow_Small_Right.png | Bin 0 -> 414 bytes .../skins/gold/textures/widgets/Arrow_Small_Up.png | Bin 0 -> 493 bytes .../skins/gold/textures/widgets/Arrow_Up.png | Bin 0 -> 528 bytes .../gold/textures/widgets/Badge_Background.png | Bin 0 -> 1266 bytes .../skins/gold/textures/widgets/Badge_Border.png | Bin 0 -> 1392 bytes .../widgets/BreadCrumbBtn_Left_Disabled.png | Bin 0 -> 851 bytes .../textures/widgets/BreadCrumbBtn_Left_Off.png | Bin 0 -> 1094 bytes .../textures/widgets/BreadCrumbBtn_Left_Over.png | Bin 0 -> 1195 bytes .../textures/widgets/BreadCrumbBtn_Left_Press.png | Bin 0 -> 1319 bytes .../widgets/BreadCrumbBtn_Middle_Disabled.png | Bin 0 -> 796 bytes .../textures/widgets/BreadCrumbBtn_Middle_Off.png | Bin 0 -> 1010 bytes .../textures/widgets/BreadCrumbBtn_Middle_Over.png | Bin 0 -> 1074 bytes .../widgets/BreadCrumbBtn_Middle_Press.png | Bin 0 -> 1218 bytes .../widgets/BreadCrumbBtn_Right_Disabled.png | Bin 0 -> 588 bytes .../textures/widgets/BreadCrumbBtn_Right_Off.png | Bin 0 -> 1569 bytes .../textures/widgets/BreadCrumbBtn_Right_Over.png | Bin 0 -> 1714 bytes .../textures/widgets/BreadCrumbBtn_Right_Press.png | Bin 0 -> 1772 bytes .../gold/textures/widgets/Checkbox_Disabled.png | Bin 0 -> 470 bytes .../skins/gold/textures/widgets/Checkbox_Off.png | Bin 0 -> 480 bytes .../skins/gold/textures/widgets/Checkbox_On.png | Bin 0 -> 635 bytes .../gold/textures/widgets/Checkbox_On_Disabled.png | Bin 0 -> 621 bytes .../gold/textures/widgets/Checkbox_On_Press.png | Bin 0 -> 647 bytes .../skins/gold/textures/widgets/Checkbox_Press.png | Bin 0 -> 515 bytes .../gold/textures/widgets/ComboButton_Disabled.png | Bin 0 -> 575 bytes .../gold/textures/widgets/ComboButton_Hover.png | Bin 0 -> 552 bytes .../gold/textures/widgets/ComboButton_Off.png | Bin 0 -> 5629 bytes .../skins/gold/textures/widgets/ComboButton_On.png | Bin 0 -> 606 bytes .../gold/textures/widgets/ComboButton_Selected.png | Bin 0 -> 711 bytes .../gold/textures/widgets/ComboButton_UpOff.png | Bin 0 -> 5555 bytes .../textures/widgets/ComboButton_UpSelected.png | Bin 0 -> 733 bytes .../widgets/DisclosureArrow_Opened_Off.png | Bin 0 -> 392 bytes .../gold/textures/widgets/DropDown_Disabled.png | Bin 0 -> 669 bytes .../skins/gold/textures/widgets/DropDown_Off.png | Bin 0 -> 678 bytes .../skins/gold/textures/widgets/DropDown_On.png | Bin 0 -> 741 bytes .../skins/gold/textures/widgets/DropDown_Press.png | Bin 0 -> 841 bytes .../skins/gold/textures/widgets/DropTarget.png | Bin 0 -> 604 bytes .../gold/textures/widgets/Error_Tag_Background.png | Bin 0 -> 1317 bytes .../gold/textures/widgets/Linden_Dollar_Alert.png | Bin 0 -> 68647 bytes .../textures/widgets/Linden_Dollar_Background.png | Bin 0 -> 130520 bytes .../skins/gold/textures/widgets/ListItem_Over.png | Bin 0 -> 1209 bytes .../gold/textures/widgets/ListItem_Select.png | Bin 0 -> 1217 bytes .../gold/textures/widgets/MarketplaceBtn_Off.png | Bin 0 -> 911 bytes .../textures/widgets/MarketplaceBtn_Selected.png | Bin 0 -> 1191 bytes .../widgets/Marketplace_Dropzone_Background.png | Bin 0 -> 639 bytes .../gold/textures/widgets/New_Tag_Background.png | Bin 0 -> 948 bytes .../skins/gold/textures/widgets/New_Tag_Border.png | Bin 0 -> 963 bytes .../skins/gold/textures/widgets/ProgressBar.png | Bin 0 -> 344 bytes .../gold/textures/widgets/ProgressBarSolid.png | Bin 0 -> 378 bytes .../skins/gold/textures/widgets/ProgressTrack.png | Bin 0 -> 399 bytes .../gold/textures/widgets/PushButton_Disabled.png | Bin 0 -> 569 bytes .../gold/textures/widgets/PushButton_Login.png | Bin 0 -> 1437 bytes .../textures/widgets/PushButton_Login_Over.png | Bin 0 -> 1516 bytes .../textures/widgets/PushButton_Login_Pressed.png | Bin 0 -> 1493 bytes .../skins/gold/textures/widgets/PushButton_Off.png | Bin 0 -> 4809 bytes .../skins/gold/textures/widgets/PushButton_On.png | Bin 0 -> 606 bytes .../textures/widgets/PushButton_On_Selected.png | Bin 0 -> 668 bytes .../gold/textures/widgets/PushButton_Over.png | Bin 0 -> 4815 bytes .../gold/textures/widgets/PushButton_Press.png | Bin 0 -> 668 bytes .../gold/textures/widgets/PushButton_Selected.png | Bin 0 -> 668 bytes .../widgets/PushButton_Selected_Disabled.png | Bin 0 -> 611 bytes .../textures/widgets/PushButton_Selected_Press.png | Bin 0 -> 668 bytes .../gold/textures/widgets/RadioButton_Disabled.png | Bin 0 -> 606 bytes .../gold/textures/widgets/RadioButton_Off.png | Bin 0 -> 628 bytes .../skins/gold/textures/widgets/RadioButton_On.png | Bin 0 -> 679 bytes .../textures/widgets/RadioButton_On_Disabled.png | Bin 0 -> 652 bytes .../gold/textures/widgets/RadioButton_On_Press.png | Bin 0 -> 688 bytes .../gold/textures/widgets/RadioButton_Press.png | Bin 0 -> 666 bytes .../gold/textures/widgets/ScrollArrow_Down.png | Bin 0 -> 443 bytes .../textures/widgets/ScrollArrow_Down_Opaque.png | Bin 0 -> 470 bytes .../widgets/ScrollArrow_Down_Over_Opaque.png | Bin 0 -> 445 bytes .../gold/textures/widgets/ScrollArrow_Left.png | Bin 0 -> 454 bytes .../textures/widgets/ScrollArrow_Left_Opaque.png | Bin 0 -> 418 bytes .../widgets/ScrollArrow_Left_Over_Opaque.png | Bin 0 -> 431 bytes .../gold/textures/widgets/ScrollArrow_Right.png | Bin 0 -> 445 bytes .../textures/widgets/ScrollArrow_Right_Opaque.png | Bin 0 -> 420 bytes .../widgets/ScrollArrow_Right_Over_Opaque.png | Bin 0 -> 429 bytes .../skins/gold/textures/widgets/ScrollArrow_Up.png | Bin 0 -> 465 bytes .../textures/widgets/ScrollArrow_Up_Opaque.png | Bin 0 -> 458 bytes .../widgets/ScrollArrow_Up_Over_Opaque.png | Bin 0 -> 468 bytes .../gold/textures/widgets/ScrollThumb_Horiz.png | Bin 0 -> 509 bytes .../gold/textures/widgets/ScrollThumb_Vert.png | Bin 0 -> 494 bytes .../gold/textures/widgets/ScrollTrack_Horiz.png | Bin 0 -> 364 bytes .../gold/textures/widgets/ScrollTrack_Vert.png | Bin 0 -> 361 bytes .../widgets/SegmentedBtn_Left_Disabled.png | Bin 0 -> 4673 bytes .../textures/widgets/SegmentedBtn_Left_Off.png | Bin 0 -> 4680 bytes .../textures/widgets/SegmentedBtn_Left_Over.png | Bin 0 -> 4619 bytes .../textures/widgets/SegmentedBtn_Left_Press.png | Bin 0 -> 4786 bytes .../widgets/SegmentedBtn_Left_Selected.png | Bin 0 -> 4786 bytes .../SegmentedBtn_Left_Selected_Disabled.png | Bin 0 -> 508 bytes .../widgets/SegmentedBtn_Left_Selected_Over.png | Bin 0 -> 510 bytes .../widgets/SegmentedBtn_Left_Selected_Press.png | Bin 0 -> 593 bytes .../widgets/SegmentedBtn_Middle_Disabled.png | Bin 0 -> 4542 bytes .../widgets/SegmentedBtn_Middle_Selected.png | Bin 0 -> 4574 bytes .../SegmentedBtn_Middle_Selected_Disabled.png | Bin 0 -> 414 bytes .../widgets/SegmentedBtn_Middle_Selected_Press.png | Bin 0 -> 507 bytes .../widgets/SegmentedBtn_Right_Disabled.png | Bin 0 -> 4922 bytes .../textures/widgets/SegmentedBtn_Right_Off.png | Bin 0 -> 4921 bytes .../widgets/SegmentedBtn_Right_On_Selected.png | Bin 0 -> 619 bytes .../textures/widgets/SegmentedBtn_Right_Over.png | Bin 0 -> 4844 bytes .../textures/widgets/SegmentedBtn_Right_Press.png | Bin 0 -> 4926 bytes .../widgets/SegmentedBtn_Right_Selected.png | Bin 0 -> 4926 bytes .../SegmentedBtn_Right_Selected_Disabled.png | Bin 0 -> 534 bytes .../widgets/SegmentedBtn_Right_Selected_Press.png | Bin 0 -> 617 bytes .../gold/textures/widgets/SliderThumb_Disabled.png | Bin 0 -> 592 bytes .../gold/textures/widgets/SliderThumb_Off.png | Bin 0 -> 579 bytes .../gold/textures/widgets/SliderThumb_Press.png | Bin 0 -> 582 bytes .../gold/textures/widgets/SliderTrack_Horiz.png | Bin 0 -> 420 bytes .../gold/textures/widgets/SliderTrack_Vert.png | Bin 0 -> 417 bytes .../gold/textures/widgets/Stepper_Down_Off.png | Bin 0 -> 4901 bytes .../gold/textures/widgets/Stepper_Down_Press.png | Bin 0 -> 532 bytes .../skins/gold/textures/widgets/Stepper_Up_Off.png | Bin 0 -> 4909 bytes .../gold/textures/widgets/Stepper_Up_Press.png | Bin 0 -> 539 bytes .../gold/textures/widgets/TextField_Active.png | Bin 0 -> 4359 bytes .../gold/textures/widgets/TextField_Disabled.png | Bin 0 -> 4356 bytes .../skins/gold/textures/widgets/TextField_Off.png | Bin 0 -> 4359 bytes .../textures/widgets/TextField_Search_Active.png | Bin 0 -> 903 bytes .../textures/widgets/TextField_Search_Disabled.png | Bin 0 -> 886 bytes .../widgets/TextField_Search_Highlight.png | Bin 0 -> 3250 bytes .../gold/textures/widgets/TextField_Search_Off.png | Bin 0 -> 901 bytes .../skins/gold/textures/widgets/Tooltip.png | Bin 0 -> 404 bytes .../gold/textures/widgets/bevel_background.png | Bin 0 -> 451 bytes .../skins/gold/textures/widgets/buy_off.png | Bin 0 -> 392 bytes .../skins/gold/textures/widgets/buy_over.png | Bin 0 -> 401 bytes .../skins/gold/textures/widgets/buy_press.png | Bin 0 -> 454 bytes .../textures/widgets/horizontal_drag_handle.png | Bin 0 -> 389 bytes .../skins/gold/textures/widgets/jump_left_in.png | Bin 0 -> 434 bytes .../skins/gold/textures/widgets/jump_left_out.png | Bin 0 -> 422 bytes .../skins/gold/textures/widgets/jump_right_in.png | Bin 0 -> 426 bytes .../skins/gold/textures/widgets/jump_right_out.png | Bin 0 -> 423 bytes .../textures/widgets/track_control_moon_back.png | Bin 0 -> 1767 bytes .../textures/widgets/track_control_moon_front.png | Bin 0 -> 2060 bytes .../widgets/track_control_rotate_bottom.png | Bin 0 -> 1125 bytes .../widgets/track_control_rotate_bottom_active.png | Bin 0 -> 617 bytes .../widgets/track_control_rotate_left_side.png | Bin 0 -> 1107 bytes .../track_control_rotate_left_side_active.png | Bin 0 -> 561 bytes .../widgets/track_control_rotate_right_side.png | Bin 0 -> 1121 bytes .../track_control_rotate_right_side_active.png | Bin 0 -> 591 bytes .../textures/widgets/track_control_rotate_top.png | Bin 0 -> 1133 bytes .../widgets/track_control_rotate_top_active.png | Bin 0 -> 627 bytes .../gold/textures/widgets/track_control_sphere.png | Bin 0 -> 7131 bytes .../textures/widgets/track_control_sun_back.png | Bin 0 -> 1626 bytes .../textures/widgets/track_control_sun_front.png | Bin 0 -> 1911 bytes .../gold/textures/widgets/vertical_drag_handle.png | Bin 0 -> 396 bytes .../skins/gold/textures/windows/Dragbar.png | Bin 0 -> 503 bytes .../skins/gold/textures/windows/Flyout_Left.png | Bin 0 -> 421 bytes .../skins/gold/textures/windows/Flyout_Pointer.png | Bin 0 -> 436 bytes .../skins/gold/textures/windows/Flyout_Right.png | Bin 0 -> 423 bytes .../textures/windows/Icon_Close_Foreground.png | Bin 0 -> 402 bytes .../gold/textures/windows/Icon_Close_Press.png | Bin 0 -> 416 bytes .../gold/textures/windows/Icon_Close_Toast.png | Bin 0 -> 579 bytes .../gold/textures/windows/Icon_Dock_Foreground.png | Bin 0 -> 413 bytes .../gold/textures/windows/Icon_Dock_Press.png | Bin 0 -> 428 bytes .../skins/gold/textures/windows/Icon_Gear.png | Bin 0 -> 4355 bytes .../gold/textures/windows/Icon_Gear_Background.png | Bin 0 -> 515 bytes .../gold/textures/windows/Icon_Gear_Foreground.png | Bin 0 -> 516 bytes .../gold/textures/windows/Icon_Gear_Press.png | Bin 0 -> 510 bytes .../gold/textures/windows/Icon_Help_Foreground.png | Bin 0 -> 501 bytes .../gold/textures/windows/Icon_Help_Press.png | Bin 0 -> 501 bytes .../textures/windows/Icon_Minimize_Foreground.png | Bin 0 -> 351 bytes .../gold/textures/windows/Icon_Minimize_Press.png | Bin 0 -> 351 bytes .../textures/windows/Icon_Restore_Foreground.png | Bin 0 -> 450 bytes .../gold/textures/windows/Icon_Restore_Press.png | Bin 0 -> 456 bytes .../textures/windows/Icon_Undock_Foreground.png | Bin 0 -> 415 bytes .../gold/textures/windows/Inspector_Background.png | Bin 0 -> 462 bytes .../gold/textures/windows/Inspector_Hover.png | Bin 0 -> 645 bytes .../skins/gold/textures/windows/Inspector_I.png | Bin 0 -> 6320 bytes .../skins/gold/textures/windows/Resize_Corner.png | Bin 0 -> 4679 bytes .../gold/textures/windows/Toast_Background.png | Bin 0 -> 460 bytes .../skins/gold/textures/windows/Toast_CloseBtn.png | Bin 0 -> 579 bytes .../skins/gold/textures/windows/Toast_Over.png | Bin 0 -> 647 bytes .../gold/textures/windows/Volume_Background.png | Bin 0 -> 674 bytes .../gold/textures/windows/Wearables_Divider.png | Bin 0 -> 311 bytes .../gold/textures/windows/Window_Background.png | Bin 0 -> 6780 bytes .../gold/textures/windows/Window_Foreground.png | Bin 0 -> 6900 bytes .../textures/windows/add_payment_image_center.png | Bin 0 -> 36083 bytes .../textures/windows/add_payment_image_left.png | Bin 0 -> 34181 bytes .../textures/windows/add_payment_image_right.png | Bin 0 -> 33753 bytes .../gold/textures/windows/first_login_image.jpg | Bin 0 -> 199811 bytes .../gold/textures/windows/hint_arrow_down.png | Bin 0 -> 623 bytes .../gold/textures/windows/hint_arrow_left.png | Bin 0 -> 532 bytes .../textures/windows/hint_arrow_lower_left.png | Bin 0 -> 540 bytes .../gold/textures/windows/hint_arrow_right.png | Bin 0 -> 563 bytes .../skins/gold/textures/windows/hint_arrow_up.png | Bin 0 -> 637 bytes .../gold/textures/windows/hint_background.png | Bin 0 -> 1582 bytes .../skins/gold/textures/windows/login_mp_logo.png | Bin 0 -> 23425 bytes .../gold/textures/windows/login_mp_logo_small.png | Bin 0 -> 17032 bytes .../skins/gold/textures/windows/login_sl_logo.png | Bin 0 -> 6180 bytes .../gold/textures/windows/login_sl_logo_small.png | Bin 0 -> 5204 bytes .../skins/gold/textures/windows/startup_logo.png | Bin 0 -> 3446 bytes .../gold/textures/windows/yellow_gradient.png | Bin 0 -> 1733 bytes .../skins/gold/textures/world/BeaconArrow.png | Bin 0 -> 994 bytes .../skins/gold/textures/world/CameraDragDot.png | Bin 0 -> 563 bytes .../skins/gold/textures/world/NoEntryLines.png | Bin 0 -> 4829 bytes .../skins/gold/textures/world/NoEntryPassLines.png | Bin 0 -> 5263 bytes 798 files changed, 1964 insertions(+), 2 deletions(-) create mode 100644 indra/newview/skins/gold/colors.xml create mode 100644 indra/newview/skins/gold/textures/3p_icons/fmod_logo.png create mode 100644 indra/newview/skins/gold/textures/3p_icons/havok_logo.png create mode 100644 indra/newview/skins/gold/textures/Blank.png create mode 100644 indra/newview/skins/gold/textures/Rounded_Rect.png create mode 100644 indra/newview/skins/gold/textures/alpha_gradient.tga create mode 100644 indra/newview/skins/gold/textures/alpha_gradient_2d.j2c create mode 100644 indra/newview/skins/gold/textures/arrow_down.tga create mode 100644 indra/newview/skins/gold/textures/arrow_up.tga create mode 100644 indra/newview/skins/gold/textures/avatar_thumb_bkgrnd.png create mode 100644 indra/newview/skins/gold/textures/badge_note.j2c create mode 100644 indra/newview/skins/gold/textures/badge_ok.j2c create mode 100644 indra/newview/skins/gold/textures/badge_warn.j2c create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Avatar_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_FreeCam_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Orbit_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Pan_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Back_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Back_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Eye_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Front_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Front_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Side_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Side_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Rotate_Center.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Rotate_In.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Rotate_Out.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Tracking_Center.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Tracking_In.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Cam_Tracking_Out.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/ChatBarHandle.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/DownArrow.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Mouselook_View_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Mouselook_View_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Move_Fly_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Move_Run_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Move_Walk_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_Backward_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_Backward_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_Down_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_Down_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_Forward_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_Forward_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_Left_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_Left_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_Right_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_Right_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_TurnLeft_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_TurnLeft_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_TurnRight_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_TurnRight_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_Up_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Movement_Up_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Notices_Unread.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Object_View_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Object_View_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/PanOrbit_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Snapshot_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/Unread_Chiclet.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/VoicePTT_Lvl1.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/VoicePTT_Lvl2.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/VoicePTT_Lvl3.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/VoicePTT_Off.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/VoicePTT_On.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/WellButton_Lit.png create mode 100644 indra/newview/skins/gold/textures/bottomtray/WellButton_Lit_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Cone.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Cone_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Cube.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Cube_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Cylinder.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Cylinder_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Grass.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Grass_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Hemi_Cone.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Hemi_Cone_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Hemi_Cylinder.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Hemi_Cylinder_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Hemi_Sphere.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Hemi_Sphere_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Prism.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Prism_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Pyramid.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Pyramid_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Ring.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Ring_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Sphere.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Sphere_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Tetrahedron.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Tetrahedron_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Torus.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Torus_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Tree.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Tree_Selected.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Tube.png create mode 100644 indra/newview/skins/gold/textures/build/Object_Tube_Selected.png create mode 100755 indra/newview/skins/gold/textures/build/Tool_Create.png create mode 100755 indra/newview/skins/gold/textures/build/Tool_Create_Selected.png create mode 100755 indra/newview/skins/gold/textures/build/Tool_Dozer.png create mode 100755 indra/newview/skins/gold/textures/build/Tool_Dozer_Selected.png create mode 100755 indra/newview/skins/gold/textures/build/Tool_Face.png create mode 100755 indra/newview/skins/gold/textures/build/Tool_Face_Selected.png create mode 100755 indra/newview/skins/gold/textures/build/Tool_Grab.png create mode 100755 indra/newview/skins/gold/textures/build/Tool_Grab_Selected.png create mode 100755 indra/newview/skins/gold/textures/build/Tool_Zoom.png create mode 100755 indra/newview/skins/gold/textures/build/Tool_Zoom_Selected.png create mode 100644 indra/newview/skins/gold/textures/button_anim_pause.tga create mode 100644 indra/newview/skins/gold/textures/button_anim_pause_selected.tga create mode 100644 indra/newview/skins/gold/textures/button_anim_play.tga create mode 100644 indra/newview/skins/gold/textures/button_anim_play_selected.tga create mode 100644 indra/newview/skins/gold/textures/checker.png create mode 100644 indra/newview/skins/gold/textures/cloud-particle.png create mode 100644 indra/newview/skins/gold/textures/color_swatch_alpha.tga create mode 100644 indra/newview/skins/gold/textures/containers/Accordion_ArrowClosed_Off.png create mode 100644 indra/newview/skins/gold/textures/containers/Accordion_ArrowClosed_Press.png create mode 100644 indra/newview/skins/gold/textures/containers/Accordion_ArrowOpened_Off.png create mode 100644 indra/newview/skins/gold/textures/containers/Accordion_ArrowOpened_Press.png create mode 100644 indra/newview/skins/gold/textures/containers/Accordion_Off.png create mode 100644 indra/newview/skins/gold/textures/containers/Accordion_Over.png create mode 100644 indra/newview/skins/gold/textures/containers/Accordion_Press.png create mode 100644 indra/newview/skins/gold/textures/containers/Accordion_Selected.png create mode 100644 indra/newview/skins/gold/textures/containers/Container.png create mode 100644 indra/newview/skins/gold/textures/containers/TabTop_Left_Off.png create mode 100644 indra/newview/skins/gold/textures/containers/TabTop_Left_Selected.png create mode 100644 indra/newview/skins/gold/textures/containers/TabTop_Middle.png create mode 100644 indra/newview/skins/gold/textures/containers/TabTop_Middle_Off.png create mode 100644 indra/newview/skins/gold/textures/containers/TabTop_Middle_Selected.png create mode 100644 indra/newview/skins/gold/textures/containers/TabTop_Right_Flashing.png create mode 100644 indra/newview/skins/gold/textures/containers/TabTop_Right_Off.png create mode 100644 indra/newview/skins/gold/textures/containers/TabTop_Right_Selected.png create mode 100644 indra/newview/skins/gold/textures/containers/Toolbar_Left_Flash.png create mode 100644 indra/newview/skins/gold/textures/containers/Toolbar_Left_Off.png create mode 100644 indra/newview/skins/gold/textures/containers/Toolbar_Left_Over.png create mode 100644 indra/newview/skins/gold/textures/containers/Toolbar_Left_Selected.png create mode 100644 indra/newview/skins/gold/textures/containers/Toolbar_Middle_Flash.png create mode 100644 indra/newview/skins/gold/textures/containers/Toolbar_Middle_Off.png create mode 100644 indra/newview/skins/gold/textures/containers/Toolbar_Middle_Over.png create mode 100644 indra/newview/skins/gold/textures/containers/Toolbar_Middle_Selected.png create mode 100644 indra/newview/skins/gold/textures/containers/Toolbar_Right_Flash.png create mode 100644 indra/newview/skins/gold/textures/containers/Toolbar_Right_Off.png create mode 100644 indra/newview/skins/gold/textures/containers/Toolbar_Right_Over.png create mode 100644 indra/newview/skins/gold/textures/containers/Toolbar_Right_Selected.png create mode 100644 indra/newview/skins/gold/textures/crosshairs.tga create mode 100644 indra/newview/skins/gold/textures/default_irradiance.png create mode 100644 indra/newview/skins/gold/textures/default_land_picture.j2c create mode 100644 indra/newview/skins/gold/textures/default_profile_picture.j2c create mode 100644 indra/newview/skins/gold/textures/direction_arrow.tga create mode 100644 indra/newview/skins/gold/textures/down_arrow.png create mode 100644 indra/newview/skins/gold/textures/eye_button_active.tga create mode 100644 indra/newview/skins/gold/textures/eye_button_inactive.tga create mode 100644 indra/newview/skins/gold/textures/flatnormal.tga create mode 100644 indra/newview/skins/gold/textures/folder_arrow.tga create mode 100644 indra/newview/skins/gold/textures/foot_shadow.j2c create mode 100644 indra/newview/skins/gold/textures/green_checkmark.png create mode 100644 indra/newview/skins/gold/textures/icn_media_movie.tga create mode 100644 indra/newview/skins/gold/textures/icn_media_web.tga create mode 100644 indra/newview/skins/gold/textures/icon_auction.tga create mode 100644 indra/newview/skins/gold/textures/icon_avatar_offline.tga create mode 100644 indra/newview/skins/gold/textures/icon_avatar_online.tga create mode 100644 indra/newview/skins/gold/textures/icon_diurnal.tga create mode 100644 indra/newview/skins/gold/textures/icon_for_sale_adult.tga create mode 100644 indra/newview/skins/gold/textures/icon_group.tga create mode 100644 indra/newview/skins/gold/textures/icon_legacy_event.tga create mode 100644 indra/newview/skins/gold/textures/icon_legacy_event_adult.tga create mode 100644 indra/newview/skins/gold/textures/icon_legacy_event_mature.tga create mode 100644 indra/newview/skins/gold/textures/icon_place.tga create mode 100644 indra/newview/skins/gold/textures/icon_top_pick.tga create mode 100644 indra/newview/skins/gold/textures/icons/AddItem_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/AddItem_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/AddItem_Press.png create mode 100644 indra/newview/skins/gold/textures/icons/AudioMute_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/AudioMute_Over.png create mode 100644 indra/newview/skins/gold/textures/icons/Audio_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/Audio_Press.png create mode 100644 indra/newview/skins/gold/textures/icons/BackArrow_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/ClipboardMenu_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/ClipboardMenu_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/ClipboardMenu_Press.png create mode 100644 indra/newview/skins/gold/textures/icons/ClipboardSmallMenu_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/ClipboardSmallMenu_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/ClipboardSmallMenu_Press.png create mode 100644 indra/newview/skins/gold/textures/icons/Conv_log_inbox.png create mode 100644 indra/newview/skins/gold/textures/icons/Conv_toolbar_add_person.png create mode 100644 indra/newview/skins/gold/textures/icons/Conv_toolbar_arrow_ne.png create mode 100644 indra/newview/skins/gold/textures/icons/Conv_toolbar_arrow_sw.png create mode 100644 indra/newview/skins/gold/textures/icons/Conv_toolbar_call_log.png create mode 100644 indra/newview/skins/gold/textures/icons/Conv_toolbar_close.png create mode 100644 indra/newview/skins/gold/textures/icons/Conv_toolbar_collapse.png create mode 100644 indra/newview/skins/gold/textures/icons/Conv_toolbar_expand.png create mode 100644 indra/newview/skins/gold/textures/icons/Conv_toolbar_hang_up.png create mode 100644 indra/newview/skins/gold/textures/icons/Conv_toolbar_open_call.png create mode 100644 indra/newview/skins/gold/textures/icons/Conv_toolbar_plus.png create mode 100644 indra/newview/skins/gold/textures/icons/Conv_toolbar_sort.png create mode 100644 indra/newview/skins/gold/textures/icons/Copy.png create mode 100644 indra/newview/skins/gold/textures/icons/CopyBright.png create mode 100644 indra/newview/skins/gold/textures/icons/Default_Outfit_Photo.png create mode 100644 indra/newview/skins/gold/textures/icons/DownArrow_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/Edit_Wrench.png create mode 100644 indra/newview/skins/gold/textures/icons/ExternalBrowser_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/Facebook.png create mode 100644 indra/newview/skins/gold/textures/icons/Female.png create mode 100644 indra/newview/skins/gold/textures/icons/ForSale_Badge.png create mode 100644 indra/newview/skins/gold/textures/icons/ForwardArrow_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/ForwardArrow_Press.png create mode 100644 indra/newview/skins/gold/textures/icons/Generic_Group.png create mode 100644 indra/newview/skins/gold/textures/icons/Generic_Group_Large.png create mode 100644 indra/newview/skins/gold/textures/icons/Generic_Object_Small.png create mode 100644 indra/newview/skins/gold/textures/icons/Generic_Person.png create mode 100644 indra/newview/skins/gold/textures/icons/Generic_Person_Large.png create mode 100644 indra/newview/skins/gold/textures/icons/Group_Notices.png create mode 100644 indra/newview/skins/gold/textures/icons/Hierarchy_View_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/Hierarchy_View_On.png create mode 100644 indra/newview/skins/gold/textures/icons/Icon_Attachment_Large.png create mode 100644 indra/newview/skins/gold/textures/icons/Icon_Attachment_Small.png create mode 100644 indra/newview/skins/gold/textures/icons/Icon_Color_Palette.png create mode 100644 indra/newview/skins/gold/textures/icons/Icon_Font_Size.png create mode 100644 indra/newview/skins/gold/textures/icons/Icon_For_Sale.png create mode 100644 indra/newview/skins/gold/textures/icons/Icon_Notification_Condense.png create mode 100644 indra/newview/skins/gold/textures/icons/Icon_Notification_Expand.png create mode 100644 indra/newview/skins/gold/textures/icons/Info.png create mode 100644 indra/newview/skins/gold/textures/icons/Info_Over.png create mode 100644 indra/newview/skins/gold/textures/icons/Info_Small.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Alpha.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Animation.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_BodyShape.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_CallingCard.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Clothing.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Eye.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_FolderClosed.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_FolderOpen.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Gesture.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Gloves.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Hair.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Invalid.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Jacket.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Landmark.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Link.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_LinkFolder.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_LinkItem.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_LookFolderClosed.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_LookFolderOpen.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_LostClosed.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_LostOpen.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Material.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Mesh.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Notecard.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Object.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Object_Multi.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Pants.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Physics.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Script.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Settings.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_SettingsDay.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_SettingsSky.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_SettingsWater.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Shape.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Shirt.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Shoe.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Skin.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Skirt.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Snapshot.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Socks.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Sound.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_StockFolderClosed.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_StockFolderOpen.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_SysClosed.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_SysOpen.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Tattoo.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Texture.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Toolbar_SearchVisibility.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_TrashClosed.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_TrashOpen.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Underpants.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Undershirt.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_Universal.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_UnknownObject.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_VersionFolderClosed.png create mode 100644 indra/newview/skins/gold/textures/icons/Inv_VersionFolderOpen.png create mode 100644 indra/newview/skins/gold/textures/icons/List_View_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/List_View_On.png create mode 100644 indra/newview/skins/gold/textures/icons/Lock.png create mode 100644 indra/newview/skins/gold/textures/icons/Locked_Icon.png create mode 100644 indra/newview/skins/gold/textures/icons/MP_Logo.png create mode 100644 indra/newview/skins/gold/textures/icons/Male.png create mode 100644 indra/newview/skins/gold/textures/icons/Microphone_On.png create mode 100644 indra/newview/skins/gold/textures/icons/MinusItem_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/MinusItem_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/MinusItem_Press.png create mode 100644 indra/newview/skins/gold/textures/icons/MusicNote.png create mode 100644 indra/newview/skins/gold/textures/icons/OptionsMenu_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/OptionsMenu_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/OptionsMenu_Press.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_On.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_On_Over.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Over.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Press.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Progress_1.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Progress_2.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Progress_3.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Progress_4.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Progress_5.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Progress_6.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Selected.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Selected_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Selected_Over.png create mode 100644 indra/newview/skins/gold/textures/icons/OutboxPush_Selected_Press.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_BuildNo_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_BuildNo_Light.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_Build_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_DamageNo_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_Damage_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_Exp_Color.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_FlyNo_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_FlyNo_Light.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_Fly_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_ForSale_Light.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_Health_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_M_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_M_Light.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_PG_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_PG_Light.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_PushNo_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_PushNo_Light.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_Push_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_R_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_R_Light.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_ScriptsNo_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_Scripts_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOff_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOff_Light.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOn_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOn_Light.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_VoiceNo_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_VoiceNo_Light.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_Voice_Dark.png create mode 100644 indra/newview/skins/gold/textures/icons/Parcel_Voice_Light.png create mode 100644 indra/newview/skins/gold/textures/icons/Pathfinding_Dirty.png create mode 100644 indra/newview/skins/gold/textures/icons/Pathfinding_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/Pause_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/Pause_Over.png create mode 100644 indra/newview/skins/gold/textures/icons/Pause_Press.png create mode 100644 indra/newview/skins/gold/textures/icons/Permission_Ungranted.png create mode 100644 indra/newview/skins/gold/textures/icons/Person_Check.png create mode 100644 indra/newview/skins/gold/textures/icons/Person_Star.png create mode 100644 indra/newview/skins/gold/textures/icons/Play_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/Play_Over.png create mode 100644 indra/newview/skins/gold/textures/icons/Play_Press.png create mode 100644 indra/newview/skins/gold/textures/icons/Presets_Icon.png create mode 100644 indra/newview/skins/gold/textures/icons/Presets_Icon_Graphic.png create mode 100644 indra/newview/skins/gold/textures/icons/Profile_Friend_Offline.png create mode 100644 indra/newview/skins/gold/textures/icons/Profile_Friend_Online.png create mode 100644 indra/newview/skins/gold/textures/icons/Profile_Perm_Find_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/Profile_Perm_Find_Enabled.png create mode 100644 indra/newview/skins/gold/textures/icons/Profile_Perm_Objects_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/Profile_Perm_Objects_Enabled.png create mode 100644 indra/newview/skins/gold/textures/icons/Profile_Perm_Online_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/Profile_Perm_Online_Enabled.png create mode 100644 indra/newview/skins/gold/textures/icons/ProgressLarge_1.png create mode 100644 indra/newview/skins/gold/textures/icons/ProgressLarge_10.png create mode 100644 indra/newview/skins/gold/textures/icons/ProgressLarge_11.png create mode 100644 indra/newview/skins/gold/textures/icons/ProgressLarge_12.png create mode 100644 indra/newview/skins/gold/textures/icons/ProgressLarge_2.png create mode 100644 indra/newview/skins/gold/textures/icons/ProgressLarge_3.png create mode 100644 indra/newview/skins/gold/textures/icons/ProgressLarge_4.png create mode 100644 indra/newview/skins/gold/textures/icons/ProgressLarge_5.png create mode 100644 indra/newview/skins/gold/textures/icons/ProgressLarge_6.png create mode 100644 indra/newview/skins/gold/textures/icons/ProgressLarge_7.png create mode 100644 indra/newview/skins/gold/textures/icons/ProgressLarge_8.png create mode 100644 indra/newview/skins/gold/textures/icons/ProgressLarge_9.png create mode 100644 indra/newview/skins/gold/textures/icons/Progress_1.png create mode 100644 indra/newview/skins/gold/textures/icons/Progress_10.png create mode 100644 indra/newview/skins/gold/textures/icons/Progress_11.png create mode 100644 indra/newview/skins/gold/textures/icons/Progress_12.png create mode 100644 indra/newview/skins/gold/textures/icons/Progress_2.png create mode 100644 indra/newview/skins/gold/textures/icons/Progress_3.png create mode 100644 indra/newview/skins/gold/textures/icons/Progress_4.png create mode 100644 indra/newview/skins/gold/textures/icons/Progress_5.png create mode 100644 indra/newview/skins/gold/textures/icons/Progress_6.png create mode 100644 indra/newview/skins/gold/textures/icons/Progress_7.png create mode 100644 indra/newview/skins/gold/textures/icons/Progress_8.png create mode 100644 indra/newview/skins/gold/textures/icons/Progress_9.png create mode 100644 indra/newview/skins/gold/textures/icons/Refresh_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/SL_Logo.png create mode 100644 indra/newview/skins/gold/textures/icons/Search_Icon.png create mode 100644 indra/newview/skins/gold/textures/icons/Shirt_Large.png create mode 100644 indra/newview/skins/gold/textures/icons/Shop.png create mode 100644 indra/newview/skins/gold/textures/icons/SkipBackward_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/SkipForward_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/StopReload_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/StopReload_Over.png create mode 100644 indra/newview/skins/gold/textures/icons/Stop_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/Sync_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/Sync_Enabled.png create mode 100644 indra/newview/skins/gold/textures/icons/Sync_Progress_1.png create mode 100644 indra/newview/skins/gold/textures/icons/Sync_Progress_2.png create mode 100644 indra/newview/skins/gold/textures/icons/Sync_Progress_3.png create mode 100644 indra/newview/skins/gold/textures/icons/Sync_Progress_4.png create mode 100644 indra/newview/skins/gold/textures/icons/Sync_Progress_5.png create mode 100644 indra/newview/skins/gold/textures/icons/Sync_Progress_6.png create mode 100644 indra/newview/skins/gold/textures/icons/System_Notification_Large.png create mode 100644 indra/newview/skins/gold/textures/icons/System_Notification_Small.png create mode 100644 indra/newview/skins/gold/textures/icons/TrashItem_Disabled.png create mode 100644 indra/newview/skins/gold/textures/icons/TrashItem_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/TrashItem_Press.png create mode 100644 indra/newview/skins/gold/textures/icons/UnZoom_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/UpArrow_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/Video_URL_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/VoiceMute_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/VoicePTT_Lvl1.png create mode 100644 indra/newview/skins/gold/textures/icons/VoicePTT_Lvl2.png create mode 100644 indra/newview/skins/gold/textures/icons/VoicePTT_Lvl3.png create mode 100644 indra/newview/skins/gold/textures/icons/VoicePTT_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/VoicePTT_On.png create mode 100644 indra/newview/skins/gold/textures/icons/Web_Profile_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/YouAreHere_Badge.png create mode 100644 indra/newview/skins/gold/textures/icons/Zoom_Off.png create mode 100644 indra/newview/skins/gold/textures/icons/add_icon.png create mode 100644 indra/newview/skins/gold/textures/icons/back_arrow_off.png create mode 100644 indra/newview/skins/gold/textures/icons/back_arrow_over.png create mode 100644 indra/newview/skins/gold/textures/icons/back_arrow_press.png create mode 100755 indra/newview/skins/gold/textures/icons/check_mark.png create mode 100644 indra/newview/skins/gold/textures/icons/collapse_to_one_line.png create mode 100644 indra/newview/skins/gold/textures/icons/copy_clipboard.png create mode 100644 indra/newview/skins/gold/textures/icons/delete_icon.png create mode 100644 indra/newview/skins/gold/textures/icons/edit_mine.png create mode 100644 indra/newview/skins/gold/textures/icons/edit_theirs.png create mode 100644 indra/newview/skins/gold/textures/icons/emoji_picker_icon.png create mode 100644 indra/newview/skins/gold/textures/icons/expand_one_liner.png create mode 100644 indra/newview/skins/gold/textures/icons/file_upload.png create mode 100644 indra/newview/skins/gold/textures/icons/hand.png create mode 100644 indra/newview/skins/gold/textures/icons/map_placeholder.png create mode 100644 indra/newview/skins/gold/textures/icons/multi_folder_mode.png create mode 100644 indra/newview/skins/gold/textures/icons/nearby_chat_icon.png create mode 100644 indra/newview/skins/gold/textures/icons/object_icon.png create mode 100644 indra/newview/skins/gold/textures/icons/paste_clipboard.png create mode 100644 indra/newview/skins/gold/textures/icons/pop_up_caution.png create mode 100644 indra/newview/skins/gold/textures/icons/profile_badge_beta.png create mode 100644 indra/newview/skins/gold/textures/icons/profile_badge_beta_lifetime.png create mode 100644 indra/newview/skins/gold/textures/icons/profile_badge_lifetime.png create mode 100644 indra/newview/skins/gold/textures/icons/profile_badge_linden.png create mode 100644 indra/newview/skins/gold/textures/icons/profile_badge_pplus_lifetime.png create mode 100644 indra/newview/skins/gold/textures/icons/profile_badge_premium_lifetime.png create mode 100644 indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_off.png create mode 100644 indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_off_pressed.png create mode 100644 indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_on.png create mode 100644 indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_on_pressed.png create mode 100644 indra/newview/skins/gold/textures/icons/remove_icon.png create mode 100644 indra/newview/skins/gold/textures/icons/see_me_online.png create mode 100644 indra/newview/skins/gold/textures/icons/see_on_map.png create mode 100644 indra/newview/skins/gold/textures/icons/see_them_on_map.png create mode 100644 indra/newview/skins/gold/textures/icons/see_them_online.png create mode 100644 indra/newview/skins/gold/textures/icons/single_folder_back.png create mode 100644 indra/newview/skins/gold/textures/icons/single_folder_forward.png create mode 100644 indra/newview/skins/gold/textures/icons/single_folder_mode.png create mode 100644 indra/newview/skins/gold/textures/icons/single_folder_up.png create mode 100644 indra/newview/skins/gold/textures/icons/snapshot_icon.png create mode 100644 indra/newview/skins/gold/textures/icons/texture_icon.png create mode 100644 indra/newview/skins/gold/textures/icons/thumbnail_fallback_icon.png create mode 100644 indra/newview/skins/gold/textures/icons/unknown_icon.png create mode 100644 indra/newview/skins/gold/textures/jump_left_in.tga create mode 100644 indra/newview/skins/gold/textures/jump_left_out.tga create mode 100644 indra/newview/skins/gold/textures/jump_right_in.tga create mode 100644 indra/newview/skins/gold/textures/jump_right_out.tga create mode 100644 indra/newview/skins/gold/textures/lag_status_critical.tga create mode 100644 indra/newview/skins/gold/textures/lag_status_good.tga create mode 100644 indra/newview/skins/gold/textures/lag_status_warning.tga create mode 100644 indra/newview/skins/gold/textures/legend.tga create mode 100644 indra/newview/skins/gold/textures/locked_image.j2c create mode 100644 indra/newview/skins/gold/textures/map_avatar_16.tga create mode 100644 indra/newview/skins/gold/textures/map_avatar_32.tga create mode 100644 indra/newview/skins/gold/textures/map_avatar_8.tga create mode 100644 indra/newview/skins/gold/textures/map_avatar_above_32.tga create mode 100644 indra/newview/skins/gold/textures/map_avatar_below_32.tga create mode 100644 indra/newview/skins/gold/textures/map_avatar_unknown_32.tga create mode 100644 indra/newview/skins/gold/textures/map_avatar_you_32.tga create mode 100644 indra/newview/skins/gold/textures/map_event.tga create mode 100644 indra/newview/skins/gold/textures/map_home.tga create mode 100644 indra/newview/skins/gold/textures/map_infohub.tga create mode 100644 indra/newview/skins/gold/textures/map_telehub.tga create mode 100644 indra/newview/skins/gold/textures/map_track_16.tga create mode 100644 indra/newview/skins/gold/textures/map_ui_collapse_icon.png create mode 100644 indra/newview/skins/gold/textures/map_ui_expand_icon.png create mode 100644 indra/newview/skins/gold/textures/materials_ui_x_24.png create mode 100644 indra/newview/skins/gold/textures/megapahit/icon_group.png create mode 100644 indra/newview/skins/gold/textures/megapahit/icon_land_auction.png create mode 100644 indra/newview/skins/gold/textures/megapahit/icon_land_forsale.png create mode 100644 indra/newview/skins/gold/textures/megapahit/icon_place.png create mode 100644 indra/newview/skins/gold/textures/menu_separator.png create mode 100644 indra/newview/skins/gold/textures/missing_asset.tga create mode 100644 indra/newview/skins/gold/textures/model_wizard/progress_bar_bg.png create mode 100755 indra/newview/skins/gold/textures/model_wizard/progress_light.png create mode 100644 indra/newview/skins/gold/textures/navbar/Arrow_Left_Off.png create mode 100644 indra/newview/skins/gold/textures/navbar/Arrow_Right_Off.png create mode 100755 indra/newview/skins/gold/textures/navbar/BuyArrow_Off.png create mode 100755 indra/newview/skins/gold/textures/navbar/BuyArrow_Over.png create mode 100755 indra/newview/skins/gold/textures/navbar/BuyArrow_Press.png create mode 100644 indra/newview/skins/gold/textures/navbar/Favorite_Link_Over.png create mode 100644 indra/newview/skins/gold/textures/navbar/Favorite_Star_Active.png create mode 100644 indra/newview/skins/gold/textures/navbar/Favorite_Star_Off.png create mode 100644 indra/newview/skins/gold/textures/navbar/Favorite_Star_Over.png create mode 100644 indra/newview/skins/gold/textures/navbar/Favorite_Star_Press.png create mode 100644 indra/newview/skins/gold/textures/navbar/FileMenu_Divider.png create mode 100644 indra/newview/skins/gold/textures/navbar/Flag.png create mode 100644 indra/newview/skins/gold/textures/navbar/Help_Press.png create mode 100644 indra/newview/skins/gold/textures/navbar/Home_Off.png create mode 100644 indra/newview/skins/gold/textures/navbar/Info_Off.png create mode 100644 indra/newview/skins/gold/textures/navbar/Info_Over.png create mode 100644 indra/newview/skins/gold/textures/navbar/Info_Press.png create mode 100644 indra/newview/skins/gold/textures/navbar/Landmarks.png create mode 100644 indra/newview/skins/gold/textures/navbar/Lock.png create mode 100644 indra/newview/skins/gold/textures/navbar/NavBar_BG.png create mode 100644 indra/newview/skins/gold/textures/navbar/NavBar_BG_NoFav_Bevel.png create mode 100644 indra/newview/skins/gold/textures/navbar/NavBar_BG_NoNav_Bevel.png create mode 100644 indra/newview/skins/gold/textures/navbar/Row_Selection.png create mode 100644 indra/newview/skins/gold/textures/navbar/Search.png create mode 100644 indra/newview/skins/gold/textures/navbar/separator.png create mode 100644 indra/newview/skins/gold/textures/notify_caution_icon.tga create mode 100644 indra/newview/skins/gold/textures/pixiesmall.j2c create mode 100644 indra/newview/skins/gold/textures/red_x.png create mode 100644 indra/newview/skins/gold/textures/rounded_square.j2c create mode 100644 indra/newview/skins/gold/textures/script_error.j2c create mode 100644 indra/newview/skins/gold/textures/silhouette.j2c create mode 100644 indra/newview/skins/gold/textures/slim_icon_16_viewer.tga create mode 100644 indra/newview/skins/gold/textures/snapshot_download.png create mode 100644 indra/newview/skins/gold/textures/snapshot_email.png create mode 100644 indra/newview/skins/gold/textures/spacer24.tga create mode 100644 indra/newview/skins/gold/textures/tabarea.tga create mode 100644 indra/newview/skins/gold/textures/taskpanel/Activate_Checkmark.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Dock_Press.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Undock_Press.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/TabIcon_Close_Off.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/TabIcon_Home_Selected.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/TabIcon_Me_Off.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/TabIcon_Open_Off.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/TabIcon_People_Off.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/TabIcon_Places_Off.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/TabIcon_Things_Off.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/TaskPanel_Tab_Off.png create mode 100644 indra/newview/skins/gold/textures/taskpanel/TaskPanel_Tab_Selected.png create mode 100644 indra/newview/skins/gold/textures/tearoff_pressed.tga create mode 100644 indra/newview/skins/gold/textures/tearoffbox.tga create mode 100644 indra/newview/skins/gold/textures/textures.xml create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/360_capture.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/appearance.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/avatars.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/build.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/caret_bottom.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/caret_left.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/caret_right.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/chat.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/destinations.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/environments.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/facebook.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/favorite_folder.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/flickr.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/gestures.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/grid_status.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/highlighting.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/highlighting_selected.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/howto.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/inventory.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/land.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/map.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/marketplace.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/mini_cart.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/mini_map.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/mktlistings.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/move.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/nearbyvoice.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/outbox.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/people.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/performance.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/picks.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/places.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/preferences.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/profile.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/report_abuse.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/resync_animations.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/search.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/snapshot.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/speak.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/twitter.png create mode 100644 indra/newview/skins/gold/textures/toolbar_icons/view.png create mode 100644 indra/newview/skins/gold/textures/transparent.j2c create mode 100644 indra/newview/skins/gold/textures/up_arrow.png create mode 100644 indra/newview/skins/gold/textures/uv_test1.j2c create mode 100644 indra/newview/skins/gold/textures/uv_test2.tga create mode 100644 indra/newview/skins/gold/textures/voice_meter_dot.j2c create mode 100644 indra/newview/skins/gold/textures/voice_meter_rings.j2c create mode 100644 indra/newview/skins/gold/textures/white.tga create mode 100644 indra/newview/skins/gold/textures/widgets/Arrow_Down.png create mode 100644 indra/newview/skins/gold/textures/widgets/Arrow_Left.png create mode 100644 indra/newview/skins/gold/textures/widgets/Arrow_Right.png create mode 100644 indra/newview/skins/gold/textures/widgets/Arrow_Small_Down.png create mode 100644 indra/newview/skins/gold/textures/widgets/Arrow_Small_Left.png create mode 100644 indra/newview/skins/gold/textures/widgets/Arrow_Small_Right.png create mode 100644 indra/newview/skins/gold/textures/widgets/Arrow_Small_Up.png create mode 100644 indra/newview/skins/gold/textures/widgets/Arrow_Up.png create mode 100644 indra/newview/skins/gold/textures/widgets/Badge_Background.png create mode 100644 indra/newview/skins/gold/textures/widgets/Badge_Border.png create mode 100644 indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Disabled.png create mode 100755 indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Off.png create mode 100755 indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Over.png create mode 100755 indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Disabled.png create mode 100755 indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Off.png create mode 100755 indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Over.png create mode 100755 indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Over.png create mode 100644 indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/Checkbox_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/Checkbox_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/Checkbox_On.png create mode 100644 indra/newview/skins/gold/textures/widgets/Checkbox_On_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/Checkbox_On_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/Checkbox_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/ComboButton_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/ComboButton_Hover.png create mode 100644 indra/newview/skins/gold/textures/widgets/ComboButton_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/ComboButton_On.png create mode 100644 indra/newview/skins/gold/textures/widgets/ComboButton_Selected.png create mode 100644 indra/newview/skins/gold/textures/widgets/ComboButton_UpOff.png create mode 100644 indra/newview/skins/gold/textures/widgets/ComboButton_UpSelected.png create mode 100644 indra/newview/skins/gold/textures/widgets/DisclosureArrow_Opened_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/DropDown_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/DropDown_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/DropDown_On.png create mode 100644 indra/newview/skins/gold/textures/widgets/DropDown_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/DropTarget.png create mode 100644 indra/newview/skins/gold/textures/widgets/Error_Tag_Background.png create mode 100644 indra/newview/skins/gold/textures/widgets/Linden_Dollar_Alert.png create mode 100644 indra/newview/skins/gold/textures/widgets/Linden_Dollar_Background.png create mode 100644 indra/newview/skins/gold/textures/widgets/ListItem_Over.png create mode 100644 indra/newview/skins/gold/textures/widgets/ListItem_Select.png create mode 100644 indra/newview/skins/gold/textures/widgets/MarketplaceBtn_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/MarketplaceBtn_Selected.png create mode 100644 indra/newview/skins/gold/textures/widgets/Marketplace_Dropzone_Background.png create mode 100644 indra/newview/skins/gold/textures/widgets/New_Tag_Background.png create mode 100644 indra/newview/skins/gold/textures/widgets/New_Tag_Border.png create mode 100644 indra/newview/skins/gold/textures/widgets/ProgressBar.png create mode 100644 indra/newview/skins/gold/textures/widgets/ProgressBarSolid.png create mode 100644 indra/newview/skins/gold/textures/widgets/ProgressTrack.png create mode 100644 indra/newview/skins/gold/textures/widgets/PushButton_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/PushButton_Login.png create mode 100644 indra/newview/skins/gold/textures/widgets/PushButton_Login_Over.png create mode 100644 indra/newview/skins/gold/textures/widgets/PushButton_Login_Pressed.png create mode 100644 indra/newview/skins/gold/textures/widgets/PushButton_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/PushButton_On.png create mode 100644 indra/newview/skins/gold/textures/widgets/PushButton_On_Selected.png create mode 100644 indra/newview/skins/gold/textures/widgets/PushButton_Over.png create mode 100644 indra/newview/skins/gold/textures/widgets/PushButton_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/PushButton_Selected.png create mode 100644 indra/newview/skins/gold/textures/widgets/PushButton_Selected_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/PushButton_Selected_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/RadioButton_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/RadioButton_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/RadioButton_On.png create mode 100644 indra/newview/skins/gold/textures/widgets/RadioButton_On_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/RadioButton_On_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/RadioButton_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollArrow_Down.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollArrow_Down_Opaque.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollArrow_Down_Over_Opaque.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollArrow_Left.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollArrow_Left_Opaque.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollArrow_Left_Over_Opaque.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollArrow_Right.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollArrow_Right_Opaque.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollArrow_Right_Over_Opaque.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollArrow_Up.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollArrow_Up_Opaque.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollArrow_Up_Over_Opaque.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollThumb_Horiz.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollThumb_Vert.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollTrack_Horiz.png create mode 100644 indra/newview/skins/gold/textures/widgets/ScrollTrack_Vert.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Over.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected_Over.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Selected.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Selected_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_On_Selected.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Over.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Selected.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Selected_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/SliderThumb_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/SliderThumb_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/SliderThumb_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/SliderTrack_Horiz.png create mode 100644 indra/newview/skins/gold/textures/widgets/SliderTrack_Vert.png create mode 100644 indra/newview/skins/gold/textures/widgets/Stepper_Down_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/Stepper_Down_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/Stepper_Up_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/Stepper_Up_Press.png create mode 100644 indra/newview/skins/gold/textures/widgets/TextField_Active.png create mode 100644 indra/newview/skins/gold/textures/widgets/TextField_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/TextField_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/TextField_Search_Active.png create mode 100644 indra/newview/skins/gold/textures/widgets/TextField_Search_Disabled.png create mode 100644 indra/newview/skins/gold/textures/widgets/TextField_Search_Highlight.png create mode 100644 indra/newview/skins/gold/textures/widgets/TextField_Search_Off.png create mode 100644 indra/newview/skins/gold/textures/widgets/Tooltip.png create mode 100644 indra/newview/skins/gold/textures/widgets/bevel_background.png create mode 100644 indra/newview/skins/gold/textures/widgets/buy_off.png create mode 100644 indra/newview/skins/gold/textures/widgets/buy_over.png create mode 100644 indra/newview/skins/gold/textures/widgets/buy_press.png create mode 100644 indra/newview/skins/gold/textures/widgets/horizontal_drag_handle.png create mode 100644 indra/newview/skins/gold/textures/widgets/jump_left_in.png create mode 100644 indra/newview/skins/gold/textures/widgets/jump_left_out.png create mode 100644 indra/newview/skins/gold/textures/widgets/jump_right_in.png create mode 100644 indra/newview/skins/gold/textures/widgets/jump_right_out.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_moon_back.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_moon_front.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_rotate_bottom.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_rotate_bottom_active.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_rotate_left_side.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_rotate_left_side_active.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_rotate_right_side.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_rotate_right_side_active.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_rotate_top.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_rotate_top_active.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_sphere.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_sun_back.png create mode 100644 indra/newview/skins/gold/textures/widgets/track_control_sun_front.png create mode 100644 indra/newview/skins/gold/textures/widgets/vertical_drag_handle.png create mode 100644 indra/newview/skins/gold/textures/windows/Dragbar.png create mode 100644 indra/newview/skins/gold/textures/windows/Flyout_Left.png create mode 100644 indra/newview/skins/gold/textures/windows/Flyout_Pointer.png create mode 100644 indra/newview/skins/gold/textures/windows/Flyout_Right.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Close_Foreground.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Close_Press.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Close_Toast.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Dock_Foreground.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Dock_Press.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Gear.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Gear_Background.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Gear_Foreground.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Gear_Press.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Help_Foreground.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Help_Press.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Minimize_Foreground.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Minimize_Press.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Restore_Foreground.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Restore_Press.png create mode 100644 indra/newview/skins/gold/textures/windows/Icon_Undock_Foreground.png create mode 100644 indra/newview/skins/gold/textures/windows/Inspector_Background.png create mode 100644 indra/newview/skins/gold/textures/windows/Inspector_Hover.png create mode 100644 indra/newview/skins/gold/textures/windows/Inspector_I.png create mode 100644 indra/newview/skins/gold/textures/windows/Resize_Corner.png create mode 100644 indra/newview/skins/gold/textures/windows/Toast_Background.png create mode 100644 indra/newview/skins/gold/textures/windows/Toast_CloseBtn.png create mode 100644 indra/newview/skins/gold/textures/windows/Toast_Over.png create mode 100644 indra/newview/skins/gold/textures/windows/Volume_Background.png create mode 100644 indra/newview/skins/gold/textures/windows/Wearables_Divider.png create mode 100644 indra/newview/skins/gold/textures/windows/Window_Background.png create mode 100644 indra/newview/skins/gold/textures/windows/Window_Foreground.png create mode 100644 indra/newview/skins/gold/textures/windows/add_payment_image_center.png create mode 100644 indra/newview/skins/gold/textures/windows/add_payment_image_left.png create mode 100644 indra/newview/skins/gold/textures/windows/add_payment_image_right.png create mode 100644 indra/newview/skins/gold/textures/windows/first_login_image.jpg create mode 100644 indra/newview/skins/gold/textures/windows/hint_arrow_down.png create mode 100644 indra/newview/skins/gold/textures/windows/hint_arrow_left.png create mode 100644 indra/newview/skins/gold/textures/windows/hint_arrow_lower_left.png create mode 100644 indra/newview/skins/gold/textures/windows/hint_arrow_right.png create mode 100644 indra/newview/skins/gold/textures/windows/hint_arrow_up.png create mode 100644 indra/newview/skins/gold/textures/windows/hint_background.png create mode 100644 indra/newview/skins/gold/textures/windows/login_mp_logo.png create mode 100644 indra/newview/skins/gold/textures/windows/login_mp_logo_small.png create mode 100644 indra/newview/skins/gold/textures/windows/login_sl_logo.png create mode 100644 indra/newview/skins/gold/textures/windows/login_sl_logo_small.png create mode 100644 indra/newview/skins/gold/textures/windows/startup_logo.png create mode 100644 indra/newview/skins/gold/textures/windows/yellow_gradient.png create mode 100644 indra/newview/skins/gold/textures/world/BeaconArrow.png create mode 100644 indra/newview/skins/gold/textures/world/CameraDragDot.png create mode 100644 indra/newview/skins/gold/textures/world/NoEntryLines.png create mode 100644 indra/newview/skins/gold/textures/world/NoEntryPassLines.png diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index 00ca6e3bb0..55ec658767 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -590,7 +590,7 @@ --> + value="0.101 0.101 0.101 0.6" /> diff --git a/indra/newview/skins/default/textures/navbar/Info_Off.png b/indra/newview/skins/default/textures/navbar/Info_Off.png index 64722255a3..6399cd6715 100644 Binary files a/indra/newview/skins/default/textures/navbar/Info_Off.png and b/indra/newview/skins/default/textures/navbar/Info_Off.png differ diff --git a/indra/newview/skins/default/textures/navbar/Info_Over.png b/indra/newview/skins/default/textures/navbar/Info_Over.png index 84f1d03129..a296d2014f 100644 Binary files a/indra/newview/skins/default/textures/navbar/Info_Over.png and b/indra/newview/skins/default/textures/navbar/Info_Over.png differ diff --git a/indra/newview/skins/default/textures/navbar/Info_Press.png b/indra/newview/skins/default/textures/navbar/Info_Press.png index 169105829e..2afc4a9143 100644 Binary files a/indra/newview/skins/default/textures/navbar/Info_Press.png and b/indra/newview/skins/default/textures/navbar/Info_Press.png differ diff --git a/indra/newview/skins/default/xui/en/panel_preferences_colors.xml b/indra/newview/skins/default/xui/en/panel_preferences_colors.xml index fb8a4763cb..6fd6c81217 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_colors.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_colors.xml @@ -520,13 +520,22 @@ left="0" value="default" width="75" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/indra/newview/skins/gold/textures/3p_icons/fmod_logo.png b/indra/newview/skins/gold/textures/3p_icons/fmod_logo.png new file mode 100644 index 0000000000..5a50e0ad34 Binary files /dev/null and b/indra/newview/skins/gold/textures/3p_icons/fmod_logo.png differ diff --git a/indra/newview/skins/gold/textures/3p_icons/havok_logo.png b/indra/newview/skins/gold/textures/3p_icons/havok_logo.png new file mode 100644 index 0000000000..ff1ea3a72e Binary files /dev/null and b/indra/newview/skins/gold/textures/3p_icons/havok_logo.png differ diff --git a/indra/newview/skins/gold/textures/Blank.png b/indra/newview/skins/gold/textures/Blank.png new file mode 100644 index 0000000000..f38e9f9100 Binary files /dev/null and b/indra/newview/skins/gold/textures/Blank.png differ diff --git a/indra/newview/skins/gold/textures/Rounded_Rect.png b/indra/newview/skins/gold/textures/Rounded_Rect.png new file mode 100644 index 0000000000..c270c28039 Binary files /dev/null and b/indra/newview/skins/gold/textures/Rounded_Rect.png differ diff --git a/indra/newview/skins/gold/textures/alpha_gradient.tga b/indra/newview/skins/gold/textures/alpha_gradient.tga new file mode 100644 index 0000000000..6fdba25d4e Binary files /dev/null and b/indra/newview/skins/gold/textures/alpha_gradient.tga differ diff --git a/indra/newview/skins/gold/textures/alpha_gradient_2d.j2c b/indra/newview/skins/gold/textures/alpha_gradient_2d.j2c new file mode 100644 index 0000000000..5de5a80a65 Binary files /dev/null and b/indra/newview/skins/gold/textures/alpha_gradient_2d.j2c differ diff --git a/indra/newview/skins/gold/textures/arrow_down.tga b/indra/newview/skins/gold/textures/arrow_down.tga new file mode 100644 index 0000000000..81dc9d3b6c Binary files /dev/null and b/indra/newview/skins/gold/textures/arrow_down.tga differ diff --git a/indra/newview/skins/gold/textures/arrow_up.tga b/indra/newview/skins/gold/textures/arrow_up.tga new file mode 100644 index 0000000000..22195cf7fb Binary files /dev/null and b/indra/newview/skins/gold/textures/arrow_up.tga differ diff --git a/indra/newview/skins/gold/textures/avatar_thumb_bkgrnd.png b/indra/newview/skins/gold/textures/avatar_thumb_bkgrnd.png new file mode 100644 index 0000000000..84cc2159c1 Binary files /dev/null and b/indra/newview/skins/gold/textures/avatar_thumb_bkgrnd.png differ diff --git a/indra/newview/skins/gold/textures/badge_note.j2c b/indra/newview/skins/gold/textures/badge_note.j2c new file mode 100644 index 0000000000..1ab5233faf Binary files /dev/null and b/indra/newview/skins/gold/textures/badge_note.j2c differ diff --git a/indra/newview/skins/gold/textures/badge_ok.j2c b/indra/newview/skins/gold/textures/badge_ok.j2c new file mode 100644 index 0000000000..f85b880f1d Binary files /dev/null and b/indra/newview/skins/gold/textures/badge_ok.j2c differ diff --git a/indra/newview/skins/gold/textures/badge_warn.j2c b/indra/newview/skins/gold/textures/badge_warn.j2c new file mode 100644 index 0000000000..26437ca426 Binary files /dev/null and b/indra/newview/skins/gold/textures/badge_warn.j2c differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Avatar_Off.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Avatar_Off.png new file mode 100644 index 0000000000..6b725e153a Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Avatar_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_FreeCam_Off.png b/indra/newview/skins/gold/textures/bottomtray/Cam_FreeCam_Off.png new file mode 100644 index 0000000000..9f22080d13 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_FreeCam_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Orbit_Off.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Orbit_Off.png new file mode 100644 index 0000000000..5b2a8eb339 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Orbit_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Pan_Off.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Pan_Off.png new file mode 100644 index 0000000000..9acf7053d5 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Pan_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Back_Off.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Back_Off.png new file mode 100644 index 0000000000..00158a7bc2 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Back_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Back_On.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Back_On.png new file mode 100644 index 0000000000..3748f5e190 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Back_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Eye_Off.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Eye_Off.png new file mode 100644 index 0000000000..2b50986780 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Eye_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Front_Off.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Front_Off.png new file mode 100644 index 0000000000..c49b8f9a27 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Front_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Front_On.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Front_On.png new file mode 100644 index 0000000000..bc8c4db04d Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Front_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Side_Off.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Side_Off.png new file mode 100644 index 0000000000..b919a0a152 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Side_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Side_On.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Side_On.png new file mode 100644 index 0000000000..de9da359a0 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Preset_Side_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Rotate_Center.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Rotate_Center.png new file mode 100644 index 0000000000..0f1d1936f0 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Rotate_Center.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Rotate_In.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Rotate_In.png new file mode 100644 index 0000000000..60d88e9316 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Rotate_In.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Rotate_Out.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Rotate_Out.png new file mode 100644 index 0000000000..cc4e6f99ff Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Rotate_Out.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Tracking_Center.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Tracking_Center.png new file mode 100644 index 0000000000..fca4041b56 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Tracking_Center.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Tracking_In.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Tracking_In.png new file mode 100644 index 0000000000..d2ede098e4 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Tracking_In.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Cam_Tracking_Out.png b/indra/newview/skins/gold/textures/bottomtray/Cam_Tracking_Out.png new file mode 100644 index 0000000000..cffead1703 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Cam_Tracking_Out.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/ChatBarHandle.png b/indra/newview/skins/gold/textures/bottomtray/ChatBarHandle.png new file mode 100644 index 0000000000..50239c8af8 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/ChatBarHandle.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/DownArrow.png b/indra/newview/skins/gold/textures/bottomtray/DownArrow.png new file mode 100644 index 0000000000..82f58b22b9 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/DownArrow.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Mouselook_View_Off.png b/indra/newview/skins/gold/textures/bottomtray/Mouselook_View_Off.png new file mode 100644 index 0000000000..8d32cad95f Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Mouselook_View_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Mouselook_View_On.png b/indra/newview/skins/gold/textures/bottomtray/Mouselook_View_On.png new file mode 100644 index 0000000000..4c98e35868 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Mouselook_View_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Move_Fly_Off.png b/indra/newview/skins/gold/textures/bottomtray/Move_Fly_Off.png new file mode 100644 index 0000000000..fade065ce7 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Move_Fly_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Move_Run_Off.png b/indra/newview/skins/gold/textures/bottomtray/Move_Run_Off.png new file mode 100644 index 0000000000..e2eb38e12d Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Move_Run_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Move_Walk_Off.png b/indra/newview/skins/gold/textures/bottomtray/Move_Walk_Off.png new file mode 100644 index 0000000000..f314d4e001 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Move_Walk_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_Backward_Off.png b/indra/newview/skins/gold/textures/bottomtray/Movement_Backward_Off.png new file mode 100644 index 0000000000..4dddc2b391 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_Backward_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_Backward_On.png b/indra/newview/skins/gold/textures/bottomtray/Movement_Backward_On.png new file mode 100644 index 0000000000..a2ac8bd8c6 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_Backward_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_Down_Off.png b/indra/newview/skins/gold/textures/bottomtray/Movement_Down_Off.png new file mode 100644 index 0000000000..2893c9a9f1 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_Down_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_Down_On.png b/indra/newview/skins/gold/textures/bottomtray/Movement_Down_On.png new file mode 100644 index 0000000000..0cb73798b3 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_Down_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_Forward_Off.png b/indra/newview/skins/gold/textures/bottomtray/Movement_Forward_Off.png new file mode 100644 index 0000000000..80d227b6a7 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_Forward_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_Forward_On.png b/indra/newview/skins/gold/textures/bottomtray/Movement_Forward_On.png new file mode 100644 index 0000000000..2ee906cd6a Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_Forward_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_Left_Off.png b/indra/newview/skins/gold/textures/bottomtray/Movement_Left_Off.png new file mode 100644 index 0000000000..3602efa9d9 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_Left_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_Left_On.png b/indra/newview/skins/gold/textures/bottomtray/Movement_Left_On.png new file mode 100644 index 0000000000..6e7975818e Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_Left_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_Right_Off.png b/indra/newview/skins/gold/textures/bottomtray/Movement_Right_Off.png new file mode 100644 index 0000000000..9c3fc37dfe Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_Right_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_Right_On.png b/indra/newview/skins/gold/textures/bottomtray/Movement_Right_On.png new file mode 100644 index 0000000000..fe9bab6c17 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_Right_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_TurnLeft_Off.png b/indra/newview/skins/gold/textures/bottomtray/Movement_TurnLeft_Off.png new file mode 100644 index 0000000000..282e8d62de Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_TurnLeft_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_TurnLeft_On.png b/indra/newview/skins/gold/textures/bottomtray/Movement_TurnLeft_On.png new file mode 100644 index 0000000000..329bd5b042 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_TurnLeft_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_TurnRight_Off.png b/indra/newview/skins/gold/textures/bottomtray/Movement_TurnRight_Off.png new file mode 100644 index 0000000000..5039e57c32 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_TurnRight_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_TurnRight_On.png b/indra/newview/skins/gold/textures/bottomtray/Movement_TurnRight_On.png new file mode 100644 index 0000000000..5654d44bfa Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_TurnRight_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_Up_Off.png b/indra/newview/skins/gold/textures/bottomtray/Movement_Up_Off.png new file mode 100644 index 0000000000..a49c43c2cf Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_Up_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Movement_Up_On.png b/indra/newview/skins/gold/textures/bottomtray/Movement_Up_On.png new file mode 100644 index 0000000000..bc205d592c Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Movement_Up_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Notices_Unread.png b/indra/newview/skins/gold/textures/bottomtray/Notices_Unread.png new file mode 100644 index 0000000000..eb2f3dbaa4 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Notices_Unread.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Object_View_Off.png b/indra/newview/skins/gold/textures/bottomtray/Object_View_Off.png new file mode 100644 index 0000000000..e9dea7e17e Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Object_View_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Object_View_On.png b/indra/newview/skins/gold/textures/bottomtray/Object_View_On.png new file mode 100644 index 0000000000..7a348ba22e Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Object_View_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/PanOrbit_Off.png b/indra/newview/skins/gold/textures/bottomtray/PanOrbit_Off.png new file mode 100644 index 0000000000..53efa3a9a9 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/PanOrbit_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Snapshot_Off.png b/indra/newview/skins/gold/textures/bottomtray/Snapshot_Off.png new file mode 100644 index 0000000000..4ab4bbe4af Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Snapshot_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/Unread_Chiclet.png b/indra/newview/skins/gold/textures/bottomtray/Unread_Chiclet.png new file mode 100644 index 0000000000..e8fe243dc7 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/Unread_Chiclet.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/VoicePTT_Lvl1.png b/indra/newview/skins/gold/textures/bottomtray/VoicePTT_Lvl1.png new file mode 100644 index 0000000000..438b4912f8 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/VoicePTT_Lvl1.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/VoicePTT_Lvl2.png b/indra/newview/skins/gold/textures/bottomtray/VoicePTT_Lvl2.png new file mode 100644 index 0000000000..693adc4781 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/VoicePTT_Lvl2.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/VoicePTT_Lvl3.png b/indra/newview/skins/gold/textures/bottomtray/VoicePTT_Lvl3.png new file mode 100644 index 0000000000..14ec77b99a Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/VoicePTT_Lvl3.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/VoicePTT_Off.png b/indra/newview/skins/gold/textures/bottomtray/VoicePTT_Off.png new file mode 100644 index 0000000000..48be51e9af Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/VoicePTT_Off.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/VoicePTT_On.png b/indra/newview/skins/gold/textures/bottomtray/VoicePTT_On.png new file mode 100644 index 0000000000..818b34d40f Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/VoicePTT_On.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/WellButton_Lit.png b/indra/newview/skins/gold/textures/bottomtray/WellButton_Lit.png new file mode 100644 index 0000000000..84711ddc29 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/WellButton_Lit.png differ diff --git a/indra/newview/skins/gold/textures/bottomtray/WellButton_Lit_Selected.png b/indra/newview/skins/gold/textures/bottomtray/WellButton_Lit_Selected.png new file mode 100644 index 0000000000..9b9468c574 Binary files /dev/null and b/indra/newview/skins/gold/textures/bottomtray/WellButton_Lit_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Cone.png b/indra/newview/skins/gold/textures/build/Object_Cone.png new file mode 100644 index 0000000000..5167f1a820 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Cone.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Cone_Selected.png b/indra/newview/skins/gold/textures/build/Object_Cone_Selected.png new file mode 100644 index 0000000000..0f04cb2f28 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Cone_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Cube.png b/indra/newview/skins/gold/textures/build/Object_Cube.png new file mode 100644 index 0000000000..e82af1ca82 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Cube.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Cube_Selected.png b/indra/newview/skins/gold/textures/build/Object_Cube_Selected.png new file mode 100644 index 0000000000..2a10237771 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Cube_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Cylinder.png b/indra/newview/skins/gold/textures/build/Object_Cylinder.png new file mode 100644 index 0000000000..fe1041d4c7 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Cylinder.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Cylinder_Selected.png b/indra/newview/skins/gold/textures/build/Object_Cylinder_Selected.png new file mode 100644 index 0000000000..ee6db5d64e Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Cylinder_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Grass.png b/indra/newview/skins/gold/textures/build/Object_Grass.png new file mode 100644 index 0000000000..a88efd5f3e Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Grass.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Grass_Selected.png b/indra/newview/skins/gold/textures/build/Object_Grass_Selected.png new file mode 100644 index 0000000000..37f35f9339 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Grass_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Hemi_Cone.png b/indra/newview/skins/gold/textures/build/Object_Hemi_Cone.png new file mode 100644 index 0000000000..595f64d480 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Hemi_Cone.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Hemi_Cone_Selected.png b/indra/newview/skins/gold/textures/build/Object_Hemi_Cone_Selected.png new file mode 100644 index 0000000000..ad6ba66bed Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Hemi_Cone_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Hemi_Cylinder.png b/indra/newview/skins/gold/textures/build/Object_Hemi_Cylinder.png new file mode 100644 index 0000000000..dd41d56fb3 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Hemi_Cylinder.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Hemi_Cylinder_Selected.png b/indra/newview/skins/gold/textures/build/Object_Hemi_Cylinder_Selected.png new file mode 100644 index 0000000000..03a47494f5 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Hemi_Cylinder_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Hemi_Sphere.png b/indra/newview/skins/gold/textures/build/Object_Hemi_Sphere.png new file mode 100644 index 0000000000..1489630624 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Hemi_Sphere.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Hemi_Sphere_Selected.png b/indra/newview/skins/gold/textures/build/Object_Hemi_Sphere_Selected.png new file mode 100644 index 0000000000..daefae7389 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Hemi_Sphere_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Prism.png b/indra/newview/skins/gold/textures/build/Object_Prism.png new file mode 100644 index 0000000000..51c6c161a0 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Prism.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Prism_Selected.png b/indra/newview/skins/gold/textures/build/Object_Prism_Selected.png new file mode 100644 index 0000000000..73470c7af9 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Prism_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Pyramid.png b/indra/newview/skins/gold/textures/build/Object_Pyramid.png new file mode 100644 index 0000000000..a147b59553 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Pyramid.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Pyramid_Selected.png b/indra/newview/skins/gold/textures/build/Object_Pyramid_Selected.png new file mode 100644 index 0000000000..361c915231 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Pyramid_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Ring.png b/indra/newview/skins/gold/textures/build/Object_Ring.png new file mode 100644 index 0000000000..a9790fd60c Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Ring.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Ring_Selected.png b/indra/newview/skins/gold/textures/build/Object_Ring_Selected.png new file mode 100644 index 0000000000..49b76d137e Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Ring_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Sphere.png b/indra/newview/skins/gold/textures/build/Object_Sphere.png new file mode 100644 index 0000000000..8e2dd92a82 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Sphere.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Sphere_Selected.png b/indra/newview/skins/gold/textures/build/Object_Sphere_Selected.png new file mode 100644 index 0000000000..473b90e867 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Sphere_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Tetrahedron.png b/indra/newview/skins/gold/textures/build/Object_Tetrahedron.png new file mode 100644 index 0000000000..23e22b1796 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Tetrahedron.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Tetrahedron_Selected.png b/indra/newview/skins/gold/textures/build/Object_Tetrahedron_Selected.png new file mode 100644 index 0000000000..20278c8f6d Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Tetrahedron_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Torus.png b/indra/newview/skins/gold/textures/build/Object_Torus.png new file mode 100644 index 0000000000..15c62423a9 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Torus.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Torus_Selected.png b/indra/newview/skins/gold/textures/build/Object_Torus_Selected.png new file mode 100644 index 0000000000..e6cad859fd Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Torus_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Tree.png b/indra/newview/skins/gold/textures/build/Object_Tree.png new file mode 100644 index 0000000000..82c422419b Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Tree.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Tree_Selected.png b/indra/newview/skins/gold/textures/build/Object_Tree_Selected.png new file mode 100644 index 0000000000..52b4f535f8 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Tree_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Tube.png b/indra/newview/skins/gold/textures/build/Object_Tube.png new file mode 100644 index 0000000000..e47fce7511 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Tube.png differ diff --git a/indra/newview/skins/gold/textures/build/Object_Tube_Selected.png b/indra/newview/skins/gold/textures/build/Object_Tube_Selected.png new file mode 100644 index 0000000000..4469814e1a Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Object_Tube_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Tool_Create.png b/indra/newview/skins/gold/textures/build/Tool_Create.png new file mode 100755 index 0000000000..1f1097def5 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Tool_Create.png differ diff --git a/indra/newview/skins/gold/textures/build/Tool_Create_Selected.png b/indra/newview/skins/gold/textures/build/Tool_Create_Selected.png new file mode 100755 index 0000000000..48db281d27 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Tool_Create_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Tool_Dozer.png b/indra/newview/skins/gold/textures/build/Tool_Dozer.png new file mode 100755 index 0000000000..61744666f4 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Tool_Dozer.png differ diff --git a/indra/newview/skins/gold/textures/build/Tool_Dozer_Selected.png b/indra/newview/skins/gold/textures/build/Tool_Dozer_Selected.png new file mode 100755 index 0000000000..0b44fca939 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Tool_Dozer_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Tool_Face.png b/indra/newview/skins/gold/textures/build/Tool_Face.png new file mode 100755 index 0000000000..5ab42a4ad6 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Tool_Face.png differ diff --git a/indra/newview/skins/gold/textures/build/Tool_Face_Selected.png b/indra/newview/skins/gold/textures/build/Tool_Face_Selected.png new file mode 100755 index 0000000000..5fd649a577 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Tool_Face_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Tool_Grab.png b/indra/newview/skins/gold/textures/build/Tool_Grab.png new file mode 100755 index 0000000000..5c58288d5e Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Tool_Grab.png differ diff --git a/indra/newview/skins/gold/textures/build/Tool_Grab_Selected.png b/indra/newview/skins/gold/textures/build/Tool_Grab_Selected.png new file mode 100755 index 0000000000..664f6914a6 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Tool_Grab_Selected.png differ diff --git a/indra/newview/skins/gold/textures/build/Tool_Zoom.png b/indra/newview/skins/gold/textures/build/Tool_Zoom.png new file mode 100755 index 0000000000..ad493b0d66 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Tool_Zoom.png differ diff --git a/indra/newview/skins/gold/textures/build/Tool_Zoom_Selected.png b/indra/newview/skins/gold/textures/build/Tool_Zoom_Selected.png new file mode 100755 index 0000000000..e503c09d74 Binary files /dev/null and b/indra/newview/skins/gold/textures/build/Tool_Zoom_Selected.png differ diff --git a/indra/newview/skins/gold/textures/button_anim_pause.tga b/indra/newview/skins/gold/textures/button_anim_pause.tga new file mode 100644 index 0000000000..577f9195d0 Binary files /dev/null and b/indra/newview/skins/gold/textures/button_anim_pause.tga differ diff --git a/indra/newview/skins/gold/textures/button_anim_pause_selected.tga b/indra/newview/skins/gold/textures/button_anim_pause_selected.tga new file mode 100644 index 0000000000..21384316a8 Binary files /dev/null and b/indra/newview/skins/gold/textures/button_anim_pause_selected.tga differ diff --git a/indra/newview/skins/gold/textures/button_anim_play.tga b/indra/newview/skins/gold/textures/button_anim_play.tga new file mode 100644 index 0000000000..9ed55f829d Binary files /dev/null and b/indra/newview/skins/gold/textures/button_anim_play.tga differ diff --git a/indra/newview/skins/gold/textures/button_anim_play_selected.tga b/indra/newview/skins/gold/textures/button_anim_play_selected.tga new file mode 100644 index 0000000000..b166a4178d Binary files /dev/null and b/indra/newview/skins/gold/textures/button_anim_play_selected.tga differ diff --git a/indra/newview/skins/gold/textures/checker.png b/indra/newview/skins/gold/textures/checker.png new file mode 100644 index 0000000000..1ab87e3f02 Binary files /dev/null and b/indra/newview/skins/gold/textures/checker.png differ diff --git a/indra/newview/skins/gold/textures/cloud-particle.png b/indra/newview/skins/gold/textures/cloud-particle.png new file mode 100644 index 0000000000..f2080ddb9f Binary files /dev/null and b/indra/newview/skins/gold/textures/cloud-particle.png differ diff --git a/indra/newview/skins/gold/textures/color_swatch_alpha.tga b/indra/newview/skins/gold/textures/color_swatch_alpha.tga new file mode 100644 index 0000000000..814a004e62 Binary files /dev/null and b/indra/newview/skins/gold/textures/color_swatch_alpha.tga differ diff --git a/indra/newview/skins/gold/textures/containers/Accordion_ArrowClosed_Off.png b/indra/newview/skins/gold/textures/containers/Accordion_ArrowClosed_Off.png new file mode 100644 index 0000000000..19c842b816 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Accordion_ArrowClosed_Off.png differ diff --git a/indra/newview/skins/gold/textures/containers/Accordion_ArrowClosed_Press.png b/indra/newview/skins/gold/textures/containers/Accordion_ArrowClosed_Press.png new file mode 100644 index 0000000000..b9879dcc8a Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Accordion_ArrowClosed_Press.png differ diff --git a/indra/newview/skins/gold/textures/containers/Accordion_ArrowOpened_Off.png b/indra/newview/skins/gold/textures/containers/Accordion_ArrowOpened_Off.png new file mode 100644 index 0000000000..d506cda5c9 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Accordion_ArrowOpened_Off.png differ diff --git a/indra/newview/skins/gold/textures/containers/Accordion_ArrowOpened_Press.png b/indra/newview/skins/gold/textures/containers/Accordion_ArrowOpened_Press.png new file mode 100644 index 0000000000..08f7493a02 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Accordion_ArrowOpened_Press.png differ diff --git a/indra/newview/skins/gold/textures/containers/Accordion_Off.png b/indra/newview/skins/gold/textures/containers/Accordion_Off.png new file mode 100644 index 0000000000..414f4509c6 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Accordion_Off.png differ diff --git a/indra/newview/skins/gold/textures/containers/Accordion_Over.png b/indra/newview/skins/gold/textures/containers/Accordion_Over.png new file mode 100644 index 0000000000..5416d73310 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Accordion_Over.png differ diff --git a/indra/newview/skins/gold/textures/containers/Accordion_Press.png b/indra/newview/skins/gold/textures/containers/Accordion_Press.png new file mode 100644 index 0000000000..1578e0dfc5 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Accordion_Press.png differ diff --git a/indra/newview/skins/gold/textures/containers/Accordion_Selected.png b/indra/newview/skins/gold/textures/containers/Accordion_Selected.png new file mode 100644 index 0000000000..2222954332 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Accordion_Selected.png differ diff --git a/indra/newview/skins/gold/textures/containers/Container.png b/indra/newview/skins/gold/textures/containers/Container.png new file mode 100644 index 0000000000..511eb94386 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Container.png differ diff --git a/indra/newview/skins/gold/textures/containers/TabTop_Left_Off.png b/indra/newview/skins/gold/textures/containers/TabTop_Left_Off.png new file mode 100644 index 0000000000..c5b232d9ab Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/TabTop_Left_Off.png differ diff --git a/indra/newview/skins/gold/textures/containers/TabTop_Left_Selected.png b/indra/newview/skins/gold/textures/containers/TabTop_Left_Selected.png new file mode 100644 index 0000000000..345caaab1b Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/TabTop_Left_Selected.png differ diff --git a/indra/newview/skins/gold/textures/containers/TabTop_Middle.png b/indra/newview/skins/gold/textures/containers/TabTop_Middle.png new file mode 100644 index 0000000000..a558943a9d Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/TabTop_Middle.png differ diff --git a/indra/newview/skins/gold/textures/containers/TabTop_Middle_Off.png b/indra/newview/skins/gold/textures/containers/TabTop_Middle_Off.png new file mode 100644 index 0000000000..be624ab273 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/TabTop_Middle_Off.png differ diff --git a/indra/newview/skins/gold/textures/containers/TabTop_Middle_Selected.png b/indra/newview/skins/gold/textures/containers/TabTop_Middle_Selected.png new file mode 100644 index 0000000000..a9a358645a Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/TabTop_Middle_Selected.png differ diff --git a/indra/newview/skins/gold/textures/containers/TabTop_Right_Flashing.png b/indra/newview/skins/gold/textures/containers/TabTop_Right_Flashing.png new file mode 100644 index 0000000000..fd13bb699d Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/TabTop_Right_Flashing.png differ diff --git a/indra/newview/skins/gold/textures/containers/TabTop_Right_Off.png b/indra/newview/skins/gold/textures/containers/TabTop_Right_Off.png new file mode 100644 index 0000000000..db28e9e13a Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/TabTop_Right_Off.png differ diff --git a/indra/newview/skins/gold/textures/containers/TabTop_Right_Selected.png b/indra/newview/skins/gold/textures/containers/TabTop_Right_Selected.png new file mode 100644 index 0000000000..9544f96984 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/TabTop_Right_Selected.png differ diff --git a/indra/newview/skins/gold/textures/containers/Toolbar_Left_Flash.png b/indra/newview/skins/gold/textures/containers/Toolbar_Left_Flash.png new file mode 100644 index 0000000000..9f1e2a469d Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Toolbar_Left_Flash.png differ diff --git a/indra/newview/skins/gold/textures/containers/Toolbar_Left_Off.png b/indra/newview/skins/gold/textures/containers/Toolbar_Left_Off.png new file mode 100644 index 0000000000..f347505772 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Toolbar_Left_Off.png differ diff --git a/indra/newview/skins/gold/textures/containers/Toolbar_Left_Over.png b/indra/newview/skins/gold/textures/containers/Toolbar_Left_Over.png new file mode 100644 index 0000000000..fd24e5b430 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Toolbar_Left_Over.png differ diff --git a/indra/newview/skins/gold/textures/containers/Toolbar_Left_Selected.png b/indra/newview/skins/gold/textures/containers/Toolbar_Left_Selected.png new file mode 100644 index 0000000000..9299b563cc Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Toolbar_Left_Selected.png differ diff --git a/indra/newview/skins/gold/textures/containers/Toolbar_Middle_Flash.png b/indra/newview/skins/gold/textures/containers/Toolbar_Middle_Flash.png new file mode 100644 index 0000000000..dd73d655e9 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Toolbar_Middle_Flash.png differ diff --git a/indra/newview/skins/gold/textures/containers/Toolbar_Middle_Off.png b/indra/newview/skins/gold/textures/containers/Toolbar_Middle_Off.png new file mode 100644 index 0000000000..cf30330f1c Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Toolbar_Middle_Off.png differ diff --git a/indra/newview/skins/gold/textures/containers/Toolbar_Middle_Over.png b/indra/newview/skins/gold/textures/containers/Toolbar_Middle_Over.png new file mode 100644 index 0000000000..6ac1ce3ffb Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Toolbar_Middle_Over.png differ diff --git a/indra/newview/skins/gold/textures/containers/Toolbar_Middle_Selected.png b/indra/newview/skins/gold/textures/containers/Toolbar_Middle_Selected.png new file mode 100644 index 0000000000..e921cf84e2 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Toolbar_Middle_Selected.png differ diff --git a/indra/newview/skins/gold/textures/containers/Toolbar_Right_Flash.png b/indra/newview/skins/gold/textures/containers/Toolbar_Right_Flash.png new file mode 100644 index 0000000000..f6b775c2a0 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Toolbar_Right_Flash.png differ diff --git a/indra/newview/skins/gold/textures/containers/Toolbar_Right_Off.png b/indra/newview/skins/gold/textures/containers/Toolbar_Right_Off.png new file mode 100644 index 0000000000..d4881e21d3 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Toolbar_Right_Off.png differ diff --git a/indra/newview/skins/gold/textures/containers/Toolbar_Right_Over.png b/indra/newview/skins/gold/textures/containers/Toolbar_Right_Over.png new file mode 100644 index 0000000000..bf2a72d6f4 Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Toolbar_Right_Over.png differ diff --git a/indra/newview/skins/gold/textures/containers/Toolbar_Right_Selected.png b/indra/newview/skins/gold/textures/containers/Toolbar_Right_Selected.png new file mode 100644 index 0000000000..69459ad8aa Binary files /dev/null and b/indra/newview/skins/gold/textures/containers/Toolbar_Right_Selected.png differ diff --git a/indra/newview/skins/gold/textures/crosshairs.tga b/indra/newview/skins/gold/textures/crosshairs.tga new file mode 100644 index 0000000000..ac4d63dc59 Binary files /dev/null and b/indra/newview/skins/gold/textures/crosshairs.tga differ diff --git a/indra/newview/skins/gold/textures/default_irradiance.png b/indra/newview/skins/gold/textures/default_irradiance.png new file mode 100644 index 0000000000..899e0ddf2a Binary files /dev/null and b/indra/newview/skins/gold/textures/default_irradiance.png differ diff --git a/indra/newview/skins/gold/textures/default_land_picture.j2c b/indra/newview/skins/gold/textures/default_land_picture.j2c new file mode 100644 index 0000000000..34df0291ae Binary files /dev/null and b/indra/newview/skins/gold/textures/default_land_picture.j2c differ diff --git a/indra/newview/skins/gold/textures/default_profile_picture.j2c b/indra/newview/skins/gold/textures/default_profile_picture.j2c new file mode 100644 index 0000000000..f21742cf09 Binary files /dev/null and b/indra/newview/skins/gold/textures/default_profile_picture.j2c differ diff --git a/indra/newview/skins/gold/textures/direction_arrow.tga b/indra/newview/skins/gold/textures/direction_arrow.tga new file mode 100644 index 0000000000..f3ef1068c4 Binary files /dev/null and b/indra/newview/skins/gold/textures/direction_arrow.tga differ diff --git a/indra/newview/skins/gold/textures/down_arrow.png b/indra/newview/skins/gold/textures/down_arrow.png new file mode 100644 index 0000000000..21a0fc5ec0 Binary files /dev/null and b/indra/newview/skins/gold/textures/down_arrow.png differ diff --git a/indra/newview/skins/gold/textures/eye_button_active.tga b/indra/newview/skins/gold/textures/eye_button_active.tga new file mode 100644 index 0000000000..014f785a7b Binary files /dev/null and b/indra/newview/skins/gold/textures/eye_button_active.tga differ diff --git a/indra/newview/skins/gold/textures/eye_button_inactive.tga b/indra/newview/skins/gold/textures/eye_button_inactive.tga new file mode 100644 index 0000000000..8666f0bbe6 Binary files /dev/null and b/indra/newview/skins/gold/textures/eye_button_inactive.tga differ diff --git a/indra/newview/skins/gold/textures/flatnormal.tga b/indra/newview/skins/gold/textures/flatnormal.tga new file mode 100644 index 0000000000..6d5abd1782 Binary files /dev/null and b/indra/newview/skins/gold/textures/flatnormal.tga differ diff --git a/indra/newview/skins/gold/textures/folder_arrow.tga b/indra/newview/skins/gold/textures/folder_arrow.tga new file mode 100644 index 0000000000..77d470731b Binary files /dev/null and b/indra/newview/skins/gold/textures/folder_arrow.tga differ diff --git a/indra/newview/skins/gold/textures/foot_shadow.j2c b/indra/newview/skins/gold/textures/foot_shadow.j2c new file mode 100644 index 0000000000..f9ce9da7d1 Binary files /dev/null and b/indra/newview/skins/gold/textures/foot_shadow.j2c differ diff --git a/indra/newview/skins/gold/textures/green_checkmark.png b/indra/newview/skins/gold/textures/green_checkmark.png new file mode 100644 index 0000000000..d2a5b348dc Binary files /dev/null and b/indra/newview/skins/gold/textures/green_checkmark.png differ diff --git a/indra/newview/skins/gold/textures/icn_media_movie.tga b/indra/newview/skins/gold/textures/icn_media_movie.tga new file mode 100644 index 0000000000..43dd342c9d Binary files /dev/null and b/indra/newview/skins/gold/textures/icn_media_movie.tga differ diff --git a/indra/newview/skins/gold/textures/icn_media_web.tga b/indra/newview/skins/gold/textures/icn_media_web.tga new file mode 100644 index 0000000000..7c9131dfff Binary files /dev/null and b/indra/newview/skins/gold/textures/icn_media_web.tga differ diff --git a/indra/newview/skins/gold/textures/icon_auction.tga b/indra/newview/skins/gold/textures/icon_auction.tga new file mode 100644 index 0000000000..baf7d0d000 Binary files /dev/null and b/indra/newview/skins/gold/textures/icon_auction.tga differ diff --git a/indra/newview/skins/gold/textures/icon_avatar_offline.tga b/indra/newview/skins/gold/textures/icon_avatar_offline.tga new file mode 100644 index 0000000000..cfa95eb00e Binary files /dev/null and b/indra/newview/skins/gold/textures/icon_avatar_offline.tga differ diff --git a/indra/newview/skins/gold/textures/icon_avatar_online.tga b/indra/newview/skins/gold/textures/icon_avatar_online.tga new file mode 100644 index 0000000000..45221213eb Binary files /dev/null and b/indra/newview/skins/gold/textures/icon_avatar_online.tga differ diff --git a/indra/newview/skins/gold/textures/icon_diurnal.tga b/indra/newview/skins/gold/textures/icon_diurnal.tga new file mode 100644 index 0000000000..fc720c8269 Binary files /dev/null and b/indra/newview/skins/gold/textures/icon_diurnal.tga differ diff --git a/indra/newview/skins/gold/textures/icon_for_sale_adult.tga b/indra/newview/skins/gold/textures/icon_for_sale_adult.tga new file mode 100644 index 0000000000..6a99188f87 Binary files /dev/null and b/indra/newview/skins/gold/textures/icon_for_sale_adult.tga differ diff --git a/indra/newview/skins/gold/textures/icon_group.tga b/indra/newview/skins/gold/textures/icon_group.tga new file mode 100644 index 0000000000..79cd71689d Binary files /dev/null and b/indra/newview/skins/gold/textures/icon_group.tga differ diff --git a/indra/newview/skins/gold/textures/icon_legacy_event.tga b/indra/newview/skins/gold/textures/icon_legacy_event.tga new file mode 100644 index 0000000000..7805dbce60 Binary files /dev/null and b/indra/newview/skins/gold/textures/icon_legacy_event.tga differ diff --git a/indra/newview/skins/gold/textures/icon_legacy_event_adult.tga b/indra/newview/skins/gold/textures/icon_legacy_event_adult.tga new file mode 100644 index 0000000000..c344fb1e78 Binary files /dev/null and b/indra/newview/skins/gold/textures/icon_legacy_event_adult.tga differ diff --git a/indra/newview/skins/gold/textures/icon_legacy_event_mature.tga b/indra/newview/skins/gold/textures/icon_legacy_event_mature.tga new file mode 100644 index 0000000000..61c879bc92 Binary files /dev/null and b/indra/newview/skins/gold/textures/icon_legacy_event_mature.tga differ diff --git a/indra/newview/skins/gold/textures/icon_place.tga b/indra/newview/skins/gold/textures/icon_place.tga new file mode 100644 index 0000000000..e10655c6ec Binary files /dev/null and b/indra/newview/skins/gold/textures/icon_place.tga differ diff --git a/indra/newview/skins/gold/textures/icon_top_pick.tga b/indra/newview/skins/gold/textures/icon_top_pick.tga new file mode 100644 index 0000000000..0b34882d2f Binary files /dev/null and b/indra/newview/skins/gold/textures/icon_top_pick.tga differ diff --git a/indra/newview/skins/gold/textures/icons/AddItem_Disabled.png b/indra/newview/skins/gold/textures/icons/AddItem_Disabled.png new file mode 100644 index 0000000000..d21b72b973 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/AddItem_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/AddItem_Off.png b/indra/newview/skins/gold/textures/icons/AddItem_Off.png new file mode 100644 index 0000000000..64108d133a Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/AddItem_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/AddItem_Press.png b/indra/newview/skins/gold/textures/icons/AddItem_Press.png new file mode 100644 index 0000000000..3168f51757 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/AddItem_Press.png differ diff --git a/indra/newview/skins/gold/textures/icons/AudioMute_Off.png b/indra/newview/skins/gold/textures/icons/AudioMute_Off.png new file mode 100644 index 0000000000..dd89920fae Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/AudioMute_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/AudioMute_Over.png b/indra/newview/skins/gold/textures/icons/AudioMute_Over.png new file mode 100644 index 0000000000..a4fbec4144 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/AudioMute_Over.png differ diff --git a/indra/newview/skins/gold/textures/icons/Audio_Off.png b/indra/newview/skins/gold/textures/icons/Audio_Off.png new file mode 100644 index 0000000000..4f6f5512c8 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Audio_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/Audio_Press.png b/indra/newview/skins/gold/textures/icons/Audio_Press.png new file mode 100644 index 0000000000..0268a0f9fb Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Audio_Press.png differ diff --git a/indra/newview/skins/gold/textures/icons/BackArrow_Off.png b/indra/newview/skins/gold/textures/icons/BackArrow_Off.png new file mode 100644 index 0000000000..3775690531 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/BackArrow_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/ClipboardMenu_Disabled.png b/indra/newview/skins/gold/textures/icons/ClipboardMenu_Disabled.png new file mode 100644 index 0000000000..c219ac4446 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ClipboardMenu_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/ClipboardMenu_Off.png b/indra/newview/skins/gold/textures/icons/ClipboardMenu_Off.png new file mode 100644 index 0000000000..586f577181 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ClipboardMenu_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/ClipboardMenu_Press.png b/indra/newview/skins/gold/textures/icons/ClipboardMenu_Press.png new file mode 100644 index 0000000000..697bee3bbd Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ClipboardMenu_Press.png differ diff --git a/indra/newview/skins/gold/textures/icons/ClipboardSmallMenu_Disabled.png b/indra/newview/skins/gold/textures/icons/ClipboardSmallMenu_Disabled.png new file mode 100644 index 0000000000..12cc1857d4 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ClipboardSmallMenu_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/ClipboardSmallMenu_Off.png b/indra/newview/skins/gold/textures/icons/ClipboardSmallMenu_Off.png new file mode 100644 index 0000000000..7b40e33e11 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ClipboardSmallMenu_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/ClipboardSmallMenu_Press.png b/indra/newview/skins/gold/textures/icons/ClipboardSmallMenu_Press.png new file mode 100644 index 0000000000..e030c44f01 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ClipboardSmallMenu_Press.png differ diff --git a/indra/newview/skins/gold/textures/icons/Conv_log_inbox.png b/indra/newview/skins/gold/textures/icons/Conv_log_inbox.png new file mode 100644 index 0000000000..f4bbdc059d Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Conv_log_inbox.png differ diff --git a/indra/newview/skins/gold/textures/icons/Conv_toolbar_add_person.png b/indra/newview/skins/gold/textures/icons/Conv_toolbar_add_person.png new file mode 100644 index 0000000000..acb3904e32 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Conv_toolbar_add_person.png differ diff --git a/indra/newview/skins/gold/textures/icons/Conv_toolbar_arrow_ne.png b/indra/newview/skins/gold/textures/icons/Conv_toolbar_arrow_ne.png new file mode 100644 index 0000000000..70dec7cad1 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Conv_toolbar_arrow_ne.png differ diff --git a/indra/newview/skins/gold/textures/icons/Conv_toolbar_arrow_sw.png b/indra/newview/skins/gold/textures/icons/Conv_toolbar_arrow_sw.png new file mode 100644 index 0000000000..13d424832b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Conv_toolbar_arrow_sw.png differ diff --git a/indra/newview/skins/gold/textures/icons/Conv_toolbar_call_log.png b/indra/newview/skins/gold/textures/icons/Conv_toolbar_call_log.png new file mode 100644 index 0000000000..1866dd965c Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Conv_toolbar_call_log.png differ diff --git a/indra/newview/skins/gold/textures/icons/Conv_toolbar_close.png b/indra/newview/skins/gold/textures/icons/Conv_toolbar_close.png new file mode 100644 index 0000000000..f4f2e2fd37 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Conv_toolbar_close.png differ diff --git a/indra/newview/skins/gold/textures/icons/Conv_toolbar_collapse.png b/indra/newview/skins/gold/textures/icons/Conv_toolbar_collapse.png new file mode 100644 index 0000000000..3c427a3cc5 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Conv_toolbar_collapse.png differ diff --git a/indra/newview/skins/gold/textures/icons/Conv_toolbar_expand.png b/indra/newview/skins/gold/textures/icons/Conv_toolbar_expand.png new file mode 100644 index 0000000000..6e8031b42c Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Conv_toolbar_expand.png differ diff --git a/indra/newview/skins/gold/textures/icons/Conv_toolbar_hang_up.png b/indra/newview/skins/gold/textures/icons/Conv_toolbar_hang_up.png new file mode 100644 index 0000000000..887a3b8335 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Conv_toolbar_hang_up.png differ diff --git a/indra/newview/skins/gold/textures/icons/Conv_toolbar_open_call.png b/indra/newview/skins/gold/textures/icons/Conv_toolbar_open_call.png new file mode 100644 index 0000000000..fc0da5a810 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Conv_toolbar_open_call.png differ diff --git a/indra/newview/skins/gold/textures/icons/Conv_toolbar_plus.png b/indra/newview/skins/gold/textures/icons/Conv_toolbar_plus.png new file mode 100644 index 0000000000..6d45dbbff6 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Conv_toolbar_plus.png differ diff --git a/indra/newview/skins/gold/textures/icons/Conv_toolbar_sort.png b/indra/newview/skins/gold/textures/icons/Conv_toolbar_sort.png new file mode 100644 index 0000000000..e3e5f49741 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Conv_toolbar_sort.png differ diff --git a/indra/newview/skins/gold/textures/icons/Copy.png b/indra/newview/skins/gold/textures/icons/Copy.png new file mode 100644 index 0000000000..8448e70385 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Copy.png differ diff --git a/indra/newview/skins/gold/textures/icons/CopyBright.png b/indra/newview/skins/gold/textures/icons/CopyBright.png new file mode 100644 index 0000000000..ac65d68e0b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/CopyBright.png differ diff --git a/indra/newview/skins/gold/textures/icons/Default_Outfit_Photo.png b/indra/newview/skins/gold/textures/icons/Default_Outfit_Photo.png new file mode 100644 index 0000000000..1113b4effe Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Default_Outfit_Photo.png differ diff --git a/indra/newview/skins/gold/textures/icons/DownArrow_Off.png b/indra/newview/skins/gold/textures/icons/DownArrow_Off.png new file mode 100644 index 0000000000..2e1e2964a0 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/DownArrow_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/Edit_Wrench.png b/indra/newview/skins/gold/textures/icons/Edit_Wrench.png new file mode 100644 index 0000000000..2b9ba9dc10 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Edit_Wrench.png differ diff --git a/indra/newview/skins/gold/textures/icons/ExternalBrowser_Off.png b/indra/newview/skins/gold/textures/icons/ExternalBrowser_Off.png new file mode 100644 index 0000000000..dc4532b5a1 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ExternalBrowser_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/Facebook.png b/indra/newview/skins/gold/textures/icons/Facebook.png new file mode 100644 index 0000000000..9e51e3ac7f Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Facebook.png differ diff --git a/indra/newview/skins/gold/textures/icons/Female.png b/indra/newview/skins/gold/textures/icons/Female.png new file mode 100644 index 0000000000..c9fef87b6e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Female.png differ diff --git a/indra/newview/skins/gold/textures/icons/ForSale_Badge.png b/indra/newview/skins/gold/textures/icons/ForSale_Badge.png new file mode 100644 index 0000000000..3b3a41c7c1 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ForSale_Badge.png differ diff --git a/indra/newview/skins/gold/textures/icons/ForwardArrow_Off.png b/indra/newview/skins/gold/textures/icons/ForwardArrow_Off.png new file mode 100644 index 0000000000..c33320cf6e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ForwardArrow_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/ForwardArrow_Press.png b/indra/newview/skins/gold/textures/icons/ForwardArrow_Press.png new file mode 100644 index 0000000000..86eb39c43a Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ForwardArrow_Press.png differ diff --git a/indra/newview/skins/gold/textures/icons/Generic_Group.png b/indra/newview/skins/gold/textures/icons/Generic_Group.png new file mode 100644 index 0000000000..e96b7fc992 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Generic_Group.png differ diff --git a/indra/newview/skins/gold/textures/icons/Generic_Group_Large.png b/indra/newview/skins/gold/textures/icons/Generic_Group_Large.png new file mode 100644 index 0000000000..9396819bfb Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Generic_Group_Large.png differ diff --git a/indra/newview/skins/gold/textures/icons/Generic_Object_Small.png b/indra/newview/skins/gold/textures/icons/Generic_Object_Small.png new file mode 100644 index 0000000000..142390e3f3 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Generic_Object_Small.png differ diff --git a/indra/newview/skins/gold/textures/icons/Generic_Person.png b/indra/newview/skins/gold/textures/icons/Generic_Person.png new file mode 100644 index 0000000000..162735d979 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Generic_Person.png differ diff --git a/indra/newview/skins/gold/textures/icons/Generic_Person_Large.png b/indra/newview/skins/gold/textures/icons/Generic_Person_Large.png new file mode 100644 index 0000000000..5be82418c1 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Generic_Person_Large.png differ diff --git a/indra/newview/skins/gold/textures/icons/Group_Notices.png b/indra/newview/skins/gold/textures/icons/Group_Notices.png new file mode 100644 index 0000000000..601502d374 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Group_Notices.png differ diff --git a/indra/newview/skins/gold/textures/icons/Hierarchy_View_Disabled.png b/indra/newview/skins/gold/textures/icons/Hierarchy_View_Disabled.png new file mode 100644 index 0000000000..6d8ea5fd93 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Hierarchy_View_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/Hierarchy_View_On.png b/indra/newview/skins/gold/textures/icons/Hierarchy_View_On.png new file mode 100644 index 0000000000..24f5210286 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Hierarchy_View_On.png differ diff --git a/indra/newview/skins/gold/textures/icons/Icon_Attachment_Large.png b/indra/newview/skins/gold/textures/icons/Icon_Attachment_Large.png new file mode 100644 index 0000000000..fb57265dac Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Icon_Attachment_Large.png differ diff --git a/indra/newview/skins/gold/textures/icons/Icon_Attachment_Small.png b/indra/newview/skins/gold/textures/icons/Icon_Attachment_Small.png new file mode 100644 index 0000000000..907113cbb7 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Icon_Attachment_Small.png differ diff --git a/indra/newview/skins/gold/textures/icons/Icon_Color_Palette.png b/indra/newview/skins/gold/textures/icons/Icon_Color_Palette.png new file mode 100644 index 0000000000..28906001ea Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Icon_Color_Palette.png differ diff --git a/indra/newview/skins/gold/textures/icons/Icon_Font_Size.png b/indra/newview/skins/gold/textures/icons/Icon_Font_Size.png new file mode 100644 index 0000000000..37bdde69aa Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Icon_Font_Size.png differ diff --git a/indra/newview/skins/gold/textures/icons/Icon_For_Sale.png b/indra/newview/skins/gold/textures/icons/Icon_For_Sale.png new file mode 100644 index 0000000000..57a376f1bf Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Icon_For_Sale.png differ diff --git a/indra/newview/skins/gold/textures/icons/Icon_Notification_Condense.png b/indra/newview/skins/gold/textures/icons/Icon_Notification_Condense.png new file mode 100644 index 0000000000..3a19e79f82 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Icon_Notification_Condense.png differ diff --git a/indra/newview/skins/gold/textures/icons/Icon_Notification_Expand.png b/indra/newview/skins/gold/textures/icons/Icon_Notification_Expand.png new file mode 100644 index 0000000000..f5331feb02 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Icon_Notification_Expand.png differ diff --git a/indra/newview/skins/gold/textures/icons/Info.png b/indra/newview/skins/gold/textures/icons/Info.png new file mode 100644 index 0000000000..e05a585f0b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Info.png differ diff --git a/indra/newview/skins/gold/textures/icons/Info_Over.png b/indra/newview/skins/gold/textures/icons/Info_Over.png new file mode 100644 index 0000000000..07b65ddf8b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Info_Over.png differ diff --git a/indra/newview/skins/gold/textures/icons/Info_Small.png b/indra/newview/skins/gold/textures/icons/Info_Small.png new file mode 100644 index 0000000000..c4ce13e132 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Info_Small.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Alpha.png b/indra/newview/skins/gold/textures/icons/Inv_Alpha.png new file mode 100644 index 0000000000..fdad36e2d3 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Alpha.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Animation.png b/indra/newview/skins/gold/textures/icons/Inv_Animation.png new file mode 100644 index 0000000000..6715c736e7 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Animation.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_BodyShape.png b/indra/newview/skins/gold/textures/icons/Inv_BodyShape.png new file mode 100644 index 0000000000..cb908a39fb Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_BodyShape.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_CallingCard.png b/indra/newview/skins/gold/textures/icons/Inv_CallingCard.png new file mode 100644 index 0000000000..ee87f8e595 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_CallingCard.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Clothing.png b/indra/newview/skins/gold/textures/icons/Inv_Clothing.png new file mode 100644 index 0000000000..430dca6b5e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Clothing.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Eye.png b/indra/newview/skins/gold/textures/icons/Inv_Eye.png new file mode 100644 index 0000000000..d715f135d3 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Eye.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_FolderClosed.png b/indra/newview/skins/gold/textures/icons/Inv_FolderClosed.png new file mode 100644 index 0000000000..ec99eaee9e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_FolderClosed.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_FolderOpen.png b/indra/newview/skins/gold/textures/icons/Inv_FolderOpen.png new file mode 100644 index 0000000000..615a6ec11b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_FolderOpen.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Gesture.png b/indra/newview/skins/gold/textures/icons/Inv_Gesture.png new file mode 100644 index 0000000000..9fee34915e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Gesture.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Gloves.png b/indra/newview/skins/gold/textures/icons/Inv_Gloves.png new file mode 100644 index 0000000000..aa151d5404 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Gloves.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Hair.png b/indra/newview/skins/gold/textures/icons/Inv_Hair.png new file mode 100644 index 0000000000..62b3ae81c2 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Hair.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Invalid.png b/indra/newview/skins/gold/textures/icons/Inv_Invalid.png new file mode 100644 index 0000000000..6ab5ba5217 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Invalid.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Jacket.png b/indra/newview/skins/gold/textures/icons/Inv_Jacket.png new file mode 100644 index 0000000000..26514f1c0f Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Jacket.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Landmark.png b/indra/newview/skins/gold/textures/icons/Inv_Landmark.png new file mode 100644 index 0000000000..338323fcee Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Landmark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Link.png b/indra/newview/skins/gold/textures/icons/Inv_Link.png new file mode 100644 index 0000000000..28c5f3635a Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Link.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_LinkFolder.png b/indra/newview/skins/gold/textures/icons/Inv_LinkFolder.png new file mode 100644 index 0000000000..7c43ed3a43 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_LinkFolder.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_LinkItem.png b/indra/newview/skins/gold/textures/icons/Inv_LinkItem.png new file mode 100644 index 0000000000..7c43ed3a43 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_LinkItem.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_LookFolderClosed.png b/indra/newview/skins/gold/textures/icons/Inv_LookFolderClosed.png new file mode 100644 index 0000000000..46f2038279 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_LookFolderClosed.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_LookFolderOpen.png b/indra/newview/skins/gold/textures/icons/Inv_LookFolderOpen.png new file mode 100644 index 0000000000..06a1b05983 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_LookFolderOpen.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_LostClosed.png b/indra/newview/skins/gold/textures/icons/Inv_LostClosed.png new file mode 100644 index 0000000000..fc9a2a2156 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_LostClosed.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_LostOpen.png b/indra/newview/skins/gold/textures/icons/Inv_LostOpen.png new file mode 100644 index 0000000000..b15dc3cfa3 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_LostOpen.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Material.png b/indra/newview/skins/gold/textures/icons/Inv_Material.png new file mode 100644 index 0000000000..5cbb4fc5c9 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Material.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Mesh.png b/indra/newview/skins/gold/textures/icons/Inv_Mesh.png new file mode 100644 index 0000000000..69217d1cdc Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Mesh.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Notecard.png b/indra/newview/skins/gold/textures/icons/Inv_Notecard.png new file mode 100644 index 0000000000..96f45bc55e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Notecard.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Object.png b/indra/newview/skins/gold/textures/icons/Inv_Object.png new file mode 100644 index 0000000000..fe6b201570 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Object.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Object_Multi.png b/indra/newview/skins/gold/textures/icons/Inv_Object_Multi.png new file mode 100644 index 0000000000..3793594059 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Object_Multi.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Pants.png b/indra/newview/skins/gold/textures/icons/Inv_Pants.png new file mode 100644 index 0000000000..5673bc29ed Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Pants.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Physics.png b/indra/newview/skins/gold/textures/icons/Inv_Physics.png new file mode 100644 index 0000000000..43bd082d8a Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Physics.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Script.png b/indra/newview/skins/gold/textures/icons/Inv_Script.png new file mode 100644 index 0000000000..68d2ac425f Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Script.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Settings.png b/indra/newview/skins/gold/textures/icons/Inv_Settings.png new file mode 100644 index 0000000000..ca6cf10314 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Settings.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_SettingsDay.png b/indra/newview/skins/gold/textures/icons/Inv_SettingsDay.png new file mode 100644 index 0000000000..d0c4b2cdcd Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_SettingsDay.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_SettingsSky.png b/indra/newview/skins/gold/textures/icons/Inv_SettingsSky.png new file mode 100644 index 0000000000..5332404d37 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_SettingsSky.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_SettingsWater.png b/indra/newview/skins/gold/textures/icons/Inv_SettingsWater.png new file mode 100644 index 0000000000..88ff803756 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_SettingsWater.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Shape.png b/indra/newview/skins/gold/textures/icons/Inv_Shape.png new file mode 100644 index 0000000000..e5db447b36 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Shape.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Shirt.png b/indra/newview/skins/gold/textures/icons/Inv_Shirt.png new file mode 100644 index 0000000000..ffabff9c6c Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Shirt.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Shoe.png b/indra/newview/skins/gold/textures/icons/Inv_Shoe.png new file mode 100644 index 0000000000..784d1d23a3 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Shoe.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Skin.png b/indra/newview/skins/gold/textures/icons/Inv_Skin.png new file mode 100644 index 0000000000..a232c5ac67 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Skin.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Skirt.png b/indra/newview/skins/gold/textures/icons/Inv_Skirt.png new file mode 100644 index 0000000000..5970f39b1b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Skirt.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Snapshot.png b/indra/newview/skins/gold/textures/icons/Inv_Snapshot.png new file mode 100644 index 0000000000..9eaca9e7ef Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Snapshot.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Socks.png b/indra/newview/skins/gold/textures/icons/Inv_Socks.png new file mode 100644 index 0000000000..95a3a68de6 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Socks.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Sound.png b/indra/newview/skins/gold/textures/icons/Inv_Sound.png new file mode 100644 index 0000000000..138d4c5c36 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Sound.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_StockFolderClosed.png b/indra/newview/skins/gold/textures/icons/Inv_StockFolderClosed.png new file mode 100644 index 0000000000..c3aae7c736 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_StockFolderClosed.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_StockFolderOpen.png b/indra/newview/skins/gold/textures/icons/Inv_StockFolderOpen.png new file mode 100644 index 0000000000..15fd8225fc Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_StockFolderOpen.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_SysClosed.png b/indra/newview/skins/gold/textures/icons/Inv_SysClosed.png new file mode 100644 index 0000000000..2550cae0d4 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_SysClosed.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_SysOpen.png b/indra/newview/skins/gold/textures/icons/Inv_SysOpen.png new file mode 100644 index 0000000000..5b56d86184 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_SysOpen.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Tattoo.png b/indra/newview/skins/gold/textures/icons/Inv_Tattoo.png new file mode 100644 index 0000000000..af5a780685 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Tattoo.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Texture.png b/indra/newview/skins/gold/textures/icons/Inv_Texture.png new file mode 100644 index 0000000000..168a97515a Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Texture.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Toolbar_SearchVisibility.png b/indra/newview/skins/gold/textures/icons/Inv_Toolbar_SearchVisibility.png new file mode 100644 index 0000000000..c4b186c3de Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Toolbar_SearchVisibility.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_TrashClosed.png b/indra/newview/skins/gold/textures/icons/Inv_TrashClosed.png new file mode 100644 index 0000000000..89f0caa5a2 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_TrashClosed.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_TrashOpen.png b/indra/newview/skins/gold/textures/icons/Inv_TrashOpen.png new file mode 100644 index 0000000000..d1f1eeaf42 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_TrashOpen.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Underpants.png b/indra/newview/skins/gold/textures/icons/Inv_Underpants.png new file mode 100644 index 0000000000..77f8e55270 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Underpants.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Undershirt.png b/indra/newview/skins/gold/textures/icons/Inv_Undershirt.png new file mode 100644 index 0000000000..477d76cf11 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Undershirt.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_Universal.png b/indra/newview/skins/gold/textures/icons/Inv_Universal.png new file mode 100644 index 0000000000..65b2f88f02 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_Universal.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_UnknownObject.png b/indra/newview/skins/gold/textures/icons/Inv_UnknownObject.png new file mode 100644 index 0000000000..603a6d7aaa Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_UnknownObject.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_VersionFolderClosed.png b/indra/newview/skins/gold/textures/icons/Inv_VersionFolderClosed.png new file mode 100644 index 0000000000..cd561d24ba Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_VersionFolderClosed.png differ diff --git a/indra/newview/skins/gold/textures/icons/Inv_VersionFolderOpen.png b/indra/newview/skins/gold/textures/icons/Inv_VersionFolderOpen.png new file mode 100644 index 0000000000..6dc9d451cc Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Inv_VersionFolderOpen.png differ diff --git a/indra/newview/skins/gold/textures/icons/List_View_Disabled.png b/indra/newview/skins/gold/textures/icons/List_View_Disabled.png new file mode 100644 index 0000000000..125034b0cb Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/List_View_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/List_View_On.png b/indra/newview/skins/gold/textures/icons/List_View_On.png new file mode 100644 index 0000000000..fcf77f004f Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/List_View_On.png differ diff --git a/indra/newview/skins/gold/textures/icons/Lock.png b/indra/newview/skins/gold/textures/icons/Lock.png new file mode 100644 index 0000000000..2db6ed0213 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Lock.png differ diff --git a/indra/newview/skins/gold/textures/icons/Locked_Icon.png b/indra/newview/skins/gold/textures/icons/Locked_Icon.png new file mode 100644 index 0000000000..4985af1be1 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Locked_Icon.png differ diff --git a/indra/newview/skins/gold/textures/icons/MP_Logo.png b/indra/newview/skins/gold/textures/icons/MP_Logo.png new file mode 100644 index 0000000000..6aba54189f Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/MP_Logo.png differ diff --git a/indra/newview/skins/gold/textures/icons/Male.png b/indra/newview/skins/gold/textures/icons/Male.png new file mode 100644 index 0000000000..803171f5c6 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Male.png differ diff --git a/indra/newview/skins/gold/textures/icons/Microphone_On.png b/indra/newview/skins/gold/textures/icons/Microphone_On.png new file mode 100644 index 0000000000..7a7d39d982 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Microphone_On.png differ diff --git a/indra/newview/skins/gold/textures/icons/MinusItem_Disabled.png b/indra/newview/skins/gold/textures/icons/MinusItem_Disabled.png new file mode 100644 index 0000000000..b62ed35182 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/MinusItem_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/MinusItem_Off.png b/indra/newview/skins/gold/textures/icons/MinusItem_Off.png new file mode 100644 index 0000000000..eb7b8838f7 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/MinusItem_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/MinusItem_Press.png b/indra/newview/skins/gold/textures/icons/MinusItem_Press.png new file mode 100644 index 0000000000..2dc6081cb0 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/MinusItem_Press.png differ diff --git a/indra/newview/skins/gold/textures/icons/MusicNote.png b/indra/newview/skins/gold/textures/icons/MusicNote.png new file mode 100644 index 0000000000..8d3534a94b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/MusicNote.png differ diff --git a/indra/newview/skins/gold/textures/icons/OptionsMenu_Disabled.png b/indra/newview/skins/gold/textures/icons/OptionsMenu_Disabled.png new file mode 100644 index 0000000000..5755315e23 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OptionsMenu_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/OptionsMenu_Off.png b/indra/newview/skins/gold/textures/icons/OptionsMenu_Off.png new file mode 100644 index 0000000000..2e9a5faa21 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OptionsMenu_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/OptionsMenu_Press.png b/indra/newview/skins/gold/textures/icons/OptionsMenu_Press.png new file mode 100644 index 0000000000..1b08648b51 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OptionsMenu_Press.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Disabled.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Disabled.png new file mode 100644 index 0000000000..1d2dbd6349 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Off.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Off.png new file mode 100644 index 0000000000..f8f3367c42 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_On.png b/indra/newview/skins/gold/textures/icons/OutboxPush_On.png new file mode 100644 index 0000000000..b1fd734100 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_On.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_On_Over.png b/indra/newview/skins/gold/textures/icons/OutboxPush_On_Over.png new file mode 100644 index 0000000000..e234400b72 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_On_Over.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Over.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Over.png new file mode 100644 index 0000000000..9e1b0e2dfc Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Over.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Press.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Press.png new file mode 100644 index 0000000000..14d9eacc52 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Press.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_1.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_1.png new file mode 100644 index 0000000000..85015fc913 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_1.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_2.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_2.png new file mode 100644 index 0000000000..6158242b68 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_2.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_3.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_3.png new file mode 100644 index 0000000000..7105380bff Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_3.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_4.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_4.png new file mode 100644 index 0000000000..0e65a60fc8 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_4.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_5.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_5.png new file mode 100644 index 0000000000..7acef05891 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_5.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_6.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_6.png new file mode 100644 index 0000000000..4f5b34a643 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Progress_6.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Selected.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Selected.png new file mode 100644 index 0000000000..d58826da67 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Selected.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Selected_Disabled.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Selected_Disabled.png new file mode 100644 index 0000000000..cad9f118b1 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Selected_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Selected_Over.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Selected_Over.png new file mode 100644 index 0000000000..65d914c6b3 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Selected_Over.png differ diff --git a/indra/newview/skins/gold/textures/icons/OutboxPush_Selected_Press.png b/indra/newview/skins/gold/textures/icons/OutboxPush_Selected_Press.png new file mode 100644 index 0000000000..cd50d41903 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/OutboxPush_Selected_Press.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_BuildNo_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_BuildNo_Dark.png new file mode 100644 index 0000000000..dd12d94ad2 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_BuildNo_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_BuildNo_Light.png b/indra/newview/skins/gold/textures/icons/Parcel_BuildNo_Light.png new file mode 100644 index 0000000000..4739c501ad Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_BuildNo_Light.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_Build_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_Build_Dark.png new file mode 100644 index 0000000000..9826491efd Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_Build_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_DamageNo_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_DamageNo_Dark.png new file mode 100644 index 0000000000..7634e5fab0 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_DamageNo_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_Damage_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_Damage_Dark.png new file mode 100644 index 0000000000..7ecd645df2 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_Damage_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_Exp_Color.png b/indra/newview/skins/gold/textures/icons/Parcel_Exp_Color.png new file mode 100644 index 0000000000..a1b0faa008 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_Exp_Color.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_FlyNo_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_FlyNo_Dark.png new file mode 100644 index 0000000000..831c25a34b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_FlyNo_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_FlyNo_Light.png b/indra/newview/skins/gold/textures/icons/Parcel_FlyNo_Light.png new file mode 100644 index 0000000000..be829fb5ef Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_FlyNo_Light.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_Fly_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_Fly_Dark.png new file mode 100644 index 0000000000..579bfe58f8 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_Fly_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_ForSale_Light.png b/indra/newview/skins/gold/textures/icons/Parcel_ForSale_Light.png new file mode 100644 index 0000000000..3f4ee0b482 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_ForSale_Light.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_Health_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_Health_Dark.png new file mode 100644 index 0000000000..98618de927 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_Health_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_M_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_M_Dark.png new file mode 100644 index 0000000000..ab5a1680a7 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_M_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_M_Light.png b/indra/newview/skins/gold/textures/icons/Parcel_M_Light.png new file mode 100644 index 0000000000..2db94e37c9 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_M_Light.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_PG_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_PG_Dark.png new file mode 100644 index 0000000000..e1f7613d04 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_PG_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_PG_Light.png b/indra/newview/skins/gold/textures/icons/Parcel_PG_Light.png new file mode 100644 index 0000000000..04d13027d2 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_PG_Light.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_PushNo_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_PushNo_Dark.png new file mode 100644 index 0000000000..2867004014 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_PushNo_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_PushNo_Light.png b/indra/newview/skins/gold/textures/icons/Parcel_PushNo_Light.png new file mode 100644 index 0000000000..a3a51973af Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_PushNo_Light.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_Push_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_Push_Dark.png new file mode 100644 index 0000000000..e8487ca092 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_Push_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_R_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_R_Dark.png new file mode 100644 index 0000000000..5c165c2fac Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_R_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_R_Light.png b/indra/newview/skins/gold/textures/icons/Parcel_R_Light.png new file mode 100644 index 0000000000..dbf43152b3 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_R_Light.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_ScriptsNo_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_ScriptsNo_Dark.png new file mode 100644 index 0000000000..bfc55fc403 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_ScriptsNo_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_Scripts_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_Scripts_Dark.png new file mode 100644 index 0000000000..3477e0654c Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_Scripts_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOff_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOff_Dark.png new file mode 100644 index 0000000000..eff089487e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOff_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOff_Light.png b/indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOff_Light.png new file mode 100644 index 0000000000..68f0b14d44 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOff_Light.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOn_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOn_Dark.png new file mode 100644 index 0000000000..200e04a59f Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOn_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOn_Light.png b/indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOn_Light.png new file mode 100644 index 0000000000..14cafc5bd2 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_SeeAVsOn_Light.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_VoiceNo_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_VoiceNo_Dark.png new file mode 100644 index 0000000000..ec316e822e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_VoiceNo_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_VoiceNo_Light.png b/indra/newview/skins/gold/textures/icons/Parcel_VoiceNo_Light.png new file mode 100644 index 0000000000..de3532a70b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_VoiceNo_Light.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_Voice_Dark.png b/indra/newview/skins/gold/textures/icons/Parcel_Voice_Dark.png new file mode 100644 index 0000000000..329620fa69 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_Voice_Dark.png differ diff --git a/indra/newview/skins/gold/textures/icons/Parcel_Voice_Light.png b/indra/newview/skins/gold/textures/icons/Parcel_Voice_Light.png new file mode 100644 index 0000000000..81e0fa7bc4 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Parcel_Voice_Light.png differ diff --git a/indra/newview/skins/gold/textures/icons/Pathfinding_Dirty.png b/indra/newview/skins/gold/textures/icons/Pathfinding_Dirty.png new file mode 100644 index 0000000000..d8fee0fef7 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Pathfinding_Dirty.png differ diff --git a/indra/newview/skins/gold/textures/icons/Pathfinding_Disabled.png b/indra/newview/skins/gold/textures/icons/Pathfinding_Disabled.png new file mode 100644 index 0000000000..ea2ad79611 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Pathfinding_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/Pause_Off.png b/indra/newview/skins/gold/textures/icons/Pause_Off.png new file mode 100644 index 0000000000..5d44412783 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Pause_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/Pause_Over.png b/indra/newview/skins/gold/textures/icons/Pause_Over.png new file mode 100644 index 0000000000..d1609a144b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Pause_Over.png differ diff --git a/indra/newview/skins/gold/textures/icons/Pause_Press.png b/indra/newview/skins/gold/textures/icons/Pause_Press.png new file mode 100644 index 0000000000..6b918d1ae6 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Pause_Press.png differ diff --git a/indra/newview/skins/gold/textures/icons/Permission_Ungranted.png b/indra/newview/skins/gold/textures/icons/Permission_Ungranted.png new file mode 100644 index 0000000000..d206af4433 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Permission_Ungranted.png differ diff --git a/indra/newview/skins/gold/textures/icons/Person_Check.png b/indra/newview/skins/gold/textures/icons/Person_Check.png new file mode 100644 index 0000000000..39a63a70cf Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Person_Check.png differ diff --git a/indra/newview/skins/gold/textures/icons/Person_Star.png b/indra/newview/skins/gold/textures/icons/Person_Star.png new file mode 100644 index 0000000000..c4e625b3c1 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Person_Star.png differ diff --git a/indra/newview/skins/gold/textures/icons/Play_Off.png b/indra/newview/skins/gold/textures/icons/Play_Off.png new file mode 100644 index 0000000000..dac2f2d6db Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Play_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/Play_Over.png b/indra/newview/skins/gold/textures/icons/Play_Over.png new file mode 100644 index 0000000000..1d261efcda Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Play_Over.png differ diff --git a/indra/newview/skins/gold/textures/icons/Play_Press.png b/indra/newview/skins/gold/textures/icons/Play_Press.png new file mode 100644 index 0000000000..f7251ce549 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Play_Press.png differ diff --git a/indra/newview/skins/gold/textures/icons/Presets_Icon.png b/indra/newview/skins/gold/textures/icons/Presets_Icon.png new file mode 100644 index 0000000000..13642e88d1 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Presets_Icon.png differ diff --git a/indra/newview/skins/gold/textures/icons/Presets_Icon_Graphic.png b/indra/newview/skins/gold/textures/icons/Presets_Icon_Graphic.png new file mode 100644 index 0000000000..96d1021f81 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Presets_Icon_Graphic.png differ diff --git a/indra/newview/skins/gold/textures/icons/Profile_Friend_Offline.png b/indra/newview/skins/gold/textures/icons/Profile_Friend_Offline.png new file mode 100644 index 0000000000..55d922cda7 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Profile_Friend_Offline.png differ diff --git a/indra/newview/skins/gold/textures/icons/Profile_Friend_Online.png b/indra/newview/skins/gold/textures/icons/Profile_Friend_Online.png new file mode 100644 index 0000000000..febe8e78fa Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Profile_Friend_Online.png differ diff --git a/indra/newview/skins/gold/textures/icons/Profile_Perm_Find_Disabled.png b/indra/newview/skins/gold/textures/icons/Profile_Perm_Find_Disabled.png new file mode 100644 index 0000000000..2632eb173b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Profile_Perm_Find_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/Profile_Perm_Find_Enabled.png b/indra/newview/skins/gold/textures/icons/Profile_Perm_Find_Enabled.png new file mode 100644 index 0000000000..fd8b152c12 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Profile_Perm_Find_Enabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/Profile_Perm_Objects_Disabled.png b/indra/newview/skins/gold/textures/icons/Profile_Perm_Objects_Disabled.png new file mode 100644 index 0000000000..cef3ec4e5a Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Profile_Perm_Objects_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/Profile_Perm_Objects_Enabled.png b/indra/newview/skins/gold/textures/icons/Profile_Perm_Objects_Enabled.png new file mode 100644 index 0000000000..5821566703 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Profile_Perm_Objects_Enabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/Profile_Perm_Online_Disabled.png b/indra/newview/skins/gold/textures/icons/Profile_Perm_Online_Disabled.png new file mode 100644 index 0000000000..ea1b55eca0 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Profile_Perm_Online_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/Profile_Perm_Online_Enabled.png b/indra/newview/skins/gold/textures/icons/Profile_Perm_Online_Enabled.png new file mode 100644 index 0000000000..eb3fc9e713 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Profile_Perm_Online_Enabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/ProgressLarge_1.png b/indra/newview/skins/gold/textures/icons/ProgressLarge_1.png new file mode 100644 index 0000000000..ff277fc431 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ProgressLarge_1.png differ diff --git a/indra/newview/skins/gold/textures/icons/ProgressLarge_10.png b/indra/newview/skins/gold/textures/icons/ProgressLarge_10.png new file mode 100644 index 0000000000..1c94e21d89 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ProgressLarge_10.png differ diff --git a/indra/newview/skins/gold/textures/icons/ProgressLarge_11.png b/indra/newview/skins/gold/textures/icons/ProgressLarge_11.png new file mode 100644 index 0000000000..89bea9b474 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ProgressLarge_11.png differ diff --git a/indra/newview/skins/gold/textures/icons/ProgressLarge_12.png b/indra/newview/skins/gold/textures/icons/ProgressLarge_12.png new file mode 100644 index 0000000000..da38475ba4 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ProgressLarge_12.png differ diff --git a/indra/newview/skins/gold/textures/icons/ProgressLarge_2.png b/indra/newview/skins/gold/textures/icons/ProgressLarge_2.png new file mode 100644 index 0000000000..c024275ebe Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ProgressLarge_2.png differ diff --git a/indra/newview/skins/gold/textures/icons/ProgressLarge_3.png b/indra/newview/skins/gold/textures/icons/ProgressLarge_3.png new file mode 100644 index 0000000000..87b931e72e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ProgressLarge_3.png differ diff --git a/indra/newview/skins/gold/textures/icons/ProgressLarge_4.png b/indra/newview/skins/gold/textures/icons/ProgressLarge_4.png new file mode 100644 index 0000000000..6dbef74361 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ProgressLarge_4.png differ diff --git a/indra/newview/skins/gold/textures/icons/ProgressLarge_5.png b/indra/newview/skins/gold/textures/icons/ProgressLarge_5.png new file mode 100644 index 0000000000..daccf9b375 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ProgressLarge_5.png differ diff --git a/indra/newview/skins/gold/textures/icons/ProgressLarge_6.png b/indra/newview/skins/gold/textures/icons/ProgressLarge_6.png new file mode 100644 index 0000000000..cafddcb88d Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ProgressLarge_6.png differ diff --git a/indra/newview/skins/gold/textures/icons/ProgressLarge_7.png b/indra/newview/skins/gold/textures/icons/ProgressLarge_7.png new file mode 100644 index 0000000000..8acf6472d4 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ProgressLarge_7.png differ diff --git a/indra/newview/skins/gold/textures/icons/ProgressLarge_8.png b/indra/newview/skins/gold/textures/icons/ProgressLarge_8.png new file mode 100644 index 0000000000..df0e825cef Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ProgressLarge_8.png differ diff --git a/indra/newview/skins/gold/textures/icons/ProgressLarge_9.png b/indra/newview/skins/gold/textures/icons/ProgressLarge_9.png new file mode 100644 index 0000000000..293a7b8f5c Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/ProgressLarge_9.png differ diff --git a/indra/newview/skins/gold/textures/icons/Progress_1.png b/indra/newview/skins/gold/textures/icons/Progress_1.png new file mode 100644 index 0000000000..bc7a1e7e96 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Progress_1.png differ diff --git a/indra/newview/skins/gold/textures/icons/Progress_10.png b/indra/newview/skins/gold/textures/icons/Progress_10.png new file mode 100644 index 0000000000..acf4d21aba Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Progress_10.png differ diff --git a/indra/newview/skins/gold/textures/icons/Progress_11.png b/indra/newview/skins/gold/textures/icons/Progress_11.png new file mode 100644 index 0000000000..1842cd09d0 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Progress_11.png differ diff --git a/indra/newview/skins/gold/textures/icons/Progress_12.png b/indra/newview/skins/gold/textures/icons/Progress_12.png new file mode 100644 index 0000000000..0ea9dda83e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Progress_12.png differ diff --git a/indra/newview/skins/gold/textures/icons/Progress_2.png b/indra/newview/skins/gold/textures/icons/Progress_2.png new file mode 100644 index 0000000000..29d6bbcbcb Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Progress_2.png differ diff --git a/indra/newview/skins/gold/textures/icons/Progress_3.png b/indra/newview/skins/gold/textures/icons/Progress_3.png new file mode 100644 index 0000000000..52a03125e9 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Progress_3.png differ diff --git a/indra/newview/skins/gold/textures/icons/Progress_4.png b/indra/newview/skins/gold/textures/icons/Progress_4.png new file mode 100644 index 0000000000..4b2798519f Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Progress_4.png differ diff --git a/indra/newview/skins/gold/textures/icons/Progress_5.png b/indra/newview/skins/gold/textures/icons/Progress_5.png new file mode 100644 index 0000000000..3f02b8f31a Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Progress_5.png differ diff --git a/indra/newview/skins/gold/textures/icons/Progress_6.png b/indra/newview/skins/gold/textures/icons/Progress_6.png new file mode 100644 index 0000000000..04c8f716d4 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Progress_6.png differ diff --git a/indra/newview/skins/gold/textures/icons/Progress_7.png b/indra/newview/skins/gold/textures/icons/Progress_7.png new file mode 100644 index 0000000000..c96b4c08d6 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Progress_7.png differ diff --git a/indra/newview/skins/gold/textures/icons/Progress_8.png b/indra/newview/skins/gold/textures/icons/Progress_8.png new file mode 100644 index 0000000000..9463f50707 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Progress_8.png differ diff --git a/indra/newview/skins/gold/textures/icons/Progress_9.png b/indra/newview/skins/gold/textures/icons/Progress_9.png new file mode 100644 index 0000000000..928a3e934e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Progress_9.png differ diff --git a/indra/newview/skins/gold/textures/icons/Refresh_Off.png b/indra/newview/skins/gold/textures/icons/Refresh_Off.png new file mode 100644 index 0000000000..e645a8159f Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Refresh_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/SL_Logo.png b/indra/newview/skins/gold/textures/icons/SL_Logo.png new file mode 100644 index 0000000000..5e376c72f9 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/SL_Logo.png differ diff --git a/indra/newview/skins/gold/textures/icons/Search_Icon.png b/indra/newview/skins/gold/textures/icons/Search_Icon.png new file mode 100644 index 0000000000..0ea7b14f81 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Search_Icon.png differ diff --git a/indra/newview/skins/gold/textures/icons/Shirt_Large.png b/indra/newview/skins/gold/textures/icons/Shirt_Large.png new file mode 100644 index 0000000000..06fce6bbaa Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Shirt_Large.png differ diff --git a/indra/newview/skins/gold/textures/icons/Shop.png b/indra/newview/skins/gold/textures/icons/Shop.png new file mode 100644 index 0000000000..93353cf2fe Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Shop.png differ diff --git a/indra/newview/skins/gold/textures/icons/SkipBackward_Off.png b/indra/newview/skins/gold/textures/icons/SkipBackward_Off.png new file mode 100644 index 0000000000..20fd2b8e22 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/SkipBackward_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/SkipForward_Off.png b/indra/newview/skins/gold/textures/icons/SkipForward_Off.png new file mode 100644 index 0000000000..30e28d3d31 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/SkipForward_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/StopReload_Off.png b/indra/newview/skins/gold/textures/icons/StopReload_Off.png new file mode 100644 index 0000000000..500a81d715 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/StopReload_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/StopReload_Over.png b/indra/newview/skins/gold/textures/icons/StopReload_Over.png new file mode 100644 index 0000000000..a065a37d14 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/StopReload_Over.png differ diff --git a/indra/newview/skins/gold/textures/icons/Stop_Off.png b/indra/newview/skins/gold/textures/icons/Stop_Off.png new file mode 100644 index 0000000000..2d00083e2e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Stop_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/Sync_Disabled.png b/indra/newview/skins/gold/textures/icons/Sync_Disabled.png new file mode 100644 index 0000000000..7b39e7cd6f Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Sync_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/Sync_Enabled.png b/indra/newview/skins/gold/textures/icons/Sync_Enabled.png new file mode 100644 index 0000000000..0e7e5157cb Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Sync_Enabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/Sync_Progress_1.png b/indra/newview/skins/gold/textures/icons/Sync_Progress_1.png new file mode 100644 index 0000000000..218edaa986 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Sync_Progress_1.png differ diff --git a/indra/newview/skins/gold/textures/icons/Sync_Progress_2.png b/indra/newview/skins/gold/textures/icons/Sync_Progress_2.png new file mode 100644 index 0000000000..23cb9d63c0 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Sync_Progress_2.png differ diff --git a/indra/newview/skins/gold/textures/icons/Sync_Progress_3.png b/indra/newview/skins/gold/textures/icons/Sync_Progress_3.png new file mode 100644 index 0000000000..490826011a Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Sync_Progress_3.png differ diff --git a/indra/newview/skins/gold/textures/icons/Sync_Progress_4.png b/indra/newview/skins/gold/textures/icons/Sync_Progress_4.png new file mode 100644 index 0000000000..de1c815e90 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Sync_Progress_4.png differ diff --git a/indra/newview/skins/gold/textures/icons/Sync_Progress_5.png b/indra/newview/skins/gold/textures/icons/Sync_Progress_5.png new file mode 100644 index 0000000000..2897b37382 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Sync_Progress_5.png differ diff --git a/indra/newview/skins/gold/textures/icons/Sync_Progress_6.png b/indra/newview/skins/gold/textures/icons/Sync_Progress_6.png new file mode 100644 index 0000000000..862410e9e4 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Sync_Progress_6.png differ diff --git a/indra/newview/skins/gold/textures/icons/System_Notification_Large.png b/indra/newview/skins/gold/textures/icons/System_Notification_Large.png new file mode 100644 index 0000000000..01c6e31f41 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/System_Notification_Large.png differ diff --git a/indra/newview/skins/gold/textures/icons/System_Notification_Small.png b/indra/newview/skins/gold/textures/icons/System_Notification_Small.png new file mode 100644 index 0000000000..69b823d852 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/System_Notification_Small.png differ diff --git a/indra/newview/skins/gold/textures/icons/TrashItem_Disabled.png b/indra/newview/skins/gold/textures/icons/TrashItem_Disabled.png new file mode 100644 index 0000000000..800d9434d2 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/TrashItem_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/icons/TrashItem_Off.png b/indra/newview/skins/gold/textures/icons/TrashItem_Off.png new file mode 100644 index 0000000000..0cbff4f1d7 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/TrashItem_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/TrashItem_Press.png b/indra/newview/skins/gold/textures/icons/TrashItem_Press.png new file mode 100644 index 0000000000..fac13226e7 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/TrashItem_Press.png differ diff --git a/indra/newview/skins/gold/textures/icons/UnZoom_Off.png b/indra/newview/skins/gold/textures/icons/UnZoom_Off.png new file mode 100644 index 0000000000..34ec3f5de8 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/UnZoom_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/UpArrow_Off.png b/indra/newview/skins/gold/textures/icons/UpArrow_Off.png new file mode 100644 index 0000000000..d5ddc353e7 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/UpArrow_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/Video_URL_Off.png b/indra/newview/skins/gold/textures/icons/Video_URL_Off.png new file mode 100644 index 0000000000..d37a189645 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Video_URL_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/VoiceMute_Off.png b/indra/newview/skins/gold/textures/icons/VoiceMute_Off.png new file mode 100644 index 0000000000..425ba267a5 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/VoiceMute_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/VoicePTT_Lvl1.png b/indra/newview/skins/gold/textures/icons/VoicePTT_Lvl1.png new file mode 100644 index 0000000000..cc3407b57d Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/VoicePTT_Lvl1.png differ diff --git a/indra/newview/skins/gold/textures/icons/VoicePTT_Lvl2.png b/indra/newview/skins/gold/textures/icons/VoicePTT_Lvl2.png new file mode 100644 index 0000000000..49f58d7cd0 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/VoicePTT_Lvl2.png differ diff --git a/indra/newview/skins/gold/textures/icons/VoicePTT_Lvl3.png b/indra/newview/skins/gold/textures/icons/VoicePTT_Lvl3.png new file mode 100644 index 0000000000..a4a171bd81 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/VoicePTT_Lvl3.png differ diff --git a/indra/newview/skins/gold/textures/icons/VoicePTT_Off.png b/indra/newview/skins/gold/textures/icons/VoicePTT_Off.png new file mode 100644 index 0000000000..533663a4fa Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/VoicePTT_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/VoicePTT_On.png b/indra/newview/skins/gold/textures/icons/VoicePTT_On.png new file mode 100644 index 0000000000..204c4a376e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/VoicePTT_On.png differ diff --git a/indra/newview/skins/gold/textures/icons/Web_Profile_Off.png b/indra/newview/skins/gold/textures/icons/Web_Profile_Off.png new file mode 100644 index 0000000000..cf8f9c8f94 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Web_Profile_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/YouAreHere_Badge.png b/indra/newview/skins/gold/textures/icons/YouAreHere_Badge.png new file mode 100644 index 0000000000..ed1805c096 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/YouAreHere_Badge.png differ diff --git a/indra/newview/skins/gold/textures/icons/Zoom_Off.png b/indra/newview/skins/gold/textures/icons/Zoom_Off.png new file mode 100644 index 0000000000..833e608201 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/Zoom_Off.png differ diff --git a/indra/newview/skins/gold/textures/icons/add_icon.png b/indra/newview/skins/gold/textures/icons/add_icon.png new file mode 100644 index 0000000000..b5b09ae6e0 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/add_icon.png differ diff --git a/indra/newview/skins/gold/textures/icons/back_arrow_off.png b/indra/newview/skins/gold/textures/icons/back_arrow_off.png new file mode 100644 index 0000000000..512d78669f Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/back_arrow_off.png differ diff --git a/indra/newview/skins/gold/textures/icons/back_arrow_over.png b/indra/newview/skins/gold/textures/icons/back_arrow_over.png new file mode 100644 index 0000000000..222cf067b2 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/back_arrow_over.png differ diff --git a/indra/newview/skins/gold/textures/icons/back_arrow_press.png b/indra/newview/skins/gold/textures/icons/back_arrow_press.png new file mode 100644 index 0000000000..bfa68d3a8a Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/back_arrow_press.png differ diff --git a/indra/newview/skins/gold/textures/icons/check_mark.png b/indra/newview/skins/gold/textures/icons/check_mark.png new file mode 100755 index 0000000000..3bc5665ee9 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/check_mark.png differ diff --git a/indra/newview/skins/gold/textures/icons/collapse_to_one_line.png b/indra/newview/skins/gold/textures/icons/collapse_to_one_line.png new file mode 100644 index 0000000000..3730924ad8 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/collapse_to_one_line.png differ diff --git a/indra/newview/skins/gold/textures/icons/copy_clipboard.png b/indra/newview/skins/gold/textures/icons/copy_clipboard.png new file mode 100644 index 0000000000..9ce67d8547 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/copy_clipboard.png differ diff --git a/indra/newview/skins/gold/textures/icons/delete_icon.png b/indra/newview/skins/gold/textures/icons/delete_icon.png new file mode 100644 index 0000000000..5a80155d8b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/delete_icon.png differ diff --git a/indra/newview/skins/gold/textures/icons/edit_mine.png b/indra/newview/skins/gold/textures/icons/edit_mine.png new file mode 100644 index 0000000000..2fb10deba2 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/edit_mine.png differ diff --git a/indra/newview/skins/gold/textures/icons/edit_theirs.png b/indra/newview/skins/gold/textures/icons/edit_theirs.png new file mode 100644 index 0000000000..586c08c181 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/edit_theirs.png differ diff --git a/indra/newview/skins/gold/textures/icons/emoji_picker_icon.png b/indra/newview/skins/gold/textures/icons/emoji_picker_icon.png new file mode 100644 index 0000000000..6c1a1a3c62 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/emoji_picker_icon.png differ diff --git a/indra/newview/skins/gold/textures/icons/expand_one_liner.png b/indra/newview/skins/gold/textures/icons/expand_one_liner.png new file mode 100644 index 0000000000..0d1a60547a Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/expand_one_liner.png differ diff --git a/indra/newview/skins/gold/textures/icons/file_upload.png b/indra/newview/skins/gold/textures/icons/file_upload.png new file mode 100644 index 0000000000..78b75fdd72 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/file_upload.png differ diff --git a/indra/newview/skins/gold/textures/icons/hand.png b/indra/newview/skins/gold/textures/icons/hand.png new file mode 100644 index 0000000000..5fbdb70c2b Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/hand.png differ diff --git a/indra/newview/skins/gold/textures/icons/map_placeholder.png b/indra/newview/skins/gold/textures/icons/map_placeholder.png new file mode 100644 index 0000000000..80e5deac7e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/map_placeholder.png differ diff --git a/indra/newview/skins/gold/textures/icons/multi_folder_mode.png b/indra/newview/skins/gold/textures/icons/multi_folder_mode.png new file mode 100644 index 0000000000..b363848aba Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/multi_folder_mode.png differ diff --git a/indra/newview/skins/gold/textures/icons/nearby_chat_icon.png b/indra/newview/skins/gold/textures/icons/nearby_chat_icon.png new file mode 100644 index 0000000000..c5f52f010e Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/nearby_chat_icon.png differ diff --git a/indra/newview/skins/gold/textures/icons/object_icon.png b/indra/newview/skins/gold/textures/icons/object_icon.png new file mode 100644 index 0000000000..51bf0b0649 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/object_icon.png differ diff --git a/indra/newview/skins/gold/textures/icons/paste_clipboard.png b/indra/newview/skins/gold/textures/icons/paste_clipboard.png new file mode 100644 index 0000000000..ff8493d4ad Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/paste_clipboard.png differ diff --git a/indra/newview/skins/gold/textures/icons/pop_up_caution.png b/indra/newview/skins/gold/textures/icons/pop_up_caution.png new file mode 100644 index 0000000000..63b5cdfe83 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/pop_up_caution.png differ diff --git a/indra/newview/skins/gold/textures/icons/profile_badge_beta.png b/indra/newview/skins/gold/textures/icons/profile_badge_beta.png new file mode 100644 index 0000000000..95e277aab0 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/profile_badge_beta.png differ diff --git a/indra/newview/skins/gold/textures/icons/profile_badge_beta_lifetime.png b/indra/newview/skins/gold/textures/icons/profile_badge_beta_lifetime.png new file mode 100644 index 0000000000..fb145901e2 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/profile_badge_beta_lifetime.png differ diff --git a/indra/newview/skins/gold/textures/icons/profile_badge_lifetime.png b/indra/newview/skins/gold/textures/icons/profile_badge_lifetime.png new file mode 100644 index 0000000000..3f7fd343b3 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/profile_badge_lifetime.png differ diff --git a/indra/newview/skins/gold/textures/icons/profile_badge_linden.png b/indra/newview/skins/gold/textures/icons/profile_badge_linden.png new file mode 100644 index 0000000000..6ab9fcebea Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/profile_badge_linden.png differ diff --git a/indra/newview/skins/gold/textures/icons/profile_badge_pplus_lifetime.png b/indra/newview/skins/gold/textures/icons/profile_badge_pplus_lifetime.png new file mode 100644 index 0000000000..5c68ad40ce Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/profile_badge_pplus_lifetime.png differ diff --git a/indra/newview/skins/gold/textures/icons/profile_badge_premium_lifetime.png b/indra/newview/skins/gold/textures/icons/profile_badge_premium_lifetime.png new file mode 100644 index 0000000000..58957b7b96 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/profile_badge_premium_lifetime.png differ diff --git a/indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_off.png b/indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_off.png new file mode 100644 index 0000000000..331553492c Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_off.png differ diff --git a/indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_off_pressed.png b/indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_off_pressed.png new file mode 100644 index 0000000000..e9e9c1b626 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_off_pressed.png differ diff --git a/indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_on.png b/indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_on.png new file mode 100644 index 0000000000..4f5374d614 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_on.png differ diff --git a/indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_on_pressed.png b/indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_on_pressed.png new file mode 100644 index 0000000000..e8a64541ee Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/profile_group_visibility_eye_on_pressed.png differ diff --git a/indra/newview/skins/gold/textures/icons/remove_icon.png b/indra/newview/skins/gold/textures/icons/remove_icon.png new file mode 100644 index 0000000000..d8a45cc21c Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/remove_icon.png differ diff --git a/indra/newview/skins/gold/textures/icons/see_me_online.png b/indra/newview/skins/gold/textures/icons/see_me_online.png new file mode 100644 index 0000000000..adc37f5528 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/see_me_online.png differ diff --git a/indra/newview/skins/gold/textures/icons/see_on_map.png b/indra/newview/skins/gold/textures/icons/see_on_map.png new file mode 100644 index 0000000000..73415b9afe Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/see_on_map.png differ diff --git a/indra/newview/skins/gold/textures/icons/see_them_on_map.png b/indra/newview/skins/gold/textures/icons/see_them_on_map.png new file mode 100644 index 0000000000..e5f2978dc0 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/see_them_on_map.png differ diff --git a/indra/newview/skins/gold/textures/icons/see_them_online.png b/indra/newview/skins/gold/textures/icons/see_them_online.png new file mode 100644 index 0000000000..7ddd41f9a0 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/see_them_online.png differ diff --git a/indra/newview/skins/gold/textures/icons/single_folder_back.png b/indra/newview/skins/gold/textures/icons/single_folder_back.png new file mode 100644 index 0000000000..b93bb2525a Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/single_folder_back.png differ diff --git a/indra/newview/skins/gold/textures/icons/single_folder_forward.png b/indra/newview/skins/gold/textures/icons/single_folder_forward.png new file mode 100644 index 0000000000..12a21b2bba Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/single_folder_forward.png differ diff --git a/indra/newview/skins/gold/textures/icons/single_folder_mode.png b/indra/newview/skins/gold/textures/icons/single_folder_mode.png new file mode 100644 index 0000000000..0fc8475917 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/single_folder_mode.png differ diff --git a/indra/newview/skins/gold/textures/icons/single_folder_up.png b/indra/newview/skins/gold/textures/icons/single_folder_up.png new file mode 100644 index 0000000000..c1c8c63870 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/single_folder_up.png differ diff --git a/indra/newview/skins/gold/textures/icons/snapshot_icon.png b/indra/newview/skins/gold/textures/icons/snapshot_icon.png new file mode 100644 index 0000000000..9b6ac6eeb0 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/snapshot_icon.png differ diff --git a/indra/newview/skins/gold/textures/icons/texture_icon.png b/indra/newview/skins/gold/textures/icons/texture_icon.png new file mode 100644 index 0000000000..f5c205208c Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/texture_icon.png differ diff --git a/indra/newview/skins/gold/textures/icons/thumbnail_fallback_icon.png b/indra/newview/skins/gold/textures/icons/thumbnail_fallback_icon.png new file mode 100644 index 0000000000..19629aba04 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/thumbnail_fallback_icon.png differ diff --git a/indra/newview/skins/gold/textures/icons/unknown_icon.png b/indra/newview/skins/gold/textures/icons/unknown_icon.png new file mode 100644 index 0000000000..9a4e7f8616 Binary files /dev/null and b/indra/newview/skins/gold/textures/icons/unknown_icon.png differ diff --git a/indra/newview/skins/gold/textures/jump_left_in.tga b/indra/newview/skins/gold/textures/jump_left_in.tga new file mode 100644 index 0000000000..e0656c901d Binary files /dev/null and b/indra/newview/skins/gold/textures/jump_left_in.tga differ diff --git a/indra/newview/skins/gold/textures/jump_left_out.tga b/indra/newview/skins/gold/textures/jump_left_out.tga new file mode 100644 index 0000000000..fb6dac0c3d Binary files /dev/null and b/indra/newview/skins/gold/textures/jump_left_out.tga differ diff --git a/indra/newview/skins/gold/textures/jump_right_in.tga b/indra/newview/skins/gold/textures/jump_right_in.tga new file mode 100644 index 0000000000..010c748c2a Binary files /dev/null and b/indra/newview/skins/gold/textures/jump_right_in.tga differ diff --git a/indra/newview/skins/gold/textures/jump_right_out.tga b/indra/newview/skins/gold/textures/jump_right_out.tga new file mode 100644 index 0000000000..33355262d4 Binary files /dev/null and b/indra/newview/skins/gold/textures/jump_right_out.tga differ diff --git a/indra/newview/skins/gold/textures/lag_status_critical.tga b/indra/newview/skins/gold/textures/lag_status_critical.tga new file mode 100644 index 0000000000..bbc71d9e77 Binary files /dev/null and b/indra/newview/skins/gold/textures/lag_status_critical.tga differ diff --git a/indra/newview/skins/gold/textures/lag_status_good.tga b/indra/newview/skins/gold/textures/lag_status_good.tga new file mode 100644 index 0000000000..680ba90f17 Binary files /dev/null and b/indra/newview/skins/gold/textures/lag_status_good.tga differ diff --git a/indra/newview/skins/gold/textures/lag_status_warning.tga b/indra/newview/skins/gold/textures/lag_status_warning.tga new file mode 100644 index 0000000000..13ce3cc396 Binary files /dev/null and b/indra/newview/skins/gold/textures/lag_status_warning.tga differ diff --git a/indra/newview/skins/gold/textures/legend.tga b/indra/newview/skins/gold/textures/legend.tga new file mode 100644 index 0000000000..0dbb8fda4f Binary files /dev/null and b/indra/newview/skins/gold/textures/legend.tga differ diff --git a/indra/newview/skins/gold/textures/locked_image.j2c b/indra/newview/skins/gold/textures/locked_image.j2c new file mode 100644 index 0000000000..9e8998d675 Binary files /dev/null and b/indra/newview/skins/gold/textures/locked_image.j2c differ diff --git a/indra/newview/skins/gold/textures/map_avatar_16.tga b/indra/newview/skins/gold/textures/map_avatar_16.tga new file mode 100644 index 0000000000..f59e9e9193 Binary files /dev/null and b/indra/newview/skins/gold/textures/map_avatar_16.tga differ diff --git a/indra/newview/skins/gold/textures/map_avatar_32.tga b/indra/newview/skins/gold/textures/map_avatar_32.tga new file mode 100644 index 0000000000..aebeab4093 Binary files /dev/null and b/indra/newview/skins/gold/textures/map_avatar_32.tga differ diff --git a/indra/newview/skins/gold/textures/map_avatar_8.tga b/indra/newview/skins/gold/textures/map_avatar_8.tga new file mode 100644 index 0000000000..8500eadeba Binary files /dev/null and b/indra/newview/skins/gold/textures/map_avatar_8.tga differ diff --git a/indra/newview/skins/gold/textures/map_avatar_above_32.tga b/indra/newview/skins/gold/textures/map_avatar_above_32.tga new file mode 100644 index 0000000000..65bd0561a7 Binary files /dev/null and b/indra/newview/skins/gold/textures/map_avatar_above_32.tga differ diff --git a/indra/newview/skins/gold/textures/map_avatar_below_32.tga b/indra/newview/skins/gold/textures/map_avatar_below_32.tga new file mode 100644 index 0000000000..496c44b369 Binary files /dev/null and b/indra/newview/skins/gold/textures/map_avatar_below_32.tga differ diff --git a/indra/newview/skins/gold/textures/map_avatar_unknown_32.tga b/indra/newview/skins/gold/textures/map_avatar_unknown_32.tga new file mode 100644 index 0000000000..d1192478c6 Binary files /dev/null and b/indra/newview/skins/gold/textures/map_avatar_unknown_32.tga differ diff --git a/indra/newview/skins/gold/textures/map_avatar_you_32.tga b/indra/newview/skins/gold/textures/map_avatar_you_32.tga new file mode 100644 index 0000000000..84b57aceaf Binary files /dev/null and b/indra/newview/skins/gold/textures/map_avatar_you_32.tga differ diff --git a/indra/newview/skins/gold/textures/map_event.tga b/indra/newview/skins/gold/textures/map_event.tga new file mode 100644 index 0000000000..2c06d08fd2 Binary files /dev/null and b/indra/newview/skins/gold/textures/map_event.tga differ diff --git a/indra/newview/skins/gold/textures/map_home.tga b/indra/newview/skins/gold/textures/map_home.tga new file mode 100644 index 0000000000..acaaa3db44 Binary files /dev/null and b/indra/newview/skins/gold/textures/map_home.tga differ diff --git a/indra/newview/skins/gold/textures/map_infohub.tga b/indra/newview/skins/gold/textures/map_infohub.tga new file mode 100644 index 0000000000..d0134fa5fe Binary files /dev/null and b/indra/newview/skins/gold/textures/map_infohub.tga differ diff --git a/indra/newview/skins/gold/textures/map_telehub.tga b/indra/newview/skins/gold/textures/map_telehub.tga new file mode 100644 index 0000000000..545b8e532c Binary files /dev/null and b/indra/newview/skins/gold/textures/map_telehub.tga differ diff --git a/indra/newview/skins/gold/textures/map_track_16.tga b/indra/newview/skins/gold/textures/map_track_16.tga new file mode 100644 index 0000000000..451ce24cf0 Binary files /dev/null and b/indra/newview/skins/gold/textures/map_track_16.tga differ diff --git a/indra/newview/skins/gold/textures/map_ui_collapse_icon.png b/indra/newview/skins/gold/textures/map_ui_collapse_icon.png new file mode 100644 index 0000000000..e4de49d4af Binary files /dev/null and b/indra/newview/skins/gold/textures/map_ui_collapse_icon.png differ diff --git a/indra/newview/skins/gold/textures/map_ui_expand_icon.png b/indra/newview/skins/gold/textures/map_ui_expand_icon.png new file mode 100644 index 0000000000..08734b4cc0 Binary files /dev/null and b/indra/newview/skins/gold/textures/map_ui_expand_icon.png differ diff --git a/indra/newview/skins/gold/textures/materials_ui_x_24.png b/indra/newview/skins/gold/textures/materials_ui_x_24.png new file mode 100644 index 0000000000..6d88554914 Binary files /dev/null and b/indra/newview/skins/gold/textures/materials_ui_x_24.png differ diff --git a/indra/newview/skins/gold/textures/megapahit/icon_group.png b/indra/newview/skins/gold/textures/megapahit/icon_group.png new file mode 100644 index 0000000000..f3872dea3f Binary files /dev/null and b/indra/newview/skins/gold/textures/megapahit/icon_group.png differ diff --git a/indra/newview/skins/gold/textures/megapahit/icon_land_auction.png b/indra/newview/skins/gold/textures/megapahit/icon_land_auction.png new file mode 100644 index 0000000000..550703968f Binary files /dev/null and b/indra/newview/skins/gold/textures/megapahit/icon_land_auction.png differ diff --git a/indra/newview/skins/gold/textures/megapahit/icon_land_forsale.png b/indra/newview/skins/gold/textures/megapahit/icon_land_forsale.png new file mode 100644 index 0000000000..209bb868ea Binary files /dev/null and b/indra/newview/skins/gold/textures/megapahit/icon_land_forsale.png differ diff --git a/indra/newview/skins/gold/textures/megapahit/icon_place.png b/indra/newview/skins/gold/textures/megapahit/icon_place.png new file mode 100644 index 0000000000..60cf42424a Binary files /dev/null and b/indra/newview/skins/gold/textures/megapahit/icon_place.png differ diff --git a/indra/newview/skins/gold/textures/menu_separator.png b/indra/newview/skins/gold/textures/menu_separator.png new file mode 100644 index 0000000000..7bb27c499d Binary files /dev/null and b/indra/newview/skins/gold/textures/menu_separator.png differ diff --git a/indra/newview/skins/gold/textures/missing_asset.tga b/indra/newview/skins/gold/textures/missing_asset.tga new file mode 100644 index 0000000000..9a43f4db5d Binary files /dev/null and b/indra/newview/skins/gold/textures/missing_asset.tga differ diff --git a/indra/newview/skins/gold/textures/model_wizard/progress_bar_bg.png b/indra/newview/skins/gold/textures/model_wizard/progress_bar_bg.png new file mode 100644 index 0000000000..7c6920205f Binary files /dev/null and b/indra/newview/skins/gold/textures/model_wizard/progress_bar_bg.png differ diff --git a/indra/newview/skins/gold/textures/model_wizard/progress_light.png b/indra/newview/skins/gold/textures/model_wizard/progress_light.png new file mode 100755 index 0000000000..41de60badf Binary files /dev/null and b/indra/newview/skins/gold/textures/model_wizard/progress_light.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Arrow_Left_Off.png b/indra/newview/skins/gold/textures/navbar/Arrow_Left_Off.png new file mode 100644 index 0000000000..19569501fe Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Arrow_Left_Off.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Arrow_Right_Off.png b/indra/newview/skins/gold/textures/navbar/Arrow_Right_Off.png new file mode 100644 index 0000000000..3648c42656 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Arrow_Right_Off.png differ diff --git a/indra/newview/skins/gold/textures/navbar/BuyArrow_Off.png b/indra/newview/skins/gold/textures/navbar/BuyArrow_Off.png new file mode 100755 index 0000000000..e7203bcb45 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/BuyArrow_Off.png differ diff --git a/indra/newview/skins/gold/textures/navbar/BuyArrow_Over.png b/indra/newview/skins/gold/textures/navbar/BuyArrow_Over.png new file mode 100755 index 0000000000..75f33d1c1b Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/BuyArrow_Over.png differ diff --git a/indra/newview/skins/gold/textures/navbar/BuyArrow_Press.png b/indra/newview/skins/gold/textures/navbar/BuyArrow_Press.png new file mode 100755 index 0000000000..e0924e56b7 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/BuyArrow_Press.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Favorite_Link_Over.png b/indra/newview/skins/gold/textures/navbar/Favorite_Link_Over.png new file mode 100644 index 0000000000..d4f126f969 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Favorite_Link_Over.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Favorite_Star_Active.png b/indra/newview/skins/gold/textures/navbar/Favorite_Star_Active.png new file mode 100644 index 0000000000..e662ca9577 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Favorite_Star_Active.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Favorite_Star_Off.png b/indra/newview/skins/gold/textures/navbar/Favorite_Star_Off.png new file mode 100644 index 0000000000..82d044d817 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Favorite_Star_Off.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Favorite_Star_Over.png b/indra/newview/skins/gold/textures/navbar/Favorite_Star_Over.png new file mode 100644 index 0000000000..03fef8334f Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Favorite_Star_Over.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Favorite_Star_Press.png b/indra/newview/skins/gold/textures/navbar/Favorite_Star_Press.png new file mode 100644 index 0000000000..6670667022 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Favorite_Star_Press.png differ diff --git a/indra/newview/skins/gold/textures/navbar/FileMenu_Divider.png b/indra/newview/skins/gold/textures/navbar/FileMenu_Divider.png new file mode 100644 index 0000000000..5ab4abc5b8 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/FileMenu_Divider.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Flag.png b/indra/newview/skins/gold/textures/navbar/Flag.png new file mode 100644 index 0000000000..df53c89224 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Flag.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Help_Press.png b/indra/newview/skins/gold/textures/navbar/Help_Press.png new file mode 100644 index 0000000000..ed3695f9d5 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Help_Press.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Home_Off.png b/indra/newview/skins/gold/textures/navbar/Home_Off.png new file mode 100644 index 0000000000..fe3bc63b77 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Home_Off.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Info_Off.png b/indra/newview/skins/gold/textures/navbar/Info_Off.png new file mode 100644 index 0000000000..07b65ddf8b Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Info_Off.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Info_Over.png b/indra/newview/skins/gold/textures/navbar/Info_Over.png new file mode 100644 index 0000000000..fb7ff78fa4 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Info_Over.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Info_Press.png b/indra/newview/skins/gold/textures/navbar/Info_Press.png new file mode 100644 index 0000000000..93e82f270b Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Info_Press.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Landmarks.png b/indra/newview/skins/gold/textures/navbar/Landmarks.png new file mode 100644 index 0000000000..2b35de913b Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Landmarks.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Lock.png b/indra/newview/skins/gold/textures/navbar/Lock.png new file mode 100644 index 0000000000..cf569d6ad2 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Lock.png differ diff --git a/indra/newview/skins/gold/textures/navbar/NavBar_BG.png b/indra/newview/skins/gold/textures/navbar/NavBar_BG.png new file mode 100644 index 0000000000..6a91700ae0 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/NavBar_BG.png differ diff --git a/indra/newview/skins/gold/textures/navbar/NavBar_BG_NoFav_Bevel.png b/indra/newview/skins/gold/textures/navbar/NavBar_BG_NoFav_Bevel.png new file mode 100644 index 0000000000..c61dcde58c Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/NavBar_BG_NoFav_Bevel.png differ diff --git a/indra/newview/skins/gold/textures/navbar/NavBar_BG_NoNav_Bevel.png b/indra/newview/skins/gold/textures/navbar/NavBar_BG_NoNav_Bevel.png new file mode 100644 index 0000000000..9e3da34596 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/NavBar_BG_NoNav_Bevel.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Row_Selection.png b/indra/newview/skins/gold/textures/navbar/Row_Selection.png new file mode 100644 index 0000000000..cfc31f8d32 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Row_Selection.png differ diff --git a/indra/newview/skins/gold/textures/navbar/Search.png b/indra/newview/skins/gold/textures/navbar/Search.png new file mode 100644 index 0000000000..4c29e57f7b Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/Search.png differ diff --git a/indra/newview/skins/gold/textures/navbar/separator.png b/indra/newview/skins/gold/textures/navbar/separator.png new file mode 100644 index 0000000000..c1d74e5a64 Binary files /dev/null and b/indra/newview/skins/gold/textures/navbar/separator.png differ diff --git a/indra/newview/skins/gold/textures/notify_caution_icon.tga b/indra/newview/skins/gold/textures/notify_caution_icon.tga new file mode 100644 index 0000000000..abc23d1d7a Binary files /dev/null and b/indra/newview/skins/gold/textures/notify_caution_icon.tga differ diff --git a/indra/newview/skins/gold/textures/pixiesmall.j2c b/indra/newview/skins/gold/textures/pixiesmall.j2c new file mode 100644 index 0000000000..a1ff64014b Binary files /dev/null and b/indra/newview/skins/gold/textures/pixiesmall.j2c differ diff --git a/indra/newview/skins/gold/textures/red_x.png b/indra/newview/skins/gold/textures/red_x.png new file mode 100644 index 0000000000..a61202f09b Binary files /dev/null and b/indra/newview/skins/gold/textures/red_x.png differ diff --git a/indra/newview/skins/gold/textures/rounded_square.j2c b/indra/newview/skins/gold/textures/rounded_square.j2c new file mode 100644 index 0000000000..c8bb572fa9 Binary files /dev/null and b/indra/newview/skins/gold/textures/rounded_square.j2c differ diff --git a/indra/newview/skins/gold/textures/script_error.j2c b/indra/newview/skins/gold/textures/script_error.j2c new file mode 100644 index 0000000000..893cb642e7 Binary files /dev/null and b/indra/newview/skins/gold/textures/script_error.j2c differ diff --git a/indra/newview/skins/gold/textures/silhouette.j2c b/indra/newview/skins/gold/textures/silhouette.j2c new file mode 100644 index 0000000000..3859d4cb34 Binary files /dev/null and b/indra/newview/skins/gold/textures/silhouette.j2c differ diff --git a/indra/newview/skins/gold/textures/slim_icon_16_viewer.tga b/indra/newview/skins/gold/textures/slim_icon_16_viewer.tga new file mode 100644 index 0000000000..552181d36a Binary files /dev/null and b/indra/newview/skins/gold/textures/slim_icon_16_viewer.tga differ diff --git a/indra/newview/skins/gold/textures/snapshot_download.png b/indra/newview/skins/gold/textures/snapshot_download.png new file mode 100644 index 0000000000..6aa1abded5 Binary files /dev/null and b/indra/newview/skins/gold/textures/snapshot_download.png differ diff --git a/indra/newview/skins/gold/textures/snapshot_email.png b/indra/newview/skins/gold/textures/snapshot_email.png new file mode 100644 index 0000000000..dee784a9bf Binary files /dev/null and b/indra/newview/skins/gold/textures/snapshot_email.png differ diff --git a/indra/newview/skins/gold/textures/spacer24.tga b/indra/newview/skins/gold/textures/spacer24.tga new file mode 100644 index 0000000000..c7cab6b38c Binary files /dev/null and b/indra/newview/skins/gold/textures/spacer24.tga differ diff --git a/indra/newview/skins/gold/textures/tabarea.tga b/indra/newview/skins/gold/textures/tabarea.tga new file mode 100644 index 0000000000..5517aebfc8 Binary files /dev/null and b/indra/newview/skins/gold/textures/tabarea.tga differ diff --git a/indra/newview/skins/gold/textures/taskpanel/Activate_Checkmark.png b/indra/newview/skins/gold/textures/taskpanel/Activate_Checkmark.png new file mode 100644 index 0000000000..213acbe87b Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/Activate_Checkmark.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png b/indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png new file mode 100644 index 0000000000..4e59042e33 Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Dock_Press.png b/indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Dock_Press.png new file mode 100644 index 0000000000..be7b298bb8 Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Dock_Press.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png b/indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png new file mode 100644 index 0000000000..1e234ff09b Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Undock_Press.png b/indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Undock_Press.png new file mode 100644 index 0000000000..48c78b453d Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/Sidebar_Icon_Undock_Press.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/TabIcon_Close_Off.png b/indra/newview/skins/gold/textures/taskpanel/TabIcon_Close_Off.png new file mode 100644 index 0000000000..bc4e00c646 Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/TabIcon_Close_Off.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/TabIcon_Home_Selected.png b/indra/newview/skins/gold/textures/taskpanel/TabIcon_Home_Selected.png new file mode 100644 index 0000000000..293aeef5e6 Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/TabIcon_Home_Selected.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/TabIcon_Me_Off.png b/indra/newview/skins/gold/textures/taskpanel/TabIcon_Me_Off.png new file mode 100644 index 0000000000..760db9360d Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/TabIcon_Me_Off.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/TabIcon_Open_Off.png b/indra/newview/skins/gold/textures/taskpanel/TabIcon_Open_Off.png new file mode 100644 index 0000000000..4556602f58 Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/TabIcon_Open_Off.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/TabIcon_People_Off.png b/indra/newview/skins/gold/textures/taskpanel/TabIcon_People_Off.png new file mode 100644 index 0000000000..691b600510 Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/TabIcon_People_Off.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/TabIcon_Places_Off.png b/indra/newview/skins/gold/textures/taskpanel/TabIcon_Places_Off.png new file mode 100644 index 0000000000..f5a5f7a846 Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/TabIcon_Places_Off.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/TabIcon_Things_Off.png b/indra/newview/skins/gold/textures/taskpanel/TabIcon_Things_Off.png new file mode 100644 index 0000000000..e56eda9802 Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/TabIcon_Things_Off.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/TaskPanel_Tab_Off.png b/indra/newview/skins/gold/textures/taskpanel/TaskPanel_Tab_Off.png new file mode 100644 index 0000000000..4ed7a2b183 Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/TaskPanel_Tab_Off.png differ diff --git a/indra/newview/skins/gold/textures/taskpanel/TaskPanel_Tab_Selected.png b/indra/newview/skins/gold/textures/taskpanel/TaskPanel_Tab_Selected.png new file mode 100644 index 0000000000..b3316386b9 Binary files /dev/null and b/indra/newview/skins/gold/textures/taskpanel/TaskPanel_Tab_Selected.png differ diff --git a/indra/newview/skins/gold/textures/tearoff_pressed.tga b/indra/newview/skins/gold/textures/tearoff_pressed.tga new file mode 100644 index 0000000000..620d109de0 Binary files /dev/null and b/indra/newview/skins/gold/textures/tearoff_pressed.tga differ diff --git a/indra/newview/skins/gold/textures/tearoffbox.tga b/indra/newview/skins/gold/textures/tearoffbox.tga new file mode 100644 index 0000000000..0670d2e91b Binary files /dev/null and b/indra/newview/skins/gold/textures/tearoffbox.tga differ diff --git a/indra/newview/skins/gold/textures/textures.xml b/indra/newview/skins/gold/textures/textures.xml new file mode 100644 index 0000000000..1fe1ff333a --- /dev/null +++ b/indra/newview/skins/gold/textures/textures.xml @@ -0,0 +1,934 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/indra/newview/skins/gold/textures/toolbar_icons/360_capture.png b/indra/newview/skins/gold/textures/toolbar_icons/360_capture.png new file mode 100644 index 0000000000..163cebe29f Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/360_capture.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/appearance.png b/indra/newview/skins/gold/textures/toolbar_icons/appearance.png new file mode 100644 index 0000000000..e6b1365388 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/appearance.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/avatars.png b/indra/newview/skins/gold/textures/toolbar_icons/avatars.png new file mode 100644 index 0000000000..8fa0600cee Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/avatars.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/build.png b/indra/newview/skins/gold/textures/toolbar_icons/build.png new file mode 100644 index 0000000000..e21ab3f0e4 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/build.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/caret_bottom.png b/indra/newview/skins/gold/textures/toolbar_icons/caret_bottom.png new file mode 100644 index 0000000000..5f6a01eaa1 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/caret_bottom.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/caret_left.png b/indra/newview/skins/gold/textures/toolbar_icons/caret_left.png new file mode 100644 index 0000000000..0b8090314c Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/caret_left.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/caret_right.png b/indra/newview/skins/gold/textures/toolbar_icons/caret_right.png new file mode 100644 index 0000000000..044751560f Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/caret_right.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/chat.png b/indra/newview/skins/gold/textures/toolbar_icons/chat.png new file mode 100644 index 0000000000..e0dbac495f Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/chat.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/destinations.png b/indra/newview/skins/gold/textures/toolbar_icons/destinations.png new file mode 100644 index 0000000000..e2325f083a Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/destinations.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/environments.png b/indra/newview/skins/gold/textures/toolbar_icons/environments.png new file mode 100644 index 0000000000..620db9f793 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/environments.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/facebook.png b/indra/newview/skins/gold/textures/toolbar_icons/facebook.png new file mode 100644 index 0000000000..ae524b643f Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/facebook.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/favorite_folder.png b/indra/newview/skins/gold/textures/toolbar_icons/favorite_folder.png new file mode 100644 index 0000000000..811efffc0b Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/favorite_folder.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/flickr.png b/indra/newview/skins/gold/textures/toolbar_icons/flickr.png new file mode 100644 index 0000000000..7fce9f0df2 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/flickr.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/gestures.png b/indra/newview/skins/gold/textures/toolbar_icons/gestures.png new file mode 100644 index 0000000000..2404bb4e25 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/gestures.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/grid_status.png b/indra/newview/skins/gold/textures/toolbar_icons/grid_status.png new file mode 100644 index 0000000000..b92b93cfb4 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/grid_status.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/highlighting.png b/indra/newview/skins/gold/textures/toolbar_icons/highlighting.png new file mode 100644 index 0000000000..093bace257 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/highlighting.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/highlighting_selected.png b/indra/newview/skins/gold/textures/toolbar_icons/highlighting_selected.png new file mode 100644 index 0000000000..899fefbdf4 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/highlighting_selected.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/howto.png b/indra/newview/skins/gold/textures/toolbar_icons/howto.png new file mode 100644 index 0000000000..8594d71113 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/howto.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/inventory.png b/indra/newview/skins/gold/textures/toolbar_icons/inventory.png new file mode 100644 index 0000000000..ab3191255e Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/inventory.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/land.png b/indra/newview/skins/gold/textures/toolbar_icons/land.png new file mode 100644 index 0000000000..89ea7604a4 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/land.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/map.png b/indra/newview/skins/gold/textures/toolbar_icons/map.png new file mode 100644 index 0000000000..ed1049b7db Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/map.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/marketplace.png b/indra/newview/skins/gold/textures/toolbar_icons/marketplace.png new file mode 100644 index 0000000000..62bad20be6 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/marketplace.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/mini_cart.png b/indra/newview/skins/gold/textures/toolbar_icons/mini_cart.png new file mode 100644 index 0000000000..9eeb1d4e09 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/mini_cart.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/mini_map.png b/indra/newview/skins/gold/textures/toolbar_icons/mini_map.png new file mode 100644 index 0000000000..ab0a654056 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/mini_map.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/mktlistings.png b/indra/newview/skins/gold/textures/toolbar_icons/mktlistings.png new file mode 100644 index 0000000000..a6f90461d7 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/mktlistings.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/move.png b/indra/newview/skins/gold/textures/toolbar_icons/move.png new file mode 100644 index 0000000000..5c2ced7375 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/move.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/nearbyvoice.png b/indra/newview/skins/gold/textures/toolbar_icons/nearbyvoice.png new file mode 100644 index 0000000000..77a7cd5f44 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/nearbyvoice.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/outbox.png b/indra/newview/skins/gold/textures/toolbar_icons/outbox.png new file mode 100644 index 0000000000..0f3db1c47c Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/outbox.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/people.png b/indra/newview/skins/gold/textures/toolbar_icons/people.png new file mode 100644 index 0000000000..7228ae8e2f Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/people.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/performance.png b/indra/newview/skins/gold/textures/toolbar_icons/performance.png new file mode 100644 index 0000000000..91baf849c8 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/performance.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/picks.png b/indra/newview/skins/gold/textures/toolbar_icons/picks.png new file mode 100644 index 0000000000..befda04b42 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/picks.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/places.png b/indra/newview/skins/gold/textures/toolbar_icons/places.png new file mode 100644 index 0000000000..97d9fa066c Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/places.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/preferences.png b/indra/newview/skins/gold/textures/toolbar_icons/preferences.png new file mode 100644 index 0000000000..4ccd7b8ae1 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/preferences.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/profile.png b/indra/newview/skins/gold/textures/toolbar_icons/profile.png new file mode 100644 index 0000000000..32fe2bf8ac Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/profile.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/report_abuse.png b/indra/newview/skins/gold/textures/toolbar_icons/report_abuse.png new file mode 100644 index 0000000000..d5cb6ca259 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/report_abuse.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/resync_animations.png b/indra/newview/skins/gold/textures/toolbar_icons/resync_animations.png new file mode 100644 index 0000000000..dc9ee9c428 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/resync_animations.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/search.png b/indra/newview/skins/gold/textures/toolbar_icons/search.png new file mode 100644 index 0000000000..bcb11e950d Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/search.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/snapshot.png b/indra/newview/skins/gold/textures/toolbar_icons/snapshot.png new file mode 100644 index 0000000000..d26da9b1d2 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/snapshot.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/speak.png b/indra/newview/skins/gold/textures/toolbar_icons/speak.png new file mode 100644 index 0000000000..10cd354c5c Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/speak.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/twitter.png b/indra/newview/skins/gold/textures/toolbar_icons/twitter.png new file mode 100644 index 0000000000..0ad56f7802 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/twitter.png differ diff --git a/indra/newview/skins/gold/textures/toolbar_icons/view.png b/indra/newview/skins/gold/textures/toolbar_icons/view.png new file mode 100644 index 0000000000..ddf0df7c26 Binary files /dev/null and b/indra/newview/skins/gold/textures/toolbar_icons/view.png differ diff --git a/indra/newview/skins/gold/textures/transparent.j2c b/indra/newview/skins/gold/textures/transparent.j2c new file mode 100644 index 0000000000..1068e940b9 Binary files /dev/null and b/indra/newview/skins/gold/textures/transparent.j2c differ diff --git a/indra/newview/skins/gold/textures/up_arrow.png b/indra/newview/skins/gold/textures/up_arrow.png new file mode 100644 index 0000000000..76f839510e Binary files /dev/null and b/indra/newview/skins/gold/textures/up_arrow.png differ diff --git a/indra/newview/skins/gold/textures/uv_test1.j2c b/indra/newview/skins/gold/textures/uv_test1.j2c new file mode 100644 index 0000000000..3d5b541796 Binary files /dev/null and b/indra/newview/skins/gold/textures/uv_test1.j2c differ diff --git a/indra/newview/skins/gold/textures/uv_test2.tga b/indra/newview/skins/gold/textures/uv_test2.tga new file mode 100644 index 0000000000..a16000d1e4 Binary files /dev/null and b/indra/newview/skins/gold/textures/uv_test2.tga differ diff --git a/indra/newview/skins/gold/textures/voice_meter_dot.j2c b/indra/newview/skins/gold/textures/voice_meter_dot.j2c new file mode 100644 index 0000000000..e536c3338a Binary files /dev/null and b/indra/newview/skins/gold/textures/voice_meter_dot.j2c differ diff --git a/indra/newview/skins/gold/textures/voice_meter_rings.j2c b/indra/newview/skins/gold/textures/voice_meter_rings.j2c new file mode 100644 index 0000000000..17e7c6c6a1 Binary files /dev/null and b/indra/newview/skins/gold/textures/voice_meter_rings.j2c differ diff --git a/indra/newview/skins/gold/textures/white.tga b/indra/newview/skins/gold/textures/white.tga new file mode 100644 index 0000000000..9fe68631cf Binary files /dev/null and b/indra/newview/skins/gold/textures/white.tga differ diff --git a/indra/newview/skins/gold/textures/widgets/Arrow_Down.png b/indra/newview/skins/gold/textures/widgets/Arrow_Down.png new file mode 100644 index 0000000000..8b592ed840 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Arrow_Down.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Arrow_Left.png b/indra/newview/skins/gold/textures/widgets/Arrow_Left.png new file mode 100644 index 0000000000..04416541b9 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Arrow_Left.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Arrow_Right.png b/indra/newview/skins/gold/textures/widgets/Arrow_Right.png new file mode 100644 index 0000000000..e57452a558 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Arrow_Right.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Arrow_Small_Down.png b/indra/newview/skins/gold/textures/widgets/Arrow_Small_Down.png new file mode 100644 index 0000000000..8694cdf2d4 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Arrow_Small_Down.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Arrow_Small_Left.png b/indra/newview/skins/gold/textures/widgets/Arrow_Small_Left.png new file mode 100644 index 0000000000..a1b82d5101 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Arrow_Small_Left.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Arrow_Small_Right.png b/indra/newview/skins/gold/textures/widgets/Arrow_Small_Right.png new file mode 100644 index 0000000000..0e05d76852 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Arrow_Small_Right.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Arrow_Small_Up.png b/indra/newview/skins/gold/textures/widgets/Arrow_Small_Up.png new file mode 100644 index 0000000000..348bc4c019 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Arrow_Small_Up.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Arrow_Up.png b/indra/newview/skins/gold/textures/widgets/Arrow_Up.png new file mode 100644 index 0000000000..8b3da09d79 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Arrow_Up.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Badge_Background.png b/indra/newview/skins/gold/textures/widgets/Badge_Background.png new file mode 100644 index 0000000000..5abc1bf489 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Badge_Background.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Badge_Border.png b/indra/newview/skins/gold/textures/widgets/Badge_Border.png new file mode 100644 index 0000000000..57d3be2320 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Badge_Border.png differ diff --git a/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Disabled.png b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Disabled.png new file mode 100644 index 0000000000..139d71ae2e Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Off.png b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Off.png new file mode 100755 index 0000000000..cb0ae6b0c9 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Over.png b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Over.png new file mode 100755 index 0000000000..426c2c9d79 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Over.png differ diff --git a/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Press.png b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Press.png new file mode 100755 index 0000000000..9e71d224fa Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Left_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Disabled.png b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Disabled.png new file mode 100644 index 0000000000..2cf3de24c0 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Off.png b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Off.png new file mode 100755 index 0000000000..c6f1d2f5d6 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Over.png b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Over.png new file mode 100755 index 0000000000..c87d907a68 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Over.png differ diff --git a/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Press.png b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Press.png new file mode 100755 index 0000000000..a36a3aaf02 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Middle_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Disabled.png b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Disabled.png new file mode 100644 index 0000000000..d9c9692114 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Off.png b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Off.png new file mode 100644 index 0000000000..bf7744ac21 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Over.png b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Over.png new file mode 100644 index 0000000000..23e7be65a2 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Over.png differ diff --git a/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Press.png b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Press.png new file mode 100644 index 0000000000..16ed3effa3 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/BreadCrumbBtn_Right_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Checkbox_Disabled.png b/indra/newview/skins/gold/textures/widgets/Checkbox_Disabled.png new file mode 100644 index 0000000000..8439f82e29 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Checkbox_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Checkbox_Off.png b/indra/newview/skins/gold/textures/widgets/Checkbox_Off.png new file mode 100644 index 0000000000..cb9a04d84f Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Checkbox_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Checkbox_On.png b/indra/newview/skins/gold/textures/widgets/Checkbox_On.png new file mode 100644 index 0000000000..0ec090504a Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Checkbox_On.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Checkbox_On_Disabled.png b/indra/newview/skins/gold/textures/widgets/Checkbox_On_Disabled.png new file mode 100644 index 0000000000..5759f7de69 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Checkbox_On_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Checkbox_On_Press.png b/indra/newview/skins/gold/textures/widgets/Checkbox_On_Press.png new file mode 100644 index 0000000000..ba46e91c55 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Checkbox_On_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Checkbox_Press.png b/indra/newview/skins/gold/textures/widgets/Checkbox_Press.png new file mode 100644 index 0000000000..5f5a33d878 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Checkbox_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ComboButton_Disabled.png b/indra/newview/skins/gold/textures/widgets/ComboButton_Disabled.png new file mode 100644 index 0000000000..ebeb813349 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ComboButton_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ComboButton_Hover.png b/indra/newview/skins/gold/textures/widgets/ComboButton_Hover.png new file mode 100644 index 0000000000..1377d35e1a Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ComboButton_Hover.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ComboButton_Off.png b/indra/newview/skins/gold/textures/widgets/ComboButton_Off.png new file mode 100644 index 0000000000..8c315a9d25 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ComboButton_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ComboButton_On.png b/indra/newview/skins/gold/textures/widgets/ComboButton_On.png new file mode 100644 index 0000000000..94cbf85ea7 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ComboButton_On.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ComboButton_Selected.png b/indra/newview/skins/gold/textures/widgets/ComboButton_Selected.png new file mode 100644 index 0000000000..1bb4a43c4c Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ComboButton_Selected.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ComboButton_UpOff.png b/indra/newview/skins/gold/textures/widgets/ComboButton_UpOff.png new file mode 100644 index 0000000000..34edea9421 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ComboButton_UpOff.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ComboButton_UpSelected.png b/indra/newview/skins/gold/textures/widgets/ComboButton_UpSelected.png new file mode 100644 index 0000000000..2ee213ecd9 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ComboButton_UpSelected.png differ diff --git a/indra/newview/skins/gold/textures/widgets/DisclosureArrow_Opened_Off.png b/indra/newview/skins/gold/textures/widgets/DisclosureArrow_Opened_Off.png new file mode 100644 index 0000000000..115ec7a11f Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/DisclosureArrow_Opened_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/DropDown_Disabled.png b/indra/newview/skins/gold/textures/widgets/DropDown_Disabled.png new file mode 100644 index 0000000000..9a69f7e0d9 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/DropDown_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/DropDown_Off.png b/indra/newview/skins/gold/textures/widgets/DropDown_Off.png new file mode 100644 index 0000000000..b118e7a7d4 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/DropDown_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/DropDown_On.png b/indra/newview/skins/gold/textures/widgets/DropDown_On.png new file mode 100644 index 0000000000..614c1fccc5 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/DropDown_On.png differ diff --git a/indra/newview/skins/gold/textures/widgets/DropDown_Press.png b/indra/newview/skins/gold/textures/widgets/DropDown_Press.png new file mode 100644 index 0000000000..0dc92f2435 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/DropDown_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/DropTarget.png b/indra/newview/skins/gold/textures/widgets/DropTarget.png new file mode 100644 index 0000000000..01e7a88861 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/DropTarget.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Error_Tag_Background.png b/indra/newview/skins/gold/textures/widgets/Error_Tag_Background.png new file mode 100644 index 0000000000..439fce3dd3 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Error_Tag_Background.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Linden_Dollar_Alert.png b/indra/newview/skins/gold/textures/widgets/Linden_Dollar_Alert.png new file mode 100644 index 0000000000..76e078100f Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Linden_Dollar_Alert.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Linden_Dollar_Background.png b/indra/newview/skins/gold/textures/widgets/Linden_Dollar_Background.png new file mode 100644 index 0000000000..6e71ef7b72 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Linden_Dollar_Background.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ListItem_Over.png b/indra/newview/skins/gold/textures/widgets/ListItem_Over.png new file mode 100644 index 0000000000..8c80522232 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ListItem_Over.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ListItem_Select.png b/indra/newview/skins/gold/textures/widgets/ListItem_Select.png new file mode 100644 index 0000000000..b27e0ee787 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ListItem_Select.png differ diff --git a/indra/newview/skins/gold/textures/widgets/MarketplaceBtn_Off.png b/indra/newview/skins/gold/textures/widgets/MarketplaceBtn_Off.png new file mode 100644 index 0000000000..de71f763d3 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/MarketplaceBtn_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/MarketplaceBtn_Selected.png b/indra/newview/skins/gold/textures/widgets/MarketplaceBtn_Selected.png new file mode 100644 index 0000000000..a627dbaf34 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/MarketplaceBtn_Selected.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Marketplace_Dropzone_Background.png b/indra/newview/skins/gold/textures/widgets/Marketplace_Dropzone_Background.png new file mode 100644 index 0000000000..9eb4a5c55d Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Marketplace_Dropzone_Background.png differ diff --git a/indra/newview/skins/gold/textures/widgets/New_Tag_Background.png b/indra/newview/skins/gold/textures/widgets/New_Tag_Background.png new file mode 100644 index 0000000000..3631d90825 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/New_Tag_Background.png differ diff --git a/indra/newview/skins/gold/textures/widgets/New_Tag_Border.png b/indra/newview/skins/gold/textures/widgets/New_Tag_Border.png new file mode 100644 index 0000000000..d9b78eeea4 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/New_Tag_Border.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ProgressBar.png b/indra/newview/skins/gold/textures/widgets/ProgressBar.png new file mode 100644 index 0000000000..23e7ee4f16 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ProgressBar.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ProgressBarSolid.png b/indra/newview/skins/gold/textures/widgets/ProgressBarSolid.png new file mode 100644 index 0000000000..59a798464d Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ProgressBarSolid.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ProgressTrack.png b/indra/newview/skins/gold/textures/widgets/ProgressTrack.png new file mode 100644 index 0000000000..f4be9f5ccd Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ProgressTrack.png differ diff --git a/indra/newview/skins/gold/textures/widgets/PushButton_Disabled.png b/indra/newview/skins/gold/textures/widgets/PushButton_Disabled.png new file mode 100644 index 0000000000..e99ec4b14b Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/PushButton_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/PushButton_Login.png b/indra/newview/skins/gold/textures/widgets/PushButton_Login.png new file mode 100644 index 0000000000..8e7d932ab1 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/PushButton_Login.png differ diff --git a/indra/newview/skins/gold/textures/widgets/PushButton_Login_Over.png b/indra/newview/skins/gold/textures/widgets/PushButton_Login_Over.png new file mode 100644 index 0000000000..038ba23be2 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/PushButton_Login_Over.png differ diff --git a/indra/newview/skins/gold/textures/widgets/PushButton_Login_Pressed.png b/indra/newview/skins/gold/textures/widgets/PushButton_Login_Pressed.png new file mode 100644 index 0000000000..828aa1a139 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/PushButton_Login_Pressed.png differ diff --git a/indra/newview/skins/gold/textures/widgets/PushButton_Off.png b/indra/newview/skins/gold/textures/widgets/PushButton_Off.png new file mode 100644 index 0000000000..c74cea62d3 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/PushButton_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/PushButton_On.png b/indra/newview/skins/gold/textures/widgets/PushButton_On.png new file mode 100644 index 0000000000..fddde585a1 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/PushButton_On.png differ diff --git a/indra/newview/skins/gold/textures/widgets/PushButton_On_Selected.png b/indra/newview/skins/gold/textures/widgets/PushButton_On_Selected.png new file mode 100644 index 0000000000..6f0cd3574d Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/PushButton_On_Selected.png differ diff --git a/indra/newview/skins/gold/textures/widgets/PushButton_Over.png b/indra/newview/skins/gold/textures/widgets/PushButton_Over.png new file mode 100644 index 0000000000..34a64a3ade Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/PushButton_Over.png differ diff --git a/indra/newview/skins/gold/textures/widgets/PushButton_Press.png b/indra/newview/skins/gold/textures/widgets/PushButton_Press.png new file mode 100644 index 0000000000..e5cc0ba1d2 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/PushButton_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/PushButton_Selected.png b/indra/newview/skins/gold/textures/widgets/PushButton_Selected.png new file mode 100644 index 0000000000..d711319160 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/PushButton_Selected.png differ diff --git a/indra/newview/skins/gold/textures/widgets/PushButton_Selected_Disabled.png b/indra/newview/skins/gold/textures/widgets/PushButton_Selected_Disabled.png new file mode 100644 index 0000000000..26a47e0ab5 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/PushButton_Selected_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/PushButton_Selected_Press.png b/indra/newview/skins/gold/textures/widgets/PushButton_Selected_Press.png new file mode 100644 index 0000000000..f1549f9379 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/PushButton_Selected_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/RadioButton_Disabled.png b/indra/newview/skins/gold/textures/widgets/RadioButton_Disabled.png new file mode 100644 index 0000000000..32ec25fe0e Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/RadioButton_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/RadioButton_Off.png b/indra/newview/skins/gold/textures/widgets/RadioButton_Off.png new file mode 100644 index 0000000000..5d267af5dc Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/RadioButton_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/RadioButton_On.png b/indra/newview/skins/gold/textures/widgets/RadioButton_On.png new file mode 100644 index 0000000000..e6bf0db157 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/RadioButton_On.png differ diff --git a/indra/newview/skins/gold/textures/widgets/RadioButton_On_Disabled.png b/indra/newview/skins/gold/textures/widgets/RadioButton_On_Disabled.png new file mode 100644 index 0000000000..72aae43618 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/RadioButton_On_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/RadioButton_On_Press.png b/indra/newview/skins/gold/textures/widgets/RadioButton_On_Press.png new file mode 100644 index 0000000000..f3883b82b3 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/RadioButton_On_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/RadioButton_Press.png b/indra/newview/skins/gold/textures/widgets/RadioButton_Press.png new file mode 100644 index 0000000000..0025256045 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/RadioButton_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollArrow_Down.png b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Down.png new file mode 100644 index 0000000000..768909d447 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Down.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollArrow_Down_Opaque.png b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Down_Opaque.png new file mode 100644 index 0000000000..1c57521e9e Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Down_Opaque.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollArrow_Down_Over_Opaque.png b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Down_Over_Opaque.png new file mode 100644 index 0000000000..3db7be9ffa Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Down_Over_Opaque.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollArrow_Left.png b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Left.png new file mode 100644 index 0000000000..9ef73f48a5 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Left.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollArrow_Left_Opaque.png b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Left_Opaque.png new file mode 100644 index 0000000000..0fb0671036 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Left_Opaque.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollArrow_Left_Over_Opaque.png b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Left_Over_Opaque.png new file mode 100644 index 0000000000..464130c359 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Left_Over_Opaque.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollArrow_Right.png b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Right.png new file mode 100644 index 0000000000..8a59274b8a Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Right.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollArrow_Right_Opaque.png b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Right_Opaque.png new file mode 100644 index 0000000000..ab1f1ac90b Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Right_Opaque.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollArrow_Right_Over_Opaque.png b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Right_Over_Opaque.png new file mode 100644 index 0000000000..e5a94429a3 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Right_Over_Opaque.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollArrow_Up.png b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Up.png new file mode 100644 index 0000000000..064580f0c8 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Up.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollArrow_Up_Opaque.png b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Up_Opaque.png new file mode 100644 index 0000000000..2cc4857d27 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Up_Opaque.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollArrow_Up_Over_Opaque.png b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Up_Over_Opaque.png new file mode 100644 index 0000000000..2018b53af9 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollArrow_Up_Over_Opaque.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollThumb_Horiz.png b/indra/newview/skins/gold/textures/widgets/ScrollThumb_Horiz.png new file mode 100644 index 0000000000..9afc907c1c Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollThumb_Horiz.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollThumb_Vert.png b/indra/newview/skins/gold/textures/widgets/ScrollThumb_Vert.png new file mode 100644 index 0000000000..ede643e528 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollThumb_Vert.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollTrack_Horiz.png b/indra/newview/skins/gold/textures/widgets/ScrollTrack_Horiz.png new file mode 100644 index 0000000000..35da770073 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollTrack_Horiz.png differ diff --git a/indra/newview/skins/gold/textures/widgets/ScrollTrack_Vert.png b/indra/newview/skins/gold/textures/widgets/ScrollTrack_Vert.png new file mode 100644 index 0000000000..cf67c23133 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/ScrollTrack_Vert.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Disabled.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Disabled.png new file mode 100644 index 0000000000..ef50fb5d51 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Off.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Off.png new file mode 100644 index 0000000000..191dbf08fc Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Over.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Over.png new file mode 100644 index 0000000000..d5882bce85 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Over.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Press.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Press.png new file mode 100644 index 0000000000..ddaab1cfcd Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected.png new file mode 100644 index 0000000000..c8634b1294 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png new file mode 100644 index 0000000000..d47a21fff7 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected_Over.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected_Over.png new file mode 100644 index 0000000000..4919c9bcc3 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected_Over.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected_Press.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected_Press.png new file mode 100644 index 0000000000..1182f90a11 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Left_Selected_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Disabled.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Disabled.png new file mode 100644 index 0000000000..65d082b993 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Selected.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Selected.png new file mode 100644 index 0000000000..12f55c599e Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Selected.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png new file mode 100644 index 0000000000..123524f0e4 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Selected_Press.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Selected_Press.png new file mode 100644 index 0000000000..8fd7086252 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Middle_Selected_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Disabled.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Disabled.png new file mode 100644 index 0000000000..ccea8fc784 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Off.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Off.png new file mode 100644 index 0000000000..f90ede3b71 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_On_Selected.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_On_Selected.png new file mode 100644 index 0000000000..a8dba17a75 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_On_Selected.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Over.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Over.png new file mode 100644 index 0000000000..cadcec085a Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Over.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Press.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Press.png new file mode 100644 index 0000000000..889d06a690 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Selected.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Selected.png new file mode 100644 index 0000000000..aa3906d236 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Selected.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png new file mode 100644 index 0000000000..2befd6985b Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Selected_Press.png b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Selected_Press.png new file mode 100644 index 0000000000..7fe8926628 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SegmentedBtn_Right_Selected_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SliderThumb_Disabled.png b/indra/newview/skins/gold/textures/widgets/SliderThumb_Disabled.png new file mode 100644 index 0000000000..5cfa3ae4e1 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SliderThumb_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SliderThumb_Off.png b/indra/newview/skins/gold/textures/widgets/SliderThumb_Off.png new file mode 100644 index 0000000000..66cdcbeb94 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SliderThumb_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SliderThumb_Press.png b/indra/newview/skins/gold/textures/widgets/SliderThumb_Press.png new file mode 100644 index 0000000000..0bf8e43e81 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SliderThumb_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SliderTrack_Horiz.png b/indra/newview/skins/gold/textures/widgets/SliderTrack_Horiz.png new file mode 100644 index 0000000000..720830f83f Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SliderTrack_Horiz.png differ diff --git a/indra/newview/skins/gold/textures/widgets/SliderTrack_Vert.png b/indra/newview/skins/gold/textures/widgets/SliderTrack_Vert.png new file mode 100644 index 0000000000..c01db44707 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/SliderTrack_Vert.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Stepper_Down_Off.png b/indra/newview/skins/gold/textures/widgets/Stepper_Down_Off.png new file mode 100644 index 0000000000..ff21034095 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Stepper_Down_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Stepper_Down_Press.png b/indra/newview/skins/gold/textures/widgets/Stepper_Down_Press.png new file mode 100644 index 0000000000..40f42a670f Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Stepper_Down_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Stepper_Up_Off.png b/indra/newview/skins/gold/textures/widgets/Stepper_Up_Off.png new file mode 100644 index 0000000000..133845bdbc Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Stepper_Up_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Stepper_Up_Press.png b/indra/newview/skins/gold/textures/widgets/Stepper_Up_Press.png new file mode 100644 index 0000000000..8cefa97129 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Stepper_Up_Press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/TextField_Active.png b/indra/newview/skins/gold/textures/widgets/TextField_Active.png new file mode 100644 index 0000000000..66c3867b81 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/TextField_Active.png differ diff --git a/indra/newview/skins/gold/textures/widgets/TextField_Disabled.png b/indra/newview/skins/gold/textures/widgets/TextField_Disabled.png new file mode 100644 index 0000000000..baf747f581 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/TextField_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/TextField_Off.png b/indra/newview/skins/gold/textures/widgets/TextField_Off.png new file mode 100644 index 0000000000..a35562f950 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/TextField_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/TextField_Search_Active.png b/indra/newview/skins/gold/textures/widgets/TextField_Search_Active.png new file mode 100644 index 0000000000..572535f1ab Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/TextField_Search_Active.png differ diff --git a/indra/newview/skins/gold/textures/widgets/TextField_Search_Disabled.png b/indra/newview/skins/gold/textures/widgets/TextField_Search_Disabled.png new file mode 100644 index 0000000000..94b4b158f7 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/TextField_Search_Disabled.png differ diff --git a/indra/newview/skins/gold/textures/widgets/TextField_Search_Highlight.png b/indra/newview/skins/gold/textures/widgets/TextField_Search_Highlight.png new file mode 100644 index 0000000000..7768da04e8 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/TextField_Search_Highlight.png differ diff --git a/indra/newview/skins/gold/textures/widgets/TextField_Search_Off.png b/indra/newview/skins/gold/textures/widgets/TextField_Search_Off.png new file mode 100644 index 0000000000..fccd38c807 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/TextField_Search_Off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/Tooltip.png b/indra/newview/skins/gold/textures/widgets/Tooltip.png new file mode 100644 index 0000000000..1be53bdaa2 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/Tooltip.png differ diff --git a/indra/newview/skins/gold/textures/widgets/bevel_background.png b/indra/newview/skins/gold/textures/widgets/bevel_background.png new file mode 100644 index 0000000000..6304124aec Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/bevel_background.png differ diff --git a/indra/newview/skins/gold/textures/widgets/buy_off.png b/indra/newview/skins/gold/textures/widgets/buy_off.png new file mode 100644 index 0000000000..2582b6cfab Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/buy_off.png differ diff --git a/indra/newview/skins/gold/textures/widgets/buy_over.png b/indra/newview/skins/gold/textures/widgets/buy_over.png new file mode 100644 index 0000000000..5b8a39085d Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/buy_over.png differ diff --git a/indra/newview/skins/gold/textures/widgets/buy_press.png b/indra/newview/skins/gold/textures/widgets/buy_press.png new file mode 100644 index 0000000000..8e0cc9f787 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/buy_press.png differ diff --git a/indra/newview/skins/gold/textures/widgets/horizontal_drag_handle.png b/indra/newview/skins/gold/textures/widgets/horizontal_drag_handle.png new file mode 100644 index 0000000000..631d653968 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/horizontal_drag_handle.png differ diff --git a/indra/newview/skins/gold/textures/widgets/jump_left_in.png b/indra/newview/skins/gold/textures/widgets/jump_left_in.png new file mode 100644 index 0000000000..073606628c Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/jump_left_in.png differ diff --git a/indra/newview/skins/gold/textures/widgets/jump_left_out.png b/indra/newview/skins/gold/textures/widgets/jump_left_out.png new file mode 100644 index 0000000000..71d5c5c36a Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/jump_left_out.png differ diff --git a/indra/newview/skins/gold/textures/widgets/jump_right_in.png b/indra/newview/skins/gold/textures/widgets/jump_right_in.png new file mode 100644 index 0000000000..96f8501932 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/jump_right_in.png differ diff --git a/indra/newview/skins/gold/textures/widgets/jump_right_out.png b/indra/newview/skins/gold/textures/widgets/jump_right_out.png new file mode 100644 index 0000000000..9c02f5f649 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/jump_right_out.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_moon_back.png b/indra/newview/skins/gold/textures/widgets/track_control_moon_back.png new file mode 100644 index 0000000000..03d1e805e1 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_moon_back.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_moon_front.png b/indra/newview/skins/gold/textures/widgets/track_control_moon_front.png new file mode 100644 index 0000000000..cdc52fe08a Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_moon_front.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_rotate_bottom.png b/indra/newview/skins/gold/textures/widgets/track_control_rotate_bottom.png new file mode 100644 index 0000000000..c08b54c269 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_rotate_bottom.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_rotate_bottom_active.png b/indra/newview/skins/gold/textures/widgets/track_control_rotate_bottom_active.png new file mode 100644 index 0000000000..a2b37d1b43 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_rotate_bottom_active.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_rotate_left_side.png b/indra/newview/skins/gold/textures/widgets/track_control_rotate_left_side.png new file mode 100644 index 0000000000..3439e8717f Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_rotate_left_side.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_rotate_left_side_active.png b/indra/newview/skins/gold/textures/widgets/track_control_rotate_left_side_active.png new file mode 100644 index 0000000000..fa745175be Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_rotate_left_side_active.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_rotate_right_side.png b/indra/newview/skins/gold/textures/widgets/track_control_rotate_right_side.png new file mode 100644 index 0000000000..f92fdb3d92 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_rotate_right_side.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_rotate_right_side_active.png b/indra/newview/skins/gold/textures/widgets/track_control_rotate_right_side_active.png new file mode 100644 index 0000000000..23571d6473 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_rotate_right_side_active.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_rotate_top.png b/indra/newview/skins/gold/textures/widgets/track_control_rotate_top.png new file mode 100644 index 0000000000..ae67084a7d Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_rotate_top.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_rotate_top_active.png b/indra/newview/skins/gold/textures/widgets/track_control_rotate_top_active.png new file mode 100644 index 0000000000..4e1d0ad096 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_rotate_top_active.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_sphere.png b/indra/newview/skins/gold/textures/widgets/track_control_sphere.png new file mode 100644 index 0000000000..02b0854c7b Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_sphere.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_sun_back.png b/indra/newview/skins/gold/textures/widgets/track_control_sun_back.png new file mode 100644 index 0000000000..b3191ccc5d Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_sun_back.png differ diff --git a/indra/newview/skins/gold/textures/widgets/track_control_sun_front.png b/indra/newview/skins/gold/textures/widgets/track_control_sun_front.png new file mode 100644 index 0000000000..1cdcbf7861 Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/track_control_sun_front.png differ diff --git a/indra/newview/skins/gold/textures/widgets/vertical_drag_handle.png b/indra/newview/skins/gold/textures/widgets/vertical_drag_handle.png new file mode 100644 index 0000000000..d78e898a9c Binary files /dev/null and b/indra/newview/skins/gold/textures/widgets/vertical_drag_handle.png differ diff --git a/indra/newview/skins/gold/textures/windows/Dragbar.png b/indra/newview/skins/gold/textures/windows/Dragbar.png new file mode 100644 index 0000000000..3a998abdc3 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Dragbar.png differ diff --git a/indra/newview/skins/gold/textures/windows/Flyout_Left.png b/indra/newview/skins/gold/textures/windows/Flyout_Left.png new file mode 100644 index 0000000000..3110d7f6b5 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Flyout_Left.png differ diff --git a/indra/newview/skins/gold/textures/windows/Flyout_Pointer.png b/indra/newview/skins/gold/textures/windows/Flyout_Pointer.png new file mode 100644 index 0000000000..4076bb393e Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Flyout_Pointer.png differ diff --git a/indra/newview/skins/gold/textures/windows/Flyout_Right.png b/indra/newview/skins/gold/textures/windows/Flyout_Right.png new file mode 100644 index 0000000000..4c55cd6287 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Flyout_Right.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Close_Foreground.png b/indra/newview/skins/gold/textures/windows/Icon_Close_Foreground.png new file mode 100644 index 0000000000..cb516886a2 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Close_Foreground.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Close_Press.png b/indra/newview/skins/gold/textures/windows/Icon_Close_Press.png new file mode 100644 index 0000000000..283981f6ea Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Close_Press.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Close_Toast.png b/indra/newview/skins/gold/textures/windows/Icon_Close_Toast.png new file mode 100644 index 0000000000..b08ffbc742 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Close_Toast.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Dock_Foreground.png b/indra/newview/skins/gold/textures/windows/Icon_Dock_Foreground.png new file mode 100644 index 0000000000..7508fcb25e Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Dock_Foreground.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Dock_Press.png b/indra/newview/skins/gold/textures/windows/Icon_Dock_Press.png new file mode 100644 index 0000000000..3f2c560398 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Dock_Press.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Gear.png b/indra/newview/skins/gold/textures/windows/Icon_Gear.png new file mode 100644 index 0000000000..7cf85bece4 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Gear.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Gear_Background.png b/indra/newview/skins/gold/textures/windows/Icon_Gear_Background.png new file mode 100644 index 0000000000..09d83e62e4 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Gear_Background.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Gear_Foreground.png b/indra/newview/skins/gold/textures/windows/Icon_Gear_Foreground.png new file mode 100644 index 0000000000..fa998eee5d Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Gear_Foreground.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Gear_Press.png b/indra/newview/skins/gold/textures/windows/Icon_Gear_Press.png new file mode 100644 index 0000000000..603fa2f388 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Gear_Press.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Help_Foreground.png b/indra/newview/skins/gold/textures/windows/Icon_Help_Foreground.png new file mode 100644 index 0000000000..1bde4c040a Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Help_Foreground.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Help_Press.png b/indra/newview/skins/gold/textures/windows/Icon_Help_Press.png new file mode 100644 index 0000000000..f3b885283f Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Help_Press.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Minimize_Foreground.png b/indra/newview/skins/gold/textures/windows/Icon_Minimize_Foreground.png new file mode 100644 index 0000000000..942efb40f7 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Minimize_Foreground.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Minimize_Press.png b/indra/newview/skins/gold/textures/windows/Icon_Minimize_Press.png new file mode 100644 index 0000000000..1fe37b7a2e Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Minimize_Press.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Restore_Foreground.png b/indra/newview/skins/gold/textures/windows/Icon_Restore_Foreground.png new file mode 100644 index 0000000000..7840deccb8 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Restore_Foreground.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Restore_Press.png b/indra/newview/skins/gold/textures/windows/Icon_Restore_Press.png new file mode 100644 index 0000000000..33258a0bc5 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Restore_Press.png differ diff --git a/indra/newview/skins/gold/textures/windows/Icon_Undock_Foreground.png b/indra/newview/skins/gold/textures/windows/Icon_Undock_Foreground.png new file mode 100644 index 0000000000..df826226e6 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Icon_Undock_Foreground.png differ diff --git a/indra/newview/skins/gold/textures/windows/Inspector_Background.png b/indra/newview/skins/gold/textures/windows/Inspector_Background.png new file mode 100644 index 0000000000..3053269b84 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Inspector_Background.png differ diff --git a/indra/newview/skins/gold/textures/windows/Inspector_Hover.png b/indra/newview/skins/gold/textures/windows/Inspector_Hover.png new file mode 100644 index 0000000000..0cb846eba0 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Inspector_Hover.png differ diff --git a/indra/newview/skins/gold/textures/windows/Inspector_I.png b/indra/newview/skins/gold/textures/windows/Inspector_I.png new file mode 100644 index 0000000000..f0848838e2 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Inspector_I.png differ diff --git a/indra/newview/skins/gold/textures/windows/Resize_Corner.png b/indra/newview/skins/gold/textures/windows/Resize_Corner.png new file mode 100644 index 0000000000..4a533011df Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Resize_Corner.png differ diff --git a/indra/newview/skins/gold/textures/windows/Toast_Background.png b/indra/newview/skins/gold/textures/windows/Toast_Background.png new file mode 100644 index 0000000000..00676350ca Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Toast_Background.png differ diff --git a/indra/newview/skins/gold/textures/windows/Toast_CloseBtn.png b/indra/newview/skins/gold/textures/windows/Toast_CloseBtn.png new file mode 100644 index 0000000000..f37d8d085d Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Toast_CloseBtn.png differ diff --git a/indra/newview/skins/gold/textures/windows/Toast_Over.png b/indra/newview/skins/gold/textures/windows/Toast_Over.png new file mode 100644 index 0000000000..5191e0858d Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Toast_Over.png differ diff --git a/indra/newview/skins/gold/textures/windows/Volume_Background.png b/indra/newview/skins/gold/textures/windows/Volume_Background.png new file mode 100644 index 0000000000..9f8680d079 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Volume_Background.png differ diff --git a/indra/newview/skins/gold/textures/windows/Wearables_Divider.png b/indra/newview/skins/gold/textures/windows/Wearables_Divider.png new file mode 100644 index 0000000000..8795ccd661 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Wearables_Divider.png differ diff --git a/indra/newview/skins/gold/textures/windows/Window_Background.png b/indra/newview/skins/gold/textures/windows/Window_Background.png new file mode 100644 index 0000000000..f19fb0300b Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Window_Background.png differ diff --git a/indra/newview/skins/gold/textures/windows/Window_Foreground.png b/indra/newview/skins/gold/textures/windows/Window_Foreground.png new file mode 100644 index 0000000000..15d2ff72b6 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/Window_Foreground.png differ diff --git a/indra/newview/skins/gold/textures/windows/add_payment_image_center.png b/indra/newview/skins/gold/textures/windows/add_payment_image_center.png new file mode 100644 index 0000000000..0b99a72f32 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/add_payment_image_center.png differ diff --git a/indra/newview/skins/gold/textures/windows/add_payment_image_left.png b/indra/newview/skins/gold/textures/windows/add_payment_image_left.png new file mode 100644 index 0000000000..a5b28d7023 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/add_payment_image_left.png differ diff --git a/indra/newview/skins/gold/textures/windows/add_payment_image_right.png b/indra/newview/skins/gold/textures/windows/add_payment_image_right.png new file mode 100644 index 0000000000..5724d39744 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/add_payment_image_right.png differ diff --git a/indra/newview/skins/gold/textures/windows/first_login_image.jpg b/indra/newview/skins/gold/textures/windows/first_login_image.jpg new file mode 100644 index 0000000000..58c417081a Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/first_login_image.jpg differ diff --git a/indra/newview/skins/gold/textures/windows/hint_arrow_down.png b/indra/newview/skins/gold/textures/windows/hint_arrow_down.png new file mode 100644 index 0000000000..b449d3be7c Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/hint_arrow_down.png differ diff --git a/indra/newview/skins/gold/textures/windows/hint_arrow_left.png b/indra/newview/skins/gold/textures/windows/hint_arrow_left.png new file mode 100644 index 0000000000..d93d621067 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/hint_arrow_left.png differ diff --git a/indra/newview/skins/gold/textures/windows/hint_arrow_lower_left.png b/indra/newview/skins/gold/textures/windows/hint_arrow_lower_left.png new file mode 100644 index 0000000000..5e8def5a5b Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/hint_arrow_lower_left.png differ diff --git a/indra/newview/skins/gold/textures/windows/hint_arrow_right.png b/indra/newview/skins/gold/textures/windows/hint_arrow_right.png new file mode 100644 index 0000000000..3524487fb3 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/hint_arrow_right.png differ diff --git a/indra/newview/skins/gold/textures/windows/hint_arrow_up.png b/indra/newview/skins/gold/textures/windows/hint_arrow_up.png new file mode 100644 index 0000000000..aca440d712 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/hint_arrow_up.png differ diff --git a/indra/newview/skins/gold/textures/windows/hint_background.png b/indra/newview/skins/gold/textures/windows/hint_background.png new file mode 100644 index 0000000000..d045bc5e29 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/hint_background.png differ diff --git a/indra/newview/skins/gold/textures/windows/login_mp_logo.png b/indra/newview/skins/gold/textures/windows/login_mp_logo.png new file mode 100644 index 0000000000..7526374ba2 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/login_mp_logo.png differ diff --git a/indra/newview/skins/gold/textures/windows/login_mp_logo_small.png b/indra/newview/skins/gold/textures/windows/login_mp_logo_small.png new file mode 100644 index 0000000000..779d8ff649 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/login_mp_logo_small.png differ diff --git a/indra/newview/skins/gold/textures/windows/login_sl_logo.png b/indra/newview/skins/gold/textures/windows/login_sl_logo.png new file mode 100644 index 0000000000..e4d4eb3ebf Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/login_sl_logo.png differ diff --git a/indra/newview/skins/gold/textures/windows/login_sl_logo_small.png b/indra/newview/skins/gold/textures/windows/login_sl_logo_small.png new file mode 100644 index 0000000000..36fb15de08 Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/login_sl_logo_small.png differ diff --git a/indra/newview/skins/gold/textures/windows/startup_logo.png b/indra/newview/skins/gold/textures/windows/startup_logo.png new file mode 100644 index 0000000000..6a81a6451d Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/startup_logo.png differ diff --git a/indra/newview/skins/gold/textures/windows/yellow_gradient.png b/indra/newview/skins/gold/textures/windows/yellow_gradient.png new file mode 100644 index 0000000000..4a07282ecb Binary files /dev/null and b/indra/newview/skins/gold/textures/windows/yellow_gradient.png differ diff --git a/indra/newview/skins/gold/textures/world/BeaconArrow.png b/indra/newview/skins/gold/textures/world/BeaconArrow.png new file mode 100644 index 0000000000..54934f738a Binary files /dev/null and b/indra/newview/skins/gold/textures/world/BeaconArrow.png differ diff --git a/indra/newview/skins/gold/textures/world/CameraDragDot.png b/indra/newview/skins/gold/textures/world/CameraDragDot.png new file mode 100644 index 0000000000..2ccf098e0f Binary files /dev/null and b/indra/newview/skins/gold/textures/world/CameraDragDot.png differ diff --git a/indra/newview/skins/gold/textures/world/NoEntryLines.png b/indra/newview/skins/gold/textures/world/NoEntryLines.png new file mode 100644 index 0000000000..b295ba1281 Binary files /dev/null and b/indra/newview/skins/gold/textures/world/NoEntryLines.png differ diff --git a/indra/newview/skins/gold/textures/world/NoEntryPassLines.png b/indra/newview/skins/gold/textures/world/NoEntryPassLines.png new file mode 100644 index 0000000000..34900e2c02 Binary files /dev/null and b/indra/newview/skins/gold/textures/world/NoEntryPassLines.png differ -- cgit v1.2.3 From b1d2961edb593393da5ae88e275be7bb2568969b Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 11 Jul 2025 14:31:55 +0800 Subject: @attachover:=force implementation See f4e04a3e7bac42a8cb18e9c70b67bf97ce020d8c --- indra/newview/rlvdefines.h | 1 + indra/newview/rlvhandler.cpp | 27 +++++++++++++++++++++++++++ indra/newview/rlvhelper.cpp | 1 + 3 files changed, 29 insertions(+) diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index 5de428d093..649aa75d14 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -100,6 +100,7 @@ namespace Rlv Detach, GetInv, Attach, + AttachOver, GetCommand, Count, diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index f3306b0f21..066543987f 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -331,6 +331,33 @@ ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) return ECmdRet::Succeeded; } +template<> template<> +ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) +{ + auto rlvFolderID = findDescendentCategoryIDByName(gInventory.getRootFolderID(), "#RLV"); + if (rlvFolderID == LLUUID::null) + return ECmdRet::FailedNoSharedRoot; + std::vector optionList; + auto option = rlvCmd.getOption(); + if (!option.empty()) + { + auto folderID = findDescendentCategoryIDByName(rlvFolderID, option); + if (folderID == LLUUID::null) + { + Util::parseStringList(option, optionList, "/"); + auto iter = optionList.begin(); + for(; optionList.end() != iter; ++iter) + { + auto name = *iter; + if (!name.empty()) + folderID = findDescendentCategoryIDByName(folderID, name); + } + } + LLAppearanceMgr::instance().addCategoryToCurrentOutfit(folderID); + } + return ECmdRet::Succeeded; +} + // AddRem ECmdRet CommandHandlerBaseImpl::processCommand(const RlvCommand& rlvCmd, BhvrHandlerFunc* pHandler, BhvrToggleHandlerFunc* pToggleHandler) diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp index bba1c4c6fd..4a0b394acb 100644 --- a/indra/newview/rlvhelper.cpp +++ b/indra/newview/rlvhelper.cpp @@ -61,6 +61,7 @@ BehaviourDictionary::BehaviourDictionary() addEntry(new ForceProcessor("sitground")); addEntry(new ForceProcessor("unsit")); addEntry(new ForceProcessor("attach")); + addEntry(new ForceProcessor("attachover")); // AddRem addEntry(new BehaviourProcessor("sit")); -- cgit v1.2.3 From 74b0178b7b4d672c7f6b317102b0ecd26f1ea033 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 12 Jul 2025 21:49:15 +0800 Subject: Rich Presence support using Discord Social SDK Download DiscordSocialSdk-1.4.9649.zip https://discord.com/developers/applications/1393451183741599796/social-sdk/downloads to your ~/Downloads folder. Add -DUSE_DISCORD:BOOL=ON to your cmake line. The authorisation is triggered by selecting Help > Discord Social. It seems that the user will need to do this every time they want Rich Presence support on the viewer while using Discord. The Discord app is still set to be a public client in the OAuth2 tab, I'm going to try to make it work with the app set to be a confidential client, next. All Discord-related code are contained within one file, llstartup.cpp, and other classes access it through some opaque layer, static functions, otherwise we'd get these "duplicate symbol" linking errors. --- indra/cmake/CMakeLists.txt | 1 + indra/cmake/Discord.cmake | 45 ++++++++++++++++++++++ indra/newview/CMakeLists.txt | 7 ++++ indra/newview/FixBundle.cmake.in | 1 + indra/newview/FixPackage.cmake.in | 1 + indra/newview/ViewerInstall.cmake | 13 +++++++ indra/newview/llappviewer.cpp | 4 ++ indra/newview/llstartup.cpp | 45 ++++++++++++++++++++++ indra/newview/llstartup.h | 6 +++ indra/newview/llviewermenu.cpp | 10 +++++ .../newview/skins/default/xui/en/floater_about.xml | 2 + indra/newview/skins/default/xui/en/menu_login.xml | 7 ++++ indra/newview/skins/default/xui/en/menu_viewer.xml | 7 ++++ 13 files changed, 149 insertions(+) create mode 100644 indra/cmake/Discord.cmake diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 5525ac9f24..a77e0fca06 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -19,6 +19,7 @@ set(cmake_SOURCE_FILES Copy3rdPartyLibs.cmake DBusGlib.cmake DeploySharedLibs.cmake + Discord.cmake DragDrop.cmake EXPAT.cmake FindAutobuild.cmake diff --git a/indra/cmake/Discord.cmake b/indra/cmake/Discord.cmake new file mode 100644 index 0000000000..52c0765ae7 --- /dev/null +++ b/indra/cmake/Discord.cmake @@ -0,0 +1,45 @@ +include(Prebuilt) + +add_library(ll::discord INTERFACE IMPORTED) +target_compile_definitions(ll::discord INTERFACE LL_DISCORD=1) + +if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/discord_installed OR NOT ${discord_installed} EQUAL 0) + file(ARCHIVE_EXTRACT + INPUT $ENV{HOME}/Downloads/DiscordSocialSdk-1.4.9649.zip + DESTINATION ${CMAKE_BINARY_DIR} + ) + file( + COPY + ${CMAKE_BINARY_DIR}/discord_social_sdk/include/cdiscord.h + ${CMAKE_BINARY_DIR}/discord_social_sdk/include/discordpp.h + DESTINATION ${LIBS_PREBUILT_DIR}/include + ) + if (WINDOWS) + file( + COPY ${CMAKE_BINARY_DIR}/discord_social_sdk/bin/release/discord_partner_sdk.dll + DESTINATION ${LIBS_PREBUILT_DIR}/bin/release + ) + set(LIBRARY_EXTENSION lib) + else () + set(LIBRARY_PREFIX lib) + set(LIBRARY_EXTENSION so) + endif () + if (DARWIN) + execute_process( + COMMAND lipo + libdiscord_partner_sdk.dylib + -thin ${CMAKE_OSX_ARCHITECTURES} + -output ${ARCH_PREBUILT_DIRS_RELEASE}/libdiscord_partner_sdk.dylib + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/discord_social_sdk/lib/release + ) + else () + file( + COPY ${CMAKE_BINARY_DIR}/discord_social_sdk/lib/release/${LIBRARY_PREFIX}discord_partner_sdk.${LIBRARY_EXTENSION} + DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} + ) + endif () + file(WRITE ${PREBUILD_TRACKING_DIR}/discord_installed "0") +endif () + +target_include_directories(ll::discord SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) +target_link_libraries(ll::discord INTERFACE discord_partner_sdk) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 5e9a59a0e5..7f509d38de 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -15,6 +15,9 @@ include(CMakeCopyIfDifferent) include(CubemapToEquirectangularJS) #include(DBusGlib) include(DragDrop) +if (USE_DISCORD) + include(Discord) +endif () include(EXPAT) include(Hunspell) include(JPEGEncoderBasic) @@ -2141,6 +2144,10 @@ if (ENABLE_MEDIA_PLUGINS) endif () endif () +if (USE_DISCORD) + target_link_libraries(${VIEWER_BINARY_NAME} ll::discord ) +endif () + if( TARGET ll::intel_memops ) target_link_libraries(${VIEWER_BINARY_NAME} ll::intel_memops ) endif() diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in index 829c19e5e4..1d460a9b45 100644 --- a/indra/newview/FixBundle.cmake.in +++ b/indra/newview/FixBundle.cmake.in @@ -293,6 +293,7 @@ execute_process( Frameworks/libbrotlicommon.1.1.0.dylib Frameworks/libbrotlidec.1.1.0.dylib Frameworks/libbz2.1.0.8.dylib + Frameworks/libdiscord_partner_sdk.dylib Frameworks/libexpat.1.10.0.dylib Frameworks/libfreetype.6.dylib Frameworks/libhunspell-1.7.0.dylib diff --git a/indra/newview/FixPackage.cmake.in b/indra/newview/FixPackage.cmake.in index 49f7b75b4d..23d52a9ef9 100644 --- a/indra/newview/FixPackage.cmake.in +++ b/indra/newview/FixPackage.cmake.in @@ -293,6 +293,7 @@ execute_process( Frameworks/libbrotlicommon.1.1.0.dylib Frameworks/libbrotlidec.1.1.0.dylib Frameworks/libbz2.1.0.8.dylib + Frameworks/libdiscord_partner_sdk.dylib Frameworks/libexpat.1.10.0.dylib Frameworks/libfreetype.6.dylib Frameworks/libhunspell-1.7.0.dylib diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 343c3fb9c7..aaa0c21fa5 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -169,6 +169,13 @@ elseif (WINDOWS) DESTINATION . ) + if (USE_DISCORD) + install( + PROGRAMS ${LIBS_PREBUILT_DIR}/bin/release/discord_partner_sdk.dll + DESTINATION . + ) + endif () + install( PROGRAMS ${prefix_result}/../bin/boost_context-vc143-mt-${BOOST_PLATFORM}-1_88.dll @@ -193,6 +200,12 @@ if (LINUX) else () set(_LIB lib) endif () + if (USE_DISCORD) + install( + FILES ${ARCH_PREBUILT_DIRS_RELEASE}/libdiscord_partner_sdk.so + DESTINATION ${_LIB} + ) + endif () if (USE_FMODSTUDIO) install(FILES ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index d9596164eb..419d2cb842 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1348,6 +1348,10 @@ bool LLAppViewer::doFrame() U64 fpsLimitSleepFor = 0; TimePoint fpsLimitFrameStartTime = std::chrono::steady_clock::now(); +#ifdef LL_DISCORD + LLStartUp::runDiscordCallbacks(); +#endif + LL_RECORD_BLOCK_TIME(FTM_FRAME); { // and now adjust the visuals from previous frame. diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 3450792d30..834b99555e 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -217,6 +217,11 @@ #include "fsfloatersearch.h" +#ifdef LL_DISCORD +#define DISCORDPP_IMPLEMENTATION +#include +static std::shared_ptr gDiscordClient; +#endif // // exported globals @@ -752,6 +757,17 @@ bool idle_startup() LL_WARNS("AppInit") << "Unreliable timers detected (may be bad PCI chipset)!!" << LL_ENDL; } +#ifdef LL_DISCORD + gDiscordClient = std::make_shared(); + gDiscordClient->SetStatusChangedCallback([](discordpp::Client::Status status, discordpp::Client::Error, int32_t) { + if (status == discordpp::Client::Status::Ready) { + discordpp::Activity activity; + activity.SetType(discordpp::ActivityTypes::Playing); + gDiscordClient->UpdateRichPresence(activity, [](discordpp::ClientResult) {}); + } + }); +#endif + // // Log on to system // @@ -3431,6 +3447,35 @@ bool LLStartUp::startLLProxy() return proxy_ok; } +#ifdef LL_DISCORD + +void LLStartUp::runDiscordCallbacks() +{ + discordpp::RunCallbacks(); +} + +void LLStartUp::handleDiscordSocial() +{ + static const uint64_t DISCORD_APPLICATION_ID = 1393451183741599796; + discordpp::AuthorizationArgs discordAuthArgs{}; + discordAuthArgs.SetClientId(DISCORD_APPLICATION_ID); + discordAuthArgs.SetScopes(discordpp::Client::GetDefaultPresenceScopes()); + auto discordCodeVerifier = gDiscordClient->CreateAuthorizationCodeVerifier(); + discordAuthArgs.SetCodeChallenge(discordCodeVerifier.Challenge()); + gDiscordClient->Authorize(discordAuthArgs, [discordCodeVerifier](auto result, auto code, auto redirectUri) { + if (result.Successful()) { + gDiscordClient->GetToken(DISCORD_APPLICATION_ID, code, discordCodeVerifier.Verifier(), redirectUri, [](discordpp::ClientResult result, std::string accessToken, std::string, discordpp::AuthorizationTokenType, int32_t, std::string) { + gDiscordClient->UpdateToken(discordpp::AuthorizationTokenType::Bearer, accessToken, [](discordpp::ClientResult result) { + if (result.Successful()) + gDiscordClient->Connect(); + }); + }); + } + }); +} + +#endif + bool login_alert_done(const LLSD& notification, const LLSD& response) { LLPanelLogin::giveFocus(); diff --git a/indra/newview/llstartup.h b/indra/newview/llstartup.h index a827fbc487..cf1d38bb18 100644 --- a/indra/newview/llstartup.h +++ b/indra/newview/llstartup.h @@ -128,6 +128,12 @@ public: static bool startLLProxy(); // Initialize the SOCKS 5 proxy static LLViewerStats::PhaseMap& getPhases() { return *sPhases; } + +#ifdef LL_DISCORD + static void runDiscordCallbacks(); + static void handleDiscordSocial(); +#endif + private: friend class LLStartupListener; static LLSLURL sStartSLURL; diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index c3bb8ef4c4..4383fc87e5 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -8942,6 +8942,13 @@ void handle_report_bug(const LLSD& param) LLWeb::loadURLExternal(url); } +#ifdef LL_DISCORD +void handle_discord_social(const LLSD& param) +{ + LLStartUp::handleDiscordSocial(); +} +#endif + void handle_buy_currency_test() { std::string url = @@ -9920,6 +9927,9 @@ void initialize_menus() commit.add("Advanced.WebContentTest", boost::bind(&handle_web_content_test, _2)); // this one opens the Web Content floater commit.add("Advanced.ShowURL", boost::bind(&handle_show_url, _2)); commit.add("Advanced.ReportBug", boost::bind(&handle_report_bug, _2)); +#ifdef LL_DISCORD + commit.add("Advanced.DiscordSocial", boost::bind(&handle_discord_social, _2)); +#endif view_listener_t::addMenu(new LLAdvancedBuyCurrencyTest(), "Advanced.BuyCurrencyTest"); view_listener_t::addMenu(new LLAdvancedDumpSelectMgr(), "Advanced.DumpSelectMgr"); view_listener_t::addMenu(new LLAdvancedDumpInventory(), "Advanced.DumpInventory"); diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index a251b3c5c5..8b92b83472 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -206,6 +206,8 @@ Collada DOM Copyright 2006 Sony Computer Entertainment Inc. cURL Copyright (C) 1996-2010, Daniel Stenberg, (daniel@haxx.se) +Discord Social SDK Copyright (c) 2025, Discord, Inc. + 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. diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 5fff9b7bc0..04514e8a52 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -109,6 +109,13 @@ function="Advanced.ReportBug"/> + + + + diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 1ec59bf2eb..56261ce874 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1817,6 +1817,13 @@ function="World.EnvPreset" function="Advanced.ReportBug"/> + + + + Date: Wed, 16 Jul 2025 09:36:20 -0600 Subject: widgets/Stepper adjustment Make downstepper better match upstepper --- .../default/textures/widgets/Stepper_Down_Press.png | Bin 2150 -> 506 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/skins/default/textures/widgets/Stepper_Down_Press.png b/indra/newview/skins/default/textures/widgets/Stepper_Down_Press.png index edd485afed..e888e1e045 100644 Binary files a/indra/newview/skins/default/textures/widgets/Stepper_Down_Press.png and b/indra/newview/skins/default/textures/widgets/Stepper_Down_Press.png differ -- cgit v1.2.3